Hi folks! Hopefully once this last problem solved,

(Thibaut Robin) #1

Hi folks! Hopefully once this last problem solved, my OpenBuilds C-Beam Machine XLarge CNC mill should, at last, work.
It’s been a long and painful way to get all the electronics to (almost) work properly…
Unfortunately when I thought I had succeeded I noticed some very unpleasant and awkward fact.
This CNC is driven by 1 x axis Nema 23, 1 Z axis Nema 23 and 2 Y axis Nema 23.
All the 4 NEMA 23 (High Torque - Peak Current is 3.0A/phase) motors are individually driven by an External DQ542MA Stepper Motor Driver;
The 4 DQ542MA External Drivers are hooked up to alpha, beta and gamma breakout pins on the SmoothieBoard V1.1 5X
Since The smoothieboard ENABLE, DIRECTION and STEP breakout pins are 3.3v and External DQ542MA Stepper Motor Driver expects 5v I have used 4 Logic level converters to pull the 3.3v signals up to 5v.
Check the picture #1 it is self explanatory :wink:
Now here is my problem: The Y axis beeing a dual motor axis I’ve connected both Y1 an Y2 DQ542MA Stepper Motor Driver in parallel to the beta output of the smoothieboard. (see picture #2)
That seemed to work and a few bCNC motion tests showed that both motors where synch and working together. But for some awkward reason one of the two driven NEMA motors is heating a lot more than the other one!
Any suggestion on how to fix this problem?? I’ve tried swapping them and replacing them and always end up having one of the two motors heating to much as the other one stays almost cool.
Note that both Y1 and Y2 DQ542MA have the same dip switches settings and should deliver the same Amps to each motors. (also tried swapping an replacing DQ542MA with no success).
Also Note that the smoothieboard is an X5 so I could be using the beta (Y) output to drive Y1 and the epsilon (5th output) to drive Y2 but in this case the smoothieware documentation states that to enslave an output to an other one, both outputs breakout pins should be connected together. “To enslave a driver to another, you will need to connect the control pins for both drivers together”. But this leaves no room for connecting external stepper drivers!!! Any thoughts?
Any known software solution to duplicate the beta signal to epsilon?

(James Rivera) #2

I’m noob on this, but I think enslaving is specifically referring to a hardware solution, which in your case seems like one motor is drawing more power than the other. I think there should be a setting that makes the 2 motor drivers work in unison while still keeping the wires separated.

(Thibaut Robin) #3

@James_Rivera Thanks for answering James. I wish It was the case! But I’ve been all around the documentation and I haven’t found any sofware solution “that makes the 2 motor drivers work in unison while still keeping the wires separated”. I’ll dig that a bit more when I’ll have time.

(James Rivera) #4

This looks like exactly what you need. The motors are wired separately but the control pins are connected:


(Thibaut Robin) #5

@James_Rivera Well I’ve seen that part, the problem is that i need the pins to be availlable so I can connect the drivers…

(James Rivera) #6

@Thibaut_Robin I’m not sure I see a problem here; looking at the docs on the page I linked, you should be able to do just that. It is the power that needs to be separated, and with the external drivers that should not be a problem because they each have their own power inputs.

But perhaps I’m misunderstanding the problem (as I said, I’m a noob on this). This is something I plan to do, too, so I need a valid answer to this question as well. Maybe @Arthur_Wolf can answer this question definitively?

(Thibaut Robin) #7

@James_Rivera He probably, he has already answered 2 of my questions. What I can tell you is that you will not have any problems doing it if you don’t use drivers. because then you can applay the solution you where talking about.

(Jeff DeMaagd) #8

I think the problem is totally unrelated to the drivers or Smoothieware. The motors might not actually be identical even if they’re labeled the same. One might be poorly made or it might be wound differently inside and given the wrong label. Check the resistance of the winding pairs of both motors to see if they match.

(James Rivera) #9

@Jeff_DeMaagd Ooh! Thinking outside the box. This might be worth looking into, @Thibaut_Robin .

(Thibaut Robin) #10

I’ve tryed different motors and drivers none work better. My gess is both drivers can’t be interconnected for some reasons. I don’t know much about electronics…

(Antonio Hernández) #11

I had the same problem, but, in the first scenario, I found one signal was not properly screwed. (one motor was heating more than the other one). After that fix, the difference in temperature it’s much smaller but the problem remains (I don’t want to say it’s not important, but the difference in temperature dropped a lot). I don’t know if this could apply to all external drivers but, try to change the value of pin 4, depending of the driver, this pin could help to avoid unnecessary current consumptions when the driver is on idle state. (after 0.5 seconds without receiving signal motion or something like that). I suppose this problem could be related with the signal current on the two drivers working in parallel, and also… I’m not an expert about electronics…My stepper motors are for 4.2 amps.

(Thibaut Robin) #12

@Antonio_Hernandez Hi & Thanks Antonio your case sound a lot like mine… Yes switch 4 on the driver is already set for curent limitation when motor is not moving. I’ve even lowered the peak curent output switches 1,2 and 3 for now so the motor doesn’t heat up to fast an melt. I’ll check all the connexions and plug/cable solderings tomorow. Thank again. I’ll keep you informed.

(Antonio Hernández) #13

The weird case that I had is only one time that one stepper motor was very very very hot and the other was very very cold and both were working at the same time. I could say screwing the signal that was not properly screwed, the problem dropped a lot. By my side, stepper drivers were wired using open drain mode. In your case you’re using the level shifter converter. Maybe if you try open drain mode and see what happens, could help. I used the level shifter but, I saw the two stepper motors not moved as requested and always was one behind the other. After some minutes, both stepper motors moved as expected but there was a lost on stepper motor steps. At the moment I don’t know what could be wrong in my wiring, but that happened to me. Also, I lowered the current over my stepper motors but this could not help as expected, it’s possible to lose steps if the stepper motor is not working with the rated amperage.

(Arthur Wolf) #14

Don’t use level shifters, follow http://smoothieware.org/general-appendixes#external-drivers

(Thibaut Robin) #15

@Arthur_Wolf Hello Arthur, I don’t understand your answer. I have carefully read that section (like all others), and I don’t understand what you are suggesting. Are you suggesting the open drain rather than level shifters? Why not use level shifters? The level shifter solution works perfectly appart of this motor over heating problem. The appendixes does suggest a solution for two motors axes but unfortunatly this solution is a “non external stepper driver” one that uses the breakout pins needed to plug the external stepper drivers.
I’m lost.

(Miguel Sánchez) #16

Is it possible the two motors have very different heat-sinking in your mechanical structure?

(Thibaut Robin) #17

Hi Miguel and thanks for your interest. I have dismounted both motors. They are now side by side on a desk and in exact same environement. The cable are 1.5 m and 1.75 m that’s the only difference. I have tried multiple combinations with the 4 motors and 4 drivers, swaped the cables etc… Nothing worked. As long as both drivers are used separatly, every things ok. But when dasy chained one of the two motors is over heating.

(Arthur Wolf) #18

@Thibaut_Robin twice or more a year, I get somebody saying “I’m doing this with level shifters, it won’t work”, then I say “do the open-drain method”, and then they say “oh it works now”. I don’t know why their level shifters wouldn’t work, but why try to solve the issue when you can just get rid of them and not have a problem anymore … don’t make things more complicated than they have to be.

(Thibaut Robin) #19

@Arthur_Wolf Ok Arthur I wasn’t aware you had already seen the case so many times. I’ll try open drain method as you suggest. Maybe the level shifter solution should simply be removed from the documentation. I chose this methode because it seamed “cleaner” to me.
By the way; I was thinking firmware could have a config option to duplicate/mirror output on an other one. Something like : alpha_output_mirrorto gamma #duplicate alpha output to gamma.
alpha_output_mirrordir true #duplicated alpha rotation direction true=same direction.
Would that be possible?
Is it already on the list for SmoothieBoard V2?
That would make things even simpler :wink:

(Jeff DeMaagd) #20

I wouldn’t eliminate them, but maybe they’re something you try after pull-down doesn’t work. Sometimes the level shifter really is necessary. I have genuine Gecko drivers that required too much current for the LPC chip to cleanly drive 9 lines (en/step/dir for 3 drivers). I too was told the level shifter wasn’t needed but once I made one, my problems went away. ClearPath motors also require a similar amount of current on their inputs.