DF15HSR 360 gradi arduino

I servo che ho utilizzato per i miei tutorial fino ad oggi sono sempre stati servo in grado di compiere movimenti di massimo 180°, oggi ho provato il il servo DF15HSR 360 gradi arduino.

DF15HSR 360 gradi arduino

Il DF15HSR è un servo a rotazione continua ed unisce i vantaggi dei servo tradizionali sia dal punto di vista del controllo mediante un unico cavo oltre all’alimentazione e della riduzione meccanica che aumenta la coppia a scapito della velocità.

Controllo DF15HSR con un solo cavo e PWM

I motori DC o CC li puoi controllare con arduino attraverso una motor shield che funziona da ponte H e ti permette mediante 2 pin di definire verso e velocità del motore.

Il DF15HSR 360 gradi arduino è già dotato del circuito di controllo e mediante un unico cavo segnale collegato ad un pin PWM arduino puoi regolare verso e velocità.

DF15HSR 360 gradi arduino collegamenti

Il produttore riporta la seguente frase:

NOTE: ALL 360 degree rotation motors are modified from standard servo, it does not have position control and feedback. The PWM signal is only for controlling the speed of the motor, not the position.

Ossia i servo a 360° usano il controllo PWM per regolare la velocità ed il verso e non a posizione come avviene per i servo tradizionali a 180°.

Riduzione meccanica

I motoriduttori presentano il vantaggio di erogare una coppia elevata a scapito della velocità originale del motore.

Il DF15HSR 360 gradi arduino è già dotato di una coppia elevata grazie ai suoi ingranaggi, il produttore riporta 15.1Kg/cm a 7,4v ( tensione di alimentazione )

Accessori nella confezione

Nella confezione del servo DF15HSR 360 gradi arduino sono inclusi oltre al servo 4 rotelle di cui 2 da applicare sull’alberino rotante e 2 applicabili dalla parte opposta e non connesse a nessun ingranaggio.

Inoltre il servo viene fornito con due coperchi di ricambio in cui quello da montare opposto all’alberino del servo presenta un piolo in cui puoi installare le 2 rotelle accessorie.

DF15HSR 360 gradi arduino parti

Questa configurazione è utile nei casi in cui vuoi montare il servo per lavorare con una squadra a U in cui può esserti utile avere due punti di fissaggio del servo.

Collega il DF15HSR 360 gradi arduino

Puoi collegare il servo ad arduino ai 5v o al Vin ( alimentando arduino con una batteria da 7,4v ) ed il pin di segnale o controllo ad uno dei pin PWM:

Nella figura il segnale è connesso al pin 10 e l’alimentazione ai +5v e Gnd.

Lo sketch di controllo del DF15HSR 360 gradi arduino

#include <Servo.h>

Servo myservo;

void setup()
{
   Serial.begin( 9600 );
   myservo.attach(10);
}

void loop()
{
   for ( int i=1500; i<2500; i+=100 ) {
     Serial.println( i );
     myservo.writeMicroseconds( i );
     delay(1000);
   }

   delay(2000);

   for ( int i=1500; i>500; i-=100 ) {
     Serial.println( i );
     myservo.writeMicroseconds( i );
     delay(1000);
   }
}

Avrai notato che il DF15HSR 360 gradi arduino usa la classe servo.h di arduino, tuttavia il controllo del servo con il metodo write della classe Servo.h non genera il controllo desiderato.

Lo sketch usa il metodo writeMicroseconds() per impostare i microsecondi di impulso che il pin invia all’elettronica del servo.

L’impulso recepito dal servo varia dai 500 ai 2500 microsecondi in cui il punto centrale o di stop è a 1500 microsecondi; inviando al servo da 500 a 1500 miscosecondi il servo ruota in un senso, inviando da 1500 a 2500 il servo ruota nel verso opposto.

linea 08: usa il metodo attach dell’istanza myservo per definire a quale pin hai collegato il servo, nell’esempio il pin 10;

linea 13: il ciclo for inizia da 1500 e incrementa, di 100 in 100, il valore di i fino a 2500 microsecondi;

linea 14: scrivi sul monitor seriale il valore calcolato;

linea 15: invia al servo i microsecondi da applicare per la rotazione;

linea 16: attendi 1 secondo ogni ciclo for prima di incrementare il valore di i di 100, tutto il ciclo for durerà circa 10 secondi = (2500-1500)/100 = 10

linee 21-25: esegui un ciclo simile a quello precedente con la differenza che parti da 1500 microsecondi e decrementi di 100 fino a 500 microsecondi.

Il video

Lo sketch usato incrementa di 100 in 100 il valore in microsecondi tra 1500 e 2500 e tra 1500 e 500 tuttavia come vedi nel filmato la velocità del servo non cambia:

Buona progettazione.

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/df15hsr-360-gradi-arduino.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.