Control de motor de CD con PWM
Se propone el desarrollo de un control de motor de CD usando una señal de PWM que es generada por una tarjeta Arduino UNO. El ancho de pulso del PWM es controlao por una señal análoga de un potenciómetro.
Descripción
El desarrollo de proyectos de robótica requiere el accionamiento y control de motores de CD de una forma precisa, una manera fácil y económica es el uso de la señal PWM.
Para la generación de la señal PWM se usará una tarjeta Arduino UNO, el ancho del pulso de la señal estará en función del valor de voltaje analógico proveniente de un potenciómetro.
El proyecto usa un transistor como dispositivo que permite accionar el motor de CD en conjunto con un diodo de libre camino para proteger el dispositivo durante la frenada.
1. Selección del motor de CD
El motor de CD debera ser de 5V y 200 mA con el fin de que sea alimentado usando la fuente que proporciona la tarjeta Arduino UNO.
El motor puede ser adquirido en
https://store.robodacta.mx/motores/motores-dc/rm2.-motor-dc-3-a-12v/
2. Selección del transistor
Se sugiere un transistor NPN 2N3904 200 mA 40V, el cuál será suficiente para manejar la corriente del motor.
El transistor puede ser adquirido
https://store.robodacta.mx/transistores-y-tiristores/npn/2n3904-transistor-npn-200ma-40v-es/
3. Resistencia de base y potenciómetro.
La resistencia que pemitira saturar y cortar el transistor en la base sera de 10K, y el potenciómetro que fijara la referencia de voltaje para el ancho de pulso sera de 50K.
Resistor de 10K a 1/2 W
https://store.robodacta.mx/resistencias-y-diodos/resistencias-de-carbon/r10k-1-2-resistencia-de-carbon/
Potenciómetro
https://store.robodacta.mx/resistencias-y-diodos/potenciometros/potenciometro-50kohms/
4. Diodo de libre camino
Para el diodo de libre camino se sugiere uno de recuperación rápida 1N4148 75V 150 mA
https://store.robodacta.mx/resistencias-y-diodos/diodos/1n4148-diodo-switch-75v-150ma/
5. Programa Arduino UNO
Se usará la tarjeta de desarrollo Arduino UNO, primeramente se descarga el software de desarrollo en https://www.arduino.cc/en/Main/OldSoftwareReleases, a continuación creamos el sketch para escribir el programa tal como se muestra:
// Interface a motor de CD// Motor conectado a D9// - HIGH enciende el motor// - LOW apaga el motor int motor = 9;int pot = 0; // potentiometro en A0 // La rutina de configuración se ejecuta una vez que se presiona reset:void setup() { // Inicializa el pin como salida. pinMode(motor, OUTPUT); // init serial monitor Serial.begin(9600);} // el ciclo se ejecuta infinitamente hasta que se oprime reset:void loop() { int val = analogRead(pot); // Los valores del pot son: 0 - 1023 para un rango de pwm de: 0-255 int pwm = map(val, 0, 1023, 0, 255); Serial.println(pwm); // muestra en la terminal serial el valor del PWM analogWrite(motor, pwm); delay(200);}
se guarda con el nombre que se desee y descarga al dispositivo usando la interface USB.
6. Armado del prototipo
Para la prueba se usará una tarjeta protoboard y se realizará la conexión tal como se muestra, cuidando la polaridad a fin de evitar fallas y daño de dispostivos.
Para imagen detallada consulta las imágenes anexas.