Jump to content
43oh

Houston Robot Project Underway


Recommended Posts

Hi all,

 

I've recently started on my robot project using an old Tamiya RC car for a chassis. Bought a Basic Stamp to tinker with and it's interesting but so limited.

 

My name is Tim Wasson, I'm 42 and been playing with digital circuits since I was 11 years old.

 

Found the Launchpad because they were handing them out as door-prizes at the local hackerspace, and had to buy a few. Then I read the datasheet and user guide, and got really excited - the 'mixed signal' makes a big difference, and the TI history of DSP comes through when I look at how the peripherals are configured - they look great. I used to write DSP32020 assembly for Zonic Corp in Cincinatti (since defunct) back in 1989, so I've got a soft spot for TI.

 

Overall, the robot will consume about 10-30 MSP430 chips, all talking over I2C bus to a Propeller chip, with the 430 chips forming a kind of basic nervous system and brain-stem, and the propeller being the 'conscious' brain. The I2C bus will form a kind of spinal cord, with traffic going from to and from the conscious brain as well as directly between different functional modules at a lower, more reactive level.

 

My overall goal is to create a robot that functions at about the level of a dog - able to chase things, sorta obey a few commands, play fetch, and respond to "Bad Dog!" and hopefully show some behavior that will surprise me.

 

Anyway, can't wait to get started, and I'll be reading a bunch of stuff out here as we go.

 

Tim

Link to post
Share on other sites
  • Replies 43
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Hi all,   I've recently started on my robot project using an old Tamiya RC car for a chassis. Bought a Basic Stamp to tinker with and it's interesting but so limited.   My name is Tim Wasson, I'm

You could just put a 3-4 wire header on the target board and use the LaunchPad as an in-circuit-programmer.

Here you can see the sparkfun motor controller that is used.  The grey wires go to the '430 and power, and the heavy wires are from the motors.  The controller is hot-glued to the top of the batter ca

Posted Images

Update: Got my Launchpads today, and got the blinking LED's with assembly language! After years of database, php, and web stuff, it was really fun to get way down close to the hardware again.

 

The drive board for the rear wheels is almost complete - hopefully the launchpad will be driving the wheels tomorrow night!

 

After the rear wheels are spinning on command, I'll build the steering control circuit and put another MSP in charge of that.

 

Then I'm going to bring up an I2C bus between the three launchpads and issue commands to the drive and steering controllers, and then I'm off to the races.

Link to post
Share on other sites

I'm using a single IRF510 Mosfet from Radio Shack (1.99). My supply voltage is 8 AA batteries - around 13 volts.

 

A plain 2N2222 to ground in series with a 1k dropping resistor provides the voltage to the gate of the mosfet.

The micro drives the base of the 2N2222 thru a 1K resistor, with a 100K resistor from base to ground. The output is inverted - ground to the base of the transistor turns the fet on, a high level to the base turns off the mosfet.

 

Reversal is handled by a 24v 1 amp DPDT mechanical relay. The relay is wired so that when de-energized the wheels rotate forward, which will be the normal state. Another 2N2222 with base driven from the micro is used to ground the coil of the relay and engage reverse.

 

To my old-school mind, this is simpler than an H-bridge, and arguably more efficient because you're only ever wasting power in one mosfet vs. 2. It's cheaper, because you only have 1 fet and driver transistor vs 4. Also, you can't accidentally create shorts from power to ground by turning on the fets on the same side of the bridge.

 

I have the circuit running, but need to add the protection diode for the fet - I think engaging reverse (flipping polarity on the motor) while the motor is running fried one of my fets. It doesn't seem to mind the motor stopping and starting, but when the reverse hit it blew the fet.

 

Cheaper, fewer parts, fewer ways to screw it up. It works for me!

Link to post
Share on other sites
...To my old-school mind, this is simpler than an H-bridge, and arguably more efficient because you're only ever wasting power in one mosfet vs. 2. It's cheaper, because you only have 1 fet and driver transistor vs 4. Also, you can't accidentally create shorts from power to ground by turning on the fets on the same side of the bridge...

Depending on the motor, SN754410 should be sufficient for what you are doing and you will not need any additional parts (though some argue that you do need external clamping diodes.) You can drive 2 motors with a single 754410, or use both bridges in parallel for higher current. For even higher currents you can use LMD18200 which can deliver up to 3A. Also, 754410 has interlock circuitry to prevent shorts and it has thermal protection as well. Another advantage is that you can do dynamic breaking with H-bridge.

I think you should give it a try.

 

Also, IRF510 has RDS(on) = 0.54? so if you thinking about saving power, you should look at other MOSFETs, like IRF540, it has RDS(on) = 44m?. This would also eliminate a need for a heat sink if you are using one now.

Link to post
Share on other sites

Thanks for the "heads up" on the Radio Shack mosfet. I've built the motor control board with a socket, so I can change them out pretty easily when the opportunity presents itself. I did add a big clamping diode so hopefully I'll quit blowing the fet.

 

Tomorrow night I should have the Launchpad hooked up to the motor control board and running the drive wheels, then I'll fiddle with the timer on the 430 and set up the PWM control.

Link to post
Share on other sites

Welcome, Tim!

 

Overall, the robot will consume about 10-30 MSP430 chips, all talking over I2C bus to a Propeller chip, with the 430 chips forming a kind of basic nervous system and brain-stem, and the propeller being the 'conscious' brain.

:shock:

 

Okay... WAY too complicated for my skills! :? Sounds great, though. You should start a thread in the Projects section rather than here, so others can find and watch your progress. :D

Link to post
Share on other sites

First steps of success tonight! Henry the Robot (named for my late uncle who got me into electronics over 30 years ago), propelled himself under his own control! I got the PWM timer controls all set up and working, and he was able to crawl around at low speed, completely disconnected from the outside world, without relying on the Launchpad! No directional controls yet, however.

 

Instead of getting a 3.3 volt regulator (since Radio Shack was closed), I went to the dollar store. Did you know they sell perfectly good dual AA battery cases cleverly disguised as little fans? So for $1 (which is 29 cents less than Fry's), I got a battery holder, a little motor, and to top it off the spinner on the fan prop turns out to be a little centrifugal led board!

 

While there, I picked up a pre-built 5 digit 7 segment LCD counter display. They had them mislabeled as "pedometers". I'm going to try to have the motor control board be able to use it for a display, just clear it, and fake the bounces up and down on the pedometer to give an output on the display.

Link to post
Share on other sites

I've started on the steering controller. At Fry's I got an NET1716 Reversible DC Motor driver, intended for use in VCR's. It's a complete H-bridge good for up to 1.6 Amps, and cost 5.59. It has two inputs - forward and reverse - and has built in protection circuits for back EMF and is designed to "brake" the motor when turned off.

 

I'm going to use it for turning the front wheels. Breadboarded it up yesterday and the MSP430 drives the inputs easily. I don't think I'll bother with PWM for turning the front wheels, and just drive them off output pins, although I might set the watchdog or internal timer to hit an interrupt to turn off the pin at a later time so I don't waste CPU cycles in a dead timing loop.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...