Top Banner
Sistemas Digitales Página 1 de 30 UNIVERSIDAD NACIONAL DE QUILMES INGENIERÍA EN AUTOMATIZACIÓN Y CONTROL INDUSTRIAL Control de Temperatura del Invernadero Profesor: Juárez, José  Alumnos: PEPA, Hernán Carlos LIO, Guillermo Gustavo
30

Control Temp Inverna

Jan 06, 2016

Download

Documents

Dario Klug

Control Temp Inverna
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 1/30

Sistemas Digitales 

Página 1 de 30

UNIVERSIDAD NACIONAL DEQUILMESINGENIERÍA EN AUTOMATIZACIÓN YCONTROL INDUSTRIAL

 

Control deTemperatura del

Invernadero 

Profesor:

Juárez, José

 Alumnos:

PEPA, Hernán CarlosLIO, Guillermo Gustavo

Page 2: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 2/30

Sistemas Digitales 

Página 2 de 30

Introducción

El pr oyect o consi st e en un cont r ol det emperat ur a de un i nver nader o. En el mi smo

se t r at a de cont r ol ar l a t emper at ur amedi ant e un si st ema de cal ef acci ón y ot r o deenf r i ami ent o. El si st ema de cal ef acci ónconst a de t r es l ámpar as de 150 wat t s, l ascual es son cont r ol adas ( l a pot enci a apl i cadaa l as mi smas ) con modul aci ón de f ase pormedi o de una señal PWM . El si st ema deenf r i ami ent o const a de un mot or de cor r i ent e

cont i nua con una hél i ce acopl ada a su ej e ,el cual es el encar gado de ext r aer el ai r eque se encuent r a en el i nt er i or deli nver nader o pr oduci endo una ci r cul aci ón deai r e de r ecambi o que genera una di smi nuci ónde l a t emper at ur a. La act uaci ón sobr e l asl ámpar as est a gobernada medi ant e una acci ónPWM . Est a acci ón PWM, de muy baj a

f r ecuenci a, es posi bl e de i mpl ement argr aci as a l a ut i l i zaci ón de un opt ot r i ac queposee un ci r cui t o de det ecci ón de cr uce porcer o, el cual se encar ga de i nt er f asear l amodul aci ón por ancho de pul so con l amodul aci ón de f ase que se necesi t ar í a par acont r ol ar pot enci a en cor r i ent e al t er na. Elmi smo opt ot r i ac act uar á sobr e un t r i ac que

ser á qui en al i ment e f i nal ment e a l asl ámpar as.Sobr e el mot or del ext r act or se apl i car á unPWM de baj a f r ecuenci a. Est a señal PWM es l aencar gada de exci t ar un opt oacopl ador , elmi smo act uará sobr e un mosf et que ser á l ai nt er f az de al i ment aci ón haci a el mot or .Se usarán dos sensores de t emperat ur a y seacondi ci onar á l a señal par a poder usar elconver sor A/ D del mi cr o en t odo su r ango

Page 3: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 3/30

Sistemas Digitales 

Página 3 de 30

par a obt ener un val or pr opor ci onal a l at emper at ur a.Se i mpl ement ar á un cont r ol PI . Según l o queest e me di ga se act uar á sobr e l as l ámpar as,

el mot or o ambos. Tendrá pul sador es que me per mi t en cambi ar demanual a aut omát i co, ot r os par a subi r ybaj ar l a pot enci a de sal i da cuando el equi pose encuent r a en manual y si est a enaut omát i co con est os pul sador es podr é var i arel Set Poi nt .Los dat os ser án envi ados a un di spl ay LCD

que me most r ar á el val or del Set Poi nt , l avar i abl e de pr oceso y l a pot enci a ent r egadaa l a r esi st enci a cal ef act or a.

Page 4: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 4/30

Sistemas Digitales 

Página 4 de 30

Flujo del Programa

INICIALIZACIONGENERAL

MEDICIONTEMPERATURA

BARRER TECLADO

¿ESTA EN MANUALO AUTOMATICO?

M

A

SUBIR O BAJAR % POTENCIA

TECLAS = $01 => SUBIR % POT

TECLAS = $02 => BAJAR % POT(FIJARSE QUE ESTE ENTRE 00-FF)

TECLAS = $03 => CAMBIAR A AUTO

FLUJO DELPROGRAMA

¿CAMBIOTECLAS?

SI

 NO

SUBIR O BAJAR SP

TECLAS = $01 => SUBIR SPTECLAS = $02 => BAJAR SP

(FIJARSE QUE ESTE ENTRE 00-FF)

TECLAS = $03 => CAMBIAR A MANUAL

 

Page 5: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 5/30

Sistemas Digitales 

Página 5 de 30

A

¿ESTA EN MANUALO AUTOMATICO?

M

PI

% POTENCIA=> LAMPARAS

MUESTROTEMPERATURA

 NEG(% POTENCIA)=> EXTRACTOR 

MUESTROSET POINT

MUESTRO% POTENCIA

 

Page 6: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 6/30

Sistemas Digitales 

Página 6 de 30

Diagrama En Bloques

