Edoardo Vignali
Usare un TLC5940 come Servo Port Expander
Tutorials -
Mercoledì 06 Ottobre 2010 12:20
Scritto da Edoardo Vignali

Finalmente sono riuscito ad utilizzare un TLC5940 come driver di servomotori, purtroppo avendone soltanto uno funzionante e a rotazione continua non ho avuto modo di testare il corretto funzionamento di tutto, ma dubito che aumentando il numero di servo i problemi aumentino.

L'accorgimento fondamentale da utilizzare con un numero maggiore di servomotori è avere un'alimentazione separata tra servo e arduino. I servo per modellismo lavorano con tensioni che vanno da 4.5v a 6v e introducono sulla linea di alimentazione dei disturbi che potrebbero provocare un mal funzionamento del nostro microcontrollore o della nostra board arduino. Quindi consiglio vivamente a coloro che avranno intenzione di utilizzare più servo di usare un alimentatore stabilizzato da 4.5v a 6v o una lipo con un opportuno abbassatore di tensione per alimentare SOLO i servo.

Per questa esperienza vi servirà la libreria TLC5940.

Lo schema che ho seguito è questo:

Schema servo port expander

Il codice da me utilizzato è questo:

/*
    This sketch sweeps a servo on channel 0.

    To connect a servo:
     1. Put a 2k-5k pull-up resistor (R0 below; I've tried with 3.3k) between the
          servo control output pin and +5v.
     2. Connect that same pin to the servo's control line like so

        servo data pin
              |     _____
     OUTn ----+----[_____]---+5v
                      R0

    Steve Pomeroy , 2009-01-20 */

#include "Tlc5940.h"
#include "tlc_servos.h"

#define SERVO_CHANNEL   0
#define DELAY_TIME      2000

void setup()
{
  tlc_initServos();  // Note: this will drop the PWM freqency down to 50Hz.
}

void loop()
{
    tlc_setServo(SERVO_CHANNEL, 0);
    Tlc.update();
    delay(DELAY_TIME);
    tlc_setServo(SERVO_CHANNEL, 90);
    Tlc.update();
    delay(DELAY_TIME);
    tlc_setServo(SERVO_CHANNEL, 180);
    Tlc.update();
    delay(DELAY_TIME);
}

 

Gioblu Robotics © 2010 - 2012 · Sitemap · privacy

gioscarab@gmail.com

Gioblu BOTServer è online dal 10 Aprile 2010 - 319.232 Visite - 1.027.175 Pagine visualizzate - 182.309 Visitatori unici - 536 utenti attivi