Contactos

Tacómetro digital basado en microcontrolador PIC16F628. Un tacómetro universal simple basado en el microcontrolador ATtiny2313. Ingeniería de radio, electrónica y circuitos de bricolaje Tacómetro simple en el controlador de pico

Buenas tardes.
Le presento para su consideración un diagrama de un simple tacómetro digital en AVR ATtiny2313, KR514ID2 y el optoacoplador diseñado por mí.
Haré una reserva de inmediato: hay muchos esquemas similares en Internet. Cada implementación tiene sus pros y sus contras. Quizás mi versión se adapte a alguien más.

Quizás empezaré con aquellos. Tareas.
Tarea: es necesario realizar un tacómetro digital para controlar las revoluciones del motor eléctrico de la máquina.
Condiciones introductorias: Hay un disco de referencia listo para usar para 20 agujeros de impresora laser... Hay muchos optoacopladores de impresoras averiadas. Revoluciones medias (de trabajo) 4.000-5.000 rpm. El error en los resultados mostrados no debe exceder ± 100 revoluciones.

Limitación: la fuente de alimentación para la unidad de control es de 36 V (el tacómetro se instalará en la misma carcasa con la unidad de control; más sobre eso a continuación).

Pequeña digresión lírica. Esta es la máquina de mi amigo. La máquina está equipada con un motor eléctrico PIK-8, cuyas revoluciones se controlan de acuerdo con un esquema modificado que se encuentra en Internet. A pedido de un amigo, se desarrolló un tacómetro simple para la máquina.

Inicialmente se planeó utilizar ATMega16 en el circuito, pero luego de considerar las condiciones, se decidió limitarnos a ATtiny2313, que opera desde un generador interno (RC) a una frecuencia de 4 MHz.

Esquema general como sigue:

Como ves, nada complicado. Para convertir el código binario en uno de siete segmentos, utilicé el decodificador KR514ID2, esto da tres ventajas a la vez.

  • En primer lugar, ahorrar espacio en la memoria ATtiny2313 al reducir el código de trabajo (ya que el procedimiento para convertir programáticamente un código binario en un código de siete segmentos está ausente en el firmware por ser innecesario).
  • En segundo lugar: reducir la carga en las salidas ATtiny2313, ya que Los LED "iluminan" KR514ID2 (cuando se resalta el número 8, el consumo máximo será 20-30 mA (típico para un LED) * 7 = 140-210 mA que es "mucho" para ATtini2313 con su máximo de pasaporte completo (cargado ) consumo de 200 mA).
  • En tercer lugar, se ha reducido el número de patas "ocupadas" del microcontrolador, lo que nos da la oportunidad en el futuro (si es necesario) de actualizar el circuito añadiendo nuevas funciones.

Montaje del dispositivo implementado en una placa de pruebas. Para ello, se desmontó la placa de un horno microondas que no funcionaba y que estaba tirada en los contenedores. Un indicador LED digital, transistores clave (VT1-VT4) y resistencias limitadoras (R1-R12) se tomaron como un kit y se transfirieron a nuevo tablero... Todo el dispositivo se ensambla, si los componentes necesarios están disponibles, con pausas de humo en media hora. Prestar atención: el microcircuito KR514ID2 tiene una rama de potencia positiva - 14, y una menos - 6 (marcada en el diagrama)... En lugar de KR514ID2, puede usar cualquier otro decodificador de código binario en uno de siete segmentos alimentado por 5V. Cogí lo que tenía a mano.
Los pines "h" e "i" del indicador LED digital son responsables de dos puntos en el centro entre los números, no están conectados como innecesarios.
Después del montaje y el firmware, siempre que no haya errores de instalación, el dispositivo comienza a funcionar inmediatamente después de encenderlo y no necesita ser configurado.

Si es necesario realizar cambios en el firmware del tacómetro, se proporciona un conector ISP en la placa.

En el diagrama, la resistencia pull-up R12, nominal de 30 kOhm, se selecciona empíricamente para un optoacoplador específico. Como muestra la práctica, puede diferir para diferentes optoacopladores, pero un valor promedio de 30 kΩ debería garantizar un funcionamiento estable para la mayoría de los optoacopladores de impresora. Según la documentación del ATtiny2313, el valor de la resistencia pull-up interna es de 20 a 50 kOhm, dependiendo de la implementación de un lote particular de microcontroladores, (página 177 de la hoja de datos ATtiny2313), lo cual no es del todo adecuado . Si alguien quiere repetir el circuito, primero puede incluir una resistencia pull-up interna, quizás para usted, funcionará para su optoacoplador y su MK. No funcionó para mí para mi set.