Page 7: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 7/30

Sistemas Digitales 

Página 7 de 30

Entradas-Salidas

*2 ent r adas anal ógi cas conect adas alconver sor A/ D del mi cr o ( sensor de

t emper at ur a) .

*3 ent r adas di gi t al es ( pul sador es) .

*2 sal i da PWM

*Sal i das var i as par a el manej o del di spl ay.  

Detalles Del Programa 

*Se r eal i zó un pr ogr ama est r uct ur ado.*Se i mpl ement ar on subr ut i nas y f unci onesvar i as.*I nt er r upci ón de t i empo r eal .*Se modul ar i zó en secci ones y en ar chi vossepar ados par a poder r eut i l i zar el códi go

f áci l ment e.*Códi go mi xt o.  

Switch Case Principal

Se ubi có en el mai n un Swi t ch Case pr i nci palque ser á l a est r uct ur a de mi cont r ol .Se decl ar ó una var i abl e “Tecl as_Nuevo” que

t endr á el val or act ual i zado de l ospul sador es l uego de haber si do f i l t r adosadecuadament e.

“Tecl as_Nuevo = Si n_Cambi o” Ni ngún pul sadorf ue pul sado“Tecl as_Nuevo = I ncr ement a“ Se pul so elpul sador Subi r“Tecl as_Nuevo = Decr ement a“ Se pul so elpul sador Baj ar

Page 8: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 8/30

Sistemas Digitales 

Página 8 de 30

“Tecl as_Nuevo = Man_Aut o” Se pul so elpul sador Man/ Aut o

Cual qui er ot r o val or , por ej empl o pul sar dos

pul sadores a l a vez no se t omar á comoent r ada vál i da y se l o descar t ar á.

 Tambi én se de decl ar ó una var i abl e “Fase”que me i ndi ca en que est ado est a mi cont r ol .

“Fase = Aut o” i ndi ca que mi cont r ol est a enmodo aut omát i co.

“Fase = Manual ” i ndi ca que mi cont r ol est aen modo manual .

Ambas var i abl es f ueron decl aradas como“enun”, o sea, sól o pueden t omar di chosval or es.

Lo que hace el swi t ch es anal i zar est as dos

var i abl es e i ndi car cuál es l a acci ón que sedebe t omar según el val or de est as.

Si ni nguna t ecl a f ue pr esi onada el swi t ch nor eal i za ni nguna acci ón.

Si se t oco l a t ecl a “ManAut o” l o que hace esmi r ar el val or de Fase y cambi ar l a. Si l a

f ase est a en “Aut o” l a cambi a a “Manual ” ysi est a en “Manual ” l a pone en “Aut o”. O seaque con un sol o pul sador podemos poner alcont r ol en Manual o Aut omát i co.

Page 9: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 9/30

Sistemas Digitales 

Página 9 de 30

Si se pul só “I ncr ement a” l o que hace esmi r ar l a Fase y según en que val or est é ser ál a acci ón que r eal i ce. Si est a en “Aut o” l oque hace es i ncr ement ar el Set Poi nt y si

est a en manual el % de Pot enci a de sal i da.

Si se pul só “Decr ement a” l o que hace esmi r ar l a Fase y según en que val or est é ser ál a acci ón que r eal i ce. Si est a en “Aut o” l oque hace es decr ement ar el Set Poi nt y siest a en manual el % de Pot enci a de sal i da.

swi t ch( Tecl as_Nuevo) / / SWI TCH CASE PRI NCI PAL{

case Man_Auto:{

/ / CAMBI A DE MANUAL A AUTO Y VI CEVERSAi f ( Fase == Manual ){

Fase = Auto;

}el se{

Fase = Manual ;}br eak;

}case I ncr ement a:{

/ / I NCREMENTA EL SP O %POTi f ( Fase == Manual )

{I ncre_Pot ( ) ; / / I NCREMENTAR POTENCI A

}el se{

I ncr e_Sp( ) ; / / I NCREMENTAR SP}

br eak;}case Ambos:

{/ / SE PULSARON AMBOS PULSADORES

Page 10: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 10/30

Sistemas Digitales 

Página 10 de 30

br eak;}

case Decr ement a:

{ / / DECREMENTA EL SP O %POTi f ( Fase == Manual ){

Decr e_Pot ( ) ; / / DECREMENTAR POTENCI A}el se{

Decr e_Sp( ) ; / / DECREMENTAR SP}br eak;

}}

Funciones Incre_Sp, Decre_Sp, Incre_Pot,Decre_Pot

En el ar chi vo “f unc_t ecl as” se ubi car onl as f unci ones que r eal i zan l as t ecl as.

Lo que hacen est as f unci ones es i ncr ement ary decrement ar el Set Poi nt o el % dePot enci a.

Se l es puso un f i l t r o por l a vel oci dad delmi cr o para que no cr ezca muy r ápi do su val oral ser pr esi onada.Se cont r ol ó que no se vaya del r ango de 0x000xFF. O sea, se l as l i mi t o par a que nodesborden.

