Conectamos el botón al microcontrolador ATtiny2313, un programa sencillo. Conectamos el botón al microcontrolador ATtiny2313, un programa sencillo Configurando Geany para ATtiny2313

Hoy intentaremos utilizar un microcontrolador más simple. ATtiny2313 y conectarle una pantalla LCD de caracteres que contiene dos líneas de 16 caracteres.

Conectaremos la pantalla de forma estándar de 4 bits.

Primero, comencemos, por supuesto, con el microcontrolador, ya que ya estamos muy familiarizados con la pantalla en lecciones anteriores.

Abramos la hoja de datos del controlador. ATtiny2313 y veamos su pinout

Vemos que este controlador existe en dos tipos de carcasas, pero como lo compré en un paquete DIP, consideraremos esta versión particular de la carcasa y, en principio, no difieren mucho, excepto en apariencia, entonces, ¿cómo es el número? de patas es el mismo: 20 cada una.

Dado que hay 20 patas en comparación con las 28 patas del controlador ATMega8, en el que hemos estado trabajando todo el tiempo y continuaremos trabajando, entonces, en consecuencia, también habrá menos posibilidades.

En principio aquí está todo lo que tenía el ATmega8, lo único es que hay menos garras de puerto. Pero como la tarea que tenemos ante nosotros es intentar conectarlo a través del bus SPI con otro controlador, esto no nos deprime mucho.

Hay algunas otras diferencias, pero son menores y las conoceremos según sea necesario.

Montemos un circuito como este (haga clic en la imagen para ampliarla)

La pantalla está conectada a los pines del puerto D. PD1 y PD2 están a las entradas de control, y el resto están conectados a los pines del módulo de pantalla D4-D7.

Creemos un proyecto con el nombre TINY2313_LCD, transfiramos todo a él excepto el módulo principal del proyecto para conectar la pantalla a Atmega8.

Por supuesto, será necesario rehacer algunas cosas. Para hacer esto, debe estudiar cuidadosamente qué pierna está conectada a qué. El bus E de la pantalla está conectado a PD2 y el bus RS está conectado a PD1, así que hagamos cambios en el archivo. lcd.h

#definire1PORTADO|=0b0000 01 00 // establece la línea E en 1

#definire0PORTADO&=0b1111 10 11 // establece la línea E en 0

#definirrs1PORTADO|=0b00000 01 0 // establece la línea RS en 1 (datos)

#definirrs0PORTADO&=0b11111 10 1 // establece la línea RS en 0 (comando)

Como podemos ver en la fuente en negrita, no hemos tenido cambios tan drásticos.

Ahora entradas de información. Aquí usamos las patas PD3-PD6, es decir, están desplazadas 1 punto en comparación con la conexión a Atmega8, por lo que también corregiremos algo en el archivo. lcd.c en función enviar medio byte

PORTADO&=0b 1 0000 111; // borra información en las entradas DB4-DB7, deja el resto en paz

Pero eso no es todo. Anteriormente cambiamos los datos transmitidos en 4, pero ahora, debido a los cambios anteriores, solo tendremos que cambiarlos en 3. Por lo tanto, en la misma función también corregiremos la primera línea.

C<<=3 ;

Esos son todos los cambios. De acuerdo, ¡no son tan buenos! Esto se logra por el hecho de que siempre intentamos escribir código universal y utilizar sustituciones de macros. Si no hubiéramos dedicado tiempo a esto de una vez, habríamos tenido que corregir el código en casi todas las funciones de nuestra biblioteca.

En el módulo principal, no tocamos la inicialización del puerto D; dejamos que todo el módulo entre en el estado de salida, como en la lección 12.

Intentemos armar el proyecto y primero ver el resultado en Proteus, ya que también hice un proyecto para él, que también estará en el archivo adjunto con el proyecto para Atmel Studio.

¡Todo funciona muy bien para nosotros! Así es como puedes rehacer rápidamente un proyecto para un controlador para otro.

Proteus es muy bueno, pero siempre es mejor mirar los detalles reales. Todo el circuito se ensambló en una placa de pruebas, ya que no hice ni ensamblé una placa de depuración para este controlador. Conectaremos el programador mediante un conector estándar como este

Aquí está el diagrama completo.

Aquí todo es estándar. Resistencia pull-up para RESET, etc.

Ahora, antes de flashear el controlador en avrdude, debemos seleccionar el controlador y leer su memoria flash.

Luego vaya a la pestaña FUSIBLES y configure los fusibles correctamente. Como no tenemos resonador de cuarzo, instalamos los fusibles de esta manera.

Inmediatamente después de crear el programador, tienes muchas ganas de programar algo, pero te aconsejo que no te apresures, que tengas un poco de paciencia y hagas una placa de depuración de desarrollo para el microcontrolador seleccionado. Para empezar, trabajaremos con, en mi opinión, la opción ideal para empezar. Relativamente económico y con muchas funciones, cuyo dominio proporcionará una experiencia invaluable. Placa de desarrollo ( Junta de desarrollo) Sugiero hacerlo según el siguiente esquema:


