SED - SISTEMES ELECTRONICS DIGITALS PRÀCTICA

Anuncio
SED - SISTEMES ELECTRONICS DIGITALS
PRÀCTICA LABORATORI Nº 2
2004/05 QT
Objectius: Familiaritzar-se amb les interrupcions i el timer del sistema
Volem implementar un generador de funcions modulades per amplitud (PWM) en el sistema NIOS.
La modulació per amplada de pols, PWM (Pulse Width Modulation), es un dels sistemes mes usats per el
control de servo-motors. Els servo-motors son els típics que es poden trobar en qualsevol sistema de radio
control d’un model. Aquest sistema consisteix en generar una ona quadrada en la qual es varia el temps
que el pols està a nivell alt, mantenint el mateix període (normalment), amb l’objectiu de modificar la
posició del servo segons es desitgi.
Descripció detallada del funcionament dels servo-motors:
El sistema de control de un servo se limita a indicar en que posición se debe situar. Esto se lleva a cabo mediante
una serie de pulsos tal que la duración del pulso indica el ángulo de giro del motor. Cada servo tiene sus márgenes
de operación, que se corresponden con el ancho del pulso máximo y mínimo que el servo entiende. Los valores más
generales se corresponden con pulsos de entre 1 ms y 2 ms de anchura, que dejarían al motor en ambos extremos
(0º y 180º). El valor 1.5 ms indicaría la posición central o neutra (90º), mientras que otros valores del pulso lo dejan
en posiciones intermedias. Estos valores suelen ser los recomendados, sin embargo, es posible emplear pulsos
menores de 1 ms o mayores de 2 ms, pudiéndose conseguir ángulos mayores de 180°. Si se sobrepasan los límites
de movimiento del servo, éste comenzará a emitir un zumbido, indicando que se debe cambiar la longitud del pulso.
El factor limitante es el tope del potenciómetro y los límites mecánicos constructivos.
El período entre pulso y pulso (tiempo de OFF) no es crítico, e incluso puede ser distinto entre uno y otro pulso. Se
suelen emplear valores ~ 20 ms (entre 10 ms y 30 ms). Si el intervalo entre pulso y pulso es inferior al mínimo,
puede interferir con la temporización interna del servo, causando un zumbido, y la vibración del eje de salida. Si es
mayor que el máximo, entonces el servo pasará a estado dormido entre pulsos. Esto provoca que se mueva con
intervalos pequeños.
Requeriments de la pràctica:
Per implementar aquest tipus de sistema de control usarem un mòdul PIO per generar el bit de control del
senyal PWM i dos timers, un per controlar la amplitud de la fase activa i un altre per controlar la durada
del període. S’anomenen:
-
PWM_PIO a la PIO de sortida (el seu bit 0 de dades es el senyal de sortida que cal generar),
PWM_ACT al timer que controla la durada de la fase activa i
PWM_PER al que controla el període.
El senyal PWM s’ha de generar de forma ininterrompuda, a mes a mes tots dos timers han de funcionar
exclusivament per interrupcions.
FORMAT I GENERACIO D’UN SENYAL PWM
FASE ACTIVA 1ms
PERIODE 20ms
Inici dels timers
Interrupció
PWM ACT
Interrupció
PWM PER
Inicialment la durada de la fase activa ha de ser la corresponent a la posició neutre del servo-motor, es a
dir 1ms. La durada inicial del període serà de 20ms. Cal recordar que en el nostre cas la freqüència del
sistema es de 33MHz. Donat això la durada d’un segon son 33333000 tics de comptador, i per tant 1ms
seran 33333 tics de comptador.
Aquestes durades es podran modificar usant els quatre polsadors segons el següent esquema:
•
•
•
•
Pulsació de l’interruptor SW7 incrementa la durada de la fase activa en 0.05ms.
Pulsació de l’interruptor SW6 decrementa la durada de la fase activa en 0.05ms.
Pulsació de l’interruptor SW5 incrementa el valor del període en 1ms.
Pulsació de l’interruptor SW4 decrementa el valor del període en 1ms.
Cal visualitzar aquestes durades en la pantalla del PC.
Polsadors
Entrades/Sortides PWM
Inc Fase Activa
Dec Fase Activa
Inc Periode
Dec Periode
DETALL DELS PINS PWM_IN PWM_OUT:
PWM_OUT
PWM_IN
ESTUDI PREVI:
Analitzar el funcionament dels timers i PIOs necessàries:
1.
2.
3.
Investigar el funcionament general del timer en el sistema NIOS.
Investigar quina es la PIO que utilitza el sistema NIOS per generar el senyal PWM i quines
operacions s’hi poden fer.
Analitzeu el codi disponible i feu una descripció/esquema de quin es funcionament proposat.
Analitzeu el mecanisme d’interrupcions usat en el sistema NIOS.
Durada de la pràctica: Dues setmanes.
Feu servir l’esquema de codi disponible en la WEB de l’assignatura.
Referències:
• Tutorial general del sistema NIOS, especialment el detall dels nous mòduls disponibles.
• Documentació funcionament PIO.
• Documentació funcionament Timer.
ENTREGA FINAL: Document i fitxers de codi en el campus digital.
•
Cal revisar l’informació analitzada en l’estudi previ sobre el funcionament dels timers i PIOs
necessàries, i actualitzar-la segons els coneixements adquirits.
1.
2.
Descriure un funcionament general del timer en el sistema NIOS.
Investigar quina es la PIO que utilitza el sistema NIOS i quines operacions s’hi poden fer.
•
Descriure en detall l’esquema general del programa, indicant cada part del codi quina funció realitza.
•
Entregar els fitxers “C” usats en la pràctica.
•
Recordeu que cal fer una demostració “presencial amb el professor”.
Descargar