voi d I ncr e_Sp( voi d) / / I NCREMENTA SP{

Aux01- - ;i f ( Aux01 == 0){/ / Fi l t r o por l a vel oci dad del mi cro

i f ( SP ! = 0xFF){/ / Se f i j a que no me pase de $FF

Page 11: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 11/30

Sistemas Digitales 

Página 11 de 30

SP++;}Aux01 = Aux01_Val or ;

}}

voi d Decr e_Sp( voi d) / / DECREMENTA SP{Aux01- - ;i f ( Aux01 == 0){/ / Fi l t r o por l a vel oci dad del mi cro

i f ( SP ! = 0x00){/ / Se f i j a que no me pase de $00

SP- - ;}

Aux01 = Aux01_Val or ;}}

Subrutina Barrido

En el ar chi vo “t ecl as” se cr eo una subr ut i nade assembl er dedi cada a l eer el puer t o del os pul sador es. Se l ogr ó mezcl ar el

“assembl er ” con el “c” par a obt ener uncódi go mi xt o. Est a subr ut i na se l a l l amódesde el mai n de l a si gui ent e f or ma:

/ / Decl ar aci ónext er n voi d Bar r i do( voi d) ;

/ / Bar r i do_Tecl as() ;Bar r i do( ) ;  

Est a subr ut i na t i ene un f i l t r o cont r ael r ebot e de t ecl as que se puedeaj ust ar a gust o t ambi én y det ect a elf l anco de subi da.En el caso de t ener pr esi onados por unt i empo l os bot ones de subi r y baj ar per mi t esubi r per mi t i r subi r y baj ar mas r ápi do par a

que no sea engor r oso pr esi onar muchas veces

Page 12: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 12/30

Sistemas Digitales 

Página 12 de 30

por l a det ecci ón del f l anco. Est e t i empot ambi én es aj ust abl e.

xdef _Bar r i doxdef _I ni _Var_ASMxdef Por t Cxdef Msk_Por t Cxdef Por t C_Vi ej oxdef Ret _Tecxdef Ret_Tec_Valxdef Tecl as_Vi ej oxdef _Tecl as_Nuevoxdef Por t C_Nuevoxdef Ret _Tec2

xdef Ret_Tec2_Val

 _I ni _Var _ASM:

l daa Ret _Tec_Valst aa Ret _Tecl daa Ret _Tec2_Valst aa Ret _Tec2l daa #$FFst aa Por t C

r t s

; ************************************; BARRI DO DE TECLADO CON FI LTRO; DETECTA FLANCO SUBI DA

 _Bar r i do:

; ***************************************; FI LTRO TECLAS

l daa Por t Ccmpa Por t C_Vi ej obeq Barr i do_10l daa Ret _Tec_Valst aa Ret _Tecl daa Por t C

st aa Por t C_Vi ej obr a Bar r i do_20

Page 13: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 13/30

Sistemas Digitales 

Página 13 de 30

Bar r i do_10:

dec Ret _Tecbne Barr i do_20

l daa Por t C_Vi ej ost aa Por t C_Nuevol daa Ret _Tec_Valst aa Ret _Tec

Bar r i do_20:

; ***************************************; ***************************************; DETECCI ON FLANCO SUBI DA

l daa Tecl as_Vi ej ocomast aa Tecl as_Vi ej o

l daa Por t C_Nuevocomaanda Msk_Por t C

anda Tecl as_Vi ej ost aa _Tecl as_Nuevo

l daa Por t C_Nuevocomaanda Msk_Por t C

st aa Tecl as_Vi ej o

; ***************************************; SUBI R Y BAJ AR RAPI DO; SOLO PARA ESTOS PULSADORES; NO SE APLI CA A CAMBI O DE FASE

l daa Por t C_Nuevocomacmpa #$02beq Barr i do_30cmpa #$04beq Barr i do_30br a Bar r i do_40

Bar r i do_30:

dec Ret _Tec2

bne Barr i do_40st aa _Tecl as_Nuevo

Page 14: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 14/30

Sistemas Digitales 

Página 14 de 30

l daa Ret _Tec2_Valst aa Ret _Tec2

Bar r i do_40:

; ***************************************

r t s

; ***************************************

Port C: equ $1006Msk_Por t C: equ $07 ; 3 PRI MEROS BI TSPor t C_Vi ej o: dc. b $00Ret _Tec: dc. b $00 ; FI LTRO POR REVOTE TECLAS

Ret _Tec_Val : equ $01 Tecl as_Vi ej o: dc. b $00Por t C_Nuevo: dc. b $00Ret _Tec2: dc. b $02 ; SUBI R Y BAJ AR MAS RAPI DORet _Tec2_Val : equ $01

Subrutina Ini_Var_ASM  

Lo que hace est a subr ut i na es i ni ci al i zarl as var i abl es de assembl er . Es l l amada desde

el mai n de l a si gui ent e maner a:  

/ / Decl ar aci ónext er n voi d I ni _Var _ASM( voi d) ;

/ / I ni ci o var i abl es en assembl erI ni _Var _ASM( ) ;

 _I ni _Var _ASM:

