Let's Make Robots!

Bajdupod 9G

Trying to get in the next Tron movie :p

November 23rd Bajdupod 9G turns in to Bajdupod MG90 super mega turbo bling bling

After a long wait I received 15 MG90 servos from China. These have metal gears and are a bit stronger then the SG90 servos, and not that much more expensive. This did cause one issue, all my servos were powered from my Bajduino 3A board, it has a 3A 5V regulator. It was powerful enough to power the 12 SG90 servos but the MG90 servos draw a bit more current... Thankfully I have a couple of spare UBECs. So I quickly soldered up a perfboard with some male pins and hooked up a 3A UBEC to it. I then had to check all the servo positions and adjust the servo center value in my code. Replacing the servos seems like an easy job but to be honest this took me many hours. I replaced the servos one by one, every time checking the servo center value and updating my code. I originally used my Bajduino 3A to control the servos and a Bajduino 328RF24 to talk to my remote control via an nRF24L01 module. The 2 micro controllers talked to each other over I2C. There seems to be some incompatibility between the Arduino servo library and the wire (I2C) library. The servos would twitch randomly, I found other people with the same issues on the Arduino forums but no solution. I hooked up my oscilloscope to the servo signal pins and could see that the pulse width would sometimes change while my code should be sending the same pulse width. I then tried to use software serial but I got the same results. In the end I used hardware serial and the twitching was gone... I also added a 40mm fan to keep the regulator on my Bajduino and the UBEC cool. The beginning of this month I won an EL shield from Seeedstudio. The deal was that you get the EL shield and then you write a review about it on your blog. I needed to do something with the EL wire so I could make a cool video, so I strapped 3 meter of EL wire around Bajdupod. My Bajduinos are not Arduino shield compatible so I zip tied an Arduino Duemilanove with the EL shield to to the bottom of Bajdupod. Quickly wrote some code so I could control the EL wire with my remote control and made a video of it :p

http://www.youtube.com/watch?v=3kSbl25b5KY

Photos:

I have now added a temperature sensor to the voltage regulator. The plan is to control the fan with a logic level mosfet depending on the temerature measured. I'm working on the PID algorythem :)

October 19th (*added video n°3)

Had the day of yesterday so I spent some more time working on my hexapod. I've added 4 RGB leds. Soldered 12 resistors to the leds and hooked them up to 3 transistors. The transistors are connected to 3 PWM pins on the Bajduino 328RF24. I had already a sketch to do some colour mixing with RGB leds. I integrated the sketch to the Bajdupod code. And now I have walking Christmas tree :) See the video for the result. Over the last days I had made some changes to my code and now it listens pretty well to my remote control. I now need to add some sensors and write an autonomous sketch. But I'm going to wait till I receive some new servos. There are some MG90 servos on the slow boat from China coming my way.

October 15th (*added video n°2)

After I had written the walking gait for forward/backward/left/right I wanted to try and remote control my hexapod. I have a remote control based on an Arduino Uno / Joystick shield / nRF24L01 that I have used with my Rover 5. I just changed a little bit of code so it would work with my hexapod. Bajdupod 9G is controlled by my Bajduino 3A, it is based on the ATmega328. The servos need 12 pins and I'm using 1 analog input to read the Lipo battery voltage. I also want to add some sensors in the future. So I mounted another of my PCB creations to Bajdupod, the Bajduino 328RF24. It's a small 5x5cm PCB with an ATmega328 and a header for a nRF24L01 module. The ATmega on Bajduino 328RF24 runs @ 3.3V. I have connected it with my Bajduino 3A through an I2C logic level converter. It was the first time I did some real communication between 2 Arduinos over the I2C bus. Took me some time to get to grasps with the Wire library. The Bajduino 328RF24 now receives commands from the remote control and then sends these to the Bajduino 3A. The Bajduino 3A sends the battery status to the Bajduino 328RF24 which sends it to the remote control.

During the extensive test sessions I burnt my finger at the regulator on my Bajduino 3A. So I added a PC fan on top of the board. It's amazing what a bit of air can do, now the regulator stays nice and cool.

While making the video I damaged another servo... bad luck I guess. I will replace all the servos with metal gear ones.You can see in the video that my code needs a lot more work and finetuning.

I'm not very happy with my mechanical design. I should have spent a lot more time on it. The base is a bit to wide, this puts more strain on the servos.

There is a 3rd PCB mounted on the base. This is my "general purpose PCB". I also use it on my Rover 5. It's a board with a 5V and 3.3V regulator, 3 leds, 3 transistors and room for a small buzzer. The leds are great for testing, I will use the transistors to control some RGB leds that will stick to the bottom of the base.

 

October 7th (*added a video)

I replaced the 6 hip servos with SG90 servos, as the legs kept falling of. These come with some better screws to connect the horn. I then spent an hour testing all the servos and writing the center/min/max positions in a spreadsheet. So far I have only made a sketch with a forward walking gait. See the video for the result :)

This my version of a small hexapod with micro 9G servos. I'm using 2 DOF legs, that way I' need to control 12 servos. They are all controlled by an ATmega328. The board I'm using is my own design. I've named it the Bajduino 3A, it has an ATmega328P-PU and a LM2576 switch mode voltage regulator. The regulator should be good for 3A. Power comes from a 2S Lipo battery. I drew up some pieces in Autocad and had them laser cut by a local company. Not cheap but I prefer it this way, I'm not a mechanical man. I prefer to design things on a pc and let others make it. Just like I do at work :p I then bolted/glued them together. This caused some serious problems. The tiny screws that come with the 9G servos kept breaking when I wanted to attach the servos to the servo-horns. I then resorted to glueing the horns to the servos. I'm quite sure that I will have to re-glue more then once, it's far from a strong connection...

October 6th: picked up the parts from a local company

October 6th & 7th

Putting the pieces together:

Fitted the Bajduino 3A

Now I'm going to try and write a basic walking gate so it can walk around.

In the future I want to add another ATmega328 with a nRF24L01 module so I can remote control it. I also have another acrylic plate that I will fit to the base with spacers. It has some holes in it so I can fit a servo with a ultra sonic sensor on it. So hopefully Bajdupod 9G will be able to walk around autonomously one day.

 

Comment viewing options

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

Very nice walker, and great controller to go with it. That EL wire just adds another dimension of awesome :)

The leds are just 10mm RGB ones from ebay. I just stuck them to the bottom of the chassis. I have 15 MG90 servos one the way. These have metal gears and should have a bit more power. The servos I use now are not strong enough. You can hear the gears grinding in some situations. If you want to make a hexapod with micro 9G / SG90 servos I recommend keeping the chassis as small and light as possible. I have just written some code for the SR04 sensor using the newping library.

This hexapod was a test to see if I could program a hexapod. I bought 30 MG996R servos some time ago. The goal is to built a big hexapod, similar to the ones you can find on Ebay. With these servos I should be able to make a big hexapod to which I can add lots of electronics. Maybe add a RaspberryPi and a small webcam and play with that. Should keep me busy for a long time :)

Cool Bajdi. It's got a good gait. Love the colour and construction. I'm wondering what you did with the leds underneath that they have such a rounded and focused beam? 4 perfect circles?
I seem to recall reading in the shoutbox about your misadventures with broken servos. Lucky you had some left still. ; - )
This looks like a completed bot now. Where to from here. More work on it or new project?

Great work Bajdi, great work!

No experience with Hitec servos. I only use the cheapest parts I find on Ebay :p

You've spent to much time in Asia, not used to Western prices anymore :D Beginning of this year I went to a local RC shop to see what servos they had. The cheapest servo in that shop was a SG90, they wanted 10€ for 1. They looked identical to ones I've bought on Ebay.

The acryl parts come from an industrial laser company. When I picked up the acryl parts I told the them that I was going to built a hexapod and was going to glue some parts together to make a 90° bend. They then showed me their fancy computer controlled acryl bending machine... Argghhhh

Well, that might be true...the price difference is sometimes just astronomical.

You should have done some research first. Oh well, a good learning experience. I can get acrylic folded in China but they never get the angle right. What should be 90° always ends up as 89° or 91°. I think Ignoble Gnome did a tip/walkthrough on making your own acrylic bender.

Looks good but 100 Euros for the laser cutting...wow...

 

It wiggles :D