{"id":1020,"date":"2019-06-23T00:01:41","date_gmt":"2019-06-23T00:01:41","guid":{"rendered":"http:\/\/robots-argentina.com.ar\/didactica\/?p=1020"},"modified":"2019-06-23T00:01:41","modified_gmt":"2019-06-23T00:01:41","slug":"control-de-motores-de-cc-por-ancho-de-pulso-pwm","status":"publish","type":"post","link":"https:\/\/robots-argentina.com.ar\/didactica\/control-de-motores-de-cc-por-ancho-de-pulso-pwm\/","title":{"rendered":"Control de motores de CC por Ancho de Pulso (PWM)"},"content":{"rendered":"

La Regulaci\u00f3n por Ancho de Pulso<\/a><\/strong> de un motor de CC est\u00e1 basada en el hecho de que si se recorta la CC de alimentaci\u00f3n en forma de una onda cuadrada, la energ\u00eda que recibe el motor disminuir\u00e1 de manera proporcional a la relaci\u00f3n entre la parte alta (habilita corriente) y baja (cero corriente) del ciclo de la onda cuadrada. Controlando esta relaci\u00f3n se logra variar la velocidad del motor de una manera bastante aceptable.
\n
\"\"<\/a><\/p>\n

El circuito que se ve a continuaci\u00f3n es un ejemplo de un control de Regulaci\u00f3n de Ancho de Pulso (PWM<\/strong><\/a>, Pulse-Width-Modulated en ingl\u00e9s), que se podr\u00eda adaptar al circuito de un Puente H<\/strong><\/a> (Puente H<\/a>: Circuito para controlar motores de corriente continua. El nombre se refiere a la posici\u00f3n en que quedan los transistores en el diagrama del circuito).<\/p>\n

El primer circuito \u2014con el MOSFET<\/a><\/strong> de potencia BUZ11<\/strong><\/a>\u2014 permite controlar motores medianos y grandes, hasta 10 A de corriente. El segundo circuito \u2014con el transistor 2N2222A<\/strong><\/a>\u2014 es para motores peque\u00f1os, que produzcan una carga de hasta 800 mA.<\/p>\n

\"\"<\/a><\/p>\n

\"\"<\/a><\/p>\n

El que sigue es un circuito gen\u00e9rico de generaci\u00f3n de pulsos que se puede utilizar en aquellos lugares donde sea necesario un pulso digital no demasiado preciso. Cambiando los valores de R1 y R2 se ajusta la frecuencia b\u00e1sica. El potenci\u00f3metro regula el ancho de pulso. <\/p>\n

\"\"<\/a><\/p>\n

A continuaci\u00f3n, el circuito b\u00e1sico y la f\u00f3rmula para calcular los anchos de pulso generados por el integrado 555<\/a>.<\/p>\n

\"\"<\/a><\/p>\n

Completando la informaci\u00f3n b\u00e1sica, debemos saber que la mayor\u00eda de los microcontroladores poseen generadores de ancho de pulso modulado para control de velocidad de motores y otros controles de potencia digitales, como el brillo de un led o de una l\u00e1mpara. En las salidas digitales del Arduino UNO se identifica la capacidad PWM con un s\u00edmbolo ~<\/font><\/strong>. En el Arduino UNO los pines 3, 5, 6, 9, 10 y 11 tienen capacidad de salida de pulsos digitales con ancho modulado:
\n
\"\"<\/a><\/p>\n

En estos m\u00f3dulos PWM de los microcontroladores, la proporci\u00f3n de tiempo que est\u00e1 encendida la se\u00f1al respecto al total del ciclo se denomina \u201cDuty cycle<\/strong>\u201d, y generalmente se expresa en tanto por ciento.<\/p>\n

La se\u00f1al promedio es el producto de la tensi\u00f3n m\u00e1xima y el valor Duty Cycle. La expresi\u00f3n para el c\u00e1lculo es:
\n
\"\"<\/a>
\nDe forma similar, tenemos que
\n
\"\"<\/a><\/p>\n

La \u00absalidas anal\u00f3gicas\u00bb NO lo son<\/strong><\/p>\n

Debemos tener presente que en una salida PWM el valor de tensi\u00f3n en realidad es Vcc. Por ejemplo, si estamos alimentando un dispositivo que requiere 3V, y usamos una se\u00f1al pulsada, en realidad estaremos suministrando 5V durante un 60% del tiempo y 0V durante el 40%. Pero si el dispositivo tiene alguna caracter\u00edstica por la cual soporta como m\u00e1ximo 3V, podemos da\u00f1arlo si lo alimentamos mediante una se\u00f1al PWM de estas caracter\u00edsticas.<\/p>\n

La se\u00f1al pulsada es buena para emular una se\u00f1al anal\u00f3gica en muchas aplicaciones. Podemos, por ejemplo, variar la intensidad luminosa en un LED. \u00c9ste realmente se enciende y apaga varias veces por segundo, pero el parpadeo es tan r\u00e1pido que el ojo no lo aprecia. El efecto percibido es que el LED brilla con menor intensidad.<\/p>\n

Otro ejemplo es que al variar la velocidad de un motor DC con un PWM, en la mayor\u00eda de los casos la inercia del motor se encargar\u00e1 de que el efecto de los cortes de se\u00f1al sean despreciables. No obstante, dependiendo de la frecuencia utilizada, podemos notar vibraciones o ruidos, lo que implica que deberemos variar la frecuencia del ciclo PWM.<\/p>\n

Tambi\u00e9n es importante tener en cuenta aquellos efectos que la r\u00e1pida conexi\u00f3n y desconexi\u00f3n de la se\u00f1al pulsada pueden producir en el dispositivo que se alimenta. En el caso de cargas inductivas (motores, rel\u00e9s, o electroimanes), la desconexi\u00f3n producir\u00e1 una generaci\u00f3n de contracorriente que puede da\u00f1ar la salida digital, o al dispositivo, por lo que ser\u00e1 necesario implementar una protecci\u00f3n.<\/p>\n

Control de ancho de pulso en Arduino<\/strong><\/p>\n

\u25a0 En Arduino Uno, Mini y Nano existen 6 salidas PWM de 8 bits en los pines 3, 5, 6, 9, 10 y 11.<\/p>\n

\u25a0 En Arduino Mega existen 15 salidas PWM de 8 bits en los pines 2 a 13 y 44 a 46<\/p>\n

\u25a0 En Arduino Due existen 13 salidas PWM de 8 bits en los pins 2 a 13. Adicionalmente, esta placa incorpora dos salidas anal\u00f3gicas con resoluci\u00f3n de 12 bits (4096 niveles)<\/p>\n

Una resoluci\u00f3n de 8 bits en una salida PWM significa que tiene 256 niveles. Es decir, el Duty cycle se divide en 256 posiciones posibles.
\n


\n