l daa Ret _Tec_Valst aa Ret _Tecl daa Ret _Tec2_Valst aa Ret _Tec2l daa #$FFst aa Por t C

r t s

Page 15: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 15/30

Sistemas Digitales 

Página 15 de 30

 Variables globales

Se cr eo un ar chi vo “var i abl es_c” par acont ener t odas l as var i abl es gl obal es de mi

pr oyect o.

/ / / / / / / VARI ABLES C/ / / / / / / /

/ / t ypedef char BYTE;

i nt cont ar=0, comparar=22;

char Pot = 0x00, Aux01 = 0x00, Aux01_Val or = 0x01, SP =

0x00;char i i =0x00;

char Sum, Er r or , kk;

enum {Manual , Auto} Fase = Manual ;enum {Si n_Cambi o, Man_Auto, I ncr ement a, Ambos,Decrement a, a, b, c, d} Tecl as_Nuevo = Si n_Cambi o;

i nt pausa_cl s=0x1000;i nt pausa_l cd=0x0020;

char dat os_l cd[ 3] ;char prom_conv=0;

char conver si on1=0, conver si on2=0;

Control 

Se l l amó a l a f unci ón desde el cuer popr i nci pal del pr ogr ama. Se f i j a l a f ase del

pr ogr ama, si est a en Manual dej a el %Potpar a que se modi f i que con l os pul sador es. Siest a en Aut o l o que hace es cal cul ar l adi st anci a de l a var i abl e de pr oceso con elSet Poi nt y apl i car un %Pot pr opor ci onal aesa di st anci a. En “prom_conv” t enemos el elval or de l a t emper at ur a pr omedi ado. En “SP”el Set Poi nt f i j ado.

Er r or = SP - pr om_conv;

Page 16: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 16/30

Sistemas Digitales 

Página 16 de 30

Pr i mer ament e t enemos que f i j arnos si SP esmayor que pr om_conv. En caso de que sea alr evez qui er e deci r que nuest r a t emper at ur a

es super i or al SP por l o cual debemos ponerl a Pot enci a a cer o.

%Pot = 0% Si el Er r or es posi t i vo y además mayor a 50cuent as qui ere deci r que est amos a unos 18ºCde di st anci a ent onces apl i camos.

%Pot = 100% Si el Er r or es menor a 50 cuent as y mayor a8 ( 2ºC apr ox. ) apl i camos un cont r olpr opor ci onal .

%Pot = 0x03*Er r or ;

%Pot cont i ene un numer o de cuent aspr oporci onal al ancho del pul so del PWM queapl i camos par a mover el Tr i ac que apl i ca l at ensi ón en l as l ámpar as.Por ej empl o si %Pot = 0x80 est aremosapl i cando un PWM con un ci cl o de act i vi daddel 50%.

Al ext r act or se l e apl i car á l a Pot enci anegada porque son acci ones opuest as.

Ej empl o:Par a t emper at ur as ext r emas si quer emoscal ent ar al máxi mo necesi t amos que l asl ámpar as est én al 100% y el ext r act or al 0%.Par a enf r i ar al máxi mo necesi t amos l asl ámpar as al 0% y ext r act or al 100%.

Page 17: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 17/30

Sistemas Digitales 

Página 17 de 30

O sea, que en el moment o de cont r ol ar unat emper at ur a, si necesi t o cal ent ar aument o unpoco l a pot enci a de l as l ámpar as y di smi nuyol as del ext r act or . Y si necesi t o enf r i ar ,

aument o l a pot enci a del ext r act or ydi smi nuyo l a de l as l ámpar as.

Pwm_Lamp( Pot ) ;

Pwm_Mot or ( Neg( Pot ) ) ;

Si est amos dent r o de l a banda de 2ºC no

apl i camos acci ón de cont r ol , o sea, l edej amos una hi st ér esi s.

