Welcome! Log In Create A New Profile

Advanced

Building a 12x stepper driver controller need some help

Posted by havor 
Building a 12x stepper driver controller need some help
May 23, 2018 01:13PM
Hi people, i am building a water and nutrients controller for the vegetables i am growing in our green house, and is loosely based on the Ramps controller.

It has to control 12 peristaltic pumps (hose-pumps), 1 big one for water 1L/min (18W), and 11 small ones for nutrients 5ml/min (<10W)

This is what i got so far whit what i can do, could someone over look my design, to see if everything would work the way it should?


here is the design file, and use this program to draw it.

What dose the board has to do.
  • Control the 12 stepper controllers have to run 1 water pomp (18W @150rpm) and max 6 small pumps (<10W @100RPM max), all whit 200 steps steppers.
  • Connected to com 2 will be a serial display.
  • To the analog pins will be connected two temp sensors, and two load cell's for pump calibration(1).
  • To the digital pins will be connected some relays to control some valves and to control other electrical equipment.
  • The relay is at the bottom is to cut power to the drivers.
(1) Calibration is done by placing 1KG (or 100g for the small pumps) weight in the 1L (or 100ml) container, measure the gross weight on the loadcell, remove the weight, and start pumping and counting the steps till the first measured gross weight, and calculate the needed steps to have 1L/min flow (or 100ml for nutrients and multiply or dived for the needed amount)

The questions that i have.
  • Is the design solid, as this is my verry first circuit board design, and properly could still use some improvements.
  • Can i use a relay to cut main power to the drivers, as i read somewhere that cutting power could maybe destroy your Arduino, i want to do this because this is running 24/7, and i want to save power, as i don't need to keep power on the stepper to hold him in place, as i only need precise control when the pump is running, a couple of steps movement is irrelevant for my use, but maybe there is a other way to save power?
  • I wane use TMCxxxx drivers, from what i read, i like the TMC2208 the best, but is this the best for my use?

Re: Building a 12x stepper driver controller need some help
May 23, 2018 04:57PM
I don't have time to check your design, but here are a couple of observations:

- You don't need to cut the power to the drivers to save power. Just disable the drivers, either by using the EN input to the drivers, or by using the UART interface to the TMC2208 drivers (but I guess you are not using the UART interface). Or, if using the UART interface then it's possible to set a much lower standstill current than the active current, and the drivers will automatically switch to the standstill current when you stop stepping them.

- Whether TMC2208 drivers are a good choice for you depends on your choice of motors. TMC2208 drivers can handle a little more current than TMC2100 and TMC2130, but still not very much - about 1A peak if they are well heatsinked to a large PCB but not fan cooled, and 1.4A or 1.5A peak if they are well heatsinked and fan cooled.

Edited 1 time(s). Last edit at 05/23/2018 04:58PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Building a 12x stepper driver controller need some help
May 23, 2018 06:13PM
Quote
dc42
I don't have time to check your design, but here are a couple of observations:
To bad. ^_^

Quote

You don't need to cut the power to the drivers to save power. Just disable the drivers, either by using the EN input to the drivers
That's gone be hard to lay the traces, unless i use a 4layer pcb, but i could use wire bridges to connect EN to the bottom digital pins, not the cleanest solution but workable.

Will make a updated PCB.

Quote

or by using the UART interface to the TMC2208 drivers (but I guess you are not using the UART interface). Or, if using the UART interface then it's possible to set a much lower standstill current than the active current, and the drivers will automatically switch to the standstill current when you stop stepping them.
I only wane use UART to program the drivers to switch between SpreadCycle and StealthChop.
If i gone use UART programming will become more complicated, and so will the PCB.

Quote

Whether TMC2208 drivers are a good choice for you depends on your choice of motors. TMC2208 drivers can handle a little more current than TMC2100 and TMC2130, but still not very much - about 1A peak if they are well heatsinked to a large PCB but not fan cooled, and 1.4A or 1.5A peak if they are well heatsinked and fan cooled.
They are gone be well cooled by a 120mm fan, and have a shroud directing airflow over the heat sinks.

These are the spec's from the biggest (57) stepper:

Max power 18.8W
Step angle 1.8°
Phase 2
Phase voltage 4.0V
Phase current 2.35A
Resistance 1.7Ω ±1.7
Inductance 7mH REF

And he will run at about 125rpm.

The smaller (42) ones will run at max 100rpm, typical +/-30rpm i think, and use less then 10W.
Re: Building a 12x stepper driver controller need some help
May 24, 2018 02:07AM
You can drive all the EN pins of the stepper drivers from a single Arduino output, assuming you want to enable or disable all the motors together. That should keep the PCB simple.

You can switch between spread cycle and stealthchop mode using a pin on the driver, if you choose the correct driver variant. I think it is the TMC2224 that has the input pin for that and the TMC2208 that doesn't, or it might be the other way round. Or you could make one of your driver sockets UART-enabled so that you can use the one-time-programming facility.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Building a 12x stepper driver controller need some help
May 24, 2018 04:30PM
Quote
dc42
You can drive all the EN pins of the stepper drivers from a single Arduino output, assuming you want to enable or disable all the motors together. That should keep the PCB simple.
No i prefer to control the drivers separately, for the code it should be very little difference, only rename the the pin number to activate the needed driver(s), and when the pump go's idle, just send the command to shut them all off, even if there all ready off.

And for the pcb it was a small change, tho it looks a little messier, it should still work fine.



Quote

You can switch between spread cycle and stealthchop mode using a pin on the driver, if you choose the correct driver variant.
Next to every driver socket placed jumper pins, to bridge ground and MS1 (on the TMC2130), so you can set a jumper to select spread cycle or stealth chop, if the driver supports it.

Quote

Or you could make one of your driver sockets UART-enabled so that you can use the one-time-programming facility.
I could go both ways, as i have the jumper on the board, but whit these €3 USB > serial > driver socket should that also be easy to set.

The questions that i still have.
  • Is the design solid, as this is my verry first circuit board design, and properly could still use some improvements.
  • I wane use TMCxxxx drivers, from what i read, i like the TMC2208 the best, but is this the best for my use?
  • Whit the spec's i posted above from the stepper motor, any TMCxxxx should not be a problem?
  • Can i use a relay to cut main power to the drivers, as i read somewhere that cutting power could maybe destroy your Arduino, i want to do this because this is running 24/7, and i want to save power, as i don't need to keep power on the stepper to hold him in place, as i only need precise control when the pump is running, a couple of steps movement is irrelevant for my use, but maybe there is a other way to save power?

Re: Building a 12x stepper driver controller need some help
May 24, 2018 05:06PM
For motors with a phase current as high as 2.35A I can't recommend any of the usual Trinamic drivers except the TMC2660.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Sorry, only registered users may post in this forum.

Click here to login