• Viernes 19 de Abril de 2024, 22:21

Autor Tema:  Controlar Sensor De Temperatura  (Leído 6959 veces)

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Controlar Sensor De Temperatura
« en: Lunes 5 de Marzo de 2007, 21:16 »
0
Hola a tod@s,

Soy un estudiante de ingenieria electronica y tengo  problemas con el software del proyecto.

Quiero controlar el sensor de temperatura AD7416, y cambiar una serie de parametros, para ello voy a utilizar un Atmega16, por un puerto le conecto el teclado, que lo utilizare para introducir los diferentes parametros, por otro puerto saldra el LCD.
El sensor utiliza la comunicacion I2C por lo que utilizare las patillas de SDA y SCL

para compilar utilizo el codevision.

me surguen muchas dudas de como hacerlo, por eso agradeceria a alguien que me guiara el como poder terminar el proyecto.

yo he creado dos funciones de la comunicacion i2c,pero no se si estaran bien, y no se como comprobarlo.

uc--> unsigned char

uc i2c_getchar (uc dir) // leer dato y generar Nack
 {
     uc u; // variable auxiliar
     i2c_start(); //genera el start
     i2c_write /dir|1); //scribi la direccion +RD (supuestamente lo hace esta              funcion  de codevision)
     u= i2c_read(0); // lee el dato y genera el nack
     i2c_stop (); // genera el stop
     return u; // devuelve el valor
}

void i2c_putchar (uc dir, uc, dato, uc reg) // escribir el dato
 {
     i2c_start(); //genera start
     i2c_write(dir&0xFE); //genera start
     i2c_write(reg); //add pointer
     i2c_write(dato);// escribir dato
     i2c_stop();  // gener el stop
}

void main (void)
{  
  variable= i2c_getchar (dir);
  registro=0x00;//reg. temperatura
  i2c_putchar(dir,dato, registro)
}


este es el programa que e hecho para poder leer los datos del sensor, si alguien podria echarle un vistazo se lo agardeceria.

tambien tengo problemas con el teclado o con el lcd que no me presenta nada en pantalla   y no se si es porque no me lee el teclado o porque no me presenta el LCD.

voy a seguir trabajando en esto a ver si consiguo que me funcione

tb utilizo el proteus para simularlo, cosa que aveces consigo que funcione y otras veces no

Gracias de antemano

Un saludo

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Controlar Sensor De Temperatura
« Respuesta #1 en: Martes 6 de Marzo de 2007, 04:15 »
0
Antes que nada Bienvenido ;) . Bueno, para hacer tu proyecto mas facil de rebizar y corregir, deberias implementar en el chip una comunicacion serial entre el chip y el PC, de esta manera podrias comprobar si el teclado escribe y si el LCD imprime enviando y recibiendo datos atraves del hiperterminal de windows. La idea es ir atando cabos, son muchas dudas sueltas, primero deberias asegurarte que el LCD imprime, hacete alguna rutina simple para imprimir datos en el LCD y depurala hasta que estes seguro que funciona de 10, luego has lo mismo con el teclado y una ves que tengas ambos le das de lleno a la comunicacion I2C, no se que esquema estaras usando, pero en la comunicacion debes respetar algunas normas como por ejemplo colocar las resistencias pullup, te agradeceria si colocas adjunto tu ejemplo en proteus para seguir la simulacion y el circuito del proyecto.

La mayoria de los usuarios de nuestro foro estan cortos de tiempo y aprovechan el poco tiempo libre para ojear el foro y responder consultas breves, en tu caso esta algo extenso, ya que para resolver todas las dudas hay que ponerse de lleno en el proyecto. Yo prometo aportar con todo lo que este a mi alcance, solo dejame los datos que te pido y ve colocando poco a poco cada experiencia y resultado con los codigos para el LCD y el teclado.

Saludos Cordiales.
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #2 en: Martes 6 de Marzo de 2007, 19:24 »
0
Gracias por contestar y tendre encuenta lo que me comentas, ire dejando mis avances.


dejo el circuito en proteus, falta colocar el sensor peor este ira en el puerto c, en las lineas de SDA, SCL

hay un problema con el proteus y no es la primera vez que me ocurre con otros progrmas y esque cuando le das a simular hay patillas que estan en gris, com que no estan conectadas, las e borrado y vuelto a pintar pero nada de nada.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #3 en: Martes 6 de Marzo de 2007, 20:41 »
0
subo el archibo hecho con codevision, deberia funcinar pero no hace lo que tendria que hacer

no me acuerdo que archivos se valdrian para ai que e comprimido todos y los e subido

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #4 en: Martes 13 de Marzo de 2007, 19:42 »
0
subo lo que tengo hecho, e cambiado algo del programa, de como leer el teclado, pero sigue sn funcionarme, tb e cambiado las patillas de entarda del teclado, el lcd no tengo problemas porqeu ya se com funciona, o almenos algunas funciones que necesito, lo que me preocupa esque el teclado no soy capaz de leerlo!!!

tb e pensado en meter una interrupcion para evitar rebotes, que mas o menos la tengo hecha pero no la e metido ya que no se si funcionara y no quiero meter muchos fallos en el programa, cuando tenga esto solcionado ya la intentare meter

gracias y saludos
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #5 en: Miércoles 14 de Marzo de 2007, 20:24 »
0
subo el programa en codevision y el teclado en proteus

a este programa le e introducido una interrupcion de 40ms para evitar rebotes del teclado, pero sigo sin que funcione el teclado,
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #6 en: Jueves 15 de Marzo de 2007, 20:36 »
0
creo que ya e encontrado el problema de no poder iniciar  el teclado, dejo la parte nueva, ahora tengo el problema de que no consigo que me lea el teclado. la interrupcion funciona pero no lee si hay teclad activada.

void keypadInit(void)
{ PORTB |= 0xf0;    // XXpp.pppp  p = pull up
  DDRB  &=  0x0f; // XXii.iiii  i = input
 // PORTB &= 0xe0;    // XXXL.LLLL  L = low level
 // DDRB  |=  0x0f; // XXXX.oooo  o = output
} // FIN DE keypadInit

void keypadInvert(void)
{ PORTB &=  0xf0;    // XXLL.LLLL  L = low level
  DDRB  |=  0x0F;   // XXoo.oooo  o = output
  //PORTB |=  0x0f;   // XXXp.pppp  p = pull up
  //DDRB  &=  0xe0;    // XXXi.iiii  i = input
} // FIN DE keypadInvert

Gracias por la ayuda

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #7 en: Martes 27 de Marzo de 2007, 20:37 »
0
una cosa

no me funciona el teclado, debe ser que la inversion para detectar las filas no me la hace, o la eh puesto mal.

las colunmas si las detecta

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #8 en: Martes 27 de Marzo de 2007, 21:26 »
0
yo ya no se lo que pasa, ni nada, estoy perdido

quiero poner un ainterrupcion de 40ms con el tiemr 2, pero ya no me acuerdo de como se hace!!!!
 alguien me lo podria explicar,

se divide el clock por el preescale, ( en mi caso lo smaximo) =7,8kHz

activo el compare macth

pero no se el valor que hay que poner en compare

si alguien lo tiene claro y es tan amable de explicarmelo se lo agradeceria

edgarcvmx

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #9 en: Viernes 28 de Diciembre de 2007, 06:38 »
0
Que tal yo me estoy iniciando en los micros y fue por un programa que me hicieron que ocupa el lcd y el teclado y funciona correctamente ojala te sirva el codigo, y mi pregunta es donde puedo consegir el codevision, que no sea version de prueba si sabes algo te encargo.

Te lo envio en un block por lo de prueba.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Ingeniero

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Controlar Sensor De Temperatura
« Respuesta #10 en: Martes 15 de Enero de 2008, 23:01 »
0
Tema solucionado