voi d Cont r ol ( voi d) / / Cont r ol P{

i f ( Fase == Aut o){

i f ( SP > pr om_conv){

Er r or= SP - pr om_conv;

i f ( Er r or >0x50){

Pot =0xFF;

}el se{

i f ( Er r or >8){

Pot =0x03*Er r or ;

}

}}el se{

Pot =0x00;

}}

Page 18: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 18/30

Sistemas Digitales 

Página 18 de 30

Rutina se servicio de interrupción RTI

La r ut i na de ser vi ci o de i nt er r upci ón f ue

pr ogr amada para que se act i ve l ai nt er r upci ón de t i empo r eal cada 32mi l i segundos apr oxi madament e. Ese t i emposer í a el t i empo de scan que t i ene nuest r osi st ema, en el cual debemos act ual i zar l osdat os del t ecl ado. Se puso una var i abl e quecuent a 33 veces par a generar un scan de 1segundo par a t omar el val or de l a

t emper at ur a por medi o del conver sor , apl i carel cont r ol est i mado según l os dat osobt eni dos y hacer el r ef r esco del di spl aycon l os dat os act ual es.

/ / voi d r ut i na( voi d)

@i nt er r upt voi d r ut i na( voi d) / / I nt er r upci on de t i empo r eal

{

 TFLG2=0x40;

/ / Bar r i do_Tecl as() ;Barr i do( ) ;

cuent a- - ;i f ( cuent a == 0){

/ / Conver sor ;

CAPTURA_CONVERSORAD( ) ;Envi ar( ) ;cont rol ( ) ;cuent a = 33;

}

swi t ch( Tecl as_Nuevo) / / SWI TCH CASE PRI NCI PAL{

. . . . . .}

}

Page 19: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 19/30

Sistemas Digitales 

Página 19 de 30

Conversor A/D

Los sensor es de t emper at ur a ent r an al

conver sor A/ D que est a conf i gur ado de modomul t i pl e y si ngl e scan.Est e conver sor est a si ncr oni zado con l a RTI ,o sea que se l l ama a l a r ut i na de conver si óndesde dent r o de l a r ut i na de l a RTI .

Conf i gur aci ón del conver sor A/ D:

OPTI ON=0x80;ADCTL=0x10; 

Dent r o de l a RTI se r eal i za l a l l amada a l af unci ón CAPTURA_CONVERSORAD( ) , dent r o de l ami sma f unci ón se l l ama a l a f unci ónconver si ón_canal ( ) que es l a encar gada dei ni ci ar l a conver si ón y esper ar el f i n deconver si ón, una vez f i nal i zada l a conver si ón

vol camos l os r esul t ados de l os canal esconver t i dos ADR1 y ADR2 en l as var i abl esgl obal es conver si ón1 y conver si ón2r espect i vament e.Est as var i abl es son t r at adas por l a f unci ónpr omedi o( ) y q hace un pr omedi o móvi l de l asmuest r as par a r educi r l as posi bi l i dades degr andes var i aci ones de medi ci ón por causas

de i nt r omi si ón de r ui do en l a medi ci ón queef ect úan l os sensor es y vol camos eser esul t ado en l a var i abl e gl obal “pr om_conv”.

voi d CAPTURA_CONVERSORAD( voi d){

conver si on_canal ( ) ;conver si on1=ADR1;conver si on2=ADR2;pr omedi o( ) ;

}voi d conver si on_canal ( voi d)

Page 20: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 20/30

Sistemas Digitales 

Página 20 de 30

{ADCTL| =0x80;whi l e( ( ADCTL & 0x80) ==0) / / ESPERAR FI N DE CONVERSI ON{

}}

voi d pr omedi o ( voi d){

shor t conv1, conv2, pr om;

conv1 = ( shor t ) conver si on1;conv2 = ( shor t ) conver si on2;pr om = ( shor t ) pr om_conv;

/ / Pr omedi a l as dos muest r as nuevas y ademas promedi ael val or

/ / vi ej o par a obt ener un mej or f i l t r ado de l a señalpr om = ( ( conv1 + conv2) / 2 + pr om) / 2;prom_conv = ( char ) prom;

}

Conversión ASCII

La conver si ón de l os dat os a ASCI I ser eal i za par a envi ar l os dat os al l cd.Los dat os de pot enci a , por cent aj e deact uaci ón, var i abl e de set poi nt y var i abl emedi da de t emper at ura son car gadas a unar r ay “dat os_l cd[ i ] ” y medi ant e l a f unci ónque vemos a cont i nuaci ón son conver t i das a

ASCI Ivoi d ascci ( char var _asci ){

char i =3, r est o=0;dat os_l cd[ 2] = var _asci / 100; / / guar damos l a cent ena en

el vect orr est o = var _asci - ( dat os_l cd[ 2] *100) ;

dat os_l cd[ 1] =r est o/ 10; / / guar damos l a decenadat os_l cd[ 0] = r est o- ( dat os_l cd[ 1] *10) ; / / guar damos l a

uni dad/ / conver t i mos a ascci

Page 21: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 21/30

Sistemas Digitales 

Página 21 de 30

whi l e( i ! =0){

i - - ;dat os_l cd[ i ] =dat os_l cd[ i ] + 48;

}

}

Configuración del LCD

El l cd se conf i gur o en base a l as subr ut i nasen assembl er q se t r aduj er on al l enguaj e c.

En el l cd se pueden vi sual i zar l at emper at ur a medi da, l a pot enci a ent r egada al os pwm que act úan sobr e l as l ámpar as ysobr e el mot or y l a señal de set poi nt .

Medi ant e l a si gui ent e r ut i na se conf i gur o ei ni ci al i zó el di spl ay, est a f unci óni ni _l cd( ) se l l ama sol o una vez desde elmai n con el sol o pr opósi t o de i ni ci al i zar ell cd y pr epar ar l o par a r eci bi r dat os:

voi d I NI _LCD( voi d){

CMD_LCD( 0x38) ;CMD_LCD( 0x0e) ;CMD_LCD( 0x01) ;

}

/ / ***********************

/ / envi ar un comado al l cd/ / ***********************char CMD_LCD( char a){

PORTA=a;PORTF &= 0xF9;ENABLE_LCD( ) ;i f ( a! =0x01){

PAUSA( pausa_l cd) ;

}el se

Page 22: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 22/30

Sistemas Digitales 

Página 22 de 30

{PAUSA( pausa_cl s) ;

}

}

/ / *******************/ / habi l i t ar el l cd/ / *******************voi d ENABLE_LCD( voi d){

PORTF =̂ 0x01;PORTF &= 0xFE;

}

/ / ************************/ / pausa comandos l cd

/ / ************************voi d PAUSA( i nt b){

whi l e( b! =0){

b - - ;}

}

Envío al LCD 

Las f unci ones que se descr i ben acont i nuaci ón son ut i l i zadas cada vez que elr ef r esco del di spl ay , o sea cada vez qent r o en l a r ut i na de ser vi ci o dei nt er r upci ón de l a RTI , que f ue conf i gur adapr evi ament e par a act ual i zar l os dat osapr oxi madament e cada 1000 mi l i segundos.Con l a si gui ent e f unci ón se enví a un dat o al

l cd, que pr evi ament e f ue conver t i do a ASCI I :

voi d Envi o_Dat o( char a){

PORTF =̂ 0x04; / / RS=1PORTF &= 0xFD; / / R/ W=0PORTA = a;ENABLE_LCD( ) ;PAUSA( pausa_l cd) ;

PORTF &= 0xF8; / /}

Page 23: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 23/30

Sistemas Digitales 

Página 23 de 30

Con l a f unci ón cur sor nos posi ci onamos sobr el a pr i mer a o segunda l í nea del di spl ay par aescr i bi r el dat o deseado:

voi d Cur sor ( char a){

PORTA = a;PORTF &= 0xF9; / / RS=0 R/ W=0ENABLE_LCD( ) ;PAUSA( pausa_cl s) ;

}

La f unci ón envi ar ( ) engl oba a t odas l asf unci ones ant es descr i pt as par a elpr ocesami ent o y enví o de dat os al di spl ay:

voi d Envi ar ( voi d){

char i =3, aux;Cur sor ( 0x80) ; / / Li nea de Ar r i ba

Envi o_Dat o( ' T' ) ;

Envi o_Dat o( ' ' ) ;/ / Acondi ci ono l a Temp y convi er t o a ASCI I/ / Acondi ci ono l a Temp y convi er t o a ASCI Iaux = ( char ) ( ( 60*prom_conv) / 255) ;ascci ( aux) ;whi l e( i ! = 0){

i - - ;Envi o_Dat o( dat os_l cd[ i ] ) ;

}Cur sor ( 0xC0) ; / / Li nea de abaj oi f ( Fase == Manual ){

Envi o_Dat o( ' P' ) ;Envi o_Dat o( ' ' ) ;i =3;/ / Acondi ci ono l a Pot y convi er t o a ASCI Iaux = ( char ) ( ( 100*Pot ) / 255) ;ascci ( aux) ;whi l e( i ! = 0){

i - - ;Envi o_Dat o( dat os_l cd[ i ] ) ;

}

Page 24: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 24/30

Sistemas Digitales 

Página 24 de 30

/ / Envi o_Dat o( ' ' ) ;/ / Envi o_Dat o( ' %' ) ;

}el se{

Envi o_Dat o( ' S' ) ;Envi o_Dat o( ' P' ) ;Envi o_Dat o( ' ' ) ;i =3;/ / Acondi ci ono el SP y convi er t o a ASCI Iaux = ( char ) ( ( 60*SP) / 255) ;ascci ( aux) ;whi l e( i ! = 0){

i - - ;Envi o_Dat o( dat os_l cd[ i ] ) ;

}}}

PWM

Se conf i gur aron dos TOC par a cr ear dos PWM.

whi l e( 1)

{i f ( ( TFLG1&0x40) ! =0){

 TFLG1=TFLG1| 0x40;i f ( est ado==0) / / est adobaj o){

 TCTL1=TCTL1&( ~0x40) ;est ado=1; / / est adoal t o; TOC2=TOC2 + 10*Pot ;

}

el se{ TCTL1=TCTL1| 0x40;est ado=0; / / est adobaj o; TOC2=TOC2 + ( Per i odo - 10*Pot ) ;

}}

/ / *****************************/ / pwm l ampar as de cal ef acci on/ / *****************************

i f ( ( TFLG1&0x20) ! =0){

Page 25: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 25/30

Sistemas Digitales 

Página 25 de 30

 TFLG1=TFLG1| 0x20; / / l i mpi o el f l agi f ( est ado2==0) / / est ado baj o){

 TCTL1=TCTL1&( ~0x10) ;est ado2=1; / / est adoal t o;

 TOC3=TOC3 + 100*( Per i odo - Pot ) ;

}el se{

 TCTL1=TCTL1| 0x10;est ado2=0; / / est adobaj o; TOC3=TOC3 + ( 100*Pot ) ;

}}

}