Comencemos analizando el circuito con fuente de alimentación. pequeño2313 requiere voltaje de suministro 5V. Como estabilizador usaremos o un análogo con un tubo de condensadores. Condensadores C11,C9– bloqueo 0,1 uF, C8,C10– electrolitos 100uF Y 50uF respectivamente. El valor de C8 debe ser mayor. C10 para evitar el flujo de corriente inversa cuando se apaga el voltaje de suministro. te aconsejo que uses LM7805 en el caso A-220 para que puedas alimentar desde él no solo el controlador, sino también algo que consume, por ejemplo la luz de fondo LCD mostrar. Diodo emisor de luz D1 su brillo indica suministro de energía y el LED D2 sobre escritura/lectura de memoria del microcontrolador, resistencias R2,R3– restrictivo 500 ohmios. Usaremos el interno como fuente de reloj. RC generador y resonador de cuarzo externo X1 en 4MHz, condensadores C1,C2 cerámico, 18-22pF(depende de la frecuencia del cuarzo). También proporcionaremos a nuestro tablero un botón. Reiniciar-a, lo que provocará un cortocircuito en la salida. Reiniciar Microcontrolador con tierra. A pesar de que los microcontroladores modernos están equipados con un supervisor incorporado (monitorea el voltaje de suministro y enciende el microcontrolador cuando el voltaje de suministro es suficiente), se puede desactivar mediante software. Y para que el reseteo se produzca correctamente se añadió RC cadena R1,C7 10k Y 0,1 uF respectivamente. Además, no olvides proporcionar el tablero. ISP conector, cómodas almohadillas de conexión en los puertos de E/S (pines 2-3,6-9,11-19), +5V, tierra, así como un zócalo para un microcontrolador. Después de todo, la placa de pruebas es su herramienta para estudiar microcontroladores; cuanto más conveniente sea, menos factores molestos lo distraerán de lo principal. Por ejemplo, mi placa de desarrollo está bajo ATTiny2313 tiene este aspecto:

¿Qué significa limitar?

¿Qué significa limitar la resistencia? ¿No permita que los diodos se quemen y se seleccionen de acuerdo con los diodos seleccionados?
Entendí correctamente que es posible ejecutar dispositivos ensamblados desde un resonador interno, pero para ello es necesario seleccionar fusibles.

En este caso

En este caso, las resistencias limitadoras evitan que los LED se quemen. Se seleccionan en función del diodo y el voltaje de suministro para que la corriente a través del diodo no exceda la nominal. Para LED "normales" de baja potencia con una fuente de alimentación de 5 V, 500-2000 ohmios son suficientes.
El MK se puede iniciar desde el resonador RC interno. O desde un resonador de cuarzo externo, dependiendo de cómo configures los fusibles.

Mi placa de desarrollo para AtTiny2313

Y aquí está mi diseño para adolescente 2313.


Designación:
1 - Microcontrolador AtTiny2313
2 - cuarzo
3 - Conector ISP para programación
4 - conector UART
5 - conector universal para conectar a puertos de E/S
6 - botón de reinicio
7 - botones para entrada de datos, en este caso los adjunté al puerto B
8 - conector de alimentación para esta bondad
9 - condensador (muy útil cuando comencé a experimentar con un motor paso a paso, que generaba mucho ruido y como resultado el microcontrolador comenzó a funcionar mal)
10 - LED, conectados a través de resistencias de 1 kOhm, diseñados para monitorear el estado del puerto B

El dispositivo es un sistema universal para depurar microcontroladores AVR. La placa no está ligada a un microcontrolador específico, sino que tiene un conector universal al que se puede conectar un módulo con cualquier microcontrolador. Actualmente se han desarrollado los siguientes módulos para microcontroladores:
-ATmega8
-ATmega16
-ATmega162
- ATtiny2313
- ATtiny13

Pero nada nos impide desarrollar módulos para otros microcontroladores. El dispositivo incluye un programador USBASP y puede alimentarse íntegramente desde USB o una fuente de alimentación externa. El dispositivo incluye todo lo necesario para la depuración: pantallas LCD y LED, reloj en tiempo real y memoria EEPROM, interfaces RS232 y RS485, conector de teclado, botones, LED y mucho más. Las partes del dispositivo se conectan entre sí mediante cables, puentes e interruptores especiales. Algunas piezas están conectadas permanentemente a los puertos del microcontrolador seleccionado (por ejemplo, LCD), eliminando el problema de los cables enredados.

Descripción del diseño

Como el proyecto es complejo, el diagrama se divide en varias partes.

La parte más importante de todo el dispositivo, que controla el módulo del procesador y el resto del dispositivo. A esta pieza se conectan pantallas LED, un temporizador y una interfaz I2C, UART y un receptor de infrarrojos. El programador USBASP está ensamblado en el microcontrolador U6 (ATmega8). Para su correcto funcionamiento se requiere cuarzo X1 (12 MHz) y condensadores C9 (22pF) y C10 (22pF). La resistencia R27 (10k) lleva el pin de reinicio del microcontrolador a positivo. Las resistencias R31 (470R) y R32 (470R) limitan la corriente de los LED D3 y D4. La resistencia R58 (470R) desempeña el mismo papel para el LED D1. KANDA es un conector ISP. Los condensadores C12 (100 nF) y C11 (4,7 µF) están filtrando. Para el correcto funcionamiento del bus USB se requieren resistencias R29 (68R) y R30 (68R), diodos Zener D1 y D2 (3,6 V). La resistencia R28 (2,2 kOhm) es necesaria para que la computadora detecte que el dispositivo funciona a baja velocidad. La placa de depuración está conectada a la computadora a través del conector ZUSB1 (USB-B).

