Shop OBEX P1 Docs P2 Docs Learn Events
Converting PULSOUT command to PWM for a PWMPAL output to BOE-BOT Servos. — Parallax Forums

Converting PULSOUT command to PWM for a PWMPAL output to BOE-BOT Servos.

JackDanielsJackDaniels Posts: 4
edited 2008-10-06 13:49 in BASIC Stamp
Hi there,

I can make the BoeBot practically do the Macarana with the pulsout command, but now I want to be able to process other things while the bot runs around.

I have added a PWMPAL to the mix, but what I can gather from the manuals isn't working.

I read that the PULSOUT command for the BS2 sends a 2 microsecond pulse for every number entered, ala 750 (used for full stop) is a 1500 microsecond pulse.

Translating this timing to the ontime-offtime command for the PWMPAL produces movement, not a full stop.

I also read somewhere in these forums that the PULSOUT command has a set time period of 20 milliseconds. I then tried the 1.5 milliseconds on, 18.5 milliseconds off, but it also produced movement.

Has anyone done this transition before?

JD

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2008-09-26 22:40
    Be careful of what you read. The PULSOUT doesn't have a set time period. You have to create that in your program with a PAUSE statement.

    Servos require a control pulse roughly every 20ms or they will shut themselves down. If you read the PWMpal documentation, you'll see that the units for the on/off time are 25us. For a 1.5ms on time, the value is 1500 / 25 = 60. The 18.5ms off time gives 18500 / 25 = 740.

    If you're using continuous motion servos (as it looks), they may not be calibrated for a 1.5ms stop setting. The "Robotics with the BoeBot" tutorial discusses how to adjust the servo using a short test program. You can do the same thing using the PWMpal set for a 1.5ms pulse width.

    Post Edited (Mike Green) : 9/26/2008 10:45:26 PM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2008-09-26 22:56
    By the way, the posting of the same question / message to two different forums is not allowed. Please delete your other message in the Robotics forum. Use the X icon in the upper right hand corner of the message box.
  • JackDanielsJackDaniels Posts: 4
    edited 2008-09-26 23:01
    Thanks Mike, I will look into that. Sorry about posting in two places, I wasn't sure if it applied to just the stamp or to the Boe-Bot.
  • JackDanielsJackDaniels Posts: 4
    edited 2008-09-27 18:55
    Hi Mike, thanks for the tip about the 25 microsecond unit for the PWMPAL. I'm not sure why I just assumed it was the same 2 microsecond unit as with the BS2, but it works now.

    I was also having a resetting issue with the stamp because it was plugged into a 5v dc plug.. but when I let it run on batteries it worked fine.

    Thanks again.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-10-03 17:26
    Jack,

    Your duplicate thread in the Robotics Forum was removed. Please follow up in this original thread on your PWMPAL questions.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2008-10-03 18:23
    Jack -

    Attaching a copy of your program would be most helpful in determining the problem.

    Regards,

    Bruce Bates

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When all else fails, try inserting a new battery.
  • JackDanielsJackDaniels Posts: 4
    edited 2008-10-06 13:49
    Hi Bruce, thanks for reading this thread... but the code isn't the problem, as it is a grand total of 4 lines.

    I serin the value I want to send to the motors and serout to the pwmpal. That's it.

    I have found something interesting now, and am one step closer to getting it working.

    Starting with the original conversion I made from the 2 microsecond on the Stamp Pulsout command to the 25 microsecond on the pwmpal, I setup a program that cycles through all possible combinations of bits sent to the pwmpal.

    I have the OffTime byte set all the time to 255 and start the ontime bit at 0.

    From 0-59, the servo runs full throttle backward.
    At 60, the servo is at full stop. (This on time produces a full stop no matter what the off time is)
    from 61-~120, full throttle forward is produced,
    from 120-255, full throttle slows down incrementally.

    I have played around with the upper byte (the pwmpal actually takes two bytes for on/off) for both the on an off times, but can't get the boe-bot servos to run more slowly in the backward direction.

    Has anyone used the PWMPAL to control the Boe-Bot servos to free up the Stamp to do other things?

    Thanks
Sign In or Register to comment.