Los PWM se pusi er on dent r o del bucl ei nf i ni t o ya que son de al t a f r ecuenci a. Sedecl ar ó una var i abl e est ado que cont i ene elval or de l a sal i da y se conf i gur ó el TCTL1par a que pase a baj o o al t o según el est ado.El per í odo se f i j o en una var i abl e quecont ení a una ci er t a cant i dad de cuent as que

me per mi t í a obt ener apr oxi madament e unper í odo de 1. 5 mseg para el del mot or y di ezveces más par a el de l as l ámpar as. Se el i gi óPer í odo de 2550 par a que sea f áci l elescal ado ya que Pot va de 0 a 255.

 TOC2=TOC2 + 10*Pot Ci cl o ON del mot or

 TOC2=TOC2 + ( Per i odo - 10*Pot ) ; Ci cl o OFFdel mot or .

Page 26: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 26/30

Sistemas Digitales 

Página 26 de 30

Software de Desarrollo

Ar chi vo LI NKER:

# GENERI C LI NK COMMAND FI LE FOR 68HC11# Copyr i ght ( c) 1999 by COSMI C Sof t ware#

+seg . t ext - b 0x000 - n I ni t # Pr ogr am st ar t addr ess

cr t s. o # St ar t up r out i ne

+seg . dat a - a I ni t - n Var I ni # Var i abl es I ni ci al i zadas+seg . bss - a Var I ni - n Var NoI ni # Var i abl es noI ni ci al i zadas