U3 y U4 (DS18B20) son sensores de temperatura que funcionan a través de un bus de 1 hilo. Para el correcto funcionamiento del bus se requiere una resistencia R24 ​​(4,7 kOhm). El conector 1WR_OUT le permite conectar sensores adicionales y el conector 1WR proporciona comunicación con el módulo del microcontrolador. El conector PS2 (Mini DIN6) no es más que un conector para conectar el teclado de una computadora personal. Las resistencias R59 (4,7 kOhm) y R60 (4,7 kOhm) llevan el bus de datos y el pin "Reloj" a positivo. El conector KBD proporciona comunicación con el módulo del microcontrolador. El teclado se alimenta mediante una fuente de alimentación externa de +5 V.

La placa dispone de un generador de frecuencia adicional de 16 MHz. También hay un cristal de cuarzo X3 adicional y dos condensadores C16 (22pF) y C17 (22pF) para cualquier propósito.

ZUSB2 junto con los elementos C18 (100nF), C19 (4,7 uF), R48 (68R), R49 (68R) y los diodos Zener D8 (3,6 V) y D9 (3,6 V) están diseñados para depurar dispositivos arbitrarios, con conexión al Puerto USB. La resistencia R47 (2.2K) se puede desactivar usando el puente ZW7, lo que permite usar el puerto USB para recibir energía sin notificar al dispositivo USB.

W1 LCD (20x4) es el elemento principal para mostrar datos. La resistencia R3 (47R) limita la corriente de retroiluminación, que se activa mediante el transistor T1 (BC556) y las resistencias R1 (3,3 kOhm) y R2 (3,3 kOhm) mediante el puente ZW1. El potenciómetro P1 (10 kOhm) permite configurar el contraste de la pantalla. El puente PW4 enciende la pantalla. El interruptor SD1 (SW6) se utiliza para desactivar las líneas de control de la pantalla conectada al procesador principal (puede omitirlo).

Los transistores T2 - T5 (BC556) y las resistencias R4-R11 (3,3 kOhm) controlan los ánodos de la pantalla LED de 4 dígitos W2. Las resistencias R12 - R20 (330 ohmios) limitan la corriente a través de los segmentos de la pantalla. Los interruptores SD2 (SW4) y SD3 (SW8) se utilizan para desactivar las líneas de control de la pantalla conectada al procesador principal (puede omitirlas). El conector W2L se utiliza para conectar los puntos centrales al procesador.

U9 (TL431) con resistencias R45 (330 ohmios) y R46 (10 kohmios) y potenciómetro P2 (1 kohmios) proporciona una tensión de referencia de aproximadamente 2,56 V. Salida a través del conector VREF. El tweeter piezoeléctrico con generador BUZ1 (5V) se controla mediante el transistor T12 (BC556) y las resistencias R40 (3,3 kOhm) y R41 (3,3 kOhm). El zumbador se controla mediante el conector BUZ. También hay un fototransistor T7 (L-93P3BT) instalado en la placa. La resistencia R33 (10 kOhm) limita la corriente que fluye a través de ella. Salida de fototransistor mediante conector FOT.

Para convertir los niveles del puerto COM, se utiliza el popular chip MAX232 (U1). Para un funcionamiento adecuado se requieren condensadores C1 - C4 (1 µF). La primera salida UART está conectada directamente al módulo del procesador mediante el interruptor SD4 (SW2). La segunda salida UART está conectada al conector y puede usarse para cualquier propósito. El voltaje negativo se elimina del MAX232 a través del conector V (salida del inversor). Esto se puede utilizar para polarizar varios circuitos. MAX232 se desconecta de la fuente de alimentación mediante el puente Pw1.

El puente PW2 habilita los microcircuitos que funcionan en el bus I2C. Las resistencias R25 (3,3 kOhm) y R26 (3,3 kOhm) son necesarias para que el bus I2C funcione correctamente. El bus I2C está conectado al módulo del procesador mediante el conmutador SD5 (SW2). Chip U5(AT24C256) - Memoria EEPROM. Diodos D6 (1N4148) y D7 (1N4148) con batería BAT1 (3 V): fuente de alimentación ininterrumpida para RTC, chip U7 (PCF8583). Con el puente Zw4 puede desconectar la batería y con el puente ZW3 puede configurar la dirección U7 en 160 o 162. El condensador C14 (100 nF) es un condensador de filtro y debe ubicarse lo más cerca posible del chip U7. El condensador C13 (33 pF) y el cuarzo X2 (32,768 kHz) garantizan un movimiento preciso del reloj. La interrupción del chip U7 se envía al conector PCF_INT.

El tablero tiene dos pantallas LED: niveles W3 y W4. Los conjuntos de resistencias RP1 (4x470R), RP2 (8x470R) y RP3 (8x470R) limitan la corriente a través de los segmentos de la pantalla. Las pantallas están conectadas al módulo del procesador mediante los conectores LED1 y LED2. También se instalan en la placa los LED RGB D13 y D14, con resistencias limitadoras de corriente R63 (180R), R64 (100R), R65 (180R), R66 (180R), R67 (100R) y R68 (180R). Los puentes Zw11 y Zw12 son necesarios para conectar los cátodos de los LED a tierra o a transistores.

Los conectores V1 - V3, V4 - V9 son la fuente de alimentación de +5 V. Los conectores G1 - G3, G4-G8 son tierra.

