Duda con AVR para controlar motores

Hola, soy nuevo en este foro y quisiera saber si alguno de ustedes me puede ayudar para resolver un problema.

Estoy utilizando el avr AT90S1200 para controlar 4 motores LINAK de 40VDC y 1.5 Amp (estos motores sacan o meten un pistón con un tornillo sinfin y tienen un switch que desactiva la corriente cuando llegan al tope) y los activo a través de un relay que se acciona con 24V. Los relays los activo utilizando el C.I. ULN2803.

El AVR recibe la señal de un control en el cuál está el ATMEGA8515. Este AVR manda un código de 4 bits con lo que el AT90S1200 sabe que motor o motores activar, a veces solo es 1 a veces 2 y a veces los 4 al mismo tiempo y son 12 funciones diferentes. El control está muy retirado y para conectarlos utilizo un par trenzado.

El problema está en el AT90S1200 ya hay veces que cuando algún motor llega al tope y se desactiva, el AVR desactiva y activa rápidamente a los relevadores y en ocasiones de desprograma. Intenté ponerle un capacitor electrolítico de 1000uF para regular la entrada de energía y empeoró las cosas. Se lo cambié por uno cerámico de 0.22uF y el problema se redujo bastante ya que no lo hace tan seguido, pero todavía lo sigue haciendo.

También cabe mencionar que los motores tienen la alimentación separada del circuito de control (cada uno tiene su transformador, puente de diodos y capacitor por separado), solo están conectados por tierra debido a que tienen una batería de respaldo que los alimenta a los dos al mismo tiempo en caso de interrupción eléctrica y en la entrada de alimentación tanto del circuito como de los motores tienen diodos rectificadores para evitar que la corriente se regrese.

Ya probé manejando los relevadores con transistores NPN BC547C con diodo de protección y sigue dando el mismo problema, también cambié el AVR por una compuerta inversora y de esa manera no presenta problema por lo que deduje que el problema está en el AVR.

Espero que alguien me pueda ayudar ya que estoy muy desconcertado con esto y espero que la información que puse sea la suficiente y no me falte algún dato importante.
 
Hola tecnoblade:
No entiendo bien donde pusiste el micro de 1000uF (que luego lo cambiaste por un cerámico de 0.22uF).
De cualquier manera sospecho que el problema está en los fines de carrera, los cuales pueden tener problemas de rebotes y estos producen mandos erróneos a los relevadores. Te propongo 2 cosas:
Primera: Filtrar los rebotes del switch (fin de carrera) con un circuito RC, para esto busca circuitos antirrebote (debouncing circuits)
Segunda: Colocar un diodo (si no lo tiene) en antiparalelo con la bobina del relevador.
Espero te sirva de algo.
 
Hola, los capacitores los puse en la alimentación de 5volts del AVR AT90S1200 y del pin de reset. Por cierto, probé con el diodo en antiparalelo a la bobina del relevador y tiene el mismo problema, por eso utilicé el ULN2803 ya que había encontrado que tiene el diodo integrado en cada uno de los drives.

Voy a probar con el circuito antirrebote, le voy a poner un capacitor de poliester de 100nf a 250v para ver si mejora, por cierto, ¿el circuito antirrebote va del lado de los motores, verdad?

Muchas gracias por tu ayuda
 
Hola, probé conectando un capacitor de poliester de 0.1uF en cada uno de los conectores del motor (que es donde creo que está el interruptor del fin de carrera) y ya no da problemas tan seguido como antes pero todavía no queda totalmente bien.

Mañana voy a probar con un capacitor de 0.22uf y con uno de 0.47uf para ver si con eso ya queda pero todavía me queda la duda de si lleva una resistencia ya que vi que el circuito antirrebotes es un filtro pasabajas pero lleva la resistencia en serie con la carga (motor), entonces no estoy seguro de que si puedo prescindir de la resistencia y solo poner el capacitor o no es esa la configuración para este caso porque pienso que si pongo una resistencia el motor va a perder potencia.

Espero me puedas ayudar y nuevamente gracias
 
Hola, finalmente logré corregir totalmente el problema aunque no entiendo muy bien como funciona. Dejé en la entrada de los switches de los actuadores un capacitor de poliester de 1uf en paralelo y en la entrada de alimentación del AVR una resistencia de 10kohms también en paralelo, a pesar de que ya funciona completamente bien no entiendo porqué se corrigió el problema de esta forma ya que pasó por accidente. De cualquier manera gracias y saludos a la comunidad
 
Atrás
Arriba