Estabilizar salida pwm amplificada arduino

El PWM es así:
640px-Pwm.png

Lo que sale del pin es lo del grafico rosa, las rampas azules son el temporizador que usa el chip, la línea verde la señal análoga a intentar simular, el pin primero se lleva a 5V, luego temporizador cuenta y cuando el valor del registro supera al de la señal que desea representar la salida pasa a 0V, el valor promedio es similar al valor deseado análogo, pero se genera por pulsos de diferente ancho.

El operacional responde a varios megahertz mientras que el PWM del arduino me parece está configurado a alrededor de 500Hz, así que responde completamente a todo el ancho, si bien está amplificando el voltaje lo sigue haciendo de forma digital, el medidor no puede responder a toda la frecuencia, si es True RMS podrá medir el valor de manera más estable, pero si mides un voltaje en CC verás que oscila si el ancho coincide con la frecuencia de muestreo del voltimetro, así que verás oscilaciones, si el motor no se controla preciso es por que la resolución del Arduino no basta para lo que necesitas.

Para tener un voltaje más estable necesitas primero filtrar el valor de PWM para tener una señal más análoga y eso es lo que ya amplificarás para alimentar a tu motor

Así que con respecto al por qué no funciona estable, es por que no envías un voltaje estable sino uno pulsante, las características inductivas del motor causa un efecto que no es considerado en estado continuo pero aquí está pulsando, por eso se pierde resolución y el control no es lineal, controlar un motor de manera digital requiere temporizadores de alta resolución ya que al comienzo de la conmutación la corriente es mayor a la requerida en continua para inducir el movimiento y en operación por la frecuencia puede generar efectos de resonancia que varíen aún más su corriente, por ello se acoplan con un codificador rotatorio para ir compensando dinámicamente el PWM según la carga mecánica y las características del propio motor.
 
Al parecer tu motor no necesita cambio de giro. si esto es correcto, entonces no necesitas utilizar el operacional.

El ciclo de trabajo del pwm es proporcional al voltaje promedio en tu motor.

Si tu ciclo de trabajo es de 25%, el voltaje promedio en el motor es de 0.25 x 24V = 6V.
Si tu ciclo de trabajo es de 50%, el voltaje promedio en el motor es de 0.50 x 24V = 12V.
Si tu ciclo de trabajo es de 75%, el voltaje promedio en el motor es de 0.75 x 24V = 18V. (como en el ejemplo)

Como tienes 256 bits para el pwm en el arduino, tienes una precision de 0.4%

La imagen que adjunto te ayudará, espero.

Concuerdo con los Nuyel en que si en verdad quieres una velocidad precisa y exacta, debes sensarla y crear un lazo de retroalimentacion.
 

Adjuntos

  • motor.png
    motor.png
    19.5 KB · Visitas: 24
Última edición:
Vaya, muchas gracias Nuyel y Kiwhilario, ahora al menos lo tengo todo un poco más claro.

Kiwhilario no me sale que hayas adjuntado ninguna imagen, por lo que no puedo echarle un vistazo.

Nuyel, se me plantea una pregunta. Comentas que sería necesario filtrar la señal pwm de arduino para luego poder amplificarla con el LM324, entiendo que para filtrarla bastaría con realizar el montaje que me propusieron mensajes anteriores, en el cual a la entrada del opracional se encontraba la salida del pwm de arduino junto con un condensador y una resistencia.

Pues bien realicé el montaje del circuito y el resultado fue el mismo, la tensión continúa fluctuando constantemente, por ello no sé que debo hacer para conseguir que la señal sea mas análoga, tal y como tú comentas, y así poder amplificarla convenientemente.



Vaya, ahora si me ha dejado ver la imagen Kiwhilario (antes no podía). ¿Con ese montaje conseguiría que la tensión no fluctuase? O debería calcular otro valor de R para controlar mejor el transistor en mi funcionamiento?
 
Última edición:
hola .,
aca resubo la imagen ampliada para que tengas una mejor guia .,​
y estoy tolamente de acuerdo con lo que te explican ., Nuyel y kiwhilario .,​
era mas o menos lo que te decia antes ., empeza con esa guia que para mi esta bien .,​
amotor.png
 
¿Cual es la misión de V1 en este circuito? Provocaría una señal más análoga al unirla con la salida pwm de arduino? O simplemente la habeis colocado para simular la salida pwm de arduino en el programa simulador



Buenas,

Acabo de probar el circuito que propusisteis y la tensión sigue fluctuando de la misma forma que con el operacional. No tengo ningún 2N2222 a mano, así que he empleado el BC547 que es el único que tengo por aquí ahora mismo :confused::confused::confused:
 
Última edición:
Buenas,

Acabo de probar el circuito que propusisteis y la tensión sigue fluctuando de la misma forma que con el operacional. No tengo ningún 2N2222 a mano, así que he empleado el BC547 que es el único que tengo por aquí ahora mismo :confused::confused::confused:

cualquier NPN que soporte mas de 30V sirve...

C945 (muy común en muchos cacharros desguazables)
BC547 / 548
2N3904
2SC9014 - SS9014 (también muy común)
 
¿Cual es la misión de V1 en este circuito? Provocaría una señal más análoga al unirla con la salida pwm de arduino? O simplemente la habeis colocado para simular la salida pwm de arduino en el programa simulador

Es para simular la salida pwm del arduino.

En que nodo estas midiendo el voltaje que fluctúa? recuerda que el motor es una carga dinamica. Prueba añadir un capacitor en paralelo a tu fuente.
 
Última edición:
Buenos días,

Perdón por el retraso pero no tuve pc este fin de semana. Probé el circuito que me propusisteis sustituyendo el 2n2222 por el bc547 (el único que tenía a mano) y la resitencia de 330 po una de 220 (por el mismo motivo). Al medir con el polímetro en el motor, la tensión sigue fluctuando igual que antes.

Es cierto que probablemente el polímetro no sea el mejor método de medida, pero en mi aplicación, si la tensión no fluctuara el péndulo giraría siempre con la misma oscilación, y éste no es el caso, por lo que es cierto que la tensión sigue fluctuando.

POr cierto, mi equipo es un Péndulo de Pohl, que al no tenerlo a mano hoy no puedo hacerle fotos, pero en Internet hay muchas fotos de este aparato.

Incluso encontré un vídeo:
 
Última edición:
Pues si que vas a requerir estabilidad para eso, te recomendaría un filtro paso-bajo activo en lady del pasivo para tener un mejor rechazo y tener una señal más estable
 
Finalmente conseguí estabilizar la tensión que le llegaba a mi motor!!!!!:aplauso::aplauso::aplauso::aplauso:

Lo que hice fue amplificar la salida pwm de arduino con un operacional (previo filtro paso bajo). Posteriormente utilice esta salida para controlar un estabilizador de tensión LM317 (desde la patilla de ajuste obviamente) y voilá la tensión casi ni fluctua y mi equipo funciona tal y como quería.

Muchas gracias a todos por haberme respondido e intentando ayudarme.

Un saludo.
 
Atrás
Arriba