Paso 2: Energía y conexiones mínimas de AVR
En la entrada de energía, J1 es simplemente + 12VDC y tierra de 12 voltios 'fuente' que tenía ahí. Es perfecto para la alimentación de los sensores, y es un tamaño muy común al salvamento de algún sitio. Inmediatamente después de J1 a ver D1. Este diodo sirve solamente como protección de conectar la alimentación al revés. (cae el voltaje de cerca 0.7V reduciendo el calor disipado por el LM7805 ligeramente, y eso es sólo un efecto secundario afortunado...)
Desde que estoy usando sensores de 12 voltios, necesitaba una manera de traer esa 12VDC hasta un nivel adecuado para la alimentación del AVR, decodificador de 7 segmentos y - bien - todo lo demás pero los sensores. El LM7805 es un regulador de + 5 voltios que se adapte perfectamente a este propósito. El trabajo del regulador es controlarlo es voltaje de salida propio en el pin 3 y ajustar la corriente de salida hasta que el voltaje es de 5V. No tiene que preocuparse acerca de cómo lo hace; sólo que no lo hace, y que disipa la tensión 'extra' como calor. Los condensadores en la entrada y salida del regulador están ahí para asegurarse de que existe una pequeña corriente extra si la carga cambia con rapidez. Esto da el tiempo 7805 para reaccionar a cualquier cambio en el lado de carga, como todos los LEDs que se enciende repentinamente o el botón de reset presionado y liberado. ** Nota ** he probado este circuito con fuente de voltaje que van desde acerca de 9VDC >> 20VCC. El regulador maneja bien esta gama, pero comienza a conseguir caliente en voltajes más altos. Por este motivo, he añadido un disipador de calor para el 7805.
El LED de alimentación debe ser auto explicativo. R5 es la resistencia limitadora actual para proteger a D3 y están conectados directamente a la salida del regulador y la tierra. Si hay 5V, será un LED iluminado.
Ahora para la diversión cosas! Obviamente, en el centro de todo el circuito es nuestro ATMega328P señalado uC1. Esta cosa tiene 28 pines, así que contar con cuidado! Los pernos se presenta en el esquema tal como son en el chip y exactamente como están en la hoja de datos del fabricante (si no has descargado la hoja de datos PDF sin embargo, seguir adelante y hacer eso - http://www.datasheetarchive.com/ - seguir adelante y conseguir las hojas de datos para el decodificador y pantallas y transistores también - les necesite) Este chip es que va a requerir + 5V, GND, una fuente de reloj, un resistor de pull-up en el pin de reset y programación de conexiones del puerto antes de que puede hacer nada además de sentarse allí y mira como una especie de extraño ciempiés robótico, así vamos a llegar a ella.
¿Notó usted en el esquema simplificado que VCC y AVCC se atan juntos en la fuente de 5V? VCC es la tensión de alimentación normal y AVcc es la alimentación para el convertidor de analógico a digital a bordo. AVcc debe conectarse a Vcc, incluso si no se utiliza el ADC. Espero que usted sabía que la tierra va a un punto de tierra en el circuito, o del lado de 0V de la fuente de alimentación.
El resonador de cristal se conecta a los pines 9 y 10 con un par de capacitores paralelo. Estos condensadores son muy pequeñas (p. 22) y todo el grupo de 3 componentes deben montarse lo más cerca a los pines 9 y 10 como sea posible para evitar perdida capacidad de ensuciar con el oscilador. Ficha técnica del fabricante para el cristal que uso indicará recomienda tamaños para estos condensadores, así que échale un vistazo primero. Otra vez, si usted va a utilizar el oscilador RC interno, deberás configurar su AVR un poco diferente. Cuando nos metemos en ATMEL Studio 6 nos pondremos a configurar estas cosas con el fusible bits y tal... cosas divertidas
Usted puede haber notado que existen múltiples descripciones para la mayoría de los pernos. Eso es porque se pueden programar para tener diversas funciones dependiendo de la aplicación. Incluso el pin de reset puede ser reprogramado para ser otro pin de I/O general, pero no lo hacen porque perderás tu capacidad de programar el chip tan pronto como usted realice ese cambio! Aquí es por qué... mira en el pin 19. Tiene el rótulo PB5, lo que significa 5 PORTB. Tiene una función alternativa utilizada para programación etiquetada SCK (reloj de maestro/esclavo). Aviso que este pin SCK y el RESET pin ambos ir al puerto de programación ISP6. Las funciones de programación en los alfileres están activas sólo cuando está conectado a tierra el pin reset. El programador (dragón del AVR en mi caso) hace la conexión a tierra al pin reset automáticamente cuando se comunica con el chip que permite las funciones de programación de los pernos apropiados. Por lo tanto, si el programa establece el pin de reset como una entrada digital... usted puede ya no utilizarlo para habilitar las funciones de programación en los otros pines de programación! En definitiva, 'reajuste' debe siempre ser 'reajuste' - a menos que usted está fabricación de 1.000.000 unidades y su tio software dice que ejecutar durante la primera producción que necesita «una entrada más.»
Por lo tanto, esto significa que los otros pines de programación (SCK, MISO, MOSI) pueden utilizarse como pines de I/O. En el esquema completo, se ve que sirva de pin 17 ambas MOSI para programación y digitales de salida un poco al decodificador de 7 segmentos. Esto funciona bien siempre y cuando el pin de reset no consigue accidentalmente tiró bastante bajo que el AVR 'piensa' que se está conectado a tierra mientras está en funcionamiento normal. Ese es el propósito de la resistencia de pull-up R1. R1 se asegura de que si no conecta el pin reset a tierra, entonces será alta o 5V. En el esquema completo verás un interruptor pulsador conectado del PIN 1 a tierra también. Viene bien si su chip necesita un reinicio del sistema por alguna razón durante el desarrollo (accidentalmente lo que es dividir por 0 es una buena manera de conseguir que el acto estúpido! No preguntes cómo lo sé...)
En la segunda foto verás un esquema de la cabecera del ISP de 6 pin y los nombres de sus conexiones. Los que hay que hacer es hacer la conexión entre estos pines de cabecera y los pines correspondientes en el AVR, y debemos estar dispuestos a energía y prueba nuestro programador!
Como he mencionado anteriormente, SCK es el reloj maestro/esclavo - perno 19 trata de cómo el programador y el objetivo el chip sabe que están hablando a la misma velocidad.
Pines MISO/MOSI - entrada principal, salida de esclavo y maestro de salida, entrada slave input - 18/17 estos son los pines que realmente hablen.
VCC/GND - son sólo las energía las conexiones de suministro - pernos de 7/8 del puerto de programación tiene una conexión Vcc para alimentar el objetivo, o, en el caso del dragón del AVR, permitiendo que el programador para que coincida con la tensión del dispositivo de destino.
Y por último, Reset - pin 1 pone el chip en modo de programación cuando a tierra, se restablece a condición cuando se cambia de baja a alta y sirve el pin de comunicación durante el modo DebugWire (depuración función apoyada por estudio de ATMEL; es genial, pero no lo utilizo mucho). Este pin se utiliza también para entrar en modo HVPP (alto voltaje a la programación paralela) cuando se aplica 12V, pero no se que hacer eso. Es destacar que el pin de reset es el perno solamente a los que se puede aplicar con seguridad 12V y sólo para HVPP.
Es el momento de obtener este pequeño circuito en la protoboard (espero que usted sabe cómo funciona un protoboard.) si no:
Revisa las fotos 3 y 4 para la conexión de circuito y programador programación breadboarded. El oscilador de cristal no está presente en las fotos, pero no debería importar en este punto si ponerlo allí o no. Después de terminar de configurar el AVR para utilizar el cristal ya no funcionará sin él hasta que usted vuelva a configurar para que utilice otra fuente de reloj.
Ahora que tenemos este simple circuito construido para la alimentación y programar nuestro chip, podemos pasar a estudio ATMEL y empezar a configurar las cosas!