30
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

Control Temp Inverna

Embed Size (px)

DESCRIPTION

Control Temp Inverna

Citation preview

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.