Diagrama del tacómetro del coche. Tacómetro digital en microcontrolador PIC16F628

Buenas tardes.
Les presento para su consideración un diagrama de un tacómetro digital simple en AVR ATtiny2313, KR514ID2 y un optoacoplador diseñado por mí.
Permítanme hacer una reserva de inmediato: hay muchos esquemas similares en Internet. Cada implementación tiene sus pros y sus contras. Quizás mi opción sea más adecuada para alguien.

Probablemente empezaré con aquellos. tareas.
Tarea: necesitas hacer un tacómetro digital para controlar la velocidad del motor eléctrico de la máquina.
Condiciones introductorias: Hay un disco de referencia ya preparado con 20 orificios de una impresora láser. Hay muchos optoacopladores disponibles en impresoras averiadas. Las velocidades promedio (de trabajo) son de 4000 a 5000 rpm. El error de los resultados mostrados no debe exceder ± 100 revoluciones.

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

Una 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, cuya velocidad se controla según un diagrama modificado que se encuentra en Internet. A petición de un amigo, se desarrolló un tacómetro sencillo para la máquina.

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

Esquema general como sigue:

Como puedes ver, nada complicado. Para convertir el código binario a siete segmentos, utilicé el decodificador KR514ID2, esto ofrece tres ventajas a la vez.

  • En primer lugar, ahorra espacio en la memoria del ATtiny2313 al reducir el código de trabajo (ya que el procedimiento para la conversión de software de código binario a siete segmentos no está incluido en el firmware porque no es necesario).
  • En segundo lugar: reducir la carga en las salidas del ATtiny2313, porque los LED están "iluminados" por KR514ID2 (cuando se muestra el número 8, el consumo máximo será de 20-30 mA (típico para un LED) * 7 = 140-210 mA, que es "mucho" para el ATtini2313 con su consumo máximo (cargado) completo de la placa de identificación de 200 mA).
  • En tercer lugar, se ha reducido el número de tramos "ocupados" del microcontrolador, lo que nos da la oportunidad en el futuro (si es necesario) de actualizar el circuito agregando nuevas capacidades.

Montaje del dispositivo implementado en una placa de pruebas. Para ello, se desmontó una placa de circuito de un horno microondas que no funcionaba y que se encontraba en los contenedores. El indicador LED digital, los transistores clave (VT1-VT4) y las resistencias limitadoras (R1 - R12) se tomaron como un kit y se transfirieron a la nueva placa. Todo el dispositivo se ensambla, si se dispone de los componentes necesarios, con pausas para fumar en media hora. Prestar atención: para el microcircuito KR514ID2, el tramo de potencia positivo es 14 y el negativo es 6 (marcado en el diagrama). En lugar del KR514ID2, puede utilizar cualquier otro decodificador de código binario en uno de siete segmentos alimentado por 5V. Tomé 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 y no están conectados por ser innecesarios.
Después del montaje y firmware, siempre que no haya errores de instalación, el dispositivo comienza a funcionar inmediatamente después del encendido y no requiere configuración.

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

En el diagrama, se seleccionó experimentalmente la resistencia pull-up R12, de 30 kOhm, para un optoacoplador específico. Como muestra la práctica, puede diferir para diferentes optoacopladores, pero el valor promedio de 30 kOhm debería garantizar un funcionamiento estable para la mayoría de los optoacopladores de impresoras. Según la documentación de ATtiny2313, el valor de la resistencia pull-up interna varía de 20 a 50 kOhm, dependiendo de la implementación de un lote específico de microcontroladores (página 177 del pasaporte ATtiny2313), lo cual no es del todo adecuado. Si alguien quiere repetir el circuito, primero puede encender la resistencia pull-up interna, tal vez funcione para usted, para su optoacoplador y su MK. No me funcionó 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 con el optoacoplador.
Para filtrar las ondulaciones de voltaje, hay dos condensadores en el circuito, uno electrolítico de 220 µF x 25 V (que tenía a mano) y uno cerámico de 0,1 µF (el circuito general para conectar el microcontrolador está tomado de la hoja de datos del ATtiny2313) .

Para protegerlo del polvo y la suciedad, el tablero del tacómetro está recubierto con una gruesa capa de barniz para automóviles.

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