El chip U8 (ULN2803) está diseñado para controlar cargas de bajo voltaje. La señal de control se suministra a los conectores Z3 y Z4. Salida a conectores ULN1 - ULN4. Debido al alto consumo de energía, el chip U8 recibe energía de una fuente externa. Los conectores Z1 y Z2 se conectan a los conectores roscados ZU1 - ZU4. Los Triacs TR1 (BT138-600E) y TR2 (BT138-600E) con optoacopladores OPT1 (MOC3041) y OPT2 (MOC3041) y resistencias R34 (180R), R35 (180R), R37 (180R) y R38 (180R) le permiten controlar una carga de 220 B. Las resistencias R36 (330R) y R39 (330R) limitan la corriente que fluye a través de los optoacopladores. Salida mediante terminales de tornillo TRO_1 y TRO_2. La señal de control se suministra al conector TR1. Los varistores WR1 (JVR-7N431) y WR2 (JVR-7N431) protegen la salida. Los enchufes PD28 (DIL28) y PD40 (DIL40) están diseñados para instalar cualquier microcircuito, sus pines están conectados a los conectores PDG1 - PDG4.

Los pines del codificador I1 se dirigen al conector IMP, el puente ZW2 se usa para conectar tierra o +5 V al codificador. Se necesitan condensadores C20 (100 nF) y C21 (100 nF) para suprimir las interferencias. La placa también cuenta con un optoacoplador OPT3 (CNY17) para cualquier propósito. R43 (330R) limita la corriente del LED del optoacoplador. R44 (10k) y R42 (100k) tiran de los pines a la fuente de alimentación. Utilizando los puentes ZW5 y ZW6 se puede conectar el LED del optoacoplador a +5 V o a tierra. Salida mediante conector CNYO.

Los botones S1 - S8 están conectados al conector SW. Los botones S9 - S24 forman una matriz. Las columnas del teclado se conectan mediante el conector SWC y las reglas mediante el conector SWR.

Se requiere un conector ZAC (Molex 2x2) para suministrar alimentación externa de +5 V con mayor corriente. El relé PU1 (HFC-005-12W) es necesario para conmutar la alimentación desde USB o desde una fuente de alimentación externa, siempre que esté instalado el puente ZW8. El LED D11 y la resistencia R61 (470R) están instalados para señalar el funcionamiento del relé. El diodo D12 (1N4007) protege contra sobretensiones en la bobina del relé de voltaje cuando se apaga la alimentación. El interruptor de encendido le permite apagar la alimentación desde el USB (solo se alimentará el programador), el LED D15 con resistencia R69 (470R) indica este hecho.

El chip U2 (TSOP1736) es un receptor de infrarrojos que funciona a una frecuencia de 36 kHz. Para su correcto funcionamiento se requieren los elementos C8 (100 µF) y R23 (220R). También está instalado en la placa un LED infrarrojo D5 (SFH485). La resistencia R22 (10R) limita la corriente. Los condensadores C6 (100 nF) y C7 (100 µF) están filtrando. El transistor T6 (BC516) controla el LED infrarrojo. La base del transistor está conectada al procesador mediante el interruptor SD6 (SW2). La resistencia R21 (10 kΩ) limita la corriente de base del transistor T6, y R21 * (10 kΩ) tira de la base del transistor a +5 V. Esto evita que el LED IR se encienda aleatoriamente cuando no está en uso. El puente PW3 enciende la alimentación del receptor y del transmisor de infrarrojos.

Los transistores T8 - T11 (BC556) con resistencias R50 - R57 (3,3 kOhm) se pueden utilizar para controlar cargas de bajo voltaje. La señal de control se suministra al conector Z5. Salida mediante conectores con fijación por tornillo TO1 y TO2

ATMega 8

ATMega 162

ATTiny 13

ATtiny2313

Fabricación

El dispositivo está fabricado sobre la base de una placa de circuito impreso (al final del artículo). El tablero no es difícil de montar, pero tendrás que instalar muchos elementos. Si hay un error de instalación, será difícil encontrarlo y solucionarlo. La instalación comienza soldando todos los puentes (16 piezas). Algunos puentes se encuentran debajo de las fichas. A continuación, instale todas las resistencias, condensadores y otras piezas pequeñas. Por último, se instalan los microcircuitos.

La placa está hecha de PCB de 1,5 mm y unida a un soporte de metal (ver foto del proyecto). Se recomienda utilizar un enchufe en todos los microcircuitos. En lugar de sensores DS18B20, se suelda un casquillo DIL6. Esto hace posible reemplazar sensores y leer números de serie para diferentes propósitos. Los detalles de la fabricación de la placa se pueden ver en el apartado "Fotos del Proyecto".

Antes de encender la placa, debe verificar si hay cortocircuitos en la placa con un multímetro, especialmente verificar si hay cortocircuitos entre GND y +5 V, ya que la placa está conectada al puerto USB.

Lista de partes

21x conector de doble tornillo
1 conector de triple tornillo.
Conectores PLS
1x conector MOLEX 2x2
2x casquillos de pinza DIL6
1x casquillo de pinza DIL28
1x casquillo de pinza DIL40
1x casquillo de pinza DIL16
1 conector ISB (10 pines)
2x Conector USB - B
1x conector PS2
1x conector DB9F
1x conector DB9M
1x Batería 3V (CR2032) + Soporte
1x interruptor de 2 posiciones
Botón momentáneo 25x
1x codificador
1x Relé HFKW-005-1ZW
4x interruptores DIP SW2
1x interruptor DIP SW4
1x interruptor DIP SW6
1x interruptor DIP SW8

