Next-gen motor control

From OrbSWARM
Revision as of 23:03, 6 February 2009 by Jtfoote (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Arduino motor controller shield

What's out there in terms of cheap and/or DIY speed controls?

Last I looked there was a big gap between small hobby stuff (1-2A) and big honking battlebot/OSMC-like designs. We have code and our small-ish OSMC variant that would be easy to refactor into an Arduino shield (plug-in daughterboard).

Or even base it on the VNH2SP30 that we experimented with for a smaller footprint.

For the Arduino code, could have RC PWM inputs as well as serial, and maybe even analog, and/or our PID code.

If done well (i.e. documentation), could sell a board/kit like the EMSL/Adafruit stuff, with possible economies of scale for our own plans. (Unless there's something out there already, in which case we could use that.)

Most of what I've seen is for driving small BOE-bot or Tamiya gearbox-sized stuff. The Make Controller can handle at most 30V/1A.

Architecture

That's a good point to support other motor classes. Talked with Rich Humphrey who built a motor controller board for his milk crate robots, and he basically did four half-H drivers instead of two full-H bridges, that way he could also drive steppers or three-phase brushless motors. I like that approach because it gives you a lot of flexibility. (And increases the wonderful possibilty of blowing up your drivers if you connect or drive them wrong)

Brushless motors seem to be cheap and widespread in scooters, old disk drives (and hybrid cars?) but properly driving them needs a little mojo. You need to sense the rotor angle to figure out which phase to drive (and when). Modern controllers sense the back-emf of each winding to figure out where the rotor is. You might be able to get that from an encoder, but it still needs some feedback logic. On the other hand, you can drive steppers open-loop, but they don't have much torque, so not so hot for vehicles. (Motor types are damnably confusing; consider, ahem, brushing up: http://en.wikipedia.org/wiki/Electric_motor)

In general you don't get feedback on motor position or torque without extra hardware. The exception is brushless motors and the back-emf mentioned earlier, which is probably worth supporting by an A/D on each winding (which you sample when the driving bridge is off between PWM phases). There are dedicated chips to do this, at least for small CD drive motors and the like (which I always wanted to repurpose for a railgun). (Just found this awesome animation: http://en.nanotec.com/steppermotor_animation.html Select "Block Sensorless" from the "BLDC Motoren" menu.

FETs again

Whoa. From the osmc-list, the IRF2804S-7P: 160 amp FET in surface mount D2Pak

www.irf.com/product-info/datasheets/data/irf2804s-7p.pdf

not a stock part at digikey; but it looks like newarks got onesies for $5.24 a pop of the almost identical IRF2804S-7PPBF

http://www.newark.com/jsp/search/productdetail.jsp?SKU=73K8239&CMP=AFC-QO1721829242

Layout

Jeff K. (and others) bemoan the arduino form factor has header pins not on a .1 grid. Is this an alternative? http://www.seeedstudio.com/blog/?tag=seeeduino

http://www.irf.com/product-info/datasheets/data/irf2804s-7ppbf.pdf