+seg . const - a VarNoI ni - n Const ant es # Const ant es+seg . t ext - b 0xC4 - n Vect I nt # Vect or es de I nt er r upci on

vect or . o

+seg . t ext - a Vect I nt - n Prog # Codi go

var i abl es_C. omai n. ot ecl as. oconv_asci i . o

conver sorad. oact uaci on_pwm. ocont r ol _pi d. of unc_t ecl as. o

"C: \ Ar chi vos de pr ogr ama\ COSMI C\ EVAL11\ Li b\ l i bf . h11""C: \ Ar chi vos de pr ogr ama\ COSMI C\ EVAL11\ Li b\ l i bi . h11""C: \ Ar chi vos de pr ogr ama\ COSMI C\ EVAL11\ Li b\ l i bm. h11"

#Agr egado par a pr ogr ama a EEPROM+seg . t ext - b 0xFE00 - n . t ext

di spl ay. o 

Debi do al t amaño del pr ogr ama, f ue necesar i ol a ut i l i zaci ón de l a memor i a EEPROM par aal macenar l as f unci ones mas genér i cas, esdeci r , aquel l as f unci ones que una vezpr obadas no vol ver í an a ser modi f i cadas. Porej empl o l a del di spl ay.

Page 27: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 27/30

Sistemas Digitales 

Página 27 de 30

Al r eal i zar un bui l d del pr oyect o ut i l i zandoel ar chi vo de l i nker descr i pt o mas ar r i ba,queda bi en di f er enci ado en el ar chi vo desal i da .s19 pr i nci pal , l a par t e del pr ogr ama

que r esi di r á en l a memor i a RAM y l a par t edel pr ogr ama que r esi di r á en l a memor i aEEPROM.En base al ar chi vo .s19 pr i nci pal seconst r uyer on manual ment e dos ar chi vos .s19secundar i os, uno dest i nado a l a memor i a RAMy ot r o dest i nado a l a memor i a EPPROM:

.s19 para la RAM:

S0480000433A5C446F63756D656E747320616E642053657474696E67735C616C756D6E6F735C4D697320646F63756D656E746F735C54502046696E616C5C547046696E616C2E6831311BS10900008E04007E00EEF8S1160006000000160000010000000010000020000000009CS12300C400EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE38S10D00E400EE00EE00EE00EE000056S12300EE3C3C306F01C6F818CE100018E707C6FF18E701BDFE00C68018CE100018E739C662S123010E1018E7307F000AC605F7000C7F000DF7000BC601F7000F7F0010BD01DBC6FFE708S123012E0020046A00E60026FABD01EBBD029A7C001CE6012607BDFEABC650E7016A01F6A6S123014E00105A270B5A27195A27325A2722202DF6000F2607C601F7000F20217F000F20C6S123016E1CF6000F2605BD031C2012BD0345200DF6000F2605BD03312003BD035AF6001C71S123018EF1000A2404C6FF2005C1FF240A5F18CE100018E70420037F001CF6000F5A2703B3S12301AE7E012BF6000DF100152317F00015F7001DC1502304C6FF200AC10823E386033D6BS12301CE20015FF7000A4FBD02C87E012B9601B702499601B7024C86FFB7100639B6100680S12301EEB10248270D9601B70249B61006B7024820107A0249260BB60248B7024B9601B7E0S123020E0249B6024A43B7024AB6024B439407B4024AB70010B6024B439407B7024AB602F5S123022E4B438102270681042702200D7A024C2608B700109601B7024C390000000005BD3F

S123024E03AC05C603E7034FE606BD036E64F7001B86643DE702E606E002E7044FBD036E00

Page 28: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 28/30

Sistemas Digitales 

Página 28 de 30

S123026E0AF7001A860A3DE702E604E002F7001920126A0318CE0019E603183A18E600CB1DS123028E3018E700E60326EAAE0038393C3C3018CE1000181C3080181F3080FB18E6314F23S12302AEED0018E632E300BD036E02FB00158900BD036E02F7001538383

