MICROCONTROLADORES UNIVERSIDAD NACIONAL DEL CALLAO Facultad de Ingeniería I ngeniería Eléctrica y Electrónica Escuela Profesional de Ingeniería Electrónica
CURSO
:
MICROCONTRO!"ORES #!$OR!TORIO %#
!UMNOS !UMNOS
: CHECCORI MERMA, LUIS OSCAR
962635G ROJAS ESPINO, ROLANDO 962680B URBANO VALLADOLID, JOSE 092634 B CASTREJON PAISIG,EMITERIO
CICO
:
PROFESOR
:
6T! 6T! C"#$ ING% JACOB ASTOCONDOR VILLAR
$ella&ista ' Callao
2015 – V
1
070962 G
Ing. Ing. Jaco Jacob b Asto Astoco cond ndor or Vil Villar lar
MICROCONTROLADORES
MOTOR DC I. OBJETIVOS.
Controlar motor DC el sentido de giro !elocidad la"o abierto. #rogramar los $%ertos del atmega&. Estr%ct%rar r%tinas de traba'o.
(sando el ATME)A& %n tac*metro+ se desea controlar el sentido de giro de %n motor de corriente directa. #ara cambiar el sentido de giro de$ender, del n-mero de !%eltas reali"adas o las interr%$ciones acti!as.
II. DISEÑO. Se desea dise/ar %n circ%ito %n $rograma 0%e realicen lo sig%iente 1. 2%e al energi"ar el micro+ no s%ceda nada. 3. C%ando se o$rima la tecla conectada a la entrada de Interr%$ci*n e4terna INT1 5tecla R(N6CAM7IO8+ del AVR+ el motor de CD arranca comien"a a girar en el sentido elegido. 9. El Timer 0/Co!"#or em$e"ar, a contar el n-mero de !%eltas 0%e d: el motor+ %sando como relo' los $%lsos 0%e le en!iar, el encoder conectado a la entrada T( del !)R. ;. C%ando el Contador < c%ente 1+<<< !%eltas+ el AVR detendr, a%tom,ticamente el giro del motor e in!ertir, el sentido de giro+ girar, en este sentido otras 1+<<< !%eltas+ 5solo si no se o$rime ni la tecla STO$ ni la RUN*C!M$IO8. 5. Si se o$rime otra !e" la tecla RUN%CAMBIO+ el motor in!ertir, s% sentido de giro. &. C%ando se o$rima la tecla STO$ se detiene el motor.
III. MATERIALES.
1 Micro controladorATME)A&. 1 L3=9D+ $%ente >?@ doble+ con diodos integrados de $rotecci*n. otodiodo. Motor de CD 5corriente m,4 B<
3
Ing. Jacob Astocondor Villar
MICROCONTROLADORES
3. Se $resenta el $rograma $ara reali"ar lo indicado. Comente cada instr%cci*n del $rograma. .incl%de Gm&deH.incG .deH tem$r1 .deH stacKr1registro de cong%racion del stacK .deH secondtem$oralr3< .org <4<<< r'm$ reset .org <4<<1 r'm$ e4t6int< interr%$cion e4terna GSTO#G .org <4<<3 r'm$ e4t6int1 interr%$cion e4terna GR(N6CAM7IOG .org <4<<= r'm$ tim<6o!H interr%$cion de desborde del timer < reset cong%raci*n de la $ila ldi stacK+loF5ramend8 o%t s$l+stacK ldi stacK+ig5ramend8 o%t s$+stacK ldi tem$+<4<< o%t DDRD+tem$ $%erto D como entrada ldi tem$+<4 o%t #ORTD+tem$ acti!a resistencias $%llP%$ en $ort D o%t DDRC+tem$ $%erto C como salida sei acti!a interr%$ciones globales cong%racion de las interr%$ciones ldi tem$+
9
Ing. Jacob Astocondor Villar
MICROCONTROLADORES LDI secondtem$oral+1BB INICIALIAMOS EL CONTADOR EN 1BB53BBP1BB1<<8 o%t TCNT<+secondtem$oral asi se desbordara cada 1<< $%lsos ldi secondtem$oral+<7<<<<<111 o%t TCCR<+ secondtem$oral selecciona clocK e4terno con Qanco de s%bida com tem$ tem$ <4 P tem$ 5in!ierte tem$8 andi tem$+<4<9 ltra los 3 $rimeros bits o%t #ORTC+tem$ arrancarcambiar sentido del motor reti se desbord*+ TCNT< $aso de 3BB a <5dio 1<< $%lsos8 tim<6o!H inc r1& incrementa contador cada 1<< $%lsos c$i r1&+1< si alcan"a 1<<<$%lsos51<<1<8 cambia sentido 7RNE SI)(E CAM7IA SENTIDO ldi secondtem$oral+<4<< o%t TCCR<+secondtem$oral detiene el TIMER< o%t #ORTC+secondtem$oral detiene el motor LDI secondtem$oral+1BB INICIALIAMOS EL CONTADOR EN 1BB53BBP1BB1<<8 o%t TCNT<+secondtem$oral asi se desbordara cada 1<< $%lsos ldi secondtem$oral+<7<<<<<111 o%t TCCR<+ secondtem$oral selecciona clocK e4terno con Qanco de s%bida com tem$ tem$ <4 P tem$ 5in!ierte tem$8 andi tem$+<4<9 ltra los 3 $rimeros bits o%t #ORTC+tem$ cambiar sentido del motor sbi #ORTC+3 $rende led en #C3 rcall dela cbi #ORTC+3 a$aga led en #C3 LDI R1&+< reinicia contador de $a0%ete de 3B< $%lsos SI)(E LDI secondtem$oral+1BB INICIALIAMOS EL CONTADOR EN 1BB53BBP1BB1<<8 o%t TCNT<+secondtem$oral asi se desbordara cada 1<< $%lsos reti retardo entre cambio de sentido de giro dela ldi R31+ <= )LOO#< ldi R33+ 7C )LOO#1 ldi R39+ C; )LOO#3 dec R39 brne )LOO#3 dec R33 brne )LOO#1 dec R31 brne )LOO#< ret
CIRCUITO IM$LEMENTADO
;
Ing. Jacob Astocondor Villar
MICROCONTROLADORES
. Describa el encoder del motor 0%e est, reali"ando las $r%ebas diga s%s caracterUsticas. El encoder est, Hormado $or dos sensores de eHecto all 0%e $ro$orcionan %n total de 1<< $%lsos $or cada !%elta com$leta del rotor+ generando dos se/ales de $%lsos digitales desHasada en =< o en c%adrat%ra. A estas se/ales de salida+ se les llama com-nmente A 7. Mediante ellas es $osible s%ministrar los datos de $osici*n+ !elocidad direcci*n de rotaci*n del e'e. (s%almente+ si la se/al A adelanta a la se/al 7 5la se/al A toma !alor l*gico >1@ antes 0%e la se/al 7+ $or e'em$lo8+ se establece el con!enio de 0%e el e'e est, rotando en sentido orario+ mientras 0%e si 7 adelanta a A+ el sentido ser, antiorario. . E4$licar las interr%$ciones e4ternas Interr%$ci*n e4terna int< STO$ Interr%$cion e4terna del ATmega&+ entrada $or el $in D3+ detiene el mo!imiento del motor en c%al0%ier momento. Interr%$ci*n e4terna int1 RUN% CAMBIO Interr%$cion e4terna del ATmega&+ entrada $or el $in D9+ in!ierte el sentido de giro del motor en c%al0%ier momento.
. CONCLUSIONES. (sar los $%lsos del encoder como relo' del timer <+ Hacilita el control de n-mero de !%eltas. El %so de interr%$ciones red%ce considerablemente el c*digo $rinci$al. En el $rograma solo H%e necesario %na salida del encoder+ $ara el control del motor. B