13. Motor DC (ventilador)
13. Motor DC (ventilador)¶
Resumen¶
El motor de corriente continua está controlado por el chip HR1124S, un controlador de puente en H de un solo canal utilizado en motores de este tipo. Este utiliza transistores de potencia PMOS y NMOS con baja resistencia en estado activo, lo que garantiza una menor pérdida de potencia y un mayor tiempo de funcionamiento seguro.
El motor está conectado como vemos en la imagen siguiente:
El control del motor se realiza siguiendo la tabla lógica:
| IO17 | IO18 | Estado del motor |
|---|---|---|
| Alto (H) | Bajo (L) | Gira hacia delante |
| Bajo (L) | Alto (H) | Gira en sentido contrario |
| Alto (H) | Alto (H) | parada (una parada gradual) |
| Bajo (L) | Bajo (L) | freno (freno a tope) |
Prueba del código¶
Abre Thonny. Conecta la placa al ordenador y selecciona el puerto al que está conectada Coding Box. En "Archivos", abre el programa A13MP.py y haz clic en el botón
.
El programa es:
'''
* Archivo : A13MP
* Versión Thonny : Thonny 5.0.0
------------------------------------------------------
Tabla lógica de giro del motor:
------------------------------------------------------
IO17(INA) | IO18(INB) | estado del motor |
------------------------------------------------------
Alto (H) | Bajo (L) | Gira en sentido contrario |
------------------------------------------------------
Bajo (L) | Alto (H) | Gira en hacia delante |
------------------------------------------------------
Alto (H) | Alto (H) | parada gradual |
------------------------------------------------------
Bajo (L) | Bajo (L) | freno a tope |
------------------------------------------------------
'''
from machine import Pin
import time
#pin de control INA es IO17
INA = Pin(17,Pin.OUT)
#pin de control INB es IO18
INB = Pin(18,Pin.OUT)
while True:
#adelante
INA.off()
INB.on()
time.sleep(2)
#atras
INA.on()
INB.off()
time.sleep(2)
#parar
INA.off()
INB.off()
time.sleep(2)
Resultado de la prueba¶
Haz clic en "Ejecutar script actual"
para ejecutar el código. Una vez cargado el código, verás que el ventilador gira en sentido horario durante 2s y, a continuación, gira en sentido antihorario durante otros 2s. Después se detiene. Estas acciones se repiten.
Pulsa "Ctrl+C" o haz clic en "Detener/Reiniciar el intérprete"
para detener la ejecución.
