Autor Tema: ayuda con controlador de temperatura  (Leído 1560 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jotazuniga

  • PIC10
  • *
  • Mensajes: 2
ayuda con controlador de temperatura
« en: 24 de Octubre de 2010, 19:21:05 »
Hola a todos
Les explico con detalles sobre este proyecto , es un controlador de temperatura
El cual quiero controlar una temperatura de 0 a 1025°C con intervalos programables según lo pensado por el usuario ósea si quiero controlar una temperatura de 90 a 100°C entonces programo temperatura baja de 90°C y temperatura alta 100°C ósea tengo un intervalo de 10°C
Bien ya tienen una idea como funciona mi artilugio jajaja, ahora veamos cuales son los problemas
Que me presenta…
1: no muestra la temperatura censada por el termocupla (MAX6675)
el resto de funciones lo hace correctamente  código PBP Microde studio
error en el rango de temperatura el rango maximo llega hasta el valor 255 y no 1024
aqui dejo el circuito y Gracias ante mano por la gran ayuda

'****************************************************************
'*  Name    : Temperature controller.BAS                        *
'*  Author  : Zuniga P.                                         *
'*  Notice  : GPL                                               *
'*          :                                                   *
'*  Date    : 24/10/2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
include "modedefs.bas"
define OSC 4
define I2C_SCLOUT 1
define LCD_DREG portb
define LCD_DBIT 0
define LCD_RSREG portb
Define LCD_RSBIT 5
define LCD_EREG portb
define LCD_EBIT 4


symbol SO = portC.4
symbol CS = portC.2
symbol SCK = PortC.3

MAXResult var word
THC   var word                                 ' degrees Celsius (* power of 10)
THF   var word                                  'stores degrees F
tempdown var byte
tempup   var byte
X        var byte

relayA   var portD.2
relayB   var portD.3
led      var portD.4
enter    var portD.5
up       var portD.6
down     var portD.7

eeprom 0,[0,1000]

loop:
 low cs
 shiftin so,sck,MSBpost,[MAXResult\16]         ' get data
 high cs
 
 THC= (MAXResult/32)                          ' Deg. C
 THF= (((THC*18)/10)+32)                      'Conversion to Deg. F
 
 
 for x = 1 to 3
  high led
  pause 200
  low led
  pause 200
 next
 
 read 0, tempdown
 read 1, tempup
 
 sence:
  lcdout $fe,1,"T.mi T.act T.ma ", dec THC, "C" 'display temp. on LCD
  so=so/2
  lcdout $fe,$c6,dec thc, "C"
  lcdout $fe,$c0,dec tempdown,"C"
  lcdout $fe,$cc,dec tempup,"C"
  
  for x = 1 to 50
  if enter = 0 then writen
  pause 10
  next
  
  if thc < tempdown then hot
  if thc > tempup   then cold
  low relayb : low relaya
 goto sence
  
hot:
  high relayb : low relaya
 goto sence
  
cold:
  high relaya : low relayb
 goto sence
 
writen:
 gosub release

recordl:
 lcdout $fe,1,"Program Temperature"
 lcdout $fe,$c0,"T.down=",dec tempdown,"C"
 pause 100
 if down=0 then subtractl
 if up  =0 then addl
 if enter=0 then recordA
goto recordl

subtractl:
 gosub release
 if tempdown < 1 then recordl
 tempdown=tempdown - 1
goto recordl

addl:
 gosub release
 if tempdown > 900 then recordl
 tempdown=tempdown + 1
goto recordl

recordA:
 gosub release
 write 0,tempdown
 
record2:
 lcdout $fe,1,"Program Temperature"
 lcdout $fe,$c0,"T.up=",dec tempup,"C"
 pause 100
 if down=0 then subtract2
 if up  =0 then add2
 if enter=0 then recordB
goto record2

subtract2:
 gosub release
 if tempup < 5 then record2
 tempup=tempup - 1
goto record2

add2:
 gosub release
 if tempup > 900 then record2
 tempup=tempup + 1
goto record2

recordB:
 gosub release
 write 1, tempup
goto loop

release:
 high led
 pause 150
 low led

release2:
 if down = 0 then release2
 if up   = 0 then release2
 if enter = 0 then release2
 pause 100
 return
 
end
  
 

    
    
  
 
« Última modificación: 24 de Octubre de 2010, 19:43:22 por jotazuniga »
La sabiduria, y el aprender de algo, es del saber universal, enseña con amor no te lo guardes...


 

anything