[Robotgroup] (no subject)

Paul Atkinson pmatkinson at gmail.com
Tue Aug 5 10:39:11 PDT 2008


Scott,

Most servos have to be "refreshed" every 20ms in order to work normally.
There is a feature in the servo that stops applying voltage to the motor if
an input pulse isn't seen. I don't think the BS2 does this automatically, so
you need to have a loop that will "feed" the servo.

Paul

On Tue, Aug 5, 2008 at 10:28 AM, LHudson <lhudson73 at yahoo.com> wrote:

>
> I've included my code module as an attachment.
>
> I have four pins connected to a "Mouth Module" with LEDs that light up.
> The Serial Port is tied to a DOT NET speech programming API event.  The BS2
> "listens" for the Serial data inside of a DO...LOOP:
>
> DO
>   '~ SERIN 16\0, BAUD, [DEC COMDATA]
>   DEBUG CR, "Enter Command: "
>   DEBUGIN DEC COMDATA
>
>   SELECT COMDATA
>     CASE CMD_Mouth_Pin2_ON: HIGH 2
>     CASE CMD_Mouth_Pin2_OFF: LOW 2
>     CASE CMD_Mouth_Pin1_ON: HIGH 1
>     CASE CMD_Mouth_Pin1_OFF: LOW 1
>     CASE CMD_Mouth_Pin4_ON: HIGH 4
>     CASE CMD_Mouth_Pin4_OFF: LOW 4
>     CASE CMD_Mouth_Pin5_ON: HIGH 5
>     CASE CMD_Mouth_Pin5_OFF: LOW 5
>   ENDSELECT
> LOOP
>
> I am happy to report that the mouth movement is quite realistic and
> entertaining, even when tied to the Speech API Events!  I will bring this to
> the Show & Tell on Thursday.  Also, this is weird, but it doesn't matter if
> you use the SERIN or the DEBUGIN Code, it still works the same whether you
> are using the DOT NET Serial Interface or the Stamp Editor?!
>
> But okay here is my actual question:  I am having problems with the Pan &
> Tilt servos that are attached to the head.  If you inspect the code
> attachment, you can see the input processing to determine the servo
> position.  With some experimentation, I was able to engineer it so that by
> inputting a command, e.g. "1010" or "2130" I was able to position the
> head... not with 100% consistency, but it's a good start.
>
> The problem is that if there is no command to execute the Pan & Tilt, then
> the servos receive no PULSOUT.  With no charge to the motors, the slightest
> bump can cause a severe case of whiplash.  My tentative solution was to put
> additional PULSOUT codes before the ...LOOP:
>
>
> DO
>   '~ SERIN 16\0, BAUD, [DEC COMDATA]
>   DEBUG CR, "Enter Command: "
>   DEBUGIN DEC COMDATA
>
>
>   ENDIF
>
>   PULSOUT PIN_PanTilt_Pan, POS_PanTilt_Pan
>   PULSOUT PIN_PanTilt_Tilt, POS_PanTilt_Tilt
> LOOP
>
> However
>
> L. Scott Hudson
>
> "There are known knowns. These are things we know that we know. There are
> known unknowns. That is to say, there are things we know we don't know. But,
> there are also unknown unknowns. These are things we don't know we don't
> know."
>
> -- Donald Rumsfeld, describing the IBM "Rational Software" Platform
>
>
>
> _______________________________________________
> Robotgroup mailing list
> Robotgroup at puremagic.com
> http://lists.puremagic.com/cgi-bin/mailman/listinfo/robotgroup
>


More information about the Robotgroup mailing list