TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: esperanzachat en 28 de Abril de 2019, 18:52:07
-
Hola a todos, estoy tratando de hacer funcionar un pirometro con el max 6675, uso el modulo que ya esta armado. Pero estando al aire libre mide 49 grados y en agua hirviendo marca 203 grados. En proteus funciona bien pero esta la variable temperatura ambiente que no se como incluirla en la medicion. La libreria la saque del foro de CCS y uso una termocupla K. Cual será la solucion?
-
O un problema del integrado (+sonda)... Ya que solo enviaria la temperatura en forma digital.
O un problema con la libreria.. que tome mal los datos,
Ambas opciones un analizador logico o osciloscopio en disparo unico serian ideales... Ya que podes ver lo enviado por SPI y saber donde esta el error.
-
Por lo que he visto en el datasheet ten en cuenta estas cosas:
-El Max puede llegar a necesitar hasta 220 ms para hacer una conversión.
-De los 16 bits de respuesta, el valor de la temperatura los da en 12 bits que estás más o menos centrados en el word.
- la señal de la sonda K es muy sensible a interferencias y provoca variaciones muy fuertes. Por ejemplo, si cerca hay un adaptador de CA de tipo switching las lecturas pueden fluctuar en todo el rango.
Recomiendan colocar condensadores de desacoplo en las alimentaciones y hacerle un buen plano de tierra al Max.
Cuida también la velocidad del SPI. El Max indica un máximo de 4,3 Mhz en SCL .
Si puedes poner el código que estás usando mejor.
-
Gracias por responder. Aqui el codigo.
-
Hola, ¿has compilado y cargado tu compilación ?, ¿ o lo que haces es quemar el hex en el 628A sin más??
-
Gracias por responder. He probado el circuito en proteus y anda bien, pero en la vida real marca el doble de temperatura(203°C para agua hirviendo)
-
Verifica si tu sonda K lleva cable compensado, revisa la polarización de los cables de conexión con el MAX , tiene polaridad, si está al revés te introduce un error.
-
Hola, gracias por responder. He probado invertir los cables de la termocupla y si los pongo al reves marca 0000, o sea no funciona. Tengo una termocupla de metal de las que se usan para carburacion y la he usado antes sin problemas con el ad595, tratare de conectar una termocupla de un tester a ver que pasa.
-
Hola a todos, he probado el pirometro que arme con el max y le puse una termocupla de tester, y sigue marcando 207 °C en agua hirviendo, osea no funciona, que puedo hacer?
-
Hola a todos, he probado el pirometro que arme con el max y le puse una termocupla de tester, y sigue marcando 207 °C en agua hirviendo, osea no funciona, que puedo hacer?
1- Observaste si lo que envia el MAX por SPI es correcto?
2- Esta todo bien conectado como pide el datasheet?
3- Respetas los tiempos que pide el datasheet?
Si el dato que envia es el que muestra el PIC y todo lo demas se cumple, entonces el problema es el MAX.... ¿que podes hacer?, ya seria una pregunta demasiado simple de responder:
Comprar un nuevo MAX el cual funcione correctamente.
-
Hola a todos, yo he utilizado ese convertidor en varios proyectos y me he fabricado un driver, al igual no es el mejor driver del mundo y seguramente se puede mejorar pero tal cual está a mi me funciona perfecto.
Ya nos comentas algo.
MAX6675 (https://mega.nz/#!YQcDWQ5T!EdeyG8VlWFZ1fgdeJXrSUH78cQfcdNhmq0NvXqkPGQ8)
-
Hola, pregunto, quizás el valor lo está arrojando en Farenheit.
El circuito tiene algún ajuste que pueda hacerse o todo es por soft?
-
Hola, no se puede ajustar nada, el resultado es directo en °C creo. Probe con otra placa y paso lo mismo.
-
Tienes el programa fuente?
Verifica cómo realiza el cálculo para obtener el resultado.
-
Adjunto el codigo...
-
Viendo el código, en la línea 72, se obtiene la variable "TemperaturaEntera" y tiene formato a 16bits.
Entonces hay que aplicarle una operación matemática para llevarla a grados celsius, ésto es una suposición mía.
Prueba dividirla por 2, y compara la medida obtenida con otro termómetro, tanto en rango cómo en linealidad.
Sería algo así: añade lo sig. a la línea 72;
TemperaturaEntera=TemperaturaEntera/2;
-
En el driver que he subido está todo explicado, ese driver lo he creado yo y funciona perfecto, y si tienen alguna duda me la preguntan y lo explico.
Más claro y más fácil no lo puedo poner.
Saludos
-
Gracias por responder Robert, no quiero cambiar el codigo sin estar seguro poprque es un termometro que si anda mal, rompe todo.
Thulsa Doom entiendo lo que dices, ahora te pregunto, ¿por qué en la realidad el valor de la temperatura no es el que tiene que ser?. En proteus anda bien pero en la realidad no. ¿Donde esta el error?. He probados con distintas termocuplas K y el problema sigue, tambien he probado cambiar la placa.
-
Gracias por responder Robert, no quiero cambiar el codigo sin estar seguro poprque es un termometro que si anda mal, rompe todo.
Thulsa Doom entiendo lo que dices, ahora te pregunto, ¿por qué en la realidad el valor de la temperatura no es el que tiene que ser?. En proteus anda bien pero en la realidad no. ¿Donde esta el error?. He probados con distintas termocuplas K y el problema sigue, tambien he probado cambiar la placa.
No he estudiado tu código y no puedo decir donde está el problema, yo he probado ese componente con mi driver y una termocupula tipo K y con las pruebas que hice con otro equipo con la misma sonda el valor de temperatura era el mismo.
A mi proteus no me gusta, no deja de ser una simulación y como tal no tienes que lidiar con ruidos ni ningún problema eléctrico, yo siempre pruebo mis prototipos con hardware real, me he llevado muchos desengaños con proteus