Saltar al contenido

Inicio rápido: controlador de motor de CC de un transistor

julio 10, 2021
FD1WMTRHHS9SMDG

Este es un controlador de motor PWM (Pulse Width Modulated).
Utiliza un solo transistor pequeño para hacer funcionar un pequeño motor de CC.

Si bien el circuito es muy sencillo (¿algunos dicen aburrido?), Tiene una
truco bastante bueno en el software: ancho de pulso modulado (PWM)
control de velocidad – con rampa de velocidad hacia arriba y hacia abajo.

Es solo un transistor … Tuve que hacer algo para hacerlo más
¡interesante!

El transistor (tipo 2N3904 NPN) está ahí para manejar el mayor
corriente requerida por el motor. (ver esquema para conexiones).

Agregué un par de otros juguetes al circuito de transistores simple para hacerlo
más fácil de ver lo que está pasando aquí.

El LED ROJO está controlado por software. Se enciende solo cuando el motor está
acelerando (acelerando), y se apaga justo antes de que arranque el motor
Ralentizando.

El LED AZUL está conectado a través del colector de transistores – pines emisores.
Se enciende solo cuando el transistor está apagado. Así que básicamente está mostrando
el período de apagado entre los pulsos de accionamiento del motor.

O – conecte el LED azul entre el colector del transistor y V +
¡para que pueda VER el voltaje de retroceso EMF!

Video:
Un breve videoclip de esta demostración en funcionamiento …

http://www.youtube.com/watch?v=gd39Jtel2uA&feature=youtu.be

Manifestación:
SPIN puede parecer un poco extraño al principio, pero es un idioma fácil de aprender.

En primer lugar, necesita la herramienta Propeller, que incluye el editor, ayuda
archivos, ejemplos, objetos comunes y el Manual de Propeller.
Vea el enlace a continuación para obtener eso.

Hay tres ciclos en este pequeño programa de demostración.
El lazo exterior – Loop Forever.
Y dos bucles interiores que hacen que los trenes de impulsos de la rampa suban y bajen.

La rampa comienza con anchos de pulso muy cortos y aumenta el ancho de cada
pulso sucesivo en el tren.

La rampa descendente hace lo contrario, acortando cada pulso subsiguiente en el tren.

El motor reacciona cuando se enciende la energía, funcionando más rápido cuando se deja encendida
durante un período más largo.

Ese es realmente el corazón de todos los esquemas de modulación de ancho de pulso.

La herramienta de programación de hélices es gratuita de Parallax en:
http://www.parallax.com/tabid/832/Default.aspx

La estructura del programa está determinada por la sangría. ¡Así que ten cuidado con eso!
Este ejemplo se puede copiar y pegar directamente en la herramienta de apoyo.

Código:

{Motor.spin Richard Lamb – 15 de junio de 2013 cavelamb@earthlink.net}
ESTAFA
_CLKMODE = XTAL1
_XINFREQ = 5_000_000

‘definir tiempos
MSec = _XINFREQ / 1_000
USec = _XINFREQ / 1_000_000
Tlong = Usec * 600
Tshort = ms * 300

‘definir pines IO
P_LED = 06
P_Motor = 07
ENCENDIDO = 1
APAGADO = 0

‘definir las constantes del programa
Tsteps = 120 ‘número de pasos por rampa

VAR
Largo X

PUB PWM_Motor_Demo

dira [P_LED] : = 1 ‘
dira [P_Motor] : = 1 ‘
fuera [P_Motor] : = 0 ‘inicio bajo

Repetir, repetir para siempre
Outa[P_LED] : = 0 ‘LED encendido mientras se acelera

Repita X de 1 a T pasos paso 1 ‘Bucle de aceleración
fuera[P_Motor] : = 1 ‘encienda el motor
waitCNT ((X * Tlong) + cnt) ‘retraso más largo cada paso hace un pulso más largo
fuera[P_Motor] : = 0 ‘apagar el motor
waitCNT ((Tsteps-X + 1) * Tlong + cnt) ‘+1 para evitar que 0 envuelva el contador a 8 minutos.

fuera[P_Motor] : = 1 ‘breve retraso para alargar el tiempo de encendido.
waitcnt (Tshort * 5 + cnt)

Outa[P_LED] : = 1 ‘LED apagado mientras se desacelera

Repita X de 1 a T pasos paso 1 ‘Bucle de rampa descendente
fuera[P_Motor] : = ENCENDIDO
waitCNT ((Tsteps-X + 1) * Tlong + cnt) ‘retraso más corto cada paso hace un pulso más corto
fuera[P_Motor] : = APAGADO
esperarCNT ((X * Tlong) + cnt)

waitcnt (Tshort * 5 + cnt) ‘breve retraso mientras está apagado

Sé el primero en compartir

    Comentarios

    close