csconsulting wrote:The other problem is random currents floating around your earth and power.
The idea is to supply motor power
(typically 24V, maybe higher) completely separate
from the micro power, with jumper selection of the 5V rail to come from either the onboard switchmode voltage regulator or the 5V pin on the arduino header (just like on the ethermega).
For pure grunt, brushed DC is the only practical option
The question is though, which would be more popular, brushed DC with feedback or stepper motor control.
right now. Mind you, I've already thought a stepper version would be great too, but one thing at a time. My experiences with the current range small stepper drives have been kind disappointing. They appear to be optimised for minimum size instead of maximum thermal performance, are quirky with low-impedence steppers (thanks to Allegro's fixed off-time pwm), and 2A is about their limit on paper, more like 1A in practice. This low current, plus the dramatic torque dropoff beyond 300-600rpm, means you can only get very limited power from a stepper.
All the bigger stepper drives (i.e. Gecko, Leadshine) use discrete FETS, and I understand there's a lot more engineering gone into making them work well. There is no available high-current, single-chip stepper equivalent of a big H-bridge, more smarts are needed for current limiting, and from what little I've read its far from trivial.
Considering other options, BLDC (brushless) motor drive shield would be a great idea too. I searched and could only find one shield that would drive a BLDC motor http://scolton.blogspot.com.au/2010/06/ ... d-v20.html
. But I couldn't source any BLDC (gear)motors suitable for my application, so a drive to suit is 3rd priority for me right now (even though higher efficiency and lower noise is appealing, the higher complexity, higher cost and lower availability is a bigger disincentive. Not to mention a question mark over their stalled torque characteristic).
I think the issue with servo feedback is that you actually need something smart to recieve the feedback signal and use it to help control the motor.
That's what this board would address - dedicated inputs for quadrature encoder, software option to use analog feedback instead (yes, I know 10bits is dicey, but I'm currently getting decent results with massive oversampling), or even a serial protocol encoder i.e. SPI, SSI or SEI, or graycode (depending how much IO is available on the chosen micro).
No apologies for the long post - its a bit of a "what I wish I'd known about DC motors 12 months ago" - hope it helps others.