Hay varias razones por las que su circuito de muestra no es adecuado:
- No tiene fuentes de alimentación dobles (± 24 V) en su scooter.
- El método de control de voltaje es inútil. A media tensión, los transistores de salida desperdiciarán tanta energía como el motor está utilizando.
- El potenciómetro no funciona mecánicamente de extremo a extremo. (Vea la Figura 1).
Figura1.Unaolladeaceleradordewigwagparaunscooterdemovilidad.Tengaencuentaquesoloseutilizaunapequeñapartedelrecorridode330°delpotenciómetro,talvez±30°.
Lassolucionesaestoson:
- Diseñoparaelsuministrodeunsoloriel.EstorequeriráelusodeunpuenteenHparapermitirlainversióndeladireccióndelacorrienteenelmotor.
simular este circuito : esquema creado usando CircuitLab
Figura 2. Un esquema simplificado de un puente en H. Con los interruptores 1 y 4 cerrados como se muestra, el motor funcionará en una dirección. Abriendo 1 y 4 y cerrando 2 y 3, el motor puede funcionar en la dirección opuesta. Para detener el motor abra todos los interruptores. En la práctica, los interruptores serán reemplazados por transistores.
- En lugar de controlar la corriente activando gradualmente Q1 / Q2 usaremos PWM (modulación de ancho de pulso). En este esquema, el motor se pulsa entre la potencia máxima y la potencia cero muy rápidamente y el ancho del pulso se ajusta en proporción a la velocidad deseada.
Figura3.UnaseñalPWMquevadel80%al20%ydel80%alcero.Silafrecuenciadelpulsoesaltaenrelaciónconeltiempodereaccióndelmotor,seobtieneuncontrolmuysuaveconbajaspérdidasenlostransistoresdeconmutación.
Elmejorenfoqueseráusarunmicrocontroladorparaleerelpotenciómetro,calcularelniveldesalidadeseadoutilizandounalgoritmosimpledelimitacióndeaceleración,convertirloenPWMyenviarloaunpuenteHadecuado.
simular este circuito
Figura 4. Diagrama de bloques en bruto del sistema de control PWM.
Tareas de código:
-
Lea el potenciómetro y normalice o escale a, por ejemplo, -100 a +100. Probablemente debería agregar una banda muerta en el centro para evitar el deslizamiento o la corriente de funcionamiento a través del motor cuando se detiene. por ejemplo:
0 ------------------------- mid ------------------------- 330°
^ max reverse max forward ^
-100 -------- 0 ---- 0 -------- +100 scaled output
-
El uso de esta estrategia requerirá un movimiento definido del wigwag antes de que se active la corriente.
-
Sospecho que el motor será más bien débil y que, incluso con un wigwag completo desde el reposo, es probable que la aceleración no sea un problema. Si es así, añada una rutina:
// Very crude pseudo-code!
int v, a, pwm; // velocity and acceleration and pwm
ww = getScaledInput; // wigwag
if (ww > 0) {
if (ww > pwm) { // we need to accelerate to pwm
pwm = pwm + accel;
}
if (ww < pwm) { // we need to decelerate
pwm = pwm - accel;
}
if (ww == 0) { // stop
pwm = 0;
}
}