Autor Tema: Problema Serout2 y Servo PIC18f4550 48MHZ  (Leído 2806 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Gargantua

  • PIC10
  • *
  • Mensajes: 20
Problema Serout2 y Servo PIC18f4550 48MHZ
« en: 01 de Mayo de 2009, 17:18:17 »
Hola, tengo un pic 18F4550 a 48MHz con un cristal de 4Mhz que uso con mi brazo robot por USB, Actualmente quiero cambiar de motores DC a servomotres para el brazo asi que me puse a investigar como se manejan serovs desde los pics, descubri que con pics a 4mhz es muy sencillo y despues de mucho intentar logre moverlo configurando el pic con DEFINE OSC 4, pero obiamente ahora no funciona el USB.

Loq ue queiro es poder manejar los servos por usb, Como no pude encontrar una manera que yo entendiera de manejarlos, desisdi tratar de usar mi controladora de servos de parallax, que se le envian los datos de mansera serial, pero  por mas que intente tampoco pude mandar los datos seriales!!!!, no me responde la conatroaldora.

SUpongo que tanto probelma deve ser por la velocidad del reloj del pic, quisiera saber si alguien me puede ayudar a lograr cualqueira de las dos, El lenguaje que uso es el Pic Baisc Pro.

Aqui les dejo el codigo que no es mas que el que genera el Easy HID.

Saludos

 asm
    __CONFIG    _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L 
                            ;              ;                      ; USB clock source comes from the 96 MHz PLL divided by 2
                            ;              ; [OSC1/OSC2 Src: /1][96 MHz PLL Src: /2]
                            ; No prescale (4 MHz oscillator input drives PLL directly)


    __CONFIG    _CONFIG1H, _FOSC_XTPLL_XT_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
                            ;                  ;               ; Oscillator Switchover mode disabled
                            ;                  ; Fail-Safe Clock Monitor disabled
                            ; XT oscillator, PLL enabled, XT used by USB
    __CONFIG    _CONFIG2L, _PWRT_ON_2L & _BOR_ON_2L  & _BORV_2_2L  & _VREGEN_ON_2L   
    __CONFIG    _CONFIG2H, _WDT_OFF_2H
    __CONFIG    _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_ON_3H
    __CONFIG    _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _ICPRT_OFF_4L  & _XINST_OFF_4L & _DEBUG_OFF_4L
    endasm
DEFINE OSC 48         

USBBufferSizeMax   con 8  ' maximum buffer size
USBBufferSizeTX    con 8  ' input
USBBufferSizeRX    con 8  ' output

' the USB buffer...
USBBufferIn       Var Byte[USBBufferSizeMax]
USBBufferOut        Var Byte[USBBufferSizeMax]
USBBufferCount   Var Byte


x VAr byte
Accion VAR Byte
Tiempo Var Byte


TRISB=0 'todo el puerto B y como salida
TRISD=0
' ************************************************************
' * main program loop - remember, you must keep the USB      *
' * connection alive with a call to USBService every couple  *
' * of milliseconds or so...                                 *
' ************************************************************
usbinit ' initialise USB...

  ProgramStart:
 
CODIGO PARA LOS SERVOS O EL ENVIO DE DATOS SERIAL AQUI
   
   Goto ProgramStart

' ************************************************************
' * receive data from the USB bus                            *
' ************************************************************
DoUSBIn:
   USBBufferCount = USBBufferSizeRX              ' RX buffer size
   USBService                                    ' Accioneep connection alive
   USBIn 1, USBBufferIn, USBBufferCount, DoUSBIn   ' read data, if available
   USBService   
   return
   
' ************************************************************
' * wait for USB interface to attach                         *
' ************************************************************
DoUSBOut:
   USBBufferCount = USBBufferSizeTX              ' TX buffer size
   USBService                                    ' Accioneep connection alive
   USBOut 1, USBBufferOut, USBBufferCount, DoUSBOut ' if bus available, transmit data
   return


De antemano muchas gracias
La inteligencia deja de ser algo natural

Desconectado juankho

  • PIC10
  • *
  • Mensajes: 12
Re: Problema Serout2 y Servo PIC18f4550 48MHZ
« Respuesta #1 en: 06 de Mayo de 2009, 01:44:56 »
compañero solucionaste tu problema. a mi me psa algo igual los servo no me funcionan porque los estoy controlando por usb

Desconectado Gargantua

  • PIC10
  • *
  • Mensajes: 20
Re: Problema Serout2 y Servo PIC18f4550 48MHZ
« Respuesta #2 en: 06 de Mayo de 2009, 10:32:18 »
No pude Manejar servos con ese pic , pero resolvi el problema de la comunicacion srial y use una controladora externa
La inteligencia deja de ser algo natural


 

anything