Mark's Hexapod

Hexapod Robots

Re: Mark's Hexapod

Postby Mark » Sat Jun 23, 2012 8:14 pm

There is a application which allows you to move all the servo individually or you can make a small script and flash it in the controller.
When the board is powered on in will run the script over and over again.
In the picture you can see I added two states.
1 state: all servo's on 1500uS
2 state: servo 1 = 1900uS, servo 2 = 1300uS, servo 3 = 1700uS, rest 1500uS

The time between the states can be adjusted in mS.

When you press Run, it will run ones.
When you press Run Cycle, it will Cycle
When you press Download, it will program it in the onboard flash and Cycles at power on.

Image

The TTL interface is pretty much the same, but it took me about a month to get it working.
To make the servo controller accept TTL commands you need to send #VERIFY\r\n.
This wasn't described anywhere in the documentation and it seemed that I was the only one in the world who uses the TTL interface because I couldn't find it on the WWW either.
But after a lot of trial and error (<-This is why it took a month) I fount the #VERIFY\r\n command and got it working.
The servo controller will acknowledge with it's fireware date and than accept commands like #1P1500T1000\r\n.
This commands sends servo 1 to position 1500uS in 1000uS time.

I'm from the RC world so Tamiya connectors are familiar to me, but I'm not a great fan of them.
They tend to make bad contact when the get older and are not able to handle high currents.
But there are plenty of alternatives.
So you solder wires to your PCB or do you put them in some kind of screw connector?
Mark
 
Posts: 17
Joined: Tue Aug 17, 2010 1:06 pm

Re: Mark's Hexapod

Postby Matt Denton » Sun Jun 24, 2012 4:54 pm

I have screw connectors on the PCB, but if not then I would solder them on.
Matt Denton
AKA: Winchy_Matt

micromagic systems ltd
Matt Denton
Site Admin
 
Posts: 1622
Joined: Tue May 20, 2008 9:15 pm
Location: Winchester UK

Re: Mark's Hexapod

Postby Mark » Sat Feb 16, 2013 2:21 pm

It's been a long time since I did some real work on my Hexapod.
But there are some developments that I'd like to share.
The proto PCB for the head is ready and soldered and if you ask me it looks awesome.
At the moment I'm busy writing software for the head.
But I'm very very bad in writing software.
I use an LPC1759 with a core PLL of 120Mhz so it's a lot more powerful than the ATmega32 I'm used to.
The thing I have working right now are:
- System timer
- ADC interrupt driven
- RTC
- Buzzer routines
- Push button interrupt

Next things on the list are UART, I2C and SPI, so I can write the routines for the servo controller, bluetooth module, temperature sensor, Flash memory and Nokia display.
But that will take some time.
For now it looks like this:
Image
Image

The PCB which holds the UBEC and servo controller has a delay because something went wrong in the factory.
When I receive this PCB I can build the Hexapod together and start wiring the servo's.
Mark
 
Posts: 17
Joined: Tue Aug 17, 2010 1:06 pm

Re: Mark's Hexapod

Postby Matt Denton » Sat Feb 16, 2013 7:13 pm

Nice work, I didn't realise you we're making a TFT screen head, very cool! I don't know the LPC processor, but it sounds like it has heaps of grunt!
Matt Denton
AKA: Winchy_Matt

micromagic systems ltd
Matt Denton
Site Admin
 
Posts: 1622
Joined: Tue May 20, 2008 9:15 pm
Location: Winchester UK

Re: Mark's Hexapod

Postby Pac3R » Fri Feb 22, 2013 6:04 am

Hi Mark, I have that exact board, and don't have to use the Verify command. What version of board is it? I'm runnig V2.
I'm running it thru bluetooth to my android phone, just running a script for specific poses. no gaits, nothing special. would like to get it running thur and android app for control.
Pac3R
 
Posts: 1
Joined: Thu Sep 18, 2008 4:29 am

Re: Mark's Hexapod

