Let's Make Robots!

Norm

Sweeney's picture
navigates around looking to put something in a box.
Cost to build: 
$200
Time to build: 
70 hours
Weight: 
2000 grams
AttachmentSize
NormV3-Arm3.bas7.32 KB

Hi guys, i've been reading about all of your amazing robots for months now so I thought it must be time to post something of my own. So here it is "Norm"  I brought the start here robot in January and loved it I finally got to build an actual robot. Since then I have been trying to upgrade him in various ways using this site for inspiration the main ones for this project being TheBromz for his excelent BigTrak project and MarkusB in how to make a arm from ABS.

After making the SH robot my fist thought was it could do with an upgrade in size and speed. After a lot of searching about for different chassis to buy or toys to hack I went with the new model BigTrak. I got one second hand for £15 and it couldn't have been easier to take apart and transfer the robot electronics to it took about an hour in total to get it running. Once it was up and runnig I had a lot of problems with the obstacle avoidance code due to it's increased speed and size took a long time to get sorted and it still occasionally gets stuck.

Next I added a photo-transistor to the front made myself a little IR beacon and taught the robot to find it, easier than i thought just reversing the avoidance code. 

After a few over ambitous and costly errors i decided on giving it an arm. Not too much drama here just a lot of hours cutting plastic and a couple of redesigns later and it kind of works, not the best looking arm in the world but it works. Got the arm made then had a lot of problems with the servos acting weird a jittery and generally not doing what they were told so recoded it after looking up lot of excellent advice on here and finally got it sorted. Now it dirves about fine and hits the bucket every time. Just have to find a way of getting it to come back to me and adding another battery back to improve the arm performance.

Sorry about the poor quality of the video and pictures promise i'll post some better ones soon.

Any questions please feel free to ask.

Thanks for reading.

My Start here robot

This is my start here robot before the transplant.

Mid transplant to the BigTrak body.

Not the best looking face in the world. The piece of plastic over the Photo-transistor is from a cd player over the remote control reciever, it acts as a daylight filter and still lets it see the IR beacon very handy and free.

Bucket with homing beacon in the background.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
TheBromz's picture

Hey,

That's cool. The things you can do with a Bigtrak. Thanks for the mention too.

I've also had troublw with the size and speed of the bigtrak. Any chance of seeing your code?

The Bromz

Sweeney's picture

Of course you can have a look at the code, fair warning though it's very messy that's why i didn't post it at first. Should now be attached.   How is your Barktrak going haven't seen an update in a while?

Sweeney's picture

I would like to use PWM for speed control especially when it's in homing mode that's why it moves in little steps like that, but I couldn't kigure out PWM on the picaxe board that i'm using it seems to only work on pins that aren't connected to the motor driver. Not sure if i'm right on this and would love someone to correct me and point me in the right dirrection if i'm wrong.

Dan M's picture

I'm using the new 28X2 chips and they seem to allow pulsout command on the b. and c. I/O pins (have not tested on A. pins) but it looks like you are using the 28X1 which is different.  I see in the Manual part 1, that 28X1 will at least allow PWM on C1, C2, B1, B2 and B4.  If you are using PWM you would not need to use the "normal" motor pins, so you could switch to some of those pins for your motor drive outputs.  You have PWM, PWMOUT, PWMDUTY and don't forget PULSOUT which is basically the same thing, but seems to work on more pins.  :-)

 

Sweeney's picture

You are right about the pins, the real limiting factor is that layout of the picaxe board i'm using but there is no reason i couldn't take the L293D chip out and make my own driver using the PWM enabled pins seperate form the board. I think that will be my next project, thanks for getting my brain going in the right dirrection.

birdmun's picture

are the enable pins on the 293d connected to the microcontroller as well or are they just pulled high? I ask only because you can PWM any of the 3 lines for the motors and have some speed control. Although, the enable pin is the best choice as you can then have proportional speed forward and backward.

Sweeney's picture

Sorry i have absolutly no idea, but i'm sure the answers are on the site somewhere I just have to find them. While searching though i read a few times of picaxe not being able to do PWM for motors and run servos at the same time so the whole thing might be pointless.  Was thinking of changing over to  the DFrobots Romeo arduino board might be better for the needs of this robot.

Dan M's picture

I believe birdmun was asking how yours are wired. The enable leads can be done either way. I just tied mine right to the power supply, and send a different code for forward or reverse...

 

Sweeney's picture

To be honest i'm not completly sure how the pins are set up form this picture it looks like they are tied to the power supply.

 

the chip sits in the bottom right socket. 

L293D Pin layout

ignoblegnome's picture

Yes, Sweeney is correct.

According to the Picaxe020 project board datasheet (http://www.rev-ed.co.uk/docs/axe020.pdf), pins 1 and 9 of the L293D (Enable1 and Enable 2) are tied to pin 16 (Vss, which is V2 on the project board). So you can't pulse the enable pin while the L293D is on the board.

If you want to try something that is a little bit of a hack, insert a 16 pin DIP socket into the slot on the board intended for the L293D. However, bend out pins 1 and 9 of your socket, so that they do not come in contact with the on-board socket. Those two pins will stick out horizontally between the two sockets. Then you can connect wires to these pins, and run them to a PWM enabled output of the Picaxe.

Please note that I have never tried this, but it might be an easy way of getting what you want without having to add a whole new board.