So about a month ago i stumbled across a hexapod on hackaday’s website
and i have decided to build one myself right away, after looking at 4 differant options please advise me on which option is best
Option1: $1000 Micromagics hexapod wich looks awesome and everything is already there
Option2: the bot board 2 and the ssc-32 about $200 then the servos and the rest of the stuff, people have done this multiple times and there are pre made programs already made++++++ The one i made
Option 3:so one day i stumbled upon a form were some one said the arduino mega can control up to 46 servos & can do all the work by it self // arduino playground// if your a java programmer its super easy to program then //lynxmoition forms// and of course the cost factor $65 bucks , being the cheap mcguyvering pioneer that i am, I haven heard of any one doing anything like this befor i plan on running 18 servos a bluetooth smirf gold and a camera is this possible of will this be to much a load on the arduino mega if so then how the hell dose micro magic’s monster work
Even if you go with another processor and language (I went with an 18F4620 and C), you still probably want to let the SSC32 do the servos for you. I doubt if all of that can be done in the Arduino.
Sorry I wrote this post in a hurry before i went to work
Let me clarify a couple of things
Because i’ve seen so many people to cool thing with the arduino i hastily bought the arduino mega after reading that it could run up to 48 servos and some one created a libirery for it
(arduino.cc/playground/Code/MegaServo). I figuerd if some one created a library for running 48 servos at one it could but being the noob that i am i might of made a mistake, here are the specs:
Microcontroller ATmega1280 Operating Voltage 5V
Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 14 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 128 KB of which 4 KB used by bootloader
SRAM 8 KB EEPROM 4 KB
Clock Speed 16 MHz
so my real question is: can i run 18 servos freely on this board and also
and have a camera, 3 axis accelorometer and set up a blue tooth smurf
sorry for my bad spelling!!
by the way the phenix Rocks i saw the video with the box and it was awsome is there any way you could get it to run
If it is runing on an ATmega1280 @ 16MHz then I suppose it’s possible. The 1280 has a lot of PWM resources built in hardware so, without working out the numbers and actually doing the work to verify the feasibility, it doesn’t seem like it would be a moon shot to implement 16 to 24 servo outputs. One of the things you should consider will be resolution which could vary widely due to the sheer number of PWM hardware variations in the 1280. If you have the time, desire, and skill to work it out then I would speculate this controller has a better shot than a lot of others.
Do not bother using the Arduino as the uC and the servo controller. You have to have a loop in your code to constantly Servo::refresh(); every 20ms. You’re better off with an Arduino (any kind, I’d recommend Duelimanove) and an SSC-32. That way Arduino can calculate the Inverse Kinematics and send it to SSC-32, which does the servo moving. MUCH easier.
Oh and if you haven’t realised, the math involved with all of this is rather complex. Infact, the arduino will struggle to do IK and servo control at the same time. But you might want to look into the math and see if it’s enough for you to handle before diving into it.
I can’t imagine why someone would put routines to run large amounts of servos in a foreground loop unless they were creating a dedicated servo controller. Running lots of servo outputs in conjunction with higher level application code needs to be done using timer and pwm interrupts in the background, ideally hand coded and optimized in assembly language. The foreground code then simply updates a set of variables/registers, used by the interrupt service routines, with the desired servo position.
A bot board, SSC-32 and Atom Pro28 will do everything he wants to do. The SSC-32 will handle all servo movements, the bot board has built in AD converters (up to 8 ) and 19 I/O pins for a handful of sensors. This seems to be enough to satisfy most bot builders, unless there is an exclusive need for mega processing horsepower.
You know here’s an idea if you just plan on using your project for servo’s ie no inputs, you could mount a pda ontop of your pheonix and program it with whatever language is available to you to code with on a windows mobile platform and either tether it wireless via bluetooth or get a pda with a serial cable attachment.
I had a 3955 ipaq way back when and it had a serial cable…
The pda’s are much much faster in cpu power, sure it costs more but the pda’s don’t weigh that much and you have much MUCH more program space , and lastly you can be pretty sloppy with your code since you have so much extra cpu headroom and then optimize it later once your program works and all.
as for getting inputs into the pda, the only thing I can think of is use a botboard 2 for simply sending your inputs out with another blue snarf <— not sure what kinda devices are out there that will allow you to directly connect to some input/output pins… anyway ideas which is all they are.
Even trying to control 20 servos with an Arduino would really be pushing it without associated external circuitry like the SSC-32 has. It makes way more sense, as you said, to just get an SSC-32 and let it do all the servo moving (up to 32 servos). We also must not forget the the built in group and timed move capability of the SSC-32, which we really need for robotics.
I’ve played around with controlling servos using an Arduino some, and it does work, but there are really not many spare cycles left for doing other stuff. Now, I can see a single Arduino dedicated to controlling all the servos for one leg or a pair of legs plus leg sensors for a robot. This would be a reasonable way to use an Arduino for robotics. I’ve had as many as 6 servos connected to an Arduino. I also have a Sanguino I built up, which has many more I/Os (and a second TTL serial port), and is still compatible with the Arduino software after replacing most of the libraries and updating some of the control files.
I’m still waiting to see how the SSC-NG comes out in the final product, which I think will open up many more options for us. Hopefully it will come out at a much better price than the AXON ($124.95) and maybe even have more capabilities. This may be the way I want to go for the new brain on W.A.L.T.E.R. (still sitting on a shelf getting no playtime).
I really like the fact that I2C and SPI can both be used on the Atmega processors without having to choose one (like with PICs).
I’ve dismantled (so to speak) the Arduino build system. I know how to change the way the routines are named, used, called now. In fact, I can change the loop() and setup() routines to be whatever I want and make them work however I want them to work now. It took some digging around in the software directory, but I found what I needed and figured it out.
One of the reason why I went with the SSC-32 and the Atom Pro 28 is because LM has made the interface to it to be so simple…
One of my trade is micro-controller based system design, and as much as I like power-hungry, super duper fast processors, I find a lot of beauty with what LM offers.
I think the Atom Pro 28 + SSC-32 is the perfect combo for doing servo-based robotics…
My opinion from a system perpective is, you want your robot to work, the last thing you want to do is spend too much time on the electronics, mechanical, and software… The thing I want to mostly concentrate on is sensor handling and behavioral programming. But your interest may vary…