PWM y motor lavadora.

Meta yo tengo un poco parado el tema por que estoy con varias cosas pero mira lo que te comento haber que te parece.

He mirado el post de pandacba y la idea de mantener las revoluciones, asi es como yo lo tengo en mi codigo, mas-menos, esa parte la mejore y ahorre codigo gracias al foro, no recuerdo quien me dio la idea, pero en si la base es igual, cuando entra en modo centrifugado, la entrada analogica le dice a cuantas revoluciones queremos que valla y el tacometro le informa de si esta en esas revolucion, si esta por debajo incrementa la velocidad.

Pongo, haber si me sale bien, el esquema del tacometro de mi lavadora, espero te sirva, yo lo he probado con otro motor que tengo y va perfecto.

La tension que sale del tacometro la medi y puede llegar, estando al maximo de revoluciones, sobre unos 40 voltios, no pasa nada, va bien.
 

Adjuntos

  • tacometro.PDF
    14.9 KB · Visitas: 38
A ver, no entiendo ese esquema, puede haber algún motivo oculto pero a mi me parece que con un zener y una resistencia tienes suficiente; el zener en directa se come el semiciclo positivo y en inversa regula para no quemar el pin del micro.
De todos modos yo pondría un optoacoplador; son baratos, ocupan poco y suponen un plus de seguridad importante
 
Hola scooter, el diodo supongo que deve ser un zener de 4,7, he puesto un 1n4148 por despiste. el valor no se ve pero al medir da sobre los 5v mas-menos. Este es el circuito de la lavadora, los componentes son SMD, supongo que al fabricante le habra salido mas varato cuando los ha puesto.
El transistor es ese y las resistencias tambien, salvo la R1 que es de 1/2Watio las demas son pequeñas, todo esto en SMD, los condensadores no los pude medir, pero los he puesto de 100n y perfecto

El circuito que puesto esta hecho en proteus para pruebas, pero yo lo hecho en fisico y funciona perfecto. Lo subo corregido.

Por cierto tambien lo tengo hecho con un PC817 y perfecto.
 

Adjuntos

  • tacometro.PDF
    14.9 KB · Visitas: 30
Hola:

Por ahora me llama más la atención y usa menos componentes como indica aquí.
PWM y motor lavadora.

Aún así, gracias por compartir, por si acaso. ;)

Supuestamente la teoría es, si tiene que ir a 1000 rpm, si pasa a 1001, se pone a 1000, si se pone a 999, se pone a 1000, así todo el rato manteniendo la misma velocidad.

Saludos.
 
Hola:

Por ahora me llama más la atención y usa menos componentes como indica aquí.
PWM y motor lavadora.

Aún así, gracias por compartir, por si acaso. ;)

Supuestamente la teoría es, si tiene que ir a 1000 rpm, si pasa a 1001, se pone a 1000, si se pone a 999, se pone a 1000, así todo el rato manteniendo la misma velocidad.

Saludos.
Le sobran componentes, se usa la resistencia interna de pullup y te la ahorras.

Edito, si, el segundo esquema va así

Edito. Si
 
¿Qué tal el proyecto? ¿Funciona el motor? Estoy tratando de hacer lo mismo, poder controlar el motor de una lavadora con un arduino y un triac. El montaje que tengo, funciona perfectamente con una bombilla, pero con el motor no soy capaz.
El circuito es el que se ve en muchos sitios de internet:
Captura.JPG
En Rs tengo 100ohm y Cs 100nF, y un triac BTA snubberless (en teoria)
Con la frecuencia de red de España, 50Hz, hay 10ms entre pasos por cero. Para hacer pruebas hago el disparo a los 8ms; el motor arranca y va bien como 2 segundos, pero luego empieza a acelerarse a escalones sin yo mover el disparo. Como si al arrancar fuese a 500rpm, al rato sube a 600, al segundo a 800.... y se va embalando pero así a escalones, no lineal.
Ya estoy perdido porque ya he probado a quitar y poner filtros, y sigue siempre igual. Ya he probado hasta con diferentes MOC3021 por si estuviese mal, pero lo mismo.
¿Puede ser que se autodispare el Triac?
 
Si disparas el opto en forma permanente y constante, hace el mismo efecto? osea sacar el arduino en el diodo emisor del opto y polarizar en forma fija con 50mA el diodo emisor.
No probaste con un opto triac con detección de cruce por cero??
 
Por partes: He probado con un opto triac de deteccion de cruce por cero, el MOC3041, pero con una bombilla. Con el mismo código hace cosas raras, como disparos aleatorios. Volveré a probar con más calma, pero como vi esa respuesta, pues ni seguí peleando con él y pasé directamente al MOC3021.
Lo de dispararlo continuamente no lo probé, pero ¿que puedo esperar de ello? yo creo que se pone al 100% el motor, ¿no?
 
Claro que se pone al 100%, y deberia no tener ese sintoma extraño, con lo cual el problema esta en la parte de control, a menos en la falla siga presente.
Como haces para sincronizar la señal que recibe el diodo del opto proveniente del arduino? pregunto de ignorancia, nunca hice nada con estas cosas, pero ese pulso no deberia estar sincronizado con la senoidal de la alterna del lado del motor? o eso no influye para nada?
 