2x Resistencia 2,2 kiloohmios
23x Resistencia 3,3 kiloohmios
3x Resistencia 4,7 kiloohmios
1x resistencia de 10 ohmios
Resistencia 6x 10 kOhmios
1 resistencia de 47 ohmios.
Resistencia 4x 68 ohmios
2 resistencias de 100 ohmios
1 resistencia de 100 kOhmios
Resistencia de 8x 180 ohmios
1x resistencia de 220 ohmios
13x Resistencia 330 Ohmios
4x resistencia 470 ohmios
1x conjunto de resistencia 4x470 ohmios
2x Conjunto de resistencia 8x470 ohmios
2x varistor JVR-7N431
1x potenciómetro de 1 kOhmio
1x potenciómetro de 10 kOhmios

1 condensador de 10 nF.
Condensador 4x 22 pF
1x condensador 33pF
7x condensador 100nF
4x Condensador electrolito 1 µF
2x electrolito del condensador 4,7 µF
2x Condensador electrolito electrónico 100 µF

1x cuarzo de 12MHz
1x Hora cuarzo 32768Hz
1x oscilador de cristal de 16 MHz
1x diodo 1N4007
2x diodo 1N4148
4x diodo zener 3V6
4xLED
2x LED RGB (cátodo común)
1 LED infrarrojo
2x poste LED DIL20
1x receptor de infrarrojos TSOP1736
1 transistor BC516.
10 transistores BC556.
1x Fototransistor L-932P3BT
1x microcontrolador ATMEGA8 + zócalo
1xAT24C256
1xULN2803
1x TL431
1x MAX232
1xMAX485
1 PCF8583

2xBT138-600E
2x MOC3041
1x Optoacoplador CNY17
1x Tweeter 5V con generador
1x display de 7 segmentos (cuatro dígitos)
1 pantalla LCD de 20x4

Módulo ATtiny13:
Conectores PLS
1 condensador de 100 nF.
1x microcontrolador ATTINY13 + zócalo

Módulo ATtiny2313:

Conectores PLS
2x Condensador 22 pF
1 condensador de 100 nF.
1x cuarzo de 16 MHz
1x microcontrolador ATTINY2313 + zócalo

Módulo ATMega8:
Conectores PLS
2x Condensador 22 pF
1 condensador de 100 nF.
1x cuarzo de 16 MHz
Microcontrolador ATMEGA8 + Zócalo

Módulo ATMega16:
Conectores PLS
2x Condensador 22 pF
1 condensador de 100 nF.
1x cuarzo de 16MHz
Microcontrolador ATMEGA16 + Zócalo

Módulo ATMega162:
Conectores PLS
2x Condensador 22 pF
1 condensador de 100 nF.
1x cuarzo de 16MHz
Microcontrolador ATMEGA162 + Zócalo

Fotos del proyecto

Lista de radioelementos

Designación Tipo Denominación Cantidad NotaComerciomi bloc de notas
Módulo de visualización
U9 IC de referencia de voltaje

TL431

1 al bloc de notas
T1-T5, T12 transistores bipolares

antes de Cristo556

6 al bloc de notas
T7 FototransistorL-93P3BT1 al bloc de notas
P1 Resistencia variable10 kOhmios1 al bloc de notas
P2 Resistencia variable1 kiloohmio1 al bloc de notas
R1, R2, R4-R11, R40, R41 Resistor

3,3 kiloohmios

12 al bloc de notas
R3 Resistor

47 ohmios

1 al bloc de notas
R12-R20, R45 Resistor

330 ohmios

10 al bloc de notas
R33, R46 Resistor

10 kOhmios

2 al bloc de notas
W1 pantalla LCDLCD 20x41 al bloc de notas
W2 Pantalla LED 1 Indicador de 7 segmentos y 4 dígitos con ánodo común. al bloc de notas
BUZ1 Emisor piezoeléctrico 1 Emisor piezoeléctrico con generador incorporado, 5V al bloc de notas
SD1 CambiarInterruptor DIP, 6 pines1 al bloc de notas
SD2 CambiarInterruptor DIP, 4 pines1 al bloc de notas
SD3 CambiarInterruptor DIP, 8 pines1 al bloc de notas
U1 Interfaz IC RS-232

MAX232

1 al bloc de notas
U5 memoria EEPROMAT24C2561 al bloc de notas
U7 Reloj en tiempo real (RTC)

PCF8583

1 al bloc de notas
U10 Interfaz IC RS-422/RS-485

MAX485

1 al bloc de notas
D6, D7 Diodo rectificador

1N4148

2 al bloc de notas
C1-C4 1 µF4 al bloc de notas
C13 Condensador33 pF1 al bloc de notas
C14 Condensador100 nF1 al bloc de notas
R25, R26 Resistor

3,3 kiloohmios

1 al bloc de notas
X2 resonador de cuarzo32768Hz1 al bloc de notas
SD4, SD5, SD7 CambiarDip switch. 2 pines3 al bloc de notas
BAT1 BateríaBatería de Litio. 3B1 al bloc de notas
COM1 ConectorDB9M1 al bloc de notas
COM2 ConectorDB9F1 al bloc de notas
indicación LED
D13, D14 Diodo emisor de luzLED RGB2 al bloc de notas
W3, W4 Tira llevada 2 10 segmentos, brillo rojo al bloc de notas
RP1 Conjunto de resistencia4x470 ohmios1 al bloc de notas
RP2, RP3 Conjunto de resistencia8 x 470 ohmios2 al bloc de notas
R63, R65, R66, R68 Resistor

180 ohmios

4 al bloc de notas
R64, R67 Resistor

100 ohmios

2 al bloc de notas
U8 transistor compuesto

ULN2803

1 al bloc de notas
TR1, TR2 triac

BT138-600E

2 al bloc de notas
OPT1, OPT2 Optoacoplador

MOC3041M

