Servo motor does not work correct


Closed Thread
Results 1 to 38 of 38

Hybrid View

  1. #1
    Join Date
    Aug 2008
    Posts
    81


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    Hello
    Now already understand what you said.
    on the servo seems to me that something is missing he is without direction
    Here is the corrected code.
    thank you
    @ DEVICE PIC16F876A
    @ DEVICE PIC16F876A,WDT_OFF
    @ DEVICE PIC16F876A,PWRT_OFF
    @ DEVICE PIC16F876A,PROTECT_OFF
    @ DEVICE PIC16F876A,XT_OSC
    define OCS 4
    ADCON1 = 7
    TRISC=%10000000:PORTC=%10000000
    TRISA=%11111111:PORTA=%11111111
    TRISB=%00000000:PORTB=%00000000

    SYMBOL SERVO1=PORTB.0 'SERVO1
    SYMBOL RX_INP=PORTC.7 'RF

    RX VAR BYTE
    POS VAR word
    POS = 1500

    PROG:
    serin2 RX_inp,84,600,MODATA,[wait("PC"),RX,DEC POS]

    SELECT CASE RX
    CASE 65 'A
    GOSUB FRE
    CASE 66 'B
    GOSUB TRA
    CASE 67 'C
    GOSUB DIR
    CASE 68 'D
    GOSUB ESQ
    CASE 69 'E
    HIGH PORTB.0
    pauseus 1500 + pos
    LOW PORTB.0
    Pause 20
    END SELECT
    GOTO PROG

    FRE:
    PORTC.0 = 0
    PORTC.1 = 1
    PORTC.2 = 1
    PORTC.3 = 0
    RETURN
    TRA:
    PORTC.0 = 1
    PORTC.1 = 0
    PORTC.2 = 0
    PORTC.3 = 1
    RETURN
    ESQ:
    PORTC.0 = 1
    PORTC.1 = 0
    PORTC.2 = 1
    PORTC.3 = 0
    RETURN
    DIR:
    PORTC.0 = 0
    PORTC.1 = 1
    PORTC.2 = 0
    PORTC.3 = 1
    RETURN

    MODATA:
    PORTC.0 = 0
    PORTC.1 = 0
    PORTC.2 = 0
    PORTC.3 = 0
    GOTO PROG

  2. #2
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    If the PC is not sending A, B, C and D in the proper sequence, the motor will not turn, MODATA will hold the motor in place.

    Robert

  3. #3
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,623


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    Hi,
    CASE works with a value and not with strings but you can use the ASCII value.
    So CASE "1" should be CASE 49
    and CASE "A" should be CASE 65
    Both are equally fine.
    CASE "A", CASE 65, CASE $41, CASE %01000001 all works and does the exact same thing.

    /Henrik.

  4. #4
    Join Date
    Jun 2009
    Location
    Sc*nthorpe, UK
    Posts
    333


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    Quote Originally Posted by HenrikOlsson View Post
    Hi,


    Both are equally fine.
    CASE "A", CASE 65, CASE $41, CASE %01000001 all works and does the exact same thing.

    /Henrik.
    That is useful information.
    The mystery deepens then because the way CASE was written was not the problem. But CASE "A" did not work but CASE 65 does. Or does it? Is the question now. I need more feedback!
    Last edited by EarlyBird2; - 22nd June 2014 at 10:34.

  5. #5
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,623


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    Hi,
    But CASE "A" did not work but CASE 65 does. Or does it?
    I have no idea... All I can say is that CASE "A" works perfectly fine for me, I use it extensively in several applications, as an example, here's a snippet:
    Code:
    Select Case CmdBuffer[0]                     ' Decide what to do based on the first character in the buffer
    
    CASE "A", "a"                                ' Set accleration feedforward
     GOSUB ReadCmdBuffer
     If ValueReceived then pid_Acc_kFF = RxValue
       MenuLine = 6
       PrintLine = 1
    /Henrik.

  6. #6
    Join Date
    Aug 2008
    Posts
    81


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    Hello friends
    Now I'm more confused
    For example I do not understand anything too advanced for min
    I do not know what else to mofificar my program
    To control DC motors all works fine
    I thank all of you for the tension
    sorry for your time.
    Thank you all for having me conpartilhado your knowledge at Pic basic pro
    Last edited by cesar35; - 22nd June 2014 at 14:57.

  7. #7
    Join Date
    Jun 2009
    Location
    Sc*nthorpe, UK
    Posts
    333


    Did you find this post helpful? Yes | No

    Default Re: Servo motor does not work correct

    Quote Originally Posted by cesar35 View Post
    Hello friends
    Now I'm more confused
    For example I do not understand anything too advanced for min
    I do not know what else to mofificar my program
    To control DC motors all works fine
    I thank all of you for the tension
    sorry for your time.
    Thank you all for having me conpartilhado your knowledge at Pic basic pro
    I am pleased it is working and no need to say sorry. I am here to help if I can.

Similar Threads

  1. Servo motor control
    By financecatalyst in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 16th July 2010, 23:44
  2. servo motor control??help
    By HYETİK in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 6th April 2009, 08:41
  3. servo/motor problem
    By griffin in forum mel PIC BASIC
    Replies: 10
    Last Post: - 10th February 2009, 21:07
  4. Servo motor problem
    By dboy in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 20th September 2008, 16:54
  5. contorlling servo motor
    By shirleyz in forum General
    Replies: 10
    Last Post: - 1st June 2008, 00:53

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts