16F84a y max232
El ATMega168 tiene toneladas de hardware con varios periféricos incorporados. Vamos a explorar la comunicación serial. A esta altura han programado el “hello world”. Tienes tu micro en una protoboard y corriendo a 16mhz. Tienes funcionando el WinAVR. Ya hemos logrado control de un LED. Ahora es tiempo de enviar datos seriales de desde y hacia el micro. No soy un gran programador. Sólo quiero que mi función printf haga lo que deba hacer. No uso ningún emulador de hardware, hago debug con comandos printf. Seguro, pueden haber limitaciones con esto, pero para el 90% de las aplicaciones es posible depurar con comandos printf. Primero, una rápida reseña histórica del RS232. ¿Qué es RS232? Sólo es un nombre para un estándar que se ha propagado de generación en generación de computadores. Los primeros computadores tenían puertos seriales que ocupaban RS232, e incluso los computadores actuales tienen puertos seriales (o al menos puertos USB que actúan como puertos RS232). Una mirada al pasado, la información serial necesitaba ser pasada de aparatos como impresoras, joysticks, scanners, etc hacia el computador. La manera más simple de hacer esto era pasar series de 1s y 0s al computador. El computador y el dispositivo acuerdan una velocidad de información –bits por segundo‐. Un computador pasará los datos de una imagen a una impresora a 9600 bits por segundo y la impresora escuchará este flujo de 1s y 0s, esperando un nuevo bit cada 1/9600 = 104us (104 microsegundos, 0.000104 segundos). Mientras el computador entregue los bits a la velocidad predeterminada, la impresora podrá recibirlos. Un zoom a la actualidad. La electrónica ha cambiado un poco. Antes se utilizaban aparatos de relativamente alto poder y alto voltaje, ‐12V a 12V. Los aparatos modernos no operan a voltajes tan altos. De hecho, ATMega168 corre entre 0V y 5V. ¿Entonces como hacemos hablar el RS232 a nuestro micro de 5V con voltajes de +/‐12V? Este problema fue solucionado por los fabricantes de integrados del mundo. Fabricaron un IC que es genéricamente conocido como el MAX232 (¿casi RS232 o no?). El MAX232 es un IC originalmente diseñado por una compañía llamada Maxim IC que convierte las señales de +/‐12V del RS232 a señales de 0/5V para que nuestra ATMega168 pueda entenderlas. También aumenta el voltaje de nuestra ATMega168 al voltaje de +/‐12V que necesita el protocolo de RS232 para que el computador pueda entender nuestra ATMega168 y viceversa. Para hacer que nuestro ATMega168 envíe caracteres seriales a un computador necesitamos enviar estas señales a través de un circuito MAX232, para que el computador reciba señales de RS232 a +/‐12V. No te preocupes si estás ocupando un chip que diga “ICL232” o “ST232”, estos son genéricos de MAX232. Las funciones son todas las mismas y prácticamente tienen los mismos pines de salida.
Ingeniería MCI Ltda. – Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589
2 | L e c t u r a 4 El circuito MAX232 que será instalado en la breadboard se ve así:
Circuito MAX232 en Eagle, esquemático / PDF
Este integrado MAX232 usa tres condensadores de 0,1 uF (C5, C6, C7) para funcionar (lee sobre “Multiplicador de tensión”). Tienes que instalarlos. El cuarto (C8) es lo que se conoce por “condensador de desacoplo”. Como el integrado MAX232 conmuta varias señales (desde +/‐ 12V a 0/5V) usa pulsos de corriente. Debido a que necesita estos pulsos de corriente en ráfagas, él puede perturbar tu alimentación de 5V. El condensador C8 de 0,1 uF ayuda a “desacoplar” o remover el efecto negativo de este integrado (intercambiando cargas hacia y desde) de tu alimentación. Este condensador de ...
Regístrate para leer el documento completo.