who said joystick?.. ā¦
All of that information is in the threadā¦
who said joystick?.. ā¦
All of that information is in the threadā¦
Hi Innerbreed,I saw this video from youtube,iām quite interested in how it works.
my engineering knowledge is nearly 0.sorry for my stupidity.
OK no prob, thats why you are here,
Jim put this together by using servo motors. these servos have a potentimeter that when wired correctly will give a 0 to 5vdc reading to the input when you move the servo.
the following pictures show how to connect it up and also how to mod the servo.
pin connections:
the servo on the left is the modified servo and the servo on the right is the normal, slave servo.
Turning the Modified servo with rotate the Normal servo.
How to Modify a servo to give you an output reading:
soldered the two motor leads together and soldered the servo wire to the pot. Servo to Pot, yellow to yellow, red to red, and black to green. When you plug this into an analog input it gives you a nice 0 to 5vdc to the input when you move the servos output shaft. solder the motor leads together to provides friction and holding power to the servo as shown:
this will allow the servo to give an out put reading.
now using a Botboard, code, the normal servos and the modified servos you can control the rotation of each servo by turning the require modified servo.
BotBoard:
lynxmotion.com/p-252-bot-board-ii.aspx
CODE:
[code]servo0 var word
servo1 var word
servo2 var word
servo3 var word
servo4 var word
servo5 var word
buttona var bit
sound 9, [100\880, 100\988, 100\1046, 100\1175]
low 10
low 11
low 12
low 13
low 14
low 15
buttona = in4
if buttona = 1 then start
testing:
servo0 = 3048
servo1 = 3048
servo2 = 3048
servo3 = 3048
servo4 = 3048
servo5 = 3048
gosub makepulses
goto testing
start:
adin 0, servo0
adin 1, servo1
adin 2, servo2
adin 3, servo3
adin 16, servo4
adin 17, servo5
'serout S_OUT,i57600,[dec3 servo0\3," "]
servo0 = (servo0 * 4)+1000
servo1 = (servo1 * 4)+1000
servo2 = (servo2 * 4)+1000
servo3 = (servo3 * 4)+1000
servo4 = (servo4 * 4)+1000
servo5 = (servo5 * 4)+1000
gosub makepulses
goto start
makepulses:
pulsout 10, servo0
pulsout 11, servo1
pulsout 12, servo2
pulsout 13, servo3
pulsout 14, servo4
pulsout 15, servo5
pause 10
return[/code]
Hope this helps⦠Im all out.
I found out both of these
lynxmotion.com/images/data/rios106h.pdf
lynxmotion.com/images/html/proj53a.htm
Basic Atom,SSC-32 ,botboard2,RIOS are needed?
Correct me if iām wrong.
that is correct. for those set ups. you can control your arm in many different ways.
this thread is showing Real-time Telemetry control. note there is no need for the SSC. also we are using the Atom Pro28 chip on the BotBoard for this.
Hello Innerbreed,thanks you very much!
Iām trying to replicate this for my own arm and so far Iāve been able to succesfully get it to work on one set of servos, but after I turn off the Bot Board ii(unplug the 9v battery) and plug it back in it doesnāt work. The slave servo will hold its position but turning the master doesnāt have any effect. Am I supposed to push a button to begin the program? Or is the program not staying on the BAP28?
No. Once you apply power the program kicks in. No need to press anything. The slave should then set its self to the same position as the master. Not sure why it will work before power is unplugged and not after. Check connections. Can you post a video? Have you tried programming the BAP.
Here is a video
I program the BAP28 with the IDE; it will load with no errors and begin to run with no problems; then I unplug the battery to turn it off; then I plug the battery back in to turn it on and the unmodified slave servo will center and hold, and turning the modified master has no effect
I checked all the connections and they all seem fine. Is it possible that the BAP28 is damaged/defective and not saving the program?
ok great. thanks for the video. well from first observation i notice that when you first apply power the slave servo has a slight wobble. It continues to do this throughout the first part of your demonstration.
When you remove the power and re apply i noticed the slave servo stops wobbling and remains in a constant state.
i have my conclusions but one thing to try is to move the servos to different pins.
Lets say:
adin 1, servo1 (Master)
pulsout 11, servo1 (Slave)
My suspicions are with the Master servo! i see you have the back off of the servo still. can i have a close up of the wiring?
The program will probably start after a reset. Try clicking the reset button on the BB2 after connecting the battery.
When it is working I can move the servos to different pins and it will work just fine, however after powering off and on, it still does not work on any of the pins. I also tried pushing the reset button with no luck
Here is a picture of the modified servo
http://db.tt/7AGPL5k9
Ok, so in my experimenting I reduced the code to only one set of master and slave servos and now it will work after pressing the reset button(sometimes twice). So why wonāt it work with the entire code?
Couple of things,
I wonder about: running the Servo with a 9v Battery⦠Most servos donāt like 9V. Could not tell if you were running the servo on VS or +5V.
Also little 9v battery with little wires can not be expected to run very many servosā¦
Maybe add a Pause of something like a half second at the start of the program to allow things like the AtoD converter to stabilize.
Kurt
i have seen something like this before. i remember that on some occasions when testing code id actually have to make all the connection for the code to work properly. i think that sometimes when the code is running but there is no physical output for it to flow, it might be clogging up the processor or something. no sure.
i remember in some of my earlier codes for other devices i would get this kind of thing happening. its a strange one and mybe someone else can give a better reason, but for now 'its great that you got it working.
PS, thanks for uploading a sharp HD video. its good to see clarity and detail.
PPS, large images such as yours can be added to your post by using the āAttach fileā option. this way it wont drown the page. the viewer can then click on it to expand it in their browser. again a nice clear image.
I just left town for a couple days, Iāll try some things when I get back home
Um, new technical term?
The original project used a 6vdc wall pack to power the servos and a 9vdc battery to power the electronics. Your weird problems will go away when you stop using a 9vdc battery to power everything. Itās wrong for so many reasons.
Yes that 9v is over kill.
lol. Humm⦠yes. lol i know nothing you should know that.
Ok so first I added a pack of 4 AAās for a 6 volt input and switched the jumper to āVSā on the servo
Then I started adding one channel/pair of servos back into the program, one by one(still only one pair of physical servos)
And I got it to work from one to all six channels by pressing the reset button multiple times
Though innerbreed might be right that having empty channels is āclogging up the processorā because the more empty channels I had the more times I had to press the reset button, for example with one empty channel I only had to press it 4-8 times, though with five empty channels I had to press it 20-50 times
Now Iām off to go modify the rest of the servos and hopefully having all connected will solve the problem