En esta experiencia se observará cómo es posible invertir el sentido de giro de un motor DC mediante el puente H y su velocidad con PWM (modulación por ancho de pulsos) regulada por un potenciómetro. Al final tendremos un puente H con un control de velocidad por Arduino.
Para esta experiencia utilizamos los siguientes componentes:
- 1 Protoboard
- 1 Potenciómetro
- 1 Arduino Uno
- Jumpers
- 4 Resistencias de 1kΩ
- 4 Diodos (1N4001)
- 4 Transistores NPN (C2073)
- 1 Motor DC
El puente H obtiene este nombre a partir de que la configuración del mismo se asemeja a una H mayúscula.
Para tener una idea más clara de lo que trata este proyecto podemos visitar los siguiente blogs:
Configuración Utilizada para la realización del proyecto:
R1= 1 kΩ
En esta experiencia se mostrará esta configuración para mayor entendimiento, sin embargo, utilicé un puente H ya impreso en una placa (el cual podrán ver su funcionamiento más adelante en el video preparado)
Abrimos Arduino IDE y escribimos el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
int lect=0; void setup() { Serial.begin(9600); pinMode(11,OUTPUT); //declaramos los pines como salidas pinMode(10,OUTPUT); } void loop() { if (Serial.available()>0) { lect=Serial.read(); if (lect=='2') { int niv=(analogRead(A0)/4); int niv1= (niv*100)/255; //cálculo para imprimir en M. Serial. analogWrite(11, niv); Serial.print (niv1);Serial.println("%"); delay(1000); } if (lect=='1') { int niv=(analogRead(A0)/4); int niv1=(niv*100)/255; analogWrite(10, niv); Serial.print(niv1);Serial.println("%"); delay(1000); } if (lect=='0') { analogWrite(11, 0); analogWrite(10,0); Serial.print(0);Serial.println("%"); delay(1000); } delay(2000); } } |
En este código, al ingresar a Monitor Serial: al accionar el número uno (1), nos permitirá que el motor gire hacia una dirección. Al accionar cero (0), el motor se detendrá y al accionar el número dos (2), logramos que el motor gire hacia la otra dirección. Esto es en base a lo que es el control de giro del motor.
Como podemos observar en este código la velocidad del motor está regulada por PWM (función analogWrite(pin,nivel)), en donde observaremos, más adelante en el video, la impresión de los porcentajes de velocidad que este alcanza.
Podemos recordar que en “pin” se colocará el pin a utilizar (en esta experiencia utilizamos el 10 y 11). En nivel se utilizará un valor entre 0 y 255 siendo el 0 el 0% y el 255 el 100%, que este valor será el que registrará el potenciómetro y el cual hemos transformado dividiéndolo entre 4.
Espero que la información suministrada sea de su agrado y utilidad.
Saludos.
EL CODIGO ESTA EN C?
ES QUE YO LO OCUPE PERO ME DICE QUE EL CODIGO ES INVALIDO
Código Arduino
Si quisiera simular el circuito en proteus, que transistores podría usar si no están los C2073
que amperaje da el puente h??
Depende principalmente de la corriente de colector de los transistores que uses
como seria el arreglo del circuito agregando 2 optoacopladores PC817 entre arduino y el puente h, y como se calcularian las resistencias??
Ese tipo de servicios conlleva con costo asociado amigo. Si desea que le apoyemos con el diseño, podemos enviarle una cotización
Ese tipo de servicios especiales conlleva un costo asociado. Si necesitas ayuda, nosotros te ayudamos pero te cobramos por ello