2011-06-13

I need a H-Bridge part #2

My last post about H-Bridges was rather diffuse. I will try to amend that in this post by clarifying some concepts and terminology.

There are 4 interesting instances in the chain of responsibility while controlling a single motor in a robot:
  1. Decision level. For example: "Go to the kitchen".
  2. Movement level. For example: "Move motor #5 to position 39.4%".
  3. Feedback level. For example: "Generate voltage equivalent to the distance between where I am and where I was told to be".
  4. Power level. For example: "Send lots of power to the motor when i get a tiny signal".
Unfortunately, there is no single terminology that can be used to refer to these 4 instance. Some terms such as "servo controller" are very diffuse and can mean any number of instances in combination. I will therefore refer to the instances by the names "servo decision controller", "servo movement controller", "servo feedback circuit" and "servo power circuit".

Different robots will disperse these 4 instances in different locations in the controlling logic. The most common way is to put decision and movement level stuff in the software and hardware of the main controller board, a.k.a. "main board", while leaving feedback and power to the internal circuitry of a servo motor.

Since DC motors and electrical components such as transistors and PIC controllers usually are much cheaper than integrated servo motors, especially for the larger ones, you can end up with a much cheaper and more flexible configuration by doing some work on your own. This might not be necessary if you just need a servo or two, but in my case, with a need for 18 or more large servos, there is merit to figuring out this on my own.

Integrated servos both handle the feedback and the power instances.


So what is my approach? The decision and movement part will be handled by my RB-100 main board through software and the GPIO/I2C/SPI pins ( i havend decided which yet), while I will create my own circuitry for the feedback and power parts. This is my plan:
I want to make two boards, one taking commands over some serial bus such as I2C, and one taking the low-voltage PWM signal and amplifying it to fit the motor's requirement for power. In this way I get ultimate modularity, flexibility, power, pricetag and learning experience at the cost of my time.

More on this once I get all the gear I just ordered...

No comments:

Post a Comment