PRACTICA N.-4
CONVERTIDOR A/D RAMPA SIMPLE 1. Objet jetivos: vos: Familiarizar al estudiante con el funcionamiento de los convertidores AD de
rampa simple. Familiarizar al estudiante con el funcionamiento de los Timers de la placa
Arduino. Familia Familiariza rizarr al estudi estudiante ante con el funcio funcionam namien iento to de las interr interrupc upcion iones es utilizadas en Arduino.
2. Prepa repara rato tori rio o I. Cos! os!"t "tar ar # re rea"i$ a"i$ar ar ! res! res!%e %e: : a& Cara'ter(sti'as Cara'ter(sti'as )e )e "os ti%ers ti%ers )e )e "a p"a'a p"a'a Ar)!io Ar)!io *NO. *NO. Arduino UNO utiliza el micro controlador Atmel ATmega328, el cual cuenta con tres Timers denominados Timer, Timer! " Timer2. Timer " Timer2 son temporizadores de 8 #its, en cam#io el Timer! es de !$ #its. %ntonces e&iste una diferencia de resoluci'n entre estos temporizadores, 8 #its significa 2($ 2($ valo valores res " !$ #its #its sign signifi ifica ca $(.( $(.(3$ 3$ valo valores res,, es deci decirr este este )ltim )ltimo o es de ma"or ma"or resoluci'n. *os timers pueden ser configurados con algunos registros especiales de timer. %l Timer0 es Timer0 es utilizado para las funciones dela"+, millis+ " micros+, -ue son para realizar un seguimiento del tiempo transcurrido desde el ultimo reinicio. i se cam#ian estos valores se puede influir en las funciones de temporizador del Arduino. %s me/or no modificar estos valores. %l Timer1 es utiliza utilizado do por la #i#lot #i#loteca eca ervo, ervo, para propor proporcio cionar nar la interr interrupc upci'n i'n impulsada por la generaci'n de la se0al servo. %l Timer2 es utilizado por la funci'n tone+
e puede cam#iar el comportamiento de los timers a trav1s de los siguientes registros en el microcontrolador T4& 4egistro de ontrol timer5counter. %l prescaler se configura a-u6. TNT& 4egistro timer5counter. %l valor real del temporizador se almacena a-u6 O4& 7 4egistro de comparar salida TF4& 4egistro de la #andera de interrupci'n interr upci'n timer5counter. ndica una interrupci'n del temporizador pendiente
1
PRACTICA N.-4
b& Librer Librerias ias e istr! istr!''io ''ioes es e'esari e'esarias as para e" !so )e "os ti%ers prese presetes tes e Ar)!io +re +re,ir ,iri-)ose ose a "a p"a'a a)!iri) ri)a por e" r! r!po& # s!s iterr!p'ioes. Timer 1: TimerOne TimerOne library ( 9include :TimerOne.;< ) :TimerOne.;< )
Configuración de instrucciones. •
Timer! . initialize +microseconds=
e utiliza para empezar a tra#a/ar con este timer. >icroseconds es el periodo de tiempo -ue el tiemer toma. •
Timer! . set?eriod +microseconds=
%sta#lece un nuevoperiodo luego -ue ;a sido inicializada la #i#lioteca. Control de ejecución de instrucciones. •
Timer! . start +=
nicia el timer •
Timer! . stop +=
Detiene el timer •
Timer! . restart +=
4einicia el timer, desde el principio de un nuevo periodo •
Timer! . resume +=
4eanuda la e/ecuci'n del timer detenido Función de interrupción •
Timer! . attac;nterrupt +function=
%/ecuta una funci'n cada -ue el tiempo de periodo ;a finalizado. *a funci'n se e/ecuta como una interrupci'n. •
Timer! . detac;nterrupt +=
Des;a#ilitar la interrupci'n. Timer 2: >sTimer2 e/ecuta peri'dicamente una funci'n, por ! milisegundo.
2
PRACTICA N.-4
Configuración de instrucciones. •
>sTimer2 set+unsigned long ms, void +@f+
%sta#lece un tiempo en milisegundos para el des#ordamiento, cada des#ordamiento, fB tiene -ue ser declarado nulo sin parCmetros. Función de interrupción •
>sTimer2 start+
?ermite la interrupci'n •
>sTimer2 stop+
Desactiva la interrupci'n. Fle&iTimer2 permite -ue la resoluci'n sea configura#le en lugar de ser fi/ado en ! milisegundo. Configuración de instrucciones. •
Fle&iTimer2 set+unsigned long units, dou#le resolution, void +@f+
%sta#lece en unidades de tiempo la resoluci'n para el des#ordamiento. ada des#ordamiento, fB tiene -ue ser declarado nulo sin parCmetros. •
Fle&iTimer2 set+unsigned long ms, void +@f+
%sta#lece un tiempo en milisegundos para el des#ordamiento. ada des#ordamiento, fB tiene -ue ser declarado nulo sin parCmetros. Función de interrupción •
Fle&iTimer2 start+
nicia la interrupci'n •
Fle&iTimer2 stop+
Desactiva la interrupci'n. Instrucciones Instrucciones generales: •
initialize+periodo.
?uede especificar el periodo del temporizador +en us por defecto es !seg. •
set?eriod+periodo.
%sta#lece el periodo en us, el periodo minimo o ma"or frecuencia es compati#le con !us o !>z, el mC&imo o menos frecuencia e s8388E8 us o 8.3 seg. •
pm+pin,dut",periodo. pm+pin,dut",periodo.
Genera ondas ?H>. •
attac;nterrupt+funci'n, periodo
*lama a una funci'n en el intervalo especifico en milisegundos. •
detac;nterrupt
Des;a#ilita la interrupci'n asociada. •
read+
*ee el tiempo desde el )ltimo des#ordamiento en us.
3
PRACTICA N.-4
'& Cara' Cara'ter ter(st (sti'a i'ass )e ! 'over 'overti ti)or )or )e ra%p ra%pa a si%p si%p"e "e +i' +i'"! "!ir ir vet vetaja ajass # )esvetajas&. *a conversi'n digital resulta al utilizar m1todos indirectos, se transforma la varia#le de entrada en otra varia#le intermedia esta varia#le intermedia es el tiempo. %ntonces convierte primero el volta/e de entrada en esta varia#le intermedia para luego convertir esta magnitud en una salida digital. ?ara el convertidor de rampa simple, se integra el volta/e de referencia ;asta -ue la salida del integrador sea igual al volta/e de entrada. %l tiempo -ue tarda en llegar ;asta este punto depende de la magnitud del volta/e de entrada " se mide con un relo/ " contador interno. *a precisi'n depende de la frecuencia de relo/, de la esta#ilidad del volta/e de referencia " de la capacidad del capacitor de integraci'n.
uando llega la orden de comenzar la conversi'n, se resetea el contador " se descarga el capacitor, al desaparecer el pulso de inicio, a la salida del integrador, se dispara una rampa de pendiente I ref 54. 54. %ntonces el contador estarC ;a#ilitado para contar los pulsos de *J, aumentando as6 el valor de N. uando uando la amplitud de la rampa sea iguala iguala Ii, Ii, la salida del comparador comparador serC " el contador -uedara #lo-ueado en el valor final de N " en la salida del conversor ;a#rC un ! indicando el fin de la conversi'n. N = f clk ∗t Ienta/as o %structura simple " #arata si no se considera las caracter6sticas del relo/ e&terno. o No utiliza convertidores D5A. o *a conversi'n se realiza en un solo paso. Desventa/as o Ka/a velocidad de conversi'n. ?oca precisi'n. o Dependencia de la linealidad de la rampa. o o *a precisi'n de la conversi'n depende de *a esta#ilidad de la frecuencia de relo/. *a esta#ilidad del volta/e de referencia. *a precisi'n de 4 " .
4
PRACTICA N.-4
)& Ca"'!"o Ca"'!"o )e )e "a pe) pe)ie iete te )e "a ra%pa. ra%pa.
V i
V ref
− =
RC
m=
t
V RC −
II. Coteste br breve%ete: a. 0!- es es e" prees'a" prees'a"a)or a)or )e ! Ti%er Ti%er e ! %i'ropr %i'ropro'esa) o'esa)or3 or3 %s un circuito -ue permite modificar la frecuencia del relo/ de entrada de un timer, dividi1ndola " generando una nueva se0al de menor frecuencia -ue serC la se0al de relo/ de entrada a un registro. uando la se0al de entrada es demasiada rCpida se utiliza el preLescalador para ralentizarla. b. 0!- va"ores va"ores posib"es posib"es se tiee tiee para para e" prees'a"a)o prees'a"a)orr )e "a p"a'a p"a'a ARD*IN ARD*INO O a)!iri)a3 *a precisi'n del temporizador depende de la velocidad del procesador " la frecuencia. *a velocidad de relo/ del timer se define fi/ando el prescaler. %ste se puede a/ustar a !, 8, $E, 2($ o !2E. ?ara !$>z
Max Periodo=
Prescale Prescale∗1 17 ∗2 frecuencia Prescale Prescale∗1 Time pertick = frecuencia
III. III. I%p" I%p"e% e%e ete te e" 'ir' 'ir'!i !ito to e'e e'esa sari rio. o. 4. 5ib 5ib"io "iora ra,( ,(a. a.
I. I.
M! M! is istem temas as anal'g anal'gico icoss digit digital alesB esB,, Apunt Apuntes es de clase clase,, ng. ng. 4amiro 4amiro >ore/ >ore/'n 'n,, %scuela ?olit1cnica Nacional, A#ril 2!(. 5
PRACTICA N.-4
I. I. I . I . IX. X. XI.
M2 M2 Advan dvance ced d Ardu rduino ino dire direct ct use use of ATmega mega coun counte ter5 r5ti time mers rs.. MOn MOnline line. . Availa#le Availa#le ;ttp55sp;in&.m"t;icL#easts.com5marPt5A ;ttp55sp;in&.m"t;icL#easts.com5marPt5ATm TmegaLtimers.;tml egaLtimers.;tml M3 Ardui Arduino no !! !! Timer Timerss and and nterr nterrupt upts. s. MOnl MOnline ine.A .Av vaila#le aila#le ;ttp55pla"ground.arduino.cc5Q2DGTA*% ;ttp55pla"ground.arduino.cc5Q2DGT A*%5>uestreoQ2digital.pdf 5>uestreoQ2digital.pdf ME Arduino y los timers. MOnline.Availa#le ;ttp55.prometec.net5timers5 M( Arduino. MOnline.Availa#le ;ttp55pla"ground.arduino.cc5 M$ onversores D5A " A5D. MOnline.Availa#le ;ttp55.fceia.unr.edu.ar5enica35daLad.pdf
6