Tabla de contenido:

Placa de desarrollo Atmega16 / 32 con LCD: 8 pasos
Placa de desarrollo Atmega16 / 32 con LCD: 8 pasos

Video: Placa de desarrollo Atmega16 / 32 con LCD: 8 pasos

Video: Placa de desarrollo Atmega16 / 32 con LCD: 8 pasos
Video: Tutorial AVR: Uso de la pantalla LCD 16x2 con Atmega 328 2024, Mes de julio
Anonim
Placa de desarrollo Atmega16 / 32 con LCD
Placa de desarrollo Atmega16 / 32 con LCD
Placa de desarrollo Atmega16 / 32 con LCD
Placa de desarrollo Atmega16 / 32 con LCD
Placa de desarrollo Atmega16 / 32 con LCD
Placa de desarrollo Atmega16 / 32 con LCD

Este instructivo muestra cómo hacer su propia placa de desarrollo para procesadores Atmega16 o Atmega32. Internet está lleno de placas de desarrollo caseras, pero creo que queda espacio para otra. Esta placa ha sido muy útil en mis proyectos y de hecho la diseñé y la hice para servir a uno de mis proyectos. ¿Qué ofrece? - Conector ISP.- Voltaje de referencia ajustable para AREF con trimmer.- 8 leds conectados PORTA con jumpers extraíbles, para que puedas usar leds también con otros puertos.- Barras de púas para PORTA, PORTB, PORTC y PORTD.- Barra de púas modificada para pantalla LCD (4 bits) - Conector de puerto serie rs232- Módulo rs232 extraíble- Regulado 5V (partes para placa principal) - 1x procesador Atmega16 o Atmega32 - 1x cristal (es su elección cuántos Mhz serán) - 2x condensadores 27 pF para cristal - 1x regulador de voltaje 7805 - 1x condensador 47uF 16V - 3x condensador 100nF - 1x DC-jack 2, 1mm o 2, 5mm (lo que quieras usar) - 1x potenciómetro de 1K - 8x led (cualquier color) - 8x resistencias de 330 Ohm- gran cantidad de barras de púas Partes para módulo rs232- Max232 IC- 4x 0, 1uF capacitores - 2x led (verde y rojo) - 2x resistencias de 330 Ohm- Barra de púas- Conector D9

Paso 1: las placas de circuito

Las placas de circuito
Las placas de circuito
Las placas de circuito
Las placas de circuito

Hay circuitos de ambas placas y el archivo pdf contiene archivos impresos de estas placas. Puede grabar sus tableros a partir de estas imágenes. El archivo zip contiene todos los archivos Eagle de estos tableros. Siéntase libre de modificarlos como desee.

Paso 2: grabado o fresado

Grabado o fresado
Grabado o fresado
Grabado o fresado
Grabado o fresado

Hay dos formas de hacer estas tablas, grabando o fresando. No soy químico, así que usé la última opción. Hice mi molino con estos excelentes instructables, así que si alguien también tiene nc-mill y quiere usarlo para hacer estos tableros, hágamelo saber y le enviaré los códigos G.

Paso 3: soldadura

Soldadura
Soldadura
Soldadura
Soldadura

La imagen de abajo mostrará el nombre del componente y dónde debería estar a bordo.

Paso 4: prueba

Pruebas
Pruebas

Antes de que podamos probar nuestra placa de desarrollo, necesitaremos un cable AVR-programador. Aquí hay buenas instrucciones sobre el cable de programación. Solo necesitamos 6 cables. SCK, MISO, MOSI, RST, Ground y + 5V y por eso mi conector solo tiene 6 pines ¡IMPORTANTE! Las señales SCK, MISO, MOSI y RST necesitan resistencias de 390 Ohm que generalmente están soldadas a bordo, pero quería ahorrar algo de espacio en la placa y es por eso que las resistencias están dentro del cable. Sin estas resistencias la programación no funcionará. También tenemos que hacer un cable entre el módulo rs232 y la placa principal. También hay un par de "cables de prueba" en la imagen y estos son realmente útiles cuando vamos a probar nuestra placa.

Paso 5: Programación y programa de prueba simple

Programación y programa de prueba simple
Programación y programa de prueba simple

