I’m kinda new to this hobby, but I’m very interested. I fell in love with the hexapods, watching Zenta’s A-Pod walking around in 2009, Thanks for that, Zenta!
So, I wanted to build one for myself and the first thing was a CAD model by Google SketchUp.
In the course of time there were a lot of improvements, the first picture shows not the final design, but you can see i was inspired by Zenta’s T-Hex
So this was nearly 2.5 years ago, but this year in my vocational school, i have the possibility to build it for the “Mechatroniker Exposition” (little thing, were the mechatronics of the school show their talent and ability)
Anyway, in my company we have a laser cutting machine and the body and the legs were cut out for me.
Also I knew, I use the ARC-32 Board, because this should be a kind of a low cost project.
The next step was to place all the servos and I used the MG995 -> come from china and just one fifth works well but hey, they are cheap
I just had to assemble the feet to the body, but custom made alu brackets are too weak, so i decided to make them out of V2A with just 1.5 mm thickness.
After bending and welding them together I could assemble the whole kit.
I would very appreciate if I may name him T-Phoenix because of the design of Zenta’s T-Hex and the Phoenix legs.
Servos are assembled after the Phoenix Assembly Guide.
But now I would have a few questions
I want to remote control it, I know there’s a PS2 Controller, but is the receiver included and how do I connect it to the ARC 32?
Of course I want it to walk, is there already a code written for the ARC-32?
About your first question, I made an order about 3-4 months ago that included a controller, the controller came with its own receiver, i didn’t need to buy one on its own. About connecting it to the ARC 32 … im not sure how but i think you might be able to find a guide somewhere around the forums.
Thank you, you helped me a lot but there’s one more question
Where can I find the code that “revives” my hexapod, because I don’t know how to do this I’m sorry
Not sure if the question is directed to me but yea, i order PS2 controller and it came with one receiver, i just checked my order from 3 months, i didnt order a receiver, only controller
Thanks guys nodna.de/Roboter-Zubehoer/Co … --696.html
-> it says “It includes a small receiver module (not pictured), that plugs into our PS2C-01 cable”
so at least I have to buy the adapter too, which costs only 7.47 €, no problem
Now I think I have to talk to someone who knows how to connect the receiver with the ARC-32, and have a talk to kurte about the code
I used the Aux2 header (you can see the pin numbers in the source file.), but I believe it is P40-43. Why these? Because they added pull up resistors (47K which are pretty weak), but it got it done for the DAT line, which was important. I then grabbed +5v and GND from some place on the board…
Note: This was with earlier version of Arc32. Not sure if anything changed in the newer versions. Don’t have one so can not test. They maybe have updated the datasheet for it, not sure…
Yes, there are now up to I believe Rev C of the board. The newer boards have differences, like VS=VL type jumper likewise VS1=VS2. Plus they changed some of the layout, like Aux1/Aux2. I heard rumors that some of the pins on these may have changed… But up till this last week none of the documents were updated. Looking today it looks like maybe they have been updated.
Thanks snarez! And to everyone’s interest, I appreciate it!
Hey kurte, I know there’s already written a code for the Basic Atom Pro/SSC-32. Does my ARC-32 understand the same language, or is it something with the “hservo” commands I read not to long ago in the forum.
Would be cool if i may use an already written code, I’m still learning
No the code is different and yes we do have Phoenix code for it.
If you look in the Beta 2.1 thread, you will see places where I am pretty sure I uploaded Arc32 phoenix zip files. It will be configured to my Robot, but… viewtopic.php?f=8&t=7658
Yes kurte, I found the thread you wrote. There are some of them and I think the “Phoenix Beta 2_1 ARC32 Ps2” is right, isn’t it.
You guys did a great work writing the codes for every single controller, that’s great, didn’t found it before you posted it Thanks, you helped me a lot, thought the programming would be the biggest problem
Just ordered the PS 2 controller from my local dealer, can’t wait for it
So the PS-2 controller came the day before yesterday and there’s a receiver included. I bought the adapter-cable, too. How to connect the receiver with the board, there’s already enough posts and I found it quite easily.
Now I programmed it, and it walks, even with the PS-2 controller.
BUT there’s one problem, ok there are a few
Its right rear leg, (standing behind it and looking down) the femur servo turns reversed, so when it should move up it moves down. Is there any “servo reverse function” because I found none.
And how are the mechanical limits calculated, I can see they’re going from -760 to 1060 for example but where are they ending.
And the last one, one servo is shaking when it moves, but it works fine in its normal position.
That is strange, as all of the right legs should act alike and likewise for the left legs. The reversing function is built into the file phoenix_driver_arc32.bas. Look at the function UpdateServoDriver and you will see that there is different code for legs 0-2 than there is for 3-5 as half of them need to be reversed. In this case I think you are having problems with leg number 0…
With a protractor… You measure and the example you give says it can go from -76 degrees to 106 degrees.
I found the part of the code you said, but there you can only change either one side of the feet or the other, but single legs aren’t displayed. I tried to use another servo, but it was the same result. Now I will try to use a different pin, then I will see…
And the shaking servo is still there, tried to use a different servo again, and nothing changes, but this is not so bad. The main focus is now on the right rear leg
You should not need to do this??? but if all else fails you can always hack the code. Something like:
[code];--------------------------------------------------------------------
;[SERVO DRIVER] Updates the positions of the servos
;**********************************************************************
UpdateServoDriver:
;Update Right Legs
; BUGBUG : should we convert the offsets to their own table that has been pre multiplied?..
for LegIndex = 0 to 2
aswCoxaServo(LegIndex) = (-CoxaAngle1(LegIndex) * StepsPerDegree ) / 10 + aServoOffsets(cCoxaPin(LegIndex)) ; Convert angle to HServo value
if LegIndex = 0 then
aswFemurServo(LegIndex) = (FemurAngle1(LegIndex) * StepsPerDegree ) / 10 + aServoOffsets(cFemurPin(LegIndex))
else
aswFemurServo(LegIndex) = (-FemurAngle1(LegIndex) * StepsPerDegree ) / 10 + aServoOffsets(cFemurPin(LegIndex))
endif
aswTibiaServo(LegIndex) = (-TibiaAngle1(LegIndex) * StepsPerDegree ) / 10 + aServoOffsets(cTibiaPin(LegIndex)) #ifdef c4DOF
aswTarsServo(LegIndex) = (-TarsAngle1(LegIndex) * StepsPerDegree ) / 10 + aServoOffsets(cTarsPin(LegIndex)) #endif
next