2 al bloc de notas
R34, R35, R37, R38 Resistor

180 ohmios

4 al bloc de notas
R36, R39 Resistor

330 ohmios

2 al bloc de notas
WR1, WR2 varistorJVR-7N4312 al bloc de notas
U2 receptor IRTSOP17361 al bloc de notas
T6 transistores bipolares

antes de Cristo516

1 al bloc de notas
T8-T11 transistores bipolares

antes de Cristo556

4 al bloc de notas
OPT3 Optoacoplador

171 millones de yuanes

1 al bloc de notas
D5 Diodo emisor de luzSFH4851 al bloc de notas
D11, D15 Diodo emisor de luz 2 al bloc de notas
D12 Diodo rectificador

1N4007

1 al bloc de notas
C5 Condensador10 nF1 al bloc de notas
C6, C20, C21 Condensador100 nF3 al bloc de notas
C7, C8 Capacitor electrolítico100 µF2 al bloc de notas
R22 Resistor

10 ohmios

1 al bloc de notas
R23 Resistor

220 ohmios

1 al bloc de notas
R42 Resistor

100 kOhmios

1 al bloc de notas
R43 Resistor

330 ohmios

1 al bloc de notas
R44, R21, R21* Resistor

10 kOhmios

3 al bloc de notas
R50-R57 Resistor

3,3 kiloohmios

8 al bloc de notas
R61, R69 Resistor

470 ohmios

2 al bloc de notas
I1 Codificador 1 al bloc de notas
PU1 ReléHFC-005-12W1 al bloc de notas
SD6 CambiarInterruptor DIP, 2 pines1 al bloc de notas
T1-S8, T9-S24 BotónBotón táctil24 al bloc de notas
Módulos de procesador
ATMega 8
U1 MK AVR de 8 bits

ATmega8-16PU

1 al bloc de notas
C1 Condensador100 nF1 al bloc de notas
C2, C3 Condensador22 pF2 al bloc de notas
X1 resonador de cuarzo16MHz1 al bloc de notas
ATMega 162
U1 MK AVR de 8 bits

ATmega162

1 al bloc de notas
C1 Condensador100 nF1 al bloc de notas
C2, C3 Condensador22 pF2 al bloc de notas
X1 resonador de cuarzo16MHz1 al bloc de notas
ATTiny 13
U1 MK AVR de 8 bits

ATtiny13

1 al bloc de notas
C1 Condensador100 nF1

El artículo describía el montaje de una parte importante de nuestra placa de depuración: el circuito de alimentación. Vale decir que la fuente de alimentación no siempre tiene que estar en cualquier placa de desarrollo o desarrollo. Si ya tiene una fuente de alimentación lista para usar en forma de diseño terminado, entonces puede usarla. También se han generalizado las denominadas fuentes de alimentación de “laboratorio”, que tienen uno o más voltajes de salida estándar, a menudo ajustables. También puede montar dicha fuente de alimentación usted mismo o comprar una ya preparada. Entonces no necesitará ensamblar un circuito de suministro de energía para las estructuras de prueba cada vez.


Sigamos montando nuestra placa de depuración. Esta vez le instalaremos un microcontrolador, conectaremos algunos LED y ejecutaremos el primer programa.
Primero que nada, preparemos los detalles necesarios:


Arroz. 1. Detalles básicos.

Tomemos como base el microcontrolador AVR ATtiny2313. A pesar de su apariencia y nombre modestos, este microcontrolador es capaz de resolver muchos problemas. También puedes utilizar cualquier otro microcontrolador. Puede encontrar un ejemplo del uso del microcontrolador ATmega8 AVR en nuestra placa de depuración en otra versión de este texto en el enlace: .

Lo primero después de elegir una pieza es familiarizarse con la ubicación de sus pasadores y sus principales características. Toda la información necesaria para el ATtiny2313 está contenida en su. Recuerde, casi todos los pines de los microcontroladores pueden tener múltiples funciones. Estas funciones se pueden seleccionar al escribir un programa para µC. Y vale la pena prestar atención a esto ya en la etapa de elaboración de un diagrama esquemático. Además, ya en el proceso de elaboración de un diagrama, es conveniente utilizar el símbolo de piezas con pinouts "activos", es decir, al designar una pieza en el diagrama, dibujar los pines tal como están realmente ubicados. Entonces la colocación de componentes tanto en el esquema como en el tablero será más sencilla, clara y con menos errores. (Casi todos los editores de esquemas tienen la capacidad de dibujar su propio símbolo de pieza).

Dibujemos un diagrama:


Arroz. 2. Circuito con microcontrolador ATtiny2313.


El resonador de cuarzo Q1 con los condensadores C1 y C2 forman una fuente de reloj para el microcontrolador µC1. Esta es una parte del circuito muy sensible al ruido, por lo que los conductores deben seleccionarse con una longitud mínima y no se debe conectar nada más al conductor entre C1, C2 y el décimo tramo µC1 (línea engrosada en el diagrama). . La resistencia R1 y el condensador C3 forman un circuito de reinicio para el microcontrolador. Las resistencias R2-R5 son necesarias para limitar la corriente a través de los LED LED1 -LED4. Hay un condensador de bloqueo C4 en el circuito de alimentación. Como fuente de energía utilizamos el estabilizador ensamblado en la primera parte del artículo. (Al final de esta página encontrará una lista de todas las posibles sustituciones).


Arroz. 3. Distribución de pines del enchufe ISP común.

