el microcontrolador está "colgando" cuando está alimentando PWM a un controlador de motor de CC

0

Estoy usando un potenciómetro lineal para controlar la velocidad de un motor de CC. Estoy usando el siguiente esquema.

Un ATmega328P recibe el valor del potenciómetro lineal a través de una lectura analógica. Este ATmega328P transmite el valor a través de CAN. Otro ATmega328P lo recibe y el analógico escribe los valores a través del optoacoplador (4N35) en el controlador del motor (Kelly's KDH14601E). El controlador del motor usa este valor para controlar un motor de 110 VCC (linch LEM 200 D135 RAGS). Los lados de alto y bajo voltaje están completamente aislados en el controlador del motor.

Cuando el motor está desconectado o no está en condiciones de carga, todo funciona bien. Pero cuando hay carga en el motor, ambos microcontroladores dejan de responder. Básicamente se congelan y el motor gira a una velocidad constante. A veces, el valor suministrado al controlador del motor corresponde al último valor leído y, a veces, un valor que no es posible de acuerdo con el código del microcontrolador. Hice algunos cambios en la configuración y he logrado los siguientes resultados:

  1. Inicialmente no estaba usando el optoacoplador y los microcontroladores también estaban colgando en condiciones sin carga.

  2. Si utilizo un suministro de LV (bajo voltaje) diferente para el controlador del motor y el optoacoplador, todo funciona bien, pero no puedo hacer esto en mi configuración final (debo usar solo 1 batería de LV). En este caso, ambas fuentes de bajo voltaje están completamente aisladas.

  3. Si utilizo un suministro de LV (bajo voltaje) diferente para el controlador del motor y el optoacoplador y conecto a tierra ambas baterías de bajo voltaje, todo funciona casi bien. A veces, el microcontrolador lee un valor que no es prácticamente posible, pero no hay ningún microcontrolador colgado.

  4. Puse un diodo en la ruta que conecta la salida del optoacoplador al controlador del motor, pero no observé ningún cambio.

Porfavor,ayúdameconesto.

P.S .: El manual del controlador del motor indica que se debe usar un potenciómetro para alimentar los controladores, pero no puedo alimentar directamente el valor del potenciómetro lineal ya que tengo que hacer ciertas modificaciones a los valores.

Gracias.

    

1 respuesta

1

Si desea confiar en su croquis, no ha incluido un condensador de desacoplamiento para el ATmega328P.

Es muy probable que sea la causa de sus problemas, especialmente porque menciona que funciona correctamente si alimenta el ATmega328P y el controlador del motor desde fuentes de alimentación separadas.

Hay toneladas de preguntas y respuestas en este sitio sobre qué son los condensadores de desacoplamiento y cómo usarlos.

Probablemente necesite al menos un condensador de 100 nF desde tierra a cada pin Vcc en el ATmega328P.

Como muestra dos pines Vcc, necesitará dos condensadores. Coloque cada capacitor lo más cerca posible del pin Vcc al que sirve.

También puede necesitar un solo capacitor más grande en la placa con el ATmega328P. Diga, como, 1 a 10uF.

Pruébelo y lea sobre los condensadores de desacoplamiento. Los encontrarás a menudo en prácticamente todo tipo de circuitos.

    
respondido por el JRE

Lea otras preguntas en las etiquetas