Para sincronizar tengo un detector de paso por cero, que cuando detecta este paso por cero es cuando cuenta los ms para hacer el disparo dentro del semiciclo de la onda actual.
 
Ok, me imaginé que algo de eso deberías hacer, no probaste de medir con un osciloscopio lo que esta sucediendo? si realmente estas cortando el semiciclo con el angulo correcto y de forma estable en el tiempo?
 
¿Qué tal el proyecto? ¿Funciona el motor? Estoy tratando de hacer lo mismo, poder controlar el motor de una lavadora con un arduino y un triac. El montaje que tengo, funciona perfectamente con una bombilla, pero con el motor no soy capaz.
El circuito es el que se ve en muchos sitios de internet:
Ver el archivo adjunto 183331
En Rs tengo 100ohm y Cs 100nF, y un triac BTA snubberless (en teoria)
Con la frecuencia de red de España, 50Hz, hay 10ms entre pasos por cero. Para hacer pruebas hago el disparo a los 8ms; el motor arranca y va bien como 2 segundos, pero luego empieza a acelerarse a escalones sin yo mover el disparo. Como si al arrancar fuese a 500rpm, al rato sube a 600, al segundo a 800.... y se va embalando pero así a escalones, no lineal.
Ya estoy perdido porque ya he probado a quitar y poner filtros, y sigue siempre igual. Ya he probado hasta con diferentes MOC3021 por si estuviese mal, pero lo mismo.
¿Puede ser que se autodispare el Triac?
Debes tener clara una cosa, suponiendo que estes usando un motor universal, el motor le mandas toda la corriente, al arrancar va despacio pero luego va subiendo hasta llegar al maximo, por eso te va subiendo las revoluciones, de hay el circuito de paso por cero, para ajustar el disparo y asi mantenerlo en una velocidad, mas-menos, constante.
 
Por partes: He probado con un opto triac de deteccion de cruce por cero, el MOC3041, pero con una bombilla. Con el mismo código hace cosas raras, como disparos aleatorios. Volveré a probar con más calma, pero como vi esa respuesta, pues ni seguí peleando con él y pasé directamente al MOC3021.
Lo de dispararlo continuamente no lo probé, pero ¿que puedo esperar de ello? yo creo que se pone al 100% el motor, ¿no?
Claro tu le dices una cosa y la circuitería interna otra.
Si el opto tiene detector de paso por cero no puedes hacer control de fase.
 
El circuito está bien con el MOC3021, pero el problema está en el programa del Arduino. Tenia este código para la interrupción de paso por cero, que sale en muchos foros y videos:
Código:
void paso_por_cero(){
  delayMicroseconds(pot);
  digitalWrite(Triac_Motor, HIGH); //dispara el triac
  delayMicroseconds(20);   //espera para asegurar disparo
  digitalWrite(Triac_Motor, LOW);  //apaga la puerta del triac (el triac se apaga en el siguiente paso por cero)
}

Con la bombilla parece que funciona bien, porque no se nota el fallo como en el motor. Dentro de la interrupción no funciona como debe el "delayMicroseconds", porque he comprobado que los microsegundos no los cuenta bien dentro de la interrupción, y los disparos terminan siendo muy aleatorios.
Luego encontré AC Phase Control en el playground de Arduino, y hace lo mismo utilizando el Timer 1 del Arduino y sus interrupciones, y ahora si que funciona perfectamente. El motor acelera hasta donde yo le digo, y no tiene ni tirones ni nada raro.

Yo creo que el otro código la gente lo utiliza en simulador y con bombillas, pero en realidad nadie lo debio de utilizar con motores.
Debes tener clara una cosa, suponiendo que estes usando un motor universal, el motor le mandas toda la corriente, al arrancar va despacio pero luego va subiendo hasta llegar al maximo, por eso te va subiendo las revoluciones, de hay el circuito de paso por cero, para ajustar el disparo y asi mantenerlo en una velocidad, mas-menos, constante.
Eso lo tenia claro y es lo que hago, ajustar el disparo del Triac
 
[Aporte] Control de fase (Dimmer) con Arduino

Sin delays, claro. Lo complican todo.
Con incandescencia, claro. Las cargas inductivas tienen lo suyo.

Como tú carga es inductiva, ahora necesitas una red snubber. Por mi experiencia no vale cualquiera, debes de ir probando valores para compensar la inductancia de tu motor. No valen los circuitos genéricosencontrar. Nunca he controlado motores pero si muchas bobinas de contactores ac y hay que ajustar a cada modelo, y en algunos casos a cada 'individuo' en concreto.
De todos modos en los datasheets de los moc vienen varios circuitos de disparo para cargas inductivas, a mí no me funcionó ninguno pero puede que a ti si.

Los triacs snubberless más bien son snubberlow que necesitan poco snubber.

No digo que lo que yo acabo de decir sea la palabra del señor, solo es mi experiencia.
 
Atrás
Arriba