En lugar de KR514ID2, puede usar KR514ID1 (que contiene resistencias limitadoras de corriente en su interior), o 564ID5, K155PP5, K155ID9 (cuando las patas de un segmento están conectadas en paralelo) o cualquier otro convertidor binario a siete segmentos (con los cambios apropiados 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 deberá corregir el código (cambiar los nombres de las constantes) y volver a compilarlo. No se han realizado comparaciones con otras MCU AVR.

Transistores VT1-VT4: cualquiera de baja corriente, que funcione en modo de conmutación.

Principio de funcionamiento Se basa en contar el número de pulsos recibidos de un 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 funciona en modo de conteo de pulsos que llegan a la entrada T1 (pin PD5 pin 9 MK). Para garantizar un funcionamiento estable, el modo antirrebote del software está habilitado. Los segundos los cuenta Timer/Counter0 más una variable.

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

Mul2bytes3:
CLR LoCalcByte //borrar registros de trabajo
CLR HiCalcByte
mov LoCalcByte,LoInByte //cargar valores recibidos del Temporizador/Contador1
mov HiCalcByte, HiInByte
CLC //traspaso de hogar limpio
ROL LoCalcByte //cambiar a través del bit de acarreo
ROL HiCalcByte
CVX
AGREGAR LoCalcByte,LoInByte //suma, teniendo en cuenta el bit de acarreo
ADC HiCalcByte, HiInByte
retirado

Comprobación de funcionalidad y medición de precisión. se llevó a cabo de la siguiente manera. Un disco de cartón con veinte agujeros estaba pegado al ventilador del refrigerador de la computadora. La velocidad del refrigerador se monitoreó a través del BIOS de la placa base y se comparó con las lecturas del tacómetro. La desviación fue de aproximadamente 20 revoluciones a una frecuencia de 3200 revoluciones/minuto, 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 observaciones personales para una placa específica).
El límite superior de medición es 9.999 rpm. El límite inferior de medición, en teoría, es de ±10 revoluciones, pero no se midió en la práctica (un pulso de un optoacoplador por segundo da 3 revoluciones por minuto, lo que, teniendo en cuenta el error, en teoría debería medir correctamente velocidades de 4 revoluciones por minuto). y superiores, pero en la práctica este indicador debe al menos duplicarse).

Me detendré por separado en el tema de la nutrición.
Todo el circuito se alimenta desde una fuente de 5V, el consumo estimado de todo el dispositivo no supera los 300 mA. Pero, de acuerdo con los términos de las especificaciones técnicas, el tacómetro debe estar ubicado estructuralmente dentro de la unidad de control de velocidad del motor, y se suministra a la unidad un voltaje constante de 36 V desde LATR para no tirar de un cable de alimentación separado, un LM317. se instala dentro de la unidad en el modo de placa de identificación, en el modo de reducción de potencia a 5 V (con resistencia limitadora y diodo zener para protección contra sobretensiones accidentales). Sería más lógico usar un controlador PWM en modo convertidor reductor, como el MC34063, pero en nuestra ciudad es problemático comprar esas cosas, así que usamos lo que pudimos encontrar.

Fotos tableros de tacómetro y el dispositivo terminado.


Más fotos







Lamentablemente, actualmente no es posible tomar fotografías con la máquina.

Después de colocar los tableros y realizar el primer montaje de prueba, la caja con el dispositivo fue a pintar.

Si tu tacómetro no funciona Inmediatamente después del encendido, si se sabe que la instalación es correcta:

1) Verifique el funcionamiento del microcontrolador, asegúrese de que esté alimentado por un generador interno. Si el circuito está ensamblado correctamente, se deben mostrar cuatro ceros en el dial.

2) Verifique el nivel de pulsos del optoacoplador, si es necesario, seleccione el valor de la resistencia R12 o reemplace el circuito de conexión del optoacoplador. Es posible conectar al revés el optotransistor con un pull-up a menos, con la resistencia pull-up interna MK encendida o no. También es posible utilizar el transistor en el modo de funcionamiento de conmutación (inversión).
optoacoplador Agregar etiquetas

Puntuación 1 Puntuación 2 Puntuación 3 Puntuación 4 Puntuación 5

