Control Temp Inverna
-
Upload
dario-klug -
Category
Documents
-
view
12 -
download
0
description
Transcript of 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
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
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.
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
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
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
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
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.
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
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
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
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
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
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
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;
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%.
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;
}}
}
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{
. . . . . .}
}
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)
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
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
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; / /}
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 ] ) ;
}
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){
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 .
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.
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
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
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.
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.