Tabla de contenido:
- Paso 1: Piezas y componentes
- Paso 2: el codificador
- Paso 3: Sensibilidad
- Paso 4: medición
- Paso 5: Montaje
- Paso 6: Código
- Paso 7: esquemas
- Paso 8: ¡De la PoC a la producción
- Paso 9: Galería de imágenes
Video: Measurino: una prueba de concepto de rueda de medición: 9 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Measurino simplemente cuenta el número de rotaciones de una rueda y la distancia recorrida es directamente proporcional al radio de la propia rueda. Este es el principio básico de un Odómetro y he comenzado este proyecto principalmente para estudiar cómo mantener el circuito (manejado por un microcontrolador Arduino), compatible con varios rangos de distancias, desde milímetros hasta kilómetros, y evaluar posibles problemas o mejoras.
Paso 1: Piezas y componentes
- Arduino Nano rev.3
- Pantalla OLED de 128 × 64 (SSD1306)
- Codificador rotatorio fotoeléctrico incremental (400P / R)
- Rueda de goma para modelo de avión (51 mm de diámetro)
- 2 pulsadores
- Batería de 9v
Paso 2: el codificador
Para este proyecto, probé varios codificadores rotativos baratos, pero los descarté de inmediato debido a problemas de precisión / sensibilidad. Así que fui al codificador rotatorio fotoeléctrico incremental de DFRobot - 400P / R SKU: SEN0230. Este es un codificador rotatorio fotoeléctrico incremental industrial con material de aluminio, carcasa de metal y eje de acero inoxidable. Genera una señal de pulso ortogonal de dos fases AB a través de la rotación del disco de rejilla y el optoacoplador. 400 pulsos / ronda para cada fase y 1600 pulsos / ronda para salida de fase dual 4 veces. Este codificador rotatorio admite una velocidad máxima de 5000 r / min. Y se puede utilizar para medir la velocidad, el ángulo, la velocidad angular y otros datos.
El codificador rotatorio fotoeléctrico tiene una salida de colector abierto NPN, por lo que debe usar resistencias pullup o habilitar el pull-up interno de Arduino. Utiliza un chip regulador de voltaje 750L05, que tiene una entrada de alimentación de amplio rango DC4.8V-24V.
Paso 3: Sensibilidad
Este codificador rotatorio optoeléctrico tiene una gran sensibilidad, lo que lo hace perfecto para aplicaciones de control y posicionamiento de ejes. Pero para mi propósito era demasiado sensato. Con una rueda de 51 mm, este codificador tiene una sensibilidad de 0,4 mm, lo que significa que si su mano tiene temblores mínimos, se grabarán. Así que bajé la sensibilidad agregando una histéresis en la rutina de interrupción:
interrupción vacía ()
{char i; i = digitalRead (B_PHASE); si (i == 1) cuenta + = 1; si no cuenta - = 1; if (abs (cuenta)> = histéresis) {flag_A = flag_A + count; cuenta = 0; }}
Este truco fue suficiente para dar una buena estabilidad a la medida.
Paso 4: medición
Seleccione su unidad de medida (decimal o imperial) y luego coloque la rueda con su punto de contacto en el inicio de su medida, presione el botón Reset y manténgalo girando hasta el final. De izquierda a derecha la medida aumenta y suma, de derecha a izquierda disminuye y resta. También puedes medir objetos curvos (la forma de tu coche, el pasamanos de una escalera de caracol, la longitud de tu brazo desde el hombro hasta la muñeca con el codo doblado, etc.).
Una rotación completa de una rueda con diámetro = D medirá una longitud de D * π. En mi caso, con una rueda de 51 mm, esto es 16,02 cm y cada tick mide 0,4 mm (ver párrafo Sensibilidad).
Paso 5: Montaje
El PoC se ha realizado en una placa de pruebas para demostrar los circuitos. Todos los componentes se han conectado a la placa y el codificador rotatorio está conectado a un bloque de terminales de tornillo de 2x2 polos. La batería es una batería estándar de 9v y el consumo total de energía del circuito es de alrededor de 60 mA.
Paso 6: Código
Para la pantalla, utilicé el U8g2lib, que es muy flexible y potente para este tipo de pantallas OLED, lo que permite una amplia variedad de fuentes y buenas funciones de posicionamiento. No perdí demasiado tiempo en llenar la pantalla con información, ya que esto era solo un Poc.
Para leer el codificador, estoy usando interrupciones generadas por una de las 2 fases: cada vez que se mueve el eje del codificador, genera una interrupción a Arduino ligada al aumento del impulso.
attachInterrupt (digitalPinToInterrupt (A_PHASE), interrupt, RISING);
La pantalla cambia automáticamente de milímetros a metros, a kilómetros y (si se selecciona desde el botón pulsador) de pulgadas, a yardas, a millas, mientras que el botón RST restablece la medida a cero.
Paso 7: esquemas
Paso 8: ¡De la PoC a la producción
¿Por qué es esto una prueba de concepto? Debido a muchas mejoras que podrían / deberían hacerse antes de construir un equipo en pleno funcionamiento. Veamos todas las posibles mejoras en detalle:
- Rueda. La sensibilidad / precisión de Measurino depende de la rueda. Una rueda más pequeña podría brindarle una mejor precisión al medir longitudes pequeñas (del orden de milímetros a centímetros). Una rueda mucho más grande con un brazo de extensión permitirá caminar por la carretera y medir kilómetros. Para ruedas pequeñas, se debe considerar el material: una rueda de goma completa podría deformarse ligeramente y afectar la precisión, por lo que en ese caso sugeriré una rueda de aluminio / acero con solo una cinta fina para evitar resbalones. Con una edición de software trivial (seleccione el diámetro de rueda correcto con un interruptor), podría considerar ruedas intercambiables para adaptarse a cualquier medida, utilizando un conector de 4 pines (es decir, puerto USB).
- Software. Al agregar otro botón pulsador, el software también podría encargarse de medir áreas de rectángulos o amplitud de ángulos. También recomiendo agregar un botón "Hold" para congelar la medida al final, evitando mover inadvertidamente la rueda antes de leer el valor en la pantalla.
- Reemplace la rueda con un carrete. Para medidas cortas (dentro de unos pocos metros), la rueda se puede reemplazar por un carrete con resortes que contenga hilo o cinta. De esta forma solo necesitas tirar del hilo (haciendo girar el eje del codificador), tomar tu medida y mirar en el display.
- Agregue visualización del estado de la batería. El pin de referencia Arduino de 3.3v (con una precisión del 1%) se puede usar como base para el convertidor ADC. Entonces, al hacer una conversión de analógico a digital en el pin de 3.3V (conectándolo a A1) y luego comparando esta lectura con la lectura del sensor, podemos extrapolar una lectura real, sin importar el VIN (siempre que esté por encima de 3,4 V). Un ejemplo práctico podría encontrarse en este otro proyecto mío.
Paso 9: Galería de imágenes
Recomendado:
Conceptos básicos del motor - Concepto súper fácil de entender con un experimento: 7 pasos (con imágenes)
Conceptos básicos del motor | Concepto súper fácil de entender con un experimento: en este instructivo, voy a enseñarle sobre el principio fundamental subyacente de los motores. Todos los motores que nos rodean funcionan según este principio. Incluso los generadores funcionan en la declaración recíproca de esta regla. Estoy hablando de la mano izquierda Ru de Fleming
Robot de una rueda: 3 pasos
Robot de una rueda: en este proyecto voy a mostrarte cómo hacer un robot de una rueda o un monociclo paso a paso para que puedas hacer el tuyo propio. Este robot puede equilibrarse automáticamente calculando la inclinación con la ayuda del sensor MPU6050, consta de dos
Coche Arduino (concepto): 4 pasos
Arduino Car (Concept): Ik ga een Arduino auto maken die je bestuurt met bluetooth via een mobile app. Met deze app kan je aangeven de motors aan of uit moeten. Je kan aangeven hoeveel hij moet draaien met de app door de graden van de hoek aan te geven hoever hoe moet
Mecanismo de agarre del robot Omni Wheel (concepto): 7 pasos
Mecanismo de agarre de robot de rueda Omni (concepto): Este es el agarre de robot de rueda Omni, y tiene como objetivo mejorar el mecanismo de agarre robótico mediante el uso de ruedas (que coincide con el tema de este concurso), y como prueba de concepto a través del modelo de Solidworks. Sin embargo, no tengo los recursos y
Manta Drive: prueba de concepto para un sistema de propulsión ROV .: 8 pasos (con imágenes)
El Manta Drive: prueba de concepto para un sistema de propulsión ROV .: Cada vehículo sumergible tiene debilidades. Todo lo que perfora el casco (puerta, cable) es una fuga potencial, y si algo debe perforar el casco y moverse al mismo tiempo, el potencial de fuga se multiplica. Este instructivo describe