Este dispositivo está diseñado para medir la velocidad de rotación de motores eléctricos y la principal ventaja es un método de medición sin contacto basado en el efecto estroboscópico, donde un LED de alta potencia produce pulsos de luz brillantes. Para medir, es necesario ajustar la frecuencia del destello de acuerdo con la velocidad de rotación (cuando se ilumina con una luz estroboscópica, el objeto parece inmóvil) utilizando un codificador. La medición se puede realizar sin detener el mecanismo giratorio. El tacómetro está integrado en un microcontrolador ATmega8 y el resultado de la medición se muestra en la pantalla LCD. Además, el sistema también muestra un error que aparece como resultado de algunos procesos temporales en el programa. El control se realiza mediante un codificador rotatorio y un pequeño teclado. Todo el dispositivo puede funcionar con baterías, ya que debido a la naturaleza pulsada de la generación, el consumo de energía es insignificante. Todo el dispositivo encaja perfectamente en una carcasa popular KM35, donde también hay espacio para una batería de 9V.

Diagrama del dispositivo

El corazón del dispositivo y su parte más importante es el microcontrolador U1 (ATMEGA8-16AU), que funciona con un resonador de cuarzo (X1) de 16 MHz. Se necesitan condensadores adicionales C1(22pF) y C2(22pF) para el correcto funcionamiento del resonador. Se proporciona un conector de interfaz de programación Prog que contiene un conjunto de pines para programación en serie. El conector es necesario porque el microcontrolador está fabricado en un paquete SMD. Filtros de potencia del microcontrolador C5 (100 nF). Los condensadores C6 (100 nF) y C7 (100 nF) suavizan la pendiente de la señal generada por el codificador, lo que facilita su funcionamiento ininterrumpido en el programa. Los botones S1 - S6 (uSwitch) son un bloque de teclado adicional. Un LED de 0,5 W emite destellos de luz, la corriente de funcionamiento está limitada por la resistencia R4(30R / 2W) y controlada por el transistor T2(BC337) y la resistencia R3(330R). El LED está conectado directamente a la fuente de alimentación sin estabilizador para minimizar el impacto de los pulsos de corriente en el microcontrolador y reducir la carga en el estabilizador U2(78L05). Los condensadores C3 (220uF) y C4 (47uf) son necesarios para el correcto funcionamiento del estabilizador. Los resultados de la medición se indican en la pantalla LCD (W1, 16x2). El contraste se establece mediante el potenciómetro P1(10k), la luz de fondo se enciende mediante el software usando T1(BC556), R1(47R) y R2(3.3k).

Asamblea

El dispositivo se puede construir con éxito sobre la base de una placa de circuito impreso, que está disponible en el archivo al final de la página. También el tablero de acceso está reflejado. La placa es fácil de montar, pero incluye componentes de soldadura SMD, lo que puede causar problemas a los radioaficionados nuevos. El montaje debe comenzar soldando dos puentes. A continuación, se deben instalar condensadores y resistencias SMD; se utilizan en los populares encapsulados 0805 (2x1,2 mm). A continuación, se suelda el microcontrolador U1 en su lugar, preste atención a la correcta instalación de la llave. Los botones deben tener 15 mm de largo y sobresalir ligeramente por encima de la pantalla LCD; esto será importante al instalar la placa en la carcasa; Lo mismo ocurre con el codificador. El potenciómetro P1 está instalado de tal manera que se puede ajustar a través de un orificio en la pared lateral de la carcasa. La placa está diseñada para encajar fácilmente en el popular paquete KM35.

Calibración y medición

Después de escribir la versión inicial del código y calcular el temporizador divisor, las mediciones mostraron una desviación en la frecuencia de los destellos generados en relación con los cálculos teóricos. Este error ocurre debido al funcionamiento del divisor del temporizador igual a 1, el tiempo que lleva atender la interrupción y, en ocasiones, debido al reinicio del valor del temporizador en los registros. La siguiente tabla incluye mediciones de las frecuencias generadas en la salida (F_p) en relación con la frecuencia que teóricamente debería ser (f_i) y los valores de RPM correspondientes (multiplicados por 10 para dar una precisión de ajuste de 0,1 rpm).

Los datos de la tabla se dividen en dos rangos, el primero de 60 a 480 rpm y el segundo rango de 480-42000 rpm. Esta división es el resultado de un programa en el que operan dos rangos de medición. Los siguientes gráficos muestran la relación entre los datos medidos y teóricos:



Se adoptó la dependencia cuadrática como curva de calibración:

y = a \cdot x^2 + b \cdot x +c

donde y - revoluciones teóricas, x - revoluciones medidas, a, b, c - coeficientes como resultado de la regresión. Las gráficas fueron realizadas en el programa Gnuplot, y a continuación se presentan los factores de corrección constantes para las dos áreas del sistema:

