Iniziare con Arduino

[et_pb_section][et_pb_row][et_pb_column type="4_4"][et_pb_text admin_label="Testo" background_layout="light" text_orientation="left" use_border_color="off" border_color="#ffffff" border_style="solid"]

ArduinoUno_300Arduino come sistema di controllo

Che cosa sia Arduino, è ampiamente spiegato in migliaia di siti blog, forum. Su questo sito vedremo solamente come utilizzarlo in abbinamento ai nostri componenti meccanici. Arduino è una scheda elettronica che permette di fare molte cose interessanti. Con l'ausili di componenti esterni, permette di controllare qualunque cosa.

Come iniziare

Per iniziare ad utilizzare Arduino dovete procurarvi: una scheda Arduino, il software di sviluppo (gratuito). Per scaricare l'ultima versione del software clicca qui .

Nel mondo si trovano centinaia di cloni di Arduino. Benché l'architettura sia simile, tutte le informazioni di questo sito si riferiscono alle schede originali. E' possibile che con schede clonate alcune funzionalità siano diverse.

Chi volesse acquistare dei kit di sensori, cavetteria, accessori può trovare un assortimento completo su WallMall.

Una volta che avete scelto la vostra scheda e il vostro kit di base, vi consiglio di imparare subito a collegare i motori. I nostri componenti meccanici, infatti, utilizzano essenzialmente due tipi di dispositivi:

La differenza fondamentale tra Servomotori e Motori DC semplici è che i primi sono un controllo a loop chiuso, i secondi sono un controllo a loop aperto.

[box] Loop chiuso significa che il motore ha un sistema per "capire" in quale posizione si trova. Con un semplice segnale, quindi, potremo riportare il sistema in posizioni predefinite. Loop aperto significa che non c'è alcuna informazione sul posizionamento quindi potete solamente comandare il motore avanti e indietro, ma non potete farlo posizionare su un punto prestabilito in modo automatico.[/box]

Un esempio chiarirà la differenza tra i due sistemi:

Controllo di rotazione a loop chiuso

Immaginiamo di avere una piccola piattaforma rotante a loop chiuso.

Controllo di rotazione a loop aperto

Immaginiamo la stessa piattaforma con un sistema a loop aperto.

Nel secondo esempio la piattaforma non ha "memoria" del passato e non è influenzata da ciò che è successo in precedenza.

Potremmo chiederci, quale è il sistema migliore ?

Nell'esempio della piattaforma, sembra vincere il sistema a loop chiuso. In molte situazioni però, non conosciamo con precisione il nostro punto di arrivo, ma esso dipenderà da informazioni esterne.

Esempio: se abbiamo una pompa che controlla il livello di un serbatoio, il motore non funzionerà per un tempo prestabilito o non avrà un numero di giri definito. Il tempo di funzionamento della pompa dipenderà da un'informazione che può essere data da un operatore, oppure da un sensore di livello. Il sistema isolato motore+ Arduino sarà a loop aperto, mentre considerando un eventuale sensore esterno avremo un loop chiuso.

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row make_fullwidth="off" use_custom_width="off" width_unit="on" use_custom_gutter="off" padding_mobile="off" allow_player_pause="off" parallax="off" parallax_method="off" make_equal="on" background_color_1="#eeeeee" background_color_2="#eeeeee"][et_pb_column type="1_2"][et_pb_blurb admin_label="motori DC" title="Controllare motori DC con Arduino" url="http://www.steplab.net/controllare-gearmotors-con-arduino/" url_new_window="off" use_icon="off" icon_color="#7EBEC5" use_circle="off" circle_color="#7EBEC5" use_circle_border="off" circle_border_color="#7EBEC5" image="http://www.steplab.net/wp-content/uploads/2015/08/Precision_Gearmotor_-_main-e1439569565393.jpg" icon_placement="top" animation="top" background_layout="light" text_orientation="center" use_icon_font_size="off" use_border_color="off" border_color="#ffffff" border_style="solid" custom_padding="10|10|10|10"] [/et_pb_blurb][/et_pb_column][et_pb_column type="1_2"][et_pb_blurb admin_label="Blurb" title="Controllare Servo con Arduino" url="http://www.steplab.net/controllare-il-servo-hs-785hb-hitech-con-arduino/" url_new_window="off" use_icon="off" icon_color="#7EBEC5" use_circle="off" circle_color="#7EBEC5" use_circle_border="off" circle_border_color="#7EBEC5" image="http://www.steplab.net/wp-content/uploads/2015/08/hs785hb.jpg" icon_placement="top" animation="top" background_layout="light" text_orientation="center" use_icon_font_size="off" use_border_color="off" border_color="#ffffff" border_style="solid" custom_padding="10|10|10|10"] [/et_pb_blurb][/et_pb_column][/et_pb_row][/et_pb_section]

Controllare il servo HS-785HB con Arduino

[et_pb_section bb_built="1" admin_label="section" _builder_version="3.0.74" custom_padding="0||0|" custom_padding_tablet="0||0|" transparent_background="off" padding_mobile="on"][et_pb_row custom_padding="27px|0px|27px|0px|false|false" _builder_version="3.8" background_color="#ffffff" background_image="https://www.steplab.net/wp-content/uploads/2018/06/Banner_HS-785HB_1822x450_1-1.jpg"][et_pb_column type="4_4"][et_pb_text _builder_version="3.8.1" background_color="#ffffff" custom_padding="10px||10px|10px"]

Sul nostro catalogo puoi trovare la gamma completa dei servo Hitec ed accessori. 

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row _builder_version="3.8.1"][et_pb_column type="2_3"][et_pb_text _builder_version="3.8.1"]

Il Servo HS-785HB con Arduino è un oggetto molto versatile che consente di creare diverse tipologie di oggetti interessanti. Molti dei nostri sistemi per creare movimenti precisi, siano essi rotazioni o traslazioni, utilizzano i servomeccanismi.  In questa sezione vedremo come interfacciare i servomotori della Hitech con Arduino.

Il servomeccanismo utilizzato principalmente sui nostri attuatori è HS-785HB.  Questo motore è in grado di compiere una rotazione controllata/controllabile da Arduino di 1260°.  L'angolo di rotazione può sembrare esagerato. Generalmente una capacità di rotazione di 360° è più che sufficiente per tutte le applicazioni. Questa proprietà del motore, però, lo rende molto utile per costruire delle gearbox.

[/et_pb_text][/et_pb_column][et_pb_column type="1_3"][et_pb_blurb border_radii="on|10px|10px|10px|10px" box_shadow_style="preset1" text_orientation="center" title="Servo HS-785HB" image="https://www.steplab.net/wp-content/uploads/2017/12/HS785HB.jpg" _builder_version="3.8.1" url="https://www.steplab.net/p/hs-785hb-servo-hitec/" border_width_all="1px" custom_padding="5px|5px|5px|5px" border_color_all="#adadad"]

Prezzo: 34€

[/et_pb_blurb][/et_pb_column][/et_pb_row][et_pb_row admin_label="row" _builder_version="3.0.47" background_size="initial" background_position="top_left" background_repeat="repeat"][et_pb_column type="4_4"][et_pb_text admin_label="Adsense" module_id="parte_teorica" _builder_version="3.0.87" background_size="initial" background_position="top_left" background_repeat="repeat" use_border_color="off" border_color="#ffffff" border_style="solid" saved_tabs="all"]

 

[/et_pb_text][et_pb_text _builder_version="3.8.1" background_size="initial" background_position="top_left" background_repeat="repeat" use_border_color="off" border_color="#ffffff" border_style="solid"]

Il controllo del servo HS-785HB della HiTech

Vediamo ora in generale come funziona questo servo motore. Il motore è dotato di un connettore a 3 fili: nero, rosso, giallo. I fili nero e rosso servono per l'alimentazione. Il filo giallo serve per il segnale di comando.

Alimentazione del servo

I servomotori generalmente assorbono una corrente rilevante e non possono essere alimentati direttamente da Arduino. Per questo motivo è necessario utilizzare un alimentatore esterno.

Nel caso del HS-785HB l'assorbimento massimo di corrente è di 230mA. Un singolo motore potrebbe funzionare con la scheda Arduino, ma è meglio, come criterio generale, ricorrere ad un alimentatore esterno.  La tensione di funzionamento è fra 4.8 e 6V, si può quindi prendere un alimentatore da 5V facilmente reperibile.  Se disponiamo di alimentatori con tensioni maggiori, possiamo facilmente ottenere i 5V utilizzando un circuito regolatore.  L'ingresso del regolatore andrà collegato al vostro alimnetatore/batteria con tensione superiore ai 5V. L'uscita del regolatore andrà collegata ai cavi rosso (+) e nero (-) del servo.

[box type="warning"] Utilizzando tensioni superiori ai 6V come alimentazione diretta del servo può portare al danneggiamento dello stesso e invalidare la garanzia.[/box]

Collegamento di Arduino

Controllare uno o più motori con Arduino è relativamente semplice. Prima di tutto è necessario ricordardi che la scheda Arduino e il motore devono avere un punto massa in comune. ( il (-) nero del motore/ andrà collegato ad un piedino GND di Arduino ).

[box type="info"] La massa comune. Spesso quando si collegano più schede elettroniche assieme ci si dimentica di riferirle alla stessa massa. Questa operazione è molto importante perché una tensione, come saprete, non ha mai un valore assoluto, ma è sempre un DIFFERENZA DI POTENZIALE tra due punti. Per questo motivo noi potremmo avere 5V tra due morsetti di una scheda, 5V tra due morsetti di un'altra scheda, ma queste tensioni non sono mai correlate.[/box]

Se questo punto non è chiaro o avete dei dubbi potete contattare l'assistenza.

Il passo successivo è scegliere un pin digitale per il controllo del segnale. Arduino è già dotato di una libreria per il controllo dei servo.

Di seguito mostreremo un esempio semplice di programma.

 Se utilizzate Arduino Uno potete alimentare l'intero sistema utilizzando un unica fonte di alimentazione. Se utilizzate alimentatori non stabilizzati è sempre consigliabile aggiungere dei regolatori di tensione per prevenire fluttuazioni dannose della tensione di alimentazione.

 

[/et_pb_text][et_pb_text admin_label="Adsense" module_id="parte_teorica" _builder_version="3.0.87" background_size="initial" background_position="top_left" background_repeat="repeat" use_border_color="off" border_color="#ffffff" border_style="solid" saved_tabs="all"]




[/et_pb_text][et_pb_text _builder_version="3.8.1" background_size="initial" background_position="top_left" background_repeat="repeat" use_border_color="off" border_color="#ffffff" border_style="solid"]

Il segnale di controllo

Infine siamo arrivati al segnale di controllo. I servo di questo tipo consentono, modulando la durata di un impulso, di raggiungere una posizione fissata. Nella figura vediamo il comportamento si un servo tradizionale e il comportamento del servo HS-785HB.  Un servo normale, come abbiamo visto, può essere pilotato con un impulso da 500 uS fino a 2500 uS.

Il nostro servo compie 1260°, cioé 3,5 giri.

Dobbiamo quindi immaginare che gli impulsi, in questo caso, serviranno a percorrere un mega angolo di 1260° e quindi andremo da  600 uS per 0° a  2400 uS per 1260°.

La domanda che qualcuno potrebbe farsi è "A cosa serve muoversi di un angolo così strano ?".  Questo servo nasce per controllare delle piccole funi quindi l'utilità sta nel avvolgere le funi in modo controllato.

Per i nostri scopi, invece,  il servo HS-785HB è quello più utilizzato perché consente di produrre oggetti molto interessanti. Di seguito ne vedremo alcuni.

Le principali applicazioni dei servo sono: moti rotatori controllati, conversione di moto rotatorio in traslazione controllata.

Rotazioni:

Le rotazioni controllate dal nostro HS-785HB si applicano principalmente a due oggetti molto interessanti di cui troverete i dettagli nelle relative sezioni: il GEARBOX e il sistema di PAN TILT.

Traslazioni:

Per quanto riguarda le traslazioni: il sistema più utilizzato è il 785 Gear Rack (ingranaggio con cremagliera).

Tutti i sistemi, sia traslazioni che rotazioni, si possono controllare con Arduino.

[/et_pb_text][et_pb_image src="https://www.steplab.net/wp-content/uploads/2018/06/sweep_BB.png" _builder_version="3.8"]

 

[/et_pb_image][et_pb_text admin_label="Adsense" module_id="parte_teorica" _builder_version="3.0.87" background_size="initial" background_position="top_left" background_repeat="repeat" use_border_color="off" border_color="#ffffff" border_style="solid" saved_tabs="all"]




[/et_pb_text][et_pb_text admin_label="Codice Arduino" _builder_version="3.0.87" background_size="initial" background_position="top_left" background_repeat="repeat" use_border_color="off" border_color="#ffffff" border_style="solid"]

L'esempio di base da cui partire con Arduino per controllare l'HS-785HB è il seguente

 


#include <Servo.h> // libreria Servo inclusa nella distribuzione base di Arduino

Servo mioservo; // assegnate un nome al servo

void setup()
{
 barra.attach(9); // piedino di collegamento della linea dati in questo caso 9 digitale

}

void loop() {
int pos = 1500; // posizione del servo in uS

 mioservo.writeMicroseconds(pos); // invia la posizione al servo

 }


 

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

Shopping cart0
There are no products in the cart!
Continua a fare acquisti
0