Así es como se ve un optoacoplador típico de una impresora.

El LED del optoacoplador se alimenta a través de una resistencia limitadora de 1K que coloqué directamente en la placa del optoacoplador.
Para filtrar las ondas de voltaje, hay dos capacitores en el circuito, electrolítico a 220 μF x 25V (que estaba a mano) y cerámico a 0.1 μF, ( esquema general la inclusión del microcontrolador se toma del pasaporte ATtiny2313).

Para protegerlo del polvo y la suciedad, el tablero del tacómetro está cubierto con una capa gruesa de barniz automotriz.

Reemplazo de componentes.
Puede utilizar cualquier LED de cuatro dígitos, ya sea dos dobles o cuatro individuales. En el peor de los casos, monte el indicador en LED separados.

En lugar de KR514ID2, puede utilizar KR514ID1 (que contiene resistencias limitadoras de corriente en el interior), o 564ID5, K155PP5, K155ID9 (con conexión en paralelo de las patas de un segmento) o cualquier otro convertidor de binario a siete segmentos (con el correspondiente cambios en la conexión de los pines del microcircuito).

Siempre que la instalación se transfiera correctamente al ATMega8 / ATMega16 MK, este firmware funcionará como en el ATtiny2313, pero es necesario corregir el código (cambiar los nombres de las constantes) y volver a compilar. No se hizo ninguna comparación para otras MCU AVR.

Transistores VT1-VT4: cualquier funcionamiento de baja corriente en modo clave.

Principio de funcionamiento basado en contar el número de pulsos recibidos del optoacoplador en un segundo y recalcularlos para mostrar el número de revoluciones por minuto. Para ello se utiliza un contador interno Timer / Counter1, que opera en modo de contaje de pulsos que llegan a la entrada T1 (salida PD5 tramo 9 MK). Para garantizar la estabilidad de la operación, el modo de supresión de rebotes por software está habilitado. Los segundos son contados por Timer / Counter0 más una variable.

Cálculo de RPM, en lo que me gustaría detenerme, ocurre de acuerdo con la siguiente fórmula:
M = (N / 20) * 60,
donde M son las revoluciones por minuto calculadas (60 segundos), N es el número de pulsos del optoacoplador por segundo, 20 es el número de orificios en el disco de referencia.
Total, simplificando la fórmula, obtenemos:
M = N * 3.
¡Pero! El microcontrolador ATtiny2313 carece de una función de multiplicación de hardware. Por lo tanto, se aplicó la suma de compensación.
Para aquellos que no conocen la esencia del método:
El número 3 se puede expandir como
3 = 2+1 = 2 1 + 2 0 .
Si tomamos nuestro número N, lo desplazamos a la izquierda en 1 byte y agregamos otro N desplazado a la izquierda en 0 bytes; obtenemos nuestro número N multiplicado por 3.
En el firmware, el código AVR ASM para una operación de multiplicación de dos bytes se ve así:

Mul2bytes3:
CLR LoCalcByte // borrar registros de trabajo
CLR HiCalcByte
mov LoCalcByte, LoInByte // cargar valores obtenidos de Timer / Counter1
mov HiCalcByte, HiInByte
CLC // limpiar la vida de la transferencia
ROL LoCalcByte // Desplazamiento a través de la broca de transporte
ROL HiCalcByte
CVX
ADD LoCalcByte, LoInByte // suma teniendo en cuenta el bit de acarreo
ADC HiCalcByte, HiInByte
retirado

Comprobación del rendimiento y medición de la precisión se llevó a cabo de la siguiente manera. Un disco de cartón con veinte agujeros estaba pegado al ventilador del enfriador de la computadora. Las rotaciones más frías se monitorearon a través de BIOS tarjeta madre y se compararon con los indicadores del tacómetro. La desviación fue de aproximadamente 20 rpm a 3200 rpm, que es del 0,6%.