Los conductores de programación deben conectarse a los conductores de programador del mismo nombre. Es conveniente conectar estos conductores a la parte acoplada del conector del programador existente utilizando un enchufe estándar para instalación en la placa IDC-10MS (Fig. 3). ¡La ubicación exacta de las clavijas de este enchufe debe verificarse con el programador existente!



Arroz. 4. Parte superior del tablero.

Organicemos todas las piezas en la futura placa de depuración de acuerdo con el diagrama. Primero, una a una, instalamos las piezas en los orificios, cortamos el exceso de longitud de los cables de los elementos con cortadores laterales o cortaalambres y las soldamos. Después de esto, puedes hacer conexiones con cables. En esa parte del circuito que no cambiará en el futuro, es mejor realizar las conexiones desde la parte inferior del tablero. El zócalo (también llamado "cuna") para el microcontrolador se puede soldar vacío y luego se puede insertar el microcontrolador en él. En este caso, no debes olvidarte de la “llave” del zócalo y del propio microcontrolador. En nuestro circuito, por ejemplo, las conexiones de cuarzo, las conexiones al programador y la conexión del microcontrolador a la alimentación no cambiarán en el futuro. Y lo más probable es que cambiemos las conexiones a los LED para diferentes experimentos.


Arroz. 5. Parte inferior del tablero.

Es mejor tomar conductores de alimentación de algún otro color: para el cable positivo puede tomar rojo, para el cable negativo, azul o negro. ¡Al tender los conductores de conexión en la parte posterior de la placa, no se olvide del "espejo"!
Puede instalar los LED de manera uniforme de la siguiente manera: pase una pequeña tira de cartón entre los cables del LED, instálela en los orificios de la placa, corte el exceso de longitud de los cables en el reverso y suéldelos. Después de soldar las patas se puede retirar la tira de cartón, Fig. 6.


Arroz. 6. Instalación de LED.


Antes de encenderlo, comprobemos una vez más la corrección de las conexiones y, lo más importante, ¡la conexión correcta de los conductores de alimentación al microcontrolador!
Si, cuando se conecta la alimentación, el LED de señal verde en el circuito estabilizador se enciende y nada se calienta, entonces el circuito está ensamblado correctamente.
Ahora podemos felicitarnos, ¡acabamos de recibir una placa de desarrollo real ensamblada con nuestras propias manos!
Carguemos inmediatamente el programa más simple para hacer parpadear LED en el microcontrolador: . Después de cargar el firmware en el microcontrolador, los LED comenzarán a parpadear alternativamente. El tiempo de encendido y pausa será aproximadamente igual a un segundo:

Vídeo 1. Pruebe el funcionamiento del firmware.

Una placa de depuración de este tipo se puede utilizar no sólo para probar diseños o algoritmos de software. A veces, incluso los ingenieros electrónicos profesionales utilizan circuitos electrónicos ensamblados en placas de pruebas para construir dispositivos completos.
En el futuro daré varios ejemplos de cómo, a partir de esta placa de depuración, se puede montar una sencilla máquina de efectos de iluminación, una campana musical, un temporizador con indicación LED e incluso el módulo principal de un sencillo robot.


Posibles reemplazos en el circuito con el microcontrolador ATtiny2313 Fig. 2:

  • El resonador de cuarzo Q1 se puede utilizar en frecuencias de 2 a 8 megahercios. El firmware de prueba (LED parpadeantes) se ejecutará más lento o más rápido.
  • Los condensadores C1 y C2 deben tener la misma capacitancia de 18 pF a 27 pF.
  • La capacitancia de los condensadores C3 y C4 puede ser de 0,01 µF a 0,5 µF.
  • La resistencia R1 se puede sustituir por otra con una resistencia de 10 a 50 kOhm.
  • Las resistencias limitadoras de corriente R2-R5 pueden tener una resistencia de 680 ohmios a 1 kOhm.
  • LED1 -LED4 puede ser de cualquier color y tamaño.
  • El microcontrolador principal puede tener las siguientes designaciones: ATtiny2313V -10PI, ATtiny2313V -10PU, ATtiny2313 -20PI, ATtiny2313 -20PU. Lo principal es que está en un paquete DIP o PDIP.


Adiciones:

  • ZIP: Pruebe el firmware para ver si el LED parpadea.
  • URL: .

¡¡¡Experimentos valientes y exitosos!!!

Otro ejemplo sencillo de cómo hacer una placa de depuración, pero esta vez para dispositivos que utilizan el microcontrolador ATTiny2313. La ubicación de los pies de programación del ATTiny2313 es idéntica a la del ATTiny13. En consecuencia, los tableros serán similares. La diferencia será la presencia de un oscilador maestro externo (cuarzo). De forma predeterminada, el ATTiny2313 se suministra de fábrica con un oscilador interno habilitado, por lo que si no se planea que el microcontrolador funcione desde un oscilador externo, no se puede instalar. Duplicamos el conector de alimentación en caso de conectar un programador alimentado por el circuito a la placa (suministramos energía a un conector y alimentamos el programador desde el otro).


Para crear una placa de depuración para dispositivos basados ​​en ATTiny2313 necesitamos:


Montamos la placa de depuración según el dibujo:

1 está soldado al zócalo para el microcircuito y los pines (como en la imagen);
2, como se muestra en la figura (línea roja), hacemos un puente en la parte frontal del tablero. Hacemos otro jersey del otro lado;
Usando 3 puentes "mocos", conectamos los pines y las patas del enchufe (los puntos de soldadura están rodeados por un círculo verde).

¡Nuestra placa de desarrollo está lista!

