Así que estoy tratando de controlar 28 servos para hacer un reloj de visualización de 7 segmentos con segmentos en movimiento. Usando una sola línea de señal y 4 MOSFET de canal p y 7 MOSFET de canal n y un decodificador de binario a 7 segmentos (cd4511).
Enlace al vídeo
A continuación se muestra un esquema de muestra y luego el esquema real, sé que ambos MOSFET aparecen como canal N, pero el producto final tiene los canales P adecuados con el pinout correcto, también puede ver la placa real, el módulo en el medio es para un RTC, junto al conector de barril es Vreg para el microcontrolador y Vreg para los servos
Mire las imágenes provistas como referencia en el esquema real porque en mis esquemas uso etiquetas y no líneas reales, así que no estoy seguro si eso lo ayudará a comprender el circuito, por eso dibujé uno de muestra con líneas. También tengo un enlace de video de uno de los dígitos que funciona como se esperaba, pero el problema surge una vez que conecto el resto de los dígitos.
Primero, hay un decodificador CD4511 binario a 7 segmentos, esto tomará 4 entradas ABCD, siendo A el bit menos significativo, manejo esos pines alto y bajo para hacer un número binario entre 0 y 9. El IC luego maneja las líneas de salida correspondientes ( ABCDEFG) alto para que ese número aparezca en una pantalla de segmento. Sin embargo, no lo estoy usando para manejar una pantalla LED, sino que estoy manejando MOSFET que actúan como interruptores laterales BAJOS para los servos, ¡los 28 servos! Sin embargo, no todos los 28 están realmente encendidos porque por cada 7 servos (por lo tanto, un dígito) tengo un MOSFET de canal P como interruptor lateral alto, que controlo con el microcontrolador, así que cuando cambia el tiempo solo cambio un dígito (7 servos ) a la vez y nunca los 28 servos.
Entonces, por ejemplo, si quiero que el primer dígito (el dígito de las unidades para el minuto) muestre un 3, configuraría A y B alto en el chip CD4511, esto luego a través de los MOSFET de canal N proporcionaría el lado bajo para el servos, entonces también activaría el P_channel MOSFET a través del microcontrolador para proporcionar solo el lado alto de los primeros 7 servos que corresponden al dígito de las unidades de los minutos. Entonces ahora esos 7 servos están "encendidos" y les doy la señal PWM para mover sus brazos a la posición deseada que revelará el segmento como en el video. En teoria el resto de los servos no estan ENCENDIDOS porque el decodificador CD4511 no esta prendiendo sus MOSFETs y tampoco les he ENCENDIDO el MOSFET de lado alto... el problema es que SI se mueven y los que quiero moverse no moverse correctamente!!! y no a la posición establecida por la señal PWM, sino de forma errática. Ahora, si desconecto todos los servos y solo dejo 7 servos conectados, no importa qué 7 servos sean, pero siempre que solo trabaje con un dígito, todo funciona. bien como en el video, los problemas son cuando todo está enchufado... Simplemente no puedo entender por qué. La señal PWM se ve limpia en el osciloscopio.
En teoría el resto de los servos no están ENCENDIDOS porque el decodificador CD4511 no está prendiendo sus MOSFET y tampoco he ENCENDIDO el MOSFET del lado alto para ellos... el problema es que SÍ se mueven
Sospecho que esto es causado por la retroalimentación de potencia a través de los servos 'sin potencia'. A diferencia de los LED que bloquean la corriente inversa, los servos RC tienen un IC de control (y quizás un puente H discreto) que parece un diodo con polarización directa cuando se conecta con polaridad inversa.
Considere el siguiente circuito simplificado con solo 2 segmentos y 2 dígitos. Los FET de dígitos y segmentos se modelan como interruptores y los servos como lámparas con diodos inversos parásitos:
simular este circuito : esquema creado con CircuitLab
El dígito 1 y el segmento A están encendidos y suministran energía a Servo1A. Pero hay otro camino, mostrado por las flechas, a través de Servo1B, Servo2B (invertido) y Servo2A. Servo2B caerá alrededor de ~0.6V, dejando ~5.4V para ser compartidos entre Servo1B y Servo2A. Cualquiera de estos servos o ambos pueden moverse si su parte del voltaje es suficiente para operarlos.
Para evitar retroalimentaciones, puede colocar un diodo en serie con el cable positivo de cada servo. Sin embargo, podría ser mejor cambiar las entradas de señal de los servos en lugar de sus fuentes de alimentación. La multiplexación de las señales de los servos también evitaría los posibles problemas causados por las señales que se envían a los servos sin alimentación con tierras flotantes.
Edwin Fairchild
Mayak
jack creasey
Mayak
Mayak
jack creasey
Edwin Fairchild
Edwin Fairchild
Edwin Fairchild