Es muy posible que la discrepancia real sea inferior a 20 revoluciones, porque Las medidas de la placa base se redondean en 5 vueltas (según las observaciones personales de una placa específica).
El límite superior de medición es 9999 rpm. El límite inferior de medición, teóricamente de ± 10 revoluciones, pero en la práctica no se midió (un pulso del optoacoplador por segundo da 3 revoluciones por minuto, lo que, teniendo en cuenta el error, teóricamente debería medir correctamente la velocidad de 4 revoluciones por minuto y más, pero en la práctica este indicador debe sobreestimarse al menos dos veces).

Me extenderé por separado sobre el tema de la nutrición.
Todo el circuito se alimenta de una fuente de 5V, el consumo estimado de todo el dispositivo no supera los 300 mA. Pero, de acuerdo con los términos del TK, el tacómetro debe estar ubicado estructuralmente dentro de la unidad de control de velocidad del motor, y la unidad recibe del LATR presión constante 36V., Para no tirar de un cable de alimentación separado, se instala un LM317 dentro de la unidad en la conexión del pasaporte, en el modo de bajar la fuente de alimentación a 5V (con una resistencia limitadora y un diodo zener para proteger contra sobretensiones accidentales) . Sería más lógico usar un controlador PWM en modo convertidor reductor, como el MC34063, pero es problemático comprar tales cosas en nuestra ciudad, por lo tanto, usaron lo que pudieron encontrar.

Fotos tablero del tacómetro y dispositivo terminado.


Más fotos







Desafortunadamente, ahora no es posible tomar fotografías en la máquina.

Después de la disposición de las placas y el primer montaje de prueba, la caja con el dispositivo se fue a pintar.

Si su tacómetro no funciona inmediatamente después del encendido, con una instalación correcta a sabiendas:

1) Verifique el funcionamiento del microcontrolador, asegúrese de que funciona desde el generador interno. Si el diagrama está ensamblado correctamente, el cuadrante debe mostrar cuatro ceros.

