Se trata de un completo circuito de control bidireccional de puente H para DC motores para la
Junta de inicio rápido de paralaje.
http://www.youtube.com/watch?v=T7lbAXa1-BS&feature=youtu.be
Hay seis transistores, cuatro para el control del motor, conectan los otros dos la
pines de salida del microcontrolador al controlador del motor.
Ver el esquema abajo para los detalles más escabrosos.
No es un circuito difícil para construir en un protoboard.
Y pueden utilizar transistores más grandes para los motores más grandes.
Depende de lo que usted necesita para su proyecto...
Partes:
4 cada transistores de NPN 2N3904
2 cada transistores PNP 2N3906
Motor (es un motor de engranaje)
Protoboard, cables, etc..
Video:
http://www.youtube.com/watch?v=T7lbAXa1-BS&feature=youtu.be
Demo:
El programa demo está escrito en la vuelta para el regulador micro del propulsor de la paralaje.
Es muy sencillo. No controladores u otros objetos se requieren como todo esto
Demo hace es ejecutar el motor hacia adelante y hacia atrás. Lo hace estableciendo una de las
control del motor salida pines a 1 para encender los transistores para esa dirección.
Nota la advertencia en el código - solo enciende un bit de salida en un momento.
Encender ambas a la vez hace que los transistores muy enojado.
(Entonces usted estará apesadumbrado!)
Para un conductor más elegante ver mi truco de un transistor. Muestra cómo hacer un arranque suave /
regulador de velocidad mediante software genera PWM (Pulse Width Modulation).
(Bueno, era sólo un transistor. Que tenía que hacer algo para hacer interesante!)
Código:
{BiDirectionalMmotorDemo.spin Richard Lamb - 16 de junio de 2013}
CON
_CLKMODE = XTAL1
_XINFREQ = 5_000_000
' definir tiempos
MS = _XINFREQ / 1_000
' definir pines IO
' tenga en cuenta sólo uno de los pines motor puede activarse en cualquier momento!
MOT_LFT = 0
MOT_RIT = 1
LED_LFT = 23
LED_RIT = 16
VAR
Palpitar PUB
dira [LED_LFT]: = 1' LED
dira [LED_RIT]: = 1
dira [0..1]: = 1' Motores sistema salidas
Outa [MOT_RIT]: = 0' Inicio con ambos pernos de la baja
Outa [MOT_LFT]: = 0
Repetir ' repetir para siempre
' Izquierda
Outa [LED_LFT]: = 1' LED en
OUTA [MOT_LFT]: = 1' motor en
Wait(3000)
Outa [LED_LFT]: = 0' LED apagado
OUTA [MOT_LFT]: = 0' motor apagado
Wait(500) ' intermissioin
' Derecho
Outa [LED_RIT]: = 1' LED en
OUTA [MOT_RIT]: = 1' motor en
Wait(3000)
Outa [LED_RIT]: = 0' LED apagado
OUTA [MOT_RIT]: = 0' motor apagado
PUB wait(MS)
waitcnt((MS*msec)+CNT)