Para el rango 60-480 rpm: a= 1.88622104239405e-006 b= 0.999905059864626 c= 0.189869882714651 Para el rango 480-42000 rpm: a= 2.54573967680295e-007 b= 0.99 6905226980814c= 1.00037985789872

Después de insertar los parámetros, el dispositivo se convierte en un medidor y no solo en un indicador de RPM. La siguiente tabla muestra los resultados de la medición de las frecuencias generadas por el dispositivo según lo configurado en la pantalla. La frecuencia se genera con un error igual a una fracción de un por ciento del deseado:

Placas de circuito impreso y apariencia del dispositivo.

Programación de bits de fusibles para microcontroladores

Tacómetro Mide la velocidad de rotación de piezas, mecanismos y otros componentes del automóvil. Tacómetro Consta de 2 partes principales: un sensor que mide la velocidad de rotación y una pantalla que mostrará los valores. Básicamente, el tacómetro se calibra en revoluciones por minuto.

Por supuesto, usted mismo puede fabricar un dispositivo de este tipo; le sugiero un circuito con un microcontrolador AVR Attiny2313. Con un microcontrolador de este tipo se pueden obtener entre 100 y 9990 rpm. , la precisión de la medición es de +/-3 revoluciones por minuto.

Características del microcontrolador ATtiny2313

EEPROM 1 KB
Entradas analógicas (ADC) 0
Tensión de entrada (límite) 5,5 voltios
Voltaje de entrada (recomendado) 4,5-5 voltios
RAM 128 bytes
Frecuencia de reloj 20MHz
Memoria flash 2kB

Se instala una resistencia con un valor nominal de 4,7 kOhm en el pin 11; no cambie el valor nominal, de lo contrario el sensor comenzará a funcionar de manera inestable cuando se encienda en un circuito de un solo cable.

A diferencia de otros circuitos, aquí se utilizaron 4 transistores y 4 resistencias, simplificando así el circuito.

El circuito tiene 8 segmentos en cada símbolo, de 5 mA cada uno, la cantidad total será de 40 mA, por lo que no hay una gran carga en los puertos. Veamos los gráficos de funcionamiento del dispositivo.

En los gráficos se puede ver que la corriente puede alcanzar de 60 mA a 80 mA en la salida del pin. Para una configuración precisa, debe seleccionar resistencias limitadoras con un valor nominal de 470 ohmios.

La elección de la pantalla no es crítica; elija cualquier indicador LED de cuatro dígitos o móntelo a partir de LED individuales. Utilice un indicador rojo para que todo sea claramente visible bajo el sol. El tacómetro funciona con 12 voltios.

La resistencia de cuarzo se selecciona a una frecuencia de 8 MHz para una medición precisa y estable. El filtro de entrada se utiliza para conectar al terminal de la bobina de encendido.

En el firmware en la línea 17, busque lo siguiente.

17. #define byBladeCnt 2 //1 - dos bobinas, 2 - una bobina, 4 - motocicleta...

Este parámetro debe cambiarse, si tiene un automóvil soviético, configúrelo en 2, si tiene una motocicleta, configúrelo en 4, y si el automóvil tiene un sistema de encendido de dos bobinas, configúrelo en 1.



Ibrahim Kamal (IKALOGIC)

El tacómetro sin contacto en cuestión es un dispositivo compacto basado en el microcontrolador ATMega48 fabricado por la empresa, que permite medir altas velocidades de rotación sin contacto. Para la medición se utiliza un sensor de infrarrojos (optoacoplador, LED de infrarrojos y fotodiodo de infrarrojos en una carcasa). La salida de datos se realiza en una pantalla LCD de caracteres de dos líneas basada en el controlador HD44780.

Principio de funcionamiento

Un sensor de infrarrojos (optoacoplador), que es un componente en miniatura con un LED de infrarrojos y un fotodiodo en una carcasa, envía radiación de infrarrojos a un mecanismo giratorio (eje, rotor del motor), que debe tener una pequeña pegatina reflectante.

Gracias a esta pegatina, cada rotación del eje provoca que aparezca un pulso reflejado de radiación IR. El sensor fabricado por la empresa utilizada está marcado.

Este sensor se seleccionó después de probar productos equivalentes porque su carcasa proporcionaba aislamiento óptico entre las partes transmisora ​​y receptora, y el LED IR podía soportar altas corrientes, lo que permitía tomar mediciones a largas distancias.