A continuación, necesitaremos algunos programas de "prueba" para probar nuestra placa. ¡IMPORTANTE! Tenemos que deshabilitar JTAG desde PORTC, si no lo hacemos, el módulo lcd no funcionará, por lo que es necesario. En Linux operativo podemos hacerlo con el comando avrdude: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Este comando deshabilita JTAG y configura el oscilador interno de 8Mhz y lo usa. Nuestro tablero tiene cristal externo, pero la gente usa cristales de diferentes tamaños, por lo que este comando es seguro para todos. Si desea utilizar su cristal externo, este es el sitio para calcular los fusibles correctos. Tenga cuidado con la programación de fusibles. Si configura valores de fusible incorrectos, su procesador no funcionará. Hay una forma de recuperarlo con pulso externo, pero esperemos que no tenga que hacer eso =) Programa de prueba simple: #include (avr / io.h) int main (void) {DDRA = 0xff; // establece el puerto como salida DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // deshabilita todos los pull-upsPORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} Es hora de encender la placa y enviar este pequeño programa de prueba al procesador con el winavr o lo que quieras usar. Ahora podemos probar eso nuestros puertos funcionan correctamente. Ponga un extremo del cable al de la cabeza de un alfiler de leds y toque con el otro extremo cada punta de los puertos paso a paso. El led debe brillar todo el tiempo. Si no brilla, entonces hay algún problema con la soldadura. Recuerde probar también que todos los led funcionan.

Paso 6: Prueba del puerto serie

Prueba de puerto serie
Prueba de puerto serie
Prueba de puerto serie
Prueba de puerto serie

Si todo funcionó a la perfección, es hora de probar nuestro módulo rs232. Hay un pequeño programa que prueba que nuestro TX y RX funcionan. Uso en Linux: Cree un archivo llamado Makefile y copie el texto a continuación en el archivo. El código Makefile asume que está usando Atmega16 y su cable de programación es stk200 Recuerde configurar los permisos correctos para su puerto serie / dev / ttyS0CC = / usr / bin / avr-gccCFLAGS = -g -Os -Wall -mcall-prologues -mmcu = atmega16 -std = gnu99OBJ2HEX = / usr / bin / avr-objcopy AVRDUDE = / usr / bin / avrdude: $ (OBJETIVO).hex $ (AVRDUDE) -p m16 -P / dev / parport0 -c stk200 -u -U flash: w: prueba.hex%.obj:%.o $ (CC) $ (CFLAGS) $ <-o $@%.hex:%.obj $ (OBJ2HEX) -R.eeprom -O ihex $ <$ @ clean: rm -f *.hex *.obj *.oDescargar el archivo adjunto serial.c y poner en la misma carpeta donde está Makefile. Encienda su placa de desarrollo y coloque el cable entre el módulo rs232 y la placa principal. Los leds del módulo deberían encenderse ahora. Ponga el cable de prueba entre el pin PA0 y algunos de los leds. Utilice su terminal y vaya a la carpeta donde está test.cy el Makefile. Conecte el programador ISP a la placa. Ahora es el momento de enviar nuestro código en el procesador y sucede con el comando de terminal: make Download software llamado GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Inicie GTKterm y formatéelo con una velocidad de 9600Kbs, 8 bits de datos, 1 bit de parada, sin paridad, desbordamiento ninguno. Si todo funciona, debería escribir "¡funciona!" en la pantalla GTKterm cuando presiona el botón "z" y cuando presiona el botón "x", el LED a bordo debe encenderse y cuando presiona "c" debe apagarse.

Paso 7: Prueba del módulo LCD

Prueba del módulo LCD
Prueba del módulo LCD
Prueba del módulo LCD
Prueba del módulo LCD

Ahora es el momento de probar nuestro módulo LCD. Adjunté un gran software para controlar la pantalla LCD. Descargué el código de Scienceprog.com y lo modifiqué poco. Programe el procesador con este código y conecte su módulo lcd en la placa Conexiones de clavijas del módulo LCD: 1 = VSS (tierra) 2 = VDD (5V) 3 = VO (tierra) 4 = RS5 = R / W6 = E11 = PC412 = PC513 = PC614 = PC7 Mi módulo lcd contiene 2 conectores (vea la imagen), porque el texto va al revés si coloca el módulo como debe estar. Reflejé y pegué un nuevo conector al otro lado. Ahora funciona en ambos sentidos.

Paso 8: algunos videos

Acelerómetros de atenuación

Recomendado: