Servo tester con Arduino

ultimo aggiornamento 7 maggio 2019


JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!
Sorridi a tutto il mondo qualunque cosa accada!

 

Indice

Descrizione

Esistono in commercio vari modelli di servo tester che permettono di verificare il funzionamento dei servomotori prima di essere utilizzati nei propri progetti. Se non si dispone di questo strumento e non si intende realizzarne di propri, si potrà utilizzare lo stesso Arduino che opportunamente programmato permetterà di effettuare queste verifiche. Arduino si occuperà di inviare il corretto valore di PWM per far ruotare l'albero del servo secondo l'angolo impostato.

homotix

Servotester digitale Servotester opera Robonox Servotester Robi
Servotester autocostruito Progetto Servotester automatico Servotester Robi con USB

Materiale necessario

Scheda Arduino UNO
In vendita presso Homotix.it

 

Breadboard da 400 Punti con dimensione di 8,3 x 5,5 centimetri
In vendita presso Homotix.it

 

Pulsante da Circuito stampato 6x6mm
In vendita presso Homotix.it

 

Connettore Strip Maschio L. 6mm
In vendita presso Homotix.it

 

Jumper Dupont M/M
In vendita presso Homotix.it

 

Alimentatore per Breadboard
In vendita presso Homotix.it

 

Nell'esempio si è utilizzato un mini servomotore
In vendita presso Homotix.it

Ingranaggi In plastica
Tensione di esercizio 4.8 v
Intervallo di temperatura: 0 ℃ _ 55 ℃
Larghezza banda morta:  1us
Lunghezza cavo 25 cm
Peso(g)  9
Connettore JR
Coppia(kg/cm)(4.8v)  1.8
Coppia(kg/cm)(6,6v)  
Velocità(sec/60deg)  0.1
A(mm)  34.5
B(mm)  22.8
C(mm)  26.7
D(mm)  12.6
E(mm)  32.5
F(mm)  16

Connettore JR

Schema di collegamento dei componenti

Sotto è riportato lo schema di collegamento, la tensione di alimentazione dovrà essere collegata al connettore di ingresso dell'alimentatore montato sulla breadboard.
Nota: collegare l'alimentazione del servomotore direttamente ad Arduino potrebbe danneggiare la scheda, questo perché l'assorbimento di corrente del motore presente all'interno del servo può superare la corrente fornita dal regolatore presente sulla scheda.

Pin Arduino Collegato a
D3 Pin segnale servomotore
D4 Collegato al pulsante P1 - Servo in posizione centrale
D5 Collegato al pulsante P2 - Rotazione servo a DX
D6 Collegato al pulsante P3 - Rotazione servo a SX
+5V Alimentazione Arduino e servomotore
GND Contatto di massa Arduino e servomotore

Listato del programma

Il programma per testare i servo motori è molto semplice, anche per i fatto che utilizza la libreria #servo,h, che è presente di default nell'IDE di Arduino e non deve essere ricercata in rete. Vediamo in dettaglio il programma:


schema

codice

 

/*
  Programma:servo_tester.ino
  Il programma verifica il servo collegato ruotando 
  l'albero in tre posizioni tramite la pressione del relativo
  tasto
   
	Creato il 19/11/2017
	Ultima modifica il 07/05/2019
  
  Applicazione realizzata da Adriano Gandolfo
  Sito web https://www.adrirobot.it
  Blog https://it.emcelettronica.com/author/adrirobot
  Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
  Istagram https://www.instagram.com/adrirobot/
  This example code is in the public domain.
*/
#include <Servo.h>
Servo myservo;

int servo = 3; //Porta a cui è collegato il servo
int degree90 = 4; //Porta a cui è collegato il tasto P1
int degree0 = 5; //Porta a cui è collegato il tasto P2
int degree180 = 6; //Porta a cui è collegato il tasto P3
void setup() {
  myservo.attach(servo);
  pinMode(degree0, INPUT_PULLUP);
  pinMode(degree90, INPUT_PULLUP);
  pinMode(degree180, INPUT_PULLUP);
} void loop()
{ if (digitalRead(degree0) == LOW) {
    myservo.write(5);
    delay (500);
  }
  if (digitalRead(degree90) == LOW) {
    myservo.write(90);
    delay (500);
  }
  if (digitalRead(degree180) == LOW) {
    myservo.write(175);
    delay (500);
  }
  delay(20);
}

Elenco revisioni

07/05/2019

Aggiornato pagina

19/11/2017

Emissione preliminare