Por lo tanto, usando un optoacoplador, podemos calcular el tiempo para una rotación completa del eje y luego, conociendo el tiempo (llamemos este tiempo t en segundos), podemos calcular el número de revoluciones por minuto usando una expresión simple 60/t.

Recibir datos del sensor

Para reducir el costo del dispositivo y la complejidad del ensamblaje, así como aumentar la flexibilidad del sistema, conectaremos directamente el sensor de infrarrojos al microcontrolador e implementaremos todo el procesamiento de la señal recibida en el software. Vale la pena señalar de inmediato que esto no es tan simple, ya que la señal recibida del fotodiodo IR contiene ruido y la iluminación externa la afecta constantemente. Por tanto, el desafío es diseñar un dispositivo que se adapte automáticamente a la luz ambiental y a la distancia al objeto de medición.

La siguiente figura muestra un diagrama de la señal analógica del sensor de infrarrojos (fotodiodo)

Como la señal tiene ruido, cada vez que se determina la presencia y ausencia de un pulso (la presencia de un pulso indica que el eje está girando y el sensor “ve” la pegatina reflectante), una gran cantidad de oscilaciones “engañan” al microcontrolador . Además, estos factores nos impiden utilizar el comparador analógico incorporado del microcontrolador y debemos introducir el procesamiento de señales analógicas antes de cada procedimiento de conteo de ciclos.

La solución se encontró estimando la intensidad promedio, basándose en la intensidad de señal máxima y mínima del sensor, e incluyendo la histéresis en la región de intensidad promedio. La histéresis se utiliza para evitar que pulsos ruidosos cuenten ciclos repetidamente. La siguiente figura explica cómo funciona este algoritmo.

Cuando la señal sube de un estado bajo (sin reflejo de la pegatina en el eje) a un estado alto (reflejo de un pulso IR), el algoritmo tendrá en cuenta este pulso de alto nivel solo después de que cruce el "nivel creciente" de histéresis, y tendrá en cuenta el nivel bajo sólo después de que la señal cruce el "nivel descendente" de histéresis. Este algoritmo evita errores de cálculo provocados por una señal ruidosa.

Diagrama esquemático del dispositivo.

La solución del circuito es muy simple y compacta (debido al uso de un sensor en miniatura) y no contiene componentes costosos. El dispositivo funciona con tres pilas AAA.

Como habrás notado, no hay un potenciómetro para ajustar el contraste de la pantalla (lo que también ayuda a reducir el tamaño del dispositivo). Esto es posible gracias a la implementación en software de un algoritmo para ajustar automáticamente el contraste en función del nivel de tensión de alimentación mediante PWM y un filtro de paso bajo en los elementos R3, R4 y C2. Los usuarios pueden leer el texto del algoritmo en el código fuente del software del microcontrolador en la segunda parte del artículo.

El conector JP1 está destinado a la programación en circuito del microcontrolador. El conector JP2 está diseñado para conectar un sensor de usuario adicional.

Lista de componentes aplicados.

Designación
en el diagrama
Nombre, denominación
IC1 Microcontrolador ATmega48
Q1, Q2 transistor BCW66G
C1, C2 10 nF
C4, C5 33 pF
X1 Cristal de cuarzo 20MHz
R1, R2, R7 470 ohmios
R3 1 kiloohmio
R4 1,5 kiloohmios
R5 1 MOhm
R6 110 ohmios
R8 70 ohmios
LED3 Diodo emisor de luz
IR1 Optoacoplador TCND-5000
B1 Botón
B2 Interruptor de alimentación
JP1 Conector de programación en circuito
JP2 Conector de expansión

Demostración del funcionamiento de un tacómetro sin contacto en un microcontrolador AVR

  • ¿Dónde puedo conseguir el firmware para el tacómetro?
  • Firmware: en la segunda parte del artículo (al final de la descripción hay un enlace al archivo con la fuente y HEX)
  • Muchas gracias
  • ¿Tiene un diseño de PCB?:confundido:
  • Desafortunadamente, no hay ningún dibujo de la placa de circuito impreso. Creo que no será demasiado difícil desarrollarlo. No hay muchos componentes y son varios transistores, diodos, condensadores y resistencias.
  • ¿Alguna vez ha pensado en fabricar un velocímetro en lugar del tacómetro para poder utilizar equipos de moto? Hay muchos circuitos para tacómetros y velocímetros separados, pero no hay ninguno para un dispositivo dual. ¡Si lo lograras, crearías un diseño muy popular! ¿Qué opinas?
  • Quizás, pero no es el mismo tacómetro. Estoy de acuerdo en que tal diseño tendrá demanda. Ahora he encontrado novedades en Internet, como ordenadores de a bordo, lectura de datos a través de CAN/LIN desde el ordenador de a bordo y presentación visual en tiempo real en las pantallas LCD del coche. Algo como esto...
  • Firme aquí http://radioparty.ru/forums/viewtopic.php?f=2&t=39
  • ¿Alguien ha intentado montarlo en Proteus?