9393C373630F676S12302CE0027A6013DEB07F70018F6001EEB01F7001EF60026B6001E3DFB0018F70018E6B6S12302EE01F00021B600253DFB0018F70018F100242305F600242008F100232406F60023CAS123030EF70018E601F70021F600183838397A000B260FF6000A5C27037C000AF6000CF747S123032E000B397A000B260EF6000A27037A000AF6000CF7000B397A000B260FF6000D5CAAS123034E27037C000DF6000CF7000B397A000B260EF6000D27037A000DF6000CF7000B39F1

S123036E3C364D2A028D1830EE03EE008F164F8F028F306C0426026C036D0031382A04403DS123038E508200393C364D2A028DF430EE03EE008F164F8F0220DB18383C373020061838DCS11603AE3C3730368F308F18E00082008F35ED00186E015FS903FFFFFE

.s19 para la EEPROM: 

S0480000433A5C446F63756D656E747320616E642053657474696E67735

C616C756D6E6F735C4D697320646F63756D656E746F735C54502046696E616C5C547046696E616C2E6831311BS123FE00CC00388D0BCC000E8D06CC00018D01393C373630E60118CE100018E700181D0552S123FE200618E605C80118E705181D0501E6015A2705FC00132003FC00118D033838393C8CS123FE40373630EC002005830001ED0026F93838393C37363018CE100018E605C80418E71AS123FE6005181D0502E60118E70018E605C80118E705181D0501FC00138DC418CE100018DES123FE801D05073838393C373630E60118CE100018E700181D050618E60

5C80118E70518AFS123FEA01D0501FC00118D973838393CCC00808DD5CC00548D9BF60015863C3DBD036EFFD8S123FEC0BD024DC603F7000E7A000ECE0019F6000E3AE6004FBDFE51F6000E26EBCC00C0B5S123FEE08DA4C603F7000ECC0050BDFE51F6000A86643DBD036EFFBD024D20107A000ECEF1S123FF000019F6000E3AE6004FBDFE51F6000E26EBC603F7000ECC0053BDFE51F6000D86AES123FF203C3DBD036EFFBD024D20107A000ECE0019F6000E3AE6004FBDFE51F6000E26EBD8

S105FF4038394AS903FFFFFE

Page 29: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 29/30

Sistemas Digitales 

Página 29 de 30

Par a l a escr i t ur a de l a memor i a EEPROM seut i l i zó el pr ogr ama JBug11:El pr ocedi mi ent o par a l a escr i t ur a de l amemor i a EEPROM es el si gui ent e ( se asume que

el pr ogr ama ya ha si do conveni ent ement econf i gur ado) :1. Conect ar el mi cr o cont r ol ador con el J Bugy r eset ear l o.2. Escr i bi r l os si gui ent es comandos:R BPROT=10 habi l i t a l a escr i t ur a de l aEEPROM.EBULK bor r a l a memor i a EEPROM.

3. VE FE00 FFFF ver i f i camos el bor r ado de l amemor i a.4. Ut i l i zando el bot ón “Load S 19 file to MCU memory” sel ecci onar el ar chi vo .s19dest i nado a l a memor i a EEPROM.5. Par a l a escr i t ur a de l a memor i a RAM seut i l i zo el ya conoci do Cargador del HC11F1 para WIN32.

Conclusiones 

Est e pr oyect o nos per mi t i ó usar un l enguaj epoder oso como es el “C” para pr ogr amar elmi cr o. Se pudo hacer un códi go mi xt o, o sea,par t e en “C” y par t e en “assembl er ”.

Se t uvi er on pr obl emas de f al t a de memor i a l oque pr ovocó que no se modul ar i se t ant o comose pr et endí a. Se t er mi no gr abando par t e enRAM y par t e en ROM al l í t i me.

Page 30: Control Temp Inverna

7/17/2019 Control Temp Inverna

http://slidepdf.com/reader/full/control-temp-inverna 30/30

Sistemas Digitales 

Los logros fueron 

*Adqui r i r dos val or es de t emper at ur asi mul ados con pr eset s.

*Obt ener dos señal es PWM con el ci cl o det r abaj o opuest o y de dos f r ecuenci asdi st i nt as.*Funci onami ent o cor r ect o de l a l ógi ca decont r ol creada.*Poder mandar l os dat os de t emper at ur a, setpoi nt y % de pot enci a a t r avés del di spl ay.

Fracasos

*No se pudo cer r ar el l azo en l a pl ant a porf al t a de t i empo. Sól o se l l ego a pr epeart odo y ver i f i car que f unci one.*No se pudo hacer una buena pr esent aci ón enel di spl ay por f al t a de memor i a del mi cr o.Sól o se pudo most r ar l o mí ni mo y necesar i o.

*No se l l ego a i mpl ement ar un PI por f al t ade t i empo y memor i a. Se r eal i zó un cont r olP.

 Mejoras

*Usar un mi cr o mas moder no con más memor i apar a evi t ar t ant os pr obl emas y pér di da de

t i empo.