I opted to use a nema17 bolt pattern for mounting as this is 31mm between adjacent holes center to center. This should hopefully attach to your fan mounting location without too much trouble. I'm not sure what to suggest about the fan and this board fighting for the same space. In my machines i have so little space these will need to mount on the side of the motors to clear other parts of the machine. Probably different solutions for each axis, sadly.
Does your controller directly drive the signals (long cables) using a pin of the microcontroller? Ideally we should also have an easy to install open collector output board. I have fried a couple of re arm boards by accident while probing signals. Adding an output driver was a good move for me.
I should have PCBs in a week or so. I'll make some available as soon as I can.
My own prototype versions have been working very well on my pick and place machine for a couple of days testing. No detectable problems with signalling.
I found that I was able to get perfect performance with passive filters on the inputs and only operating a single axis, but combined moves of multiple axes was still causing a few extra steps to be counted by the smart steppers. This forced me to look again at optocouplers.
The optocoupler inputs have completely fixed noise issues. Re-referencing the signals to the local ground potential of the motor input is the only way to truly sort out problems caused by noise.
I'll experiment with different values of filters in the power supplies to the motors before I settle on the final values. I don't want to limit acceleration but I do want to address the nastiest high frequency noise on the power. I tried to test a few values but my prototype PCBs were beginning to suffer with all the reworking. It'll be easier on the commercially made PCBs.
:-)
Thank you Ed. That all sounds very similar to the manual tuning of multi-axis industrial servos. I’m glad to know that the underlying energisation of the windings is servomotor-like, and that the locked rotor stiffness is high enough to cut following error from what I’ve had to get used to with microstepped motors.
All in all, balancing cost per axis against performance, this Smart Stepper sounds a good way to proceed as the next step in a gradual evolution away from RepRap style motion solutions towards conventional servomotor/ballscrew.
One other thing I might investigate is to use rubber isolation mounts to attach the motors to the structure of the printer while suppressing structure-borne vibration: https://www.banggood.com/57576mm-Metal-57-Stepper-Motor-Vibration-Damper-Shock-Absorber-for-3D-Printer-Part-p-1416470.html?rmmds=detail-left-hotproducts__3&cur_warehouse=CN
I have found these very effective in a stepper-driven tracking telescope mount.
Tony
So far I've successfully tested that the signalling is able to drive the optocoupler inputs on the inputs/filter board up to 200khz and probably beyond that if the smart steppers have approximately 0.7v logic high threshold.
Length of cables of several metres won't be a problem when using both my new PCBs.
ESD protection for the machine controller is provided inside the IC used on these boards. The output is an open drain MOSFET and is much more robust than using a microcontroller pin directly attached to a long wire. This MOSFET can sink a greater current than the microcontroller pins, too.
All in all good news for machines with long wiring or any noise problems.
I'll test on a machine soon.
Left to right:
- My new line driver module (pin header instead of a JST connector, for ease of testing on the bench)
- Big Tree Tech's passive stepper signals breakout module (my module is a better version of this)
First, running the smart stepper without any power filtering gave results like so:
A prominent peak at roughly 95-96kHz.
Another peak at around 186kHz
As you can see from the scope screen grabs, the settings are the same in all captures.
Output connector | |
---|---|
1 | Direction |
2 | Step |
3 | Enable |
4 | Gnd |
5 | Logic VCC |
6 | Motor VCC |
Module connector | ||||
---|---|---|---|---|
Gnd | 1 | 16 | Direction | |
Logic VCC | 2 | 15 | Step | |
NC | 3 | 14 | NC | |
NC | 4 | 13 | NC | |
NC | 5 | 12 | NC | |
NC | 6 | 11 | NC | |
Gnd | 7 | 10 | NC | |
Motor VCC | 8 | 9 | Enable |
Input connector (J1):
Motor connector (J2):
Input connector (J1):
3D printer (note RBU is drowned out):
Pick and Place machine (barely any change from background):
Smart stepper, with power filter/isolation board:
Today I was trying to diagnose some mysterious offset that was showing up gradually in my 3d printing. The offset was not constant per layer or predictable and I wasn't able to find any source of noise that would explain it.
I decided during tests that I should increase the voltage of my 5v nominal supply to the smart steppers. At around 5.8V all the issues I had been seeing stopped and the prints look better than I've ever seen before from this printer/setup!
Measuring the 5v supply voltage across the input to the smart stepper, I was actually seeing 5.6v after the power filters on my opto-isolated input/power filter board. All the ripples in my prints have vanished!
I hope this is helpful to someone :-)
Hi all,I have had quite a challenging time getting the smart steppers to work well in my machine, due to electrical noise susceptibility on the step/direction/enable signal inputs. My smart steppers showed more than the expected number of steps when checking "getsteps" on the motor cli and jogging the machine a known amount. Also with "debug 1" the motor regularly showed it was enabled and disabled when it should have been enabled all the time.Currently available smart steppers are very susceptible to electrical noise and produce noise that is difficult to filter out. Problems with noise being present in the step/direction/enable signalling leads to loss of accurate step count and error in the commanded motor position, without this error in the step/direction signalling the position control of these is excellent. :)One suggestion has been to use different pull up resistors on these inputs, but this is not a complete solution to the problem. The bigger problem is how much noise is coupled out onto the external wiring, including that for the signalling and this causes false step counts. It is far worse during motion with high currents and a heavy load on the smart stepper.As a result I have come up with two designs of filter PCB to suit the smart steppers. One is already in use on my machine and the second is a later re-think of this design. Both designs overcome the problems with existing smart steppers where noise causes false steps/enable/direction state changes.A vague spec follows:
- Filtered motor and logic power
- Passive power filtering removes high frequency noise instead of coupling it to the machine wiring
- Opto-isolated signalling prevents power noise affecting signalling
- Designed to be installed close to the motor
- Approx 50mm x 50mm x 10mm
Since there's been some interest in the "NOISE" thread, I thought I should start a dedicated thread to discuss the possibility of these boards and gauge how many people need them. If anyone likes the sound of these please let me know here and I'll try to make these available to purchase.I hope these can help a few people out :)Ed