Postby Mark » Fri Feb 22, 2013 5:08 pm

That's true.

I destroyed the last one by plugging the 6V 8A UBEC on the ADC input, so I reordered a new one.
The one I'm using now has version 20120520.
The previous one needed the #VERIFY\r\n, but this one doesn't.

For android app's I have done some tests with basic4android.
Really easy to work with
definitely worth trying.
Mark
 
Posts: 17
Joined: Tue Aug 17, 2010 1:06 pm

Re: Mark's Hexapod

Postby Mark » Sun Dec 01, 2013 6:47 pm

It's been a long time since I posted an update.
I really like the look of it and I got it fully functioning, but not as good as I want it so I will make some changes.
Here the pictures of how she looks right now:
Image
Image

The problem I'm having is that the servo controller is too slow.
The UART communication between my processor and the controller is 128000 Baud which works but the communication is not really reliable with such high speeds.
So I will get rid of the servo controller and redesign the pcb.
I will use a LPC1751 which will control all the servo's and calculates the inverse kinematics and get's position commands from the LPC1759.
An other problem is that my servo horns are worn out so they tend to move out of position when to much pressure is applied during walking.
I will replace them with aluminium horns when my new pcb is ready.
This to prevent the servo's from getting damaged when I make a software error which will happen for sure :lol:.

I made a short video in the link below:
https://www.youtube.com/watch?v=9lDqnu14dUc
Mark
 
Posts: 17
Joined: Tue Aug 17, 2010 1:06 pm

Re: Mark's Hexapod

Postby Matt Denton » Mon Dec 02, 2013 10:15 am

Hey it's looking good! Love the LCD face, is there anything on it yet? If not, what's the plan?
Matt Denton
AKA: Winchy_Matt

micromagic systems ltd
Matt Denton
Site Admin
 
Posts: 1622
Joined: Tue May 20, 2008 9:15 pm
Location: Winchester UK

Re: Mark's Hexapod

Postby Mark » Mon Dec 02, 2013 5:58 pm

Currently it shows the Date, Time and room temperature.
I don't really know what else I can put on it, maybe "eyes" or something to make it more lifelike :D
Suggestions are welcome!
Mark
 
Posts: 17
Joined: Tue Aug 17, 2010 1:06 pm

Re: Mark's Hexapod

Postby Mark » Sat Jun 20, 2015 11:28 am

Hello everybody
I like to show my new Hexapod controller board. It's been a while since I did anything with my hexapod but I would like to start again. Maybe I will redesign the entier hexapod because the current setup has a bit of play around the servo horns which I like to solve. This board is a huge improvement to my previous design. It solves some problems I had with the servo controller and the UART communication. When I updated the IK a lot the servo controller would crash every now and than and the entier system was a bit complex with multiple boards and microcontrollers. This PCB packes everything I need and more on a 49mm x 67mm size, which is slightly bigger than the servo controller I bought on Ebay.
Here are some specs:
- 120MHz 512kb CPU
- 20 servo outputs
- 3 axes accelerometer
- 3 axes gyroscoop
- 3 axes magnetometer
- 4kb FRAM
- NTC temperature sensor
- 10A 6V switching regulator

The board can be powered by a 2cell or 3cell Lipo battery and it has Low battery protection to prevent the Lipo from getting damaged. By connecting a push button to the two pin JST you can boot the controller and by pushing it again it will shut itself down. The 6V power supply can be enabled by the processor so the servo's will alway's receive a pwm input before the power is enabled.
I also made a small extention board which contains a switch register for 8 inputs. These can be used for foot sensor switches and it also contains two sensor inputs for Shark distance sensors. The red debug connector also contain an extra UART so an optional bluetooth module can be used in the future.

Image
Image
Image

I'm writing software now, but this can take a while because I'm not really good in it.
Mark
 
Posts: 17
Joined: Tue Aug 17, 2010 1:06 pm

PreviousNext

Return to Hexapods

Who is online

Users browsing this forum: No registered users and 3 guests

cron