Shop OBEX P1 Docs P2 Docs Learn Events
Robot Control Board behaving strange? — Parallax Forums

Robot Control Board behaving strange?

DutchBotDutchBot Posts: 24
edited 2010-05-12 00:45 in Robotics
Hi all,

got my robotic arm in and started playing arround with it. So far I just tested some servo's. The ones I got are equiped with a 10k Ohm resistor but also some others that worked fine before are acting funny.

I hooked up 3 servos (well more at first but the same happend) and modified the servo32.spin code into something like this:

·SERVO.Set(ServoCh1,1400)················· 'Force Rotating base Servo to Center
··· waitcnt(clkfreq*1+cnt)·················· 'wait for 3 seconds
··· SERVO.Set(ServoCh1,2000)·················· 'Move SRotating base furthest Counter Clockwise position
··· waitcnt(clkfreq*1+cnt)·················· 'wait for 3 seconds
··· SERVO.Set(ServoCh1,1400)················· 'Force Rotating base to Center
··· waitcnt(clkfreq*1+cnt)·················· 'wait for 3 seconds
··· SERVO.Set(ServoCh2,1400)················· 'Force·Arm1 Servo to Center
··· SERVO.Set(ServoCh3,1400)················· 'Force·Arm2 Servo to Center
··· waitcnt(clkfreq*1+cnt)·················· 'wait for 3 seconds
··· SERVO.Set(ServoCh2,1000)·················· 'Move·Arm1 furthest Clockwise position
··· SERVO.Set(ServoCh3,2000)·················· 'Move·Arm2 furthest Clockwise position

It works, partially. The base rotates as it should and when I separate the arm1 and arm2 with a waitcnt this also works. But when I used it as shown (the arm1 and arm2 are 2 servos that contra rotate and lift 1 joint together) things go wrong. I get little movement one the arm servos and the rotating base servo goes wild and doesnt stop turning anymore. They are currently just lying next to eachother and not lifting anything.

Anyone a clue?

Comments

  • SRLMSRLM Posts: 5,045
    edited 2010-04-12 20:11
    Are any of your servos continuous rotation servos?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Powered by enthusiasm
  • DutchBotDutchBot Posts: 24
    edited 2010-04-12 20:23
    No just regular ones. I tried a few different ones seems to happen every time I want to control more then 1 at the same time. Also switched from lipo to a steady 12 volt supply just in case of a faulty battery.
  • W9GFOW9GFO Posts: 4,010
    edited 2010-04-12 20:46
    Are the output shafts of the two arm servos connected to each other? If so I think you will have a binding problem. If the center is 1400 then the control pulses should be plus or minus the same amount.
    SERVO.Set(ServoCh2,1000)                   'Move Arm1 furthest Clockwise position (1400 - 400)
    SERVO.Set(ServoCh3,1800)                   'Move Arm2 furthest Clockwise position (1400 + 400)
    



    Rich H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    The Simple Servo Tester, a kit from Gadget Gangster.
  • DutchBotDutchBot Posts: 24
    edited 2010-04-13 07:01
    I see, stupid mistake on my side. However the servo shafts are not connected yet and are just lying arround. So they shouldn't bite eachother. Maybe I need to change the resistors into another value? Looks a bit like what happend with the servo's without the resistors (all jittery). Then again, it's not really jittering now but it turns pretty nicely. Freaking thing has to come to Madrid tomorrow. Hopefully there are more parallax users down there, I can sure use some help fighting this monster devil.gif
  • DutchBotDutchBot Posts: 24
    edited 2010-04-13 08:53
    After reading some more I suppose I will have to go for a 330 or 220 ohm resistor. I use high torque servos which I suspect of drawing a lot of current.
  • allanlane5allanlane5 Posts: 3,815
    edited 2010-04-13 18:32
    The control signal is low current -- I believe like 5 mA or so. "Drawing a lot of current" happens on the +V and GND wires, not on the control signal wire. However, you DO have to connect the Spin ground with the power ground -- some people leave that out, and you can get the behavior you're describing in that case.
  • rpdbrpdb Posts: 101
    edited 2010-04-27 01:13
    Is this controller an MRS1 board with translators? You might have a problem driving a capacitive load. I put a post up a while back when I had problems driving HB25s with a long cable.



    rpdb
  • DutchBotDutchBot Posts: 24
    edited 2010-05-06 09:08
    Hi rpdb, it actually is and I looked at your previous posts. Still not very clear to me how you fixed the problem (I'm pretty new to robotics).
  • rpdbrpdb Posts: 101
    edited 2010-05-12 00:45
    Hi DutchBot,

    Is the board a MSR1?

    I had problems with the translators (3.3v to 5.0v converters) on the MRS1 board going into oscillation with long leads on my servos. I soldered .100" headers on the board and installed jumpers to disable the translators and pick up the I/O signals directly from the propeller chip. You will want to put a 1k ohm resistor in series with the signal line attached directly to the prop chip to limit current when hooking up 5.0v logic to the propellers 3.3v logic. If your propeller chip puts out a 0 (0.0v) while your sensor outputs a 1 (5.0v) to that pin you can overload the prop or sensor pin. Look up the 28230-PropellerRobotControlBrd-v1.0.pdf and on page 6 of 9 the manual describes accessing the "direct I/O vias".

    I hope that helps.

    rpdb
Sign In or Register to comment.