2) Verifique el nivel de pulsos del optoacoplador, si es necesario, seleccione el valor de la resistencia R12 o reemplace el diagrama de cableado del optoacoplador. La opción de conexión inversa del opto-transistor con un pull-up al menos es posible, con la resistencia interna de pull-up MK encendida o no. También es posible utilizar un transistor en un modo de operación clave (inverso).
optoacoplador

  • AVR
  • Agregar etiquetas

    El tacómetro está diseñado para medir las rpm de casi cualquier motor. Comenzando con un motor de ciclomotor de 1 cilindro y dos tiempos y terminando con un motor de 16 cilindros y 4 tiempos. Indicación en un indicador digital de 4 dígitos, precisión de medición 50
    rpm.

    Después de encender la energía, el tacómetro comienza inmediatamente a medir las revoluciones. Al presionar el botón por primera vez, se mostrará el número establecido de pulsos por 1 revolución (por defecto, 2 pulsos por 1 revolución, que corresponde a un motor de 4 tiempos y 4 tiempos). La pantalla será P-2.0. Al presionar el botón nuevamente, se recorrerán todos los valores permitidos, de 0.5 a 8 pulsos por 1 revolución. Que parezca un poco extraño: 0.5 impulsos, pero esto solo significa que 1 impulso será en 2 revoluciones. Después de configurar el número requerido de pulsos, después de aproximadamente 5 segundos, el dispositivo escribirá los cambios en la memoria EEPROM no volátil (es decir, cuando vuelva a encender la alimentación, no es necesario configurar el número de pulsos nuevamente), y cambiará al modo de medición de velocidad con el nuevo número de pulsos establecido.

    Placa de circuito impreso con dos partes

    Foto de abogado

    ¿Qué es en absoluto? tacómetro? Un tacómetro es un dispositivo que se utiliza para medir las rpm (revoluciones por minuto) de cualquier cuerpo giratorio. Los tacómetros se fabrican sobre la base de contacto o sin contacto. Los tacómetros ópticos sin contacto suelen utilizar un rayo láser o infrarrojo para controlar la rotación de cualquier cuerpo. Esto se hace calculando el tiempo necesario para una rotación. En este material, tomado de un sitio en inglés, le mostramos cómo hacer un tacómetro óptico digital portátil usando Arduino Uno... Consideremos una versión extendida del dispositivo con una pantalla LCD y un código modificado.

    Circuito del tacómetro del microcontrolador

    Lista de piezas para el esquema

    • Microcircuito - Arduino
    • Resistencias: potenciómetro de 33 k, 270 ohm, 10 k
    • Elemento LED - azul
    • LED IR y fotodiodo
    • Pantalla LCD de 16 x 2
    • 74HC595 registro de desplazamiento

    Aquí, en lugar de un sensor de hendidura, se utiliza uno óptico: el reflejo del haz. De esta manera, no tienen que preocuparse por el grosor del rotor, el número de palas no cambia la lectura y puede leer la velocidad del tambor, pero el sensor de ranura no puede.

    Entonces, en primer lugar para el sensor, necesita un LED IR emisor y un fotodiodo. Cómo montarlo - mostrado en instrucciones paso a paso... Haga clic en la foto para aumentar el tamaño.

    • 1. Primero debe lijar el LED y el fotodiodo para que queden planos.
    • 2. Luego doble la tira de hoja de papel como se muestra en la figura. Haga dos estructuras de este tipo para que el LED y el fotodiodo encajen perfectamente en él. Pégalos juntos y píntalos de negro.
    • 3. Inserte el LED y el fotodiodo.
    • 4. Pégalos con superpegamento y suelda los cables.

    Las clasificaciones de las resistencias pueden variar según el fotodiodo que esté utilizando. El potenciómetro ayuda a disminuir o aumentar la sensibilidad del sensor. Suelde los cables del sensor como se muestra en la figura.

    El circuito del tacómetro utiliza un registro de desplazamiento de 8 bits 74HC595 pantalla LCD 16x2. Haga un pequeño orificio en la carcasa para fijar el indicador LED.

    Suelde una resistencia de 270 ohmios al LED e insértela en el pin 12 del Arduino. El sensor se inserta en un tubo cúbico para proporcionar resistencia mecánica adicional.

    Eso es todo, el dispositivo está listo para calibración y programación. Puede descargar el programa en este enlace.

    Video del tacómetro casero.


    Dispositivo de seguridad con Alto voltaje- erizo eléctrico. Hoy seguiremos hablando de las estructuras que se necesitan para proteger nuestro hogar. El dispositivo que consideraremos ahora está destinado a la protección de un apartamento, una oficina, una casa de verano y un automóvil. El dispositivo se llama: ¡un erizo eléctrico de alto voltaje!

    Este tacómetro digital es adecuado para contar el número de revoluciones de casi cualquier tipo de motor de combustión interna. El error de medición del tacómetro es de solo 50 rpm. Se utiliza una pantalla LED de cuatro dígitos para mostrar el resultado.
    Para configurar el modo de funcionamiento, debe utilizar el botón "Seleccionar". La primera pulsación muestra el modo de funcionamiento actual en la pantalla. El modo de funcionamiento predeterminado es el tercero, cuando el transmisor emite dos pulsos por revolución del volante. En consecuencia, la inscripción R-2.0 aparecerá en la pantalla.

    Cada pulsación posterior del botón cambia el modo de funcionamiento del tacómetro al siguiente. Son nueve en total: 0.5, 1, 2, 3, 4, 5, 6, 7, 8 pulsos / revolución, respectivamente, establecen el número de pulsos emitidos por el sensor por una vuelta del volante. Cuanto mayor sea el número de pulsos, más precisa será la medición.

    Después de seleccionar el modo de funcionamiento, debe esperar de 5 a 10 segundos. Durante este tiempo, el tacómetro registrará el modo de funcionamiento en la memoria del microcontrolador y cambiará al modo de funcionamiento. En el futuro, el tacómetro cambiará inmediatamente al modo de funcionamiento cuando se aplique energía. Si es necesario reajustar el tacómetro, presione el botón "Seleccionar" y vuelva a ajustar el tacómetro.

    Vale la pena prestar atención a los parámetros y la estructura del circuito de entrada. Para un tipo específico de encendido, es posible realizar algunos ajustes en las clasificaciones, debido a diferentes dispositivos encendido en diferentes tipos auto. Esto es necesario para que el tacómetro funcione bien con armónicos fundamentales y no responda a armónicos superiores. Sin tal corrección, el funcionamiento preciso del tacómetro es imposible.

    La versión de firmware actualizada incluye la función de prueba del indicador. Esto es necesario para realizar una prueba de detección de fallas del sensor de dos segundos.

    Archivos adjuntos:

    Firmware

    Amplificador de coche monobloque simple en TDA1560Q Fuente de alimentación sin acelerador para automóvil en IRS2153 para computadoras portátiles y teléfonos móviles Conector USB externo en la radio del coche

    Un tacómetro universal simple en el microcontrolador ATtiny2313

    Este simple tacómetro en ATtiny2313 puede contar el número de revoluciones de cualquier motor, ya sea multifásico, de múltiples tiempos, etc. Puede ser útil en vehículos de motor mostrar la velocidad del motor. En este caso, no importa en absoluto cuántas carreras o cilindros tenga el motor. También se puede utilizar junto con controladores de motor electrónicos, ya sean monofásicos o trifásicos.

    El circuito del tacómetro es muy simple: un microcontrolador ATtiny2313 y un indicador LED de cuatro caracteres. En aras de la simplicidad, no hay interruptores de transistores. El indicador se puede usar tanto con un cátodo común como con un ánodo común; esto se selecciona en la fuente. El tacómetro puede contar revoluciones tanto por segundo como por minuto, lo que lo hace completamente versátil.

    Además, el dispositivo tiene la capacidad control de programa brillo: normal y bajo. Si el puente está abierto, se establece el brillo normal. Cuando los contactos están cerrados, el brillo disminuye.


    Click para agrandar
    Vayamos directamente al diagrama. Si el dispositivo está conectado directamente a un controlador de motor de nivel TTL, los pulsos simplemente se pueden aplicar al pin 6 del microcontrolador. De lo contrario, debe ejecutar convertidor más simple nivel en el transistor.

    Para obtener y estabilizar la tensión de alimentación de +5 voltios, se aplica regulador lineal 1117 con baja deserción para una mayor eficiencia.

    Un indicador de un horno de microondas con un ánodo común se utiliza como indicador LED. Dado que ya contiene resistencias de 220 ohmios, no se proporcionan en la placa de circuito impreso.


    En el lado superior placa de circuito impreso hay hasta 10 puentes, pero son muy fáciles de instalar.


    Los componentes SMD están instalados en el reverso: estos son dos condensadores de 22 pF para un resonador de cuarzo, un microcircuito estabilizador y condensadores de filtro.

    El resonador de cristal para el microcontrolador ATtiny2313 se puede configurar en 8 o 4 MHz, este se configura en la fuente y controla el preescaler.

    El modo de visualización de revoluciones, por segundo o por minuto, se establece de la misma manera en la fuente. Para mostrar el número de revoluciones por minuto, el número calculado de revoluciones por segundo se multiplica simplemente por el software por 60. Existe la posibilidad de que el software redondee los valores calculados. Estos matices se comentan en código fuente.

    Al flashear el microcontrolador, debe instalar fusibles:

    CKSEL1 = 0
    BODLEVEL0 = 0
    BODLEVER1 = 0
    SPMEN = 0

    La fuente está escrita en C en Codevision AVR. Fue tomado de otro proyecto: un tacómetro para un helicóptero de tres palas.

    Brevemente sobre el ajuste: es necesario determinar de antemano cuántos pulsos por 1 revolución se suministrarán a la entrada del tacómetro. Por ejemplo, si su fuente es un controlador de motor trifásico en el LB11880, entonces emite por Tres pulso por revolución del husillo. Por lo tanto, debe especificar este valor en el código fuente.

    La elección del indicador, con un ánodo común o con un cátodo común (valor innecesario - comentario):

    // # definir Ánodo
    #define cátodo

    Número de impulsos taquimétricos por 1 revolución del eje:

    #define byBladeCnt 2

    Seleccionando la frecuencia del resonador de cuarzo - 0x00 para 4MHz, 0x01 - para 8MHz:

    #define Prescaler 0x01

    Selección de visualización de RPM:

    lTmp = (62500L * 60L * (largo) wFlashCnt);

    Para mostrar el número de revoluciones por segundo, debe eliminar la multiplicación por 60:

    lTmp = (62500L * (largo) wFlashCnt);

    Para deshabilitar el redondeo de valores, debe comentar las siguientes líneas:

    Si (por Pantalla> 4)
    {
    wRpm ++;
    R + = 10;
    }

    Dado que este diseño en particular utiliza un indicador muy específico, no se aplica ningún diseño de PCB.



    ¿Te gustó el artículo? Compártelo