Conclusión.

— Ponemos marcas en GND, SCK para la correcta conexión de alimentación y programador;
— Todo lo demás en la placa de depuración se soldará de acuerdo con el circuito del dispositivo seleccionado. (como opción, puede soldar pines a cada pata del microcontrolador para conectar otras placas y periféricos);
— Para un funcionamiento más confiable en condiciones de mayor ruido, es muy conveniente complementar el circuito con una resistencia que acerque el pin de reinicio a la fuente de alimentación (la resistencia pull-up interna tiene una resistencia de aproximadamente 10 kOhm; esto no es suficiente) y un condensador cerámico de filtrado en los pines de alimentación (dentro de 0,1 μF);
-Ahora insertamos el microcontrolador en el zócalo y usamos el ATTiny2313 para actualizarlo con el firmware requerido.

(Visitado 16.038 veces, 1 visitas hoy)

Sección: Etiquetas: ,

Mensaje de navegación

Una placa de desarrollo sencilla para dispositivos AVR ATTiny2313 con cuarzo.: 70 comentarios


  1. GetChiper Publicado por

    ¿Tocaste los fusibles?
    ¿Lo comprobaste en otro Tini2313?

  2. Toxa12345

    Durante mucho tiempo estuve atormentado por: "¿QUÉ MK elegir?" Me decidí por Tinka 2313 porque es más barato que ATMEG y no es tan caro como Tinka 13, también debido a la presencia de líneas RxD y TxD, que permiten comunicación a través de Sudáfrica
    zy Comprar MK aquí en Kursk no es un problema. Tinka 2313 cuesta 130 rublos. y atmega8 hasta 200 rublos no se enteró de Tink 13


  3. GetChiper Publicado por

    ¿O tal vez ATmega88 o ATmega48?

  4. Andrey1979

    Buen tiempo.
    Monté la placa según el esquema propuesto, la conecté a USBasp, conecté 2313, apliqué 5 V. Extreme Burner muestra un chip incorrecto encontrado. En consecuencia, es imposible no mostrar nada. Lo mismo ocurre al sustituir la lata.
    ¿Alguien ha encontrado algo como esto?
    ¿Quizás esto se deba a una interferencia?

    “- Para un funcionamiento más confiable en condiciones de mayor ruido, es muy conveniente complementar el circuito con una resistencia que acerque el pin de reinicio a la fuente de alimentación (la resistencia pull-up interna tiene una resistencia de aproximadamente 10 kOhm; esto es no es suficiente) y un condensador cerámico de filtrado en los pines de alimentación (dentro de 0,1 µF); »

    y también, especialmente para los tontos, es posible reflejar estas acciones en forma de diagrama.


  5. GetChiper Publicado por

    Qué mostrar allí.
    El condensador se coloca paralelo a la fuente de alimentación (es decir, entre las patas 10 y 20)
    Se coloca una resistencia de 10 kOhm entre Vcc y reset (es decir, entre los pines 1 y 20)

  6. Andrey1979

    Gracias por la respuesta. Lo configuré en 4,7 KOhm y 220pF. Se volvió un poco más divertido. extreme burner escribe igual que antes. Pero Khazama cada dos veces informa que la firma del chip es 0x1e000. MISMATCH La firma esperada para ATTiny 2313 es 1e 91 0a. En otros casos también escribe un error de conexión.

    Estoy usando una placa sin soldadura, por lo que no debería haber ningún problema con la soldadura sucia. ¿Dónde más puedes buscar?


  7. GetChiper Publicado por

    220pF no es suficiente. Necesita 0,1 µF - cerámico (no polar) y 10-100 µF electrolítico (polar) en paralelo.

  8. Dederik

    buenas tardes))) No encontré cuarzo 20.000, en cambio solo pude encontrar cuarzo 4.000. Si instalo quartz 4000, ¿mi micro-r se ralentizará? Y los condensadores son iguales, hay que cambiarlos por cuarzo 4.000? Vivo en Samarcanda con repuestos de radio, tenemos un problema(((ni siquiera sé dónde encontrar un enchufe para microcon-r(((¿es posible hacer un enchufe para micro-r usted mismo?

  9. Dederik

    al menos alguien responde)))


  10. GetChiper Publicado por

    Cálmate, era fin de semana :)

    Puedes usar cualquier cuarzo si planeas estudiar y fabricar tus propios dispositivos usando esta bufanda (no es necesario cambiar los condensadores por cuarzo). O puede omitir la instalación de cuarzo y usar el oscilador RC incorporado.

    En cuanto a hacer un enchufe, ¿tal vez simplemente soldar el MK hasta el final en una placa?

  11. Dederik

    gracias por la ayuda))) Tengo una pregunta más para ti, pero no sé dónde preguntar ((((hoy me trajeron un medidor electrónico para reparar Holley DDS28. Busqué por allí y encontré un micro-p Fudan FM24C02 allí que responde por las lecturas del medidor. El registro completo se almacena en el microregistro. ¿Puede decirme cómo hacer un programador para que pueda leer y editar los datos del microregistro??? y cómo te escribo directamente???


  12. GetChiper Publicado por

    FM24C02 es una memoria serial no volátil (EEPROM)
    Creo que hay muchos cables y programas para este asunto (si le preguntas a un motor de búsqueda); aquí está el primero que aparece http://www.msplata.ru/teleprog.html

  13. Dederik

    Gracias por la ayuda:-)

  14. cosmogónico


Si encuentra un error, seleccione un fragmento de texto y presione Ctrl+Entrar.