Autor Tema: Problema asignacion de nombre a pin (#bit DATO = PORTB.2)  (Leído 3531 veces)

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

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re:Problema asignacion de nombre a pin (#bit DATO = PORTB.2)
« Respuesta #15 en: 08 de Diciembre de 2017, 20:37:03 »
Citar
Ahora la explicacion de esa distorsion con el 12F675, que acabo de solucionar. Como ya dije, el PIC genera un PWM con 4 salidas para activar un puente H. El tiempo en ON de cada ciclo del PWM lo selacciono de una tabla con 32 valores, el tiempo en OFF lo calculo restando al tiempo total, (312 uS), el valor del ON.

Pense que lo hacias con un for y un delay fijo.. de esa forma  solo te preocupas por el momento en que debes apagar la salida y al comienzo encender todas, de esa forma no necesitas calcular nada, un simple contador y cuando es igual apagas.

Por suerte ya encontraste el problema.

Pues no se me habia ocurrido, pero igual con ese metodo el programa consume menos tiempo. Lo probare.
Como podras ver en el programa, el periodo total del PWM no coincide con el que te explique, (312 uS) y es justamente por el tiempo que tarda el programa.
Gracias otra vez

Saludos.
 

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re:Problema asignacion de nombre a pin (#bit DATO = PORTB.2)
« Respuesta #16 en: 08 de Diciembre de 2017, 20:39:23 »
Gracias a ambos por vuestro interes.

A KILLERJC, habia pasado por la pagina 47 del 1220 varias veces, pero no habia visto que los puertos estan justamente los ultimos de la tabla. Otra cosa Killer, ¿tu crees que con el mismo programa y mismo oscilador, puede haber gran diferencia en la ejecucion de un programa tan simple como para que en el 18F1220 la señal sea perfecta sin distorsion y en cambio en el 12F675 haya una distorsion importante? . El proyecto es el mismo EPWM en el que me respondiste a otras preguntas. Este EPWM es generado totalmente por software y no utiliza esa capacidad hardware del 18F1220.

A remi04, Hasta ahora lo he estado intentando en CCS, ya que este proyecto no lo tengo en MPLABX. Lo portare y probare, aunque no tengo mucha confianza de que funcione, ya que como dije antes, en CCS si funciona el 12F675 y no funciona el 18F1220.

Saludos.

Este tambien es en ccs. El Mplabx solo es un IDE pero el compilador que uso es CCS.

  Si quieres mañana te lo compilo con el ide del ccs nativo, pero el resultado va a ser el mismo.

Saludos.

Pues es raro, ¿que version de CCS estas utilizando?. Yo tengo una un poco antigua, la 5.059 no se si pueda ser por eso.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re:Problema asignacion de nombre a pin (#bit DATO = PORTB.2) SOLUCIONADO
« Respuesta #17 en: 08 de Diciembre de 2017, 21:56:33 »
Bueno como dije antes hoy no es mi dia. Por fin lo solucione todo, lo de la distorsion, como ya indique antes y lo de definir nombre para cada pin de un puerto.
Lo del puerto no entiendo que estaba haciendo mal, pero finalmente lo puse como ponia remi04 en su ultimo comentario, pero cambiando el 0X83 por 0X81, que es la direccion del puerto b y todo anda bien.
Gracias a los dos por vuestra ayuda.

Saludos.