Thoughts on a possible new motor controller February 2012
These are some musings on a possible new motor controller that would incorporate up to date motor control chip(s) with FET output with an easy-to-use controller interface. Maybe.
Starting at the top-down "Fantasy as an Engineering Design Tool" approach:
- There is a black box that runs two DC motors with encoders, or two Stepper Motors
- Serial or I2C commands can be sent to the controller, and status returned, with little overhead in the application program.
- Users in Arduino-land (or wielders of the PicAxe?) have a simple command such as:
- BotMove(DistanceInCentiMeters, Time, ChangeInAngle);
So some example commands for a two-motor wheel / caster type configuration might look like:
BotMove(100,10,0); Go straight ahead 1 meter in 10 seconds
BotMove(100,10,-90); 1 Meter long arc 90 degree left turn in 10 seconds
BotMove(0,1,90); // 90 degree right turn in place in 1 second
Things To Consider:
This ASSumes that a few things are figured out :-)
- The differential pulse rates for the concurrent motor runs are well done, probably from interrupt-driven encoder inputs.
- Acceleration factors are controlled.
- Practical limits are enforced.
- A reasonable variety of motor and encoder types can be accommodated.
- A low-cost controller (possibly Arduino-equivalent/reprogrammable) is found
- Setup/profile information facility is provided
- Reasonable physical/heat transfer design is done.
- "Module/Brick" version perhaps with heatsink?
- Shield Version, but still stackable.
- The BOM / board / build costs VS attractive selling price and builder / distributor margins work.
- A high-power variant
- Onboard support of higher-level commands
- Logo-Like: REPEAT 4[BotMove(0,1,90) BotMove(10,2,0)] Trace a square
- Run Until Interrupted: BotRun(100,10,-90) Repeat same command until stopped
- Onboard direct support of optional collision / distance sensors
- Interrupt a BotRun
- Stop and Send status back, including sensor data
- A LOGO-like language in Arduino for newbies / education
- ArduBlock support: Create BotMove blocks.
- Other Stuff??
- Currently available reasonable-cost FET motor driver chips
- Best physical configurations, electrical connection options
- Probable build costs
- Apparent market