Esta publicación describe cómo en una noche un foco de seguimiento para un espejo estaba hecho de mierda y palos. Video de lo sucedido:
Prólogo
Las frambuesas son redundantes aquí, sin duda. Pero si estamos hablando de un dispositivo más complejo en el que el enfoque de seguimiento es solo una de las funciones, ¿por qué no?
No se me ocurrió nada nuevo, simplemente lo tomé y lo hice en una noche. Me gustó el resultado, así que quiero compartirlo con la comunidad.
Mecánica, montaje
Para mí, la mecánica siempre es un obstáculo. Encontrar mierda y palos debajo de los brazos que sean compatibles entre sí, y que a la vez te permitan alcanzar tu objetivo, puede ser difícil. Pero esta vez tuve suerte.
El prototipo se parece a esto:

Como engranaje en el eje del servidor, utilicé la tapa de la caja de leche en la que pegué el resto del collar del engranaje para la lente SLR. La tapa de leche en mi caso resultó ser el diámetro óptimo para el ajuste en una lente de 50 mm. Pegué el "engranaje" con la ayuda de cianoacrilato con soda a uno de los balancines suministrados con el servo y lo atornillé. Para unir la estructura a la DSLR, necesita un tornillo con una rosca de pulgada, encontré uno de un trípode de pulpo.
En general, el diseño de alguna manera se materializó en la realidad:

Hoy es difícil sin reglas. La cinta azul terminó y tuve que montar el sensor en cinta de papel.
Electrónica
Utilizo Raspberry Pi 3 como mi cerebro. Alimento el servo con una unidad de fuente de alimentación de 24 VCC separada con un convertidor reductor DC-DC en un microcircuito LM2596 con salida de 7.2V.
El algoritmo de trabajo es simple de deshonrar. Hay información sobre la distancia al objeto desde el buscador de rango ultrasónico HC-SR04, que se convierte en un ángulo de rotación del servo SG-90. Se fija un "engranaje" en el eje de los servos, que gira la lente a través del engranaje de piñón, estableciendo la distancia focal.
Código
La conexión de un sensor ultrasónico se describe
aquí . El servocontrol se realiza utilizando hardware PWM, tomé la configuración
aquí .
El código resultó ser muy modesto, pero esto es solo el comienzo y no hay límite para la perfección.
Para determinar la correspondencia del ángulo de rotación del servo con la longitud focal, realicé varias mediciones de calibración, como resultado recibí una dependencia lineal del área de interés (40-70 cm), el resto se tomó como foco hasta el infinito.
Conclusión
En mi opinión, incluso los servidores SG-90 más baratos son capaces de mucho, una caña de 1.2 kg / cm para tal bebé, e incluso con tal velocidad, eso es genial, especialmente por un precio de 1.5 dólares. Lo mismo ocurre con el telémetro ultrasónico.
P.S. El servidor se puede controlar por separado del sensor, por ejemplo, hacer transiciones rápidas de un objeto a otro con diferentes distancias focales. Además, para mejorar el sistema, puede agregar un filtro que compense las deficiencias en la medición del sensor ultrasónico.