Esta no fue mi idea. Un amigo me acaba de pedir que invente un dispositivo para poder contar las revoluciones del eje del motor sin cables y ajustar el equipo diésel. Y para que puedas usarlo en cualquier lugar.

Después de sentarme y pensar, se me ocurrió lo siguiente:

El principio de funcionamiento es sencillo: encendemos el LED IR y el fotodiodo recibe el reflejo. Contamos el tiempo entre recepciones de señal, lo convertimos a revoluciones por minuto y lo mostramos en pantalla. La fuente de alimentación significa que funciona con batería.

En general, no lo haré tira del gato..... :)

En ese momento tenía un microcontrolador como este: PIC16F88. Esto es lo que pasó.

Diagrama del dispositivo:

No me molesté con el sensor de señal de infrarrojos. Aunque, si se deseaba, era posible (y para los curiosos, esto podría servir como incentivo para mejorar J) enchufar un sensor TSOP1736 en lugar de un fotodiodo (que, de hecho, tenía en stock en ese momento). En principio, se puede alimentar con 36 kHz desde un generador montado en un temporizador 555. Puede iniciar el generador con solo una señal que enciende el LED IR. Así es... Además, realicé tales experimentos. Cuando se aplicó luz de 36 kHz al TSOP, su salida fue de 5 voltios. Cuando se cerró el haz de luz, la salida TSOP se restableció a cero. Pero como la tarea era montar un dispositivo autónomo con un consumo mínimo, consideré un desperdicio gastar energía en un sensor y un generador. Además, la distancia al objeto medido no fue particularmente crítica. Incluso una distancia de un centímetro estaba bien. En general, resultó así.

La fuente de alimentación del LCD proviene directamente del puerto PIC, al igual que la fuente de alimentación LM358, para reducir el consumo de energía en modo de suspensión.

Desafortunadamente, no queda ninguna placa viva del primer prototipo :(. Era una placa sin amplificación de la señal del fotodetector. La señal iba directamente al MK.

El tablero quedó así:

Dado que el nivel de señal del fotodetector no siempre fue suficiente para el microcontrolador, fue necesario complementar el circuito. Construí un amplificador usando LM358. Ahora el circuito se ve exactamente como está.

Una vez seleccionada la carcasa y adaptada la placa a ella, montamos este simpático dispositivo:


El principio de funcionamiento es el siguiente:

Se aplica una marca al objeto en estudio utilizando un corrector de pruebas de oficina habitual. Unos 5-7 mm de diámetro. O se pega una etiqueta de papel blanco.

Cuando se enciende la alimentación por primera vez, el PIC comienza a contar la duración del período entre pulsos que, reflejados en la etiqueta, llegan al fotodetector. . Si no hay pulsos durante aproximadamente 4 segundos, la lectura se restablece a cero. Si no hay pulsos durante aproximadamente 20 segundos, el dispositivo pasa al modo de bajo consumo. El indicador se apaga. Para la siguiente medición es necesario presionar el botón conectado al puerto RB0. y el dispositivo “se despierta”. El ciclo comienza de nuevo.

La precisión de las lecturas es excelente, pero no en todo el rango. A altas velocidades las lecturas “flotan”, pero sólo ligeramente y no de forma crítica.

La única desventaja de este dispositivo es su no muy largo alcance. Aproximadamente un centímetro. Pero esto se puede resolver, como escribí anteriormente, usando un fotodetector como TSOP1736 o TSOP1738 y un generador con un temporizador 555. En este caso, no es necesario el LM358.

Una aclaración más: el material del objeto en estudio debe ser oscuro.

El archivo con el archivo proteus y la fuente está aquí.

Por cierto, encontré un código fuente antiguo que implementa el principio de contar pulsos usando un módulo de captura, pero el indicador es LED. Pero no es difícil rehacerlo para LCD, será más fácil.



 Arriba