duda con este proyecto

Hola
hace un tiempo desarrollé un proyecto de una maquina desoldadora, tenía algun bug, pero me he ido apañando, ahora he decidido depurar más mi código y resolver algun problema.
el primero que se me plantea es la correccion de temperatura de una sonda tipo k.
subo el diseño para quien lo quiera probar, el problema es que no puedo compensar la temperatura ambiente (utilizo un max6675, el cual ya lleva compensada la temperatura), cuando conecto mi máquina la sonda mide alrededor de 44 o 45 grados, cuando en realidad, la temperatura ambiente es de 24 grados.Se que es un problema de soft, pero no doy con la "tecla".
para quien lo quiera probar, el programa hace lo siguiente:
eliges el modo de funcionamiento, manual o automático, si eliges manual, te da a elegir en conectar o bien el preheater o bien el calentador superior, los activas o desactivas con las teclas 2 y 3 o 8 y 9, al tiempo te muestra la temperatura (aunque no la indica bien, he ahí mi gran problema), acepto críticas y mejoras, a mi no me importa compartir mi trabajo a quien le pueda interesar.cuanto más depurado este mi código, mejor, ya que no tengo mucha práctica y lo tengo muy liado.
un saludo
 

Adjuntos

  • desoldadora.rar
    58.9 KB · Visitas: 29
Hola terrapigui

A lo que creo saber te falta convertir los milivolts que da el Termocople tipo K a su correspondiente temperatura en °C.
El MAX6675 que tienes en tu diseño dice que internamente hace esa conversión por medio de esta formula:
VOUT = (41uV / °C) . (TR - TAMB)
Donde:
VOUT Es el voltaje de salida del termocople (uV).
TR Es la temperatura que está sintiendo el termocople (°C).
TAMB es la temperatura ambiente (°C).

Pero si analizas las hojas de datos del termocople tipo K verás que no son (41uV / °C); Esto es una aproximación.
Visita este enlace donde te dan las formulas para calcular la temperatura de los diferentes tipos de Termocoples basado en los milivolts que da.
http://srdata.nist.gov/its90/download/allcoeff.tab

Tambien hay Tablas de Grado Por Grado en: [/COLOR]http://www.omega.com/
Sin embargo puedes bajar las hojas de datos si posicionas el cursor del Mouse sobre TC1 o TC2, en tu diagrama, y presionas el botón secundario(Derecho) de Mouse; aparece un Menú donde seleccionas el Icono de ADOBE que dice “Display DataSheet”, cuando aparezca las puedes guardar en tu PC.

Noto en tu diseño que solo funciona, hace cambiar la lectura en el LCD, el TC2 que aparece en la parte superior de tu diagrama.

Una pregunta: con qué programa desarrollaste el código que adjuntaste?.

saludos
a sus ordenes
 
Hola y gracias por responder MrCarlos
efectivamente, se me olvidó decir que sólo dejé funcionando una de las dos termocouplas, porque hasta que no consiga hacerla funcionar no implementaré la otra.
el programa lo compilé con el protón compiler.
miraré las hojas que me dices, aunque no sé si sabré modificar el código con esos datos, luego sigo que temgo que ir al trabajo.
un saludo
 
Vale
acabo de probar un ejemplo que viene en proteus y veo que le ponen una compensación de temperatura, pero no entiendo, segun las características del max6675 dice que la compensación la hace de forma interna el chip.
le he puesto esa compensacion a mi esquema y si que funciona, con lo cual deduzco que el problema es de mi sonda, la compré del tipo K, pero es posible que no sea compatible con mi max6675.



terrapigui dijo:
Vale
acabo de probar un ejemplo que viene en proteus y veo que le ponen una compensación de temperatura, pero no entiendo, segun las características del max6675 dice que la compensación la hace de forma interna el chip.
le he puesto esa compensacion a mi esquema y si que funciona, con lo cual deduzco que el problema es de mi sonda, la compré del tipo K, pero es posible que no sea compatible con mi max6675.
se me olvidaba, la fórmula que vienen en las tablas no sé como aplicarlas en mi código si alguien es tan amable de ponerme un ejemplo se lo agradecería.
un saludo
 
Última edición:
Hola terrapigui

El termocople que compraste tipo K si es compatible con el MAX6675.
Revisa las hojas de datos de este IC MAX6675 por acá las puedes obtener:
http://www.alldatasheet.com/
O como te mencioné en mi mensaje anterior.

Pero como dices en tu mensaje: le he puesto esa compensación a mi esquema y si que funciona,
Ya no hay nada que hacer pues ya funciona tu circuito, según entiendo.

Para desarrollar la formula que viene en el enlace que te adjunte puedes pedir ayuda a Eduardo que, entre muchos, por acá anda:
https://www.forosdeelectronica.com/f25/problema-contador-7490-a-69224/#post608294
Su Ubicación es: Santo Tome - Santa Fe – Argentina.

saludos
a sus ordenes
 

Adjuntos

  • Contains Coefficients For Thermocouples.doc
    24 KB · Visitas: 11
Ok
gracias por todo, intentaré ponerme en contacto con él.
un saludo



Hola terrapigui

El termocople que compraste tipo K si es compatible con el MAX6675.
Revisa las hojas de datos de este IC MAX6675 por acá las puedes obtener:
http://www.alldatasheet.com/
O como te mencioné en mi mensaje anterior.

Pero como dices en tu mensaje: le he puesto esa compensación a mi esquema y si que funciona,
Ya no hay nada que hacer pues ya funciona tu circuito, según entiendo.

Para desarrollar la formula que viene en el enlace que te adjunte puedes pedir ayuda a Eduardo que, entre muchos, por acá anda:
https://www.forosdeelectronica.com/f25/problema-contador-7490-a-69224/#post608294
Su Ubicación es: Santo Tome - Santa Fe – Argentina.

saludos
a sus ordenes

perdón por seguir molestando

he estado intentando poner en contacto con eduardo pero no tengo el numero de mensajes necesario para poder hacerlo.
Agradeceria que alguien le diese un aviso
quedo a la espera
 
Última edición:
Ya he solucionado el problema, en realidad no era muy complicado ya que el fallo estaba en la programción, desplazaba 4 bits (>>4) en vez de 5, lo que pasa es que en proteus no funcionaba y en la realidad si.
gracias por vuestra ayuda
 
Ya he solucionado el problema, en realidad no era muy complicado ya que el fallo estaba en la programción, desplazaba 4 bits (>>4) en vez de 5, lo que pasa es que en proteus no funcionaba y en la realidad si.
gracias por vuestra ayuda

por cierto seria interesante averiguar cual es el fallo de ese bug de proteus, en el simulador hay que poner estas líneas para que funcione la lectura correctamente:

Low CS1 'CS1=0
SHIn SO1,SCK1,MsbPre,[mxtemp\16]
High CS1
Print At 2,3,Dec mxtemp >>4

pero al llevarlo a la práctica, hay que cambiar el valor de desplazamiento a este:

Print At 2,3,Dec mxtemp >>5

me tiene intrigado esto....
 
Atrás
Arriba