Saltar navegación

Conectando

MATERIAL UTILIZADO

  • Driver motor dc L298N
  • Motor DC xenérico de 6V. O ideal é que xa veña cos cables, se non terás que estañalo ti ou usar uns cables ponte de pinza.
  • Varios cables de prototipado (jumpers) pico/pico
  • Fonte de alimentación regulable

Conexión alternativa para remprazar ao driver L298N

  • Transistor TIP 120
  • Resistencia 2.2K
  • Diodo

CONECTANDO

Igual que cos servos, para controlar os motores DC utilizaremos un pin PWM de modulación por ancho de pulsos. Lembra que son os pines de saída de Arduino que teñen indicada este tipo de modulación cun símbolo de ondulación ~.

Para controlar o motor o método máis sinxelo e conseguir un controlador L298N que ten este aspecto:

Driver L298N para motores DC

Estes dispositivos facilítannos bastante o traballo e, ademais, cada controlador deste pode manexar ata dous motores DC, aínda que nos veremos como funciona con un. Se quixeras utilizar dous so terías que replicar o sistema conectando un pin á entrada do outro motor. E tamén veremos ao final desta unidade como poderías utilizalo para controlar os solenoides.

Nos aquí optamos por unha conexión sinxela para controlar simplemente a velocidade. Poderíase implementarse tamén a dirección do xiro, pero, dende un punto de vista musical, non é algo que aporte en principio demasiada variación.

O esquema para conectalo sería o seguinte, tendo en conta sempre que a conexión a terra coincide co polo negativo na fonte de alimentación.

Esquema de conexión de Arduino L298N DC

Outra opción sería utilizar unha serie de compoñentes en lugar de usar este driver. Nese caso o esquema sería o seguinte.

Arduino e motor DC con transistor TIP120

Se non queres ter que soldar os compoñentes sempre te podes axudar dunha placa de prototipo na que se poden pinchar os diferentes compoñentes. Neste caso o esquema tería un aspecto similar a este.

Circuito de motor DC nunha placa de prototipo

Neste tipo de soportes os diferentes buracos están conectados entre si, os da parte superior e inferior horizontalmente e os das seccións centrais en vertical cunha interrupción no medio.

Conexións nunha protoboard

TEMPERATURA DO TRANSISTOR

Tes que ter algo de coidado con non tocar moito o transistor xa que logo dun rato funcionando pode estar bastante quente.

Tamén podes colocarlle unha peza que se coñece como disipador e que, como seu nome indica, axuda a que non se concentre tanta temperatura neste compoñente electrónico.

Se te fixas no driver xa montado que vimos L298N, leva un incorporado. Unha peza de metal negro con rañuras.

Pero podes conseguir diferentes tipos nunha tenda de electrónica. Por exemplo este da imaxe.

Disipador para transistorTamén podería facelo na casa con aluminio aproveitando, por exemplo, un anaco de lata de refresco.

MEDIR CONSUMO

Tamén é importante que controles o consumo, sobre todo dos motores e solenoides, para que non sobrecarguen a fonte de alimentación.

Normalmente ven indicado nas especificacións canto soporta, pero se queres comprobalo poderías facelo usando un multímetro.

Para isto bastaría con interromper o circuíto e colocando o medidor no medio e seleccionar a opción correspondente de amperaxe. Esta imaxe pode servirte de axuda.

Esquema para medir consumo

CONTROLANDO DENDE ARDUINO

Se queres probar a controlar o motor DC dende Arduino poderías facelo de xeito similar a como fixemos anteriormente co noso servo dende o IDE utilizando código.

Podes cargar este código dende o Arduino IDE tal e como xa explicamos, pero, de novo, lembra que se o probas terás que volver a cargar a Standard Frimata para seguir traballando con Pure Data:

    
    #define MOTOR_DC 6 // Creamos nome para o pin de saída
   

     void setup(){
     pinMode(MOTOR_DC, OUTPUT); // seleccionamos o nome
     }
     

    // iniciamos o funcionamento

    void loop(){ 
    analogWrite(MOTOR_DC, 0); // velocidade 0
   

    delay(1000); // espera dun segundo
    
    analogWrite(MOTOR_DC, 120); // velocidade 120
    delay(1000);

    analogWrite(MOTOR_DC, 200); // velocidade 200

   delay(1000); // espera dun segundo
 
   analogWrite(MOTOR_DC, 250); // velocidade 250

    delay(1000); // espera dun segundo
   }

Aínda que está explicado todo nos comentarios, basicamente o que lle estamos dicindo a Arduino que faga é que primeiro declare un nome ou etiqueta para identificar á saída número 6 onde temos conectado o cable que envía os datos.

Logo que seleccione ese pin como unha saída (Output), e, por último, facemos un bucle no que vai alternando diferentes valores mediante analogWrite na saída 6, no noso caso, para incrementar a velocidade con pequenas pausas no medio (delay).

Se queres podes probar a facer cambios na velocidade e nos tempos de espera para comprobar como afectan ao seu comportamento.

Antes de seguir, lembra que para continuar traballando con Pure Data terás que cargar de novo en Arduino a Standard Firmata.