LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vorresti leggere La campana
Niente spam

In questo articolo parleremo dei servi nei progetti Arduino. È grazie ai servomotori che i normali progetti elettronici diventano robotici. Il collegamento di un servo a un progetto Arduino consente di rispondere ai segnali dei sensori con alcuni movimenti precisi, come aprire una porta o girare i sensori nella giusta direzione. L'articolo discute le questioni del controllo dei servi, i possibili schemi per collegare un servo a un arduino, nonché esempi di schizzi.

Un servoazionamento è un tipo di azionamento in grado di controllare con precisione i parametri di movimento. In altre parole, è un motore che può ruotare il suo albero di un certo angolo o mantenere una rotazione continua in un periodo preciso.

Il funzionamento del servo si basa sull'uso del feedback (un circuito chiuso in cui il segnale in ingresso e in uscita non è abbinato). Qualsiasi tipo di azionamento meccanico può fungere da servoazionamento, che include un sensore e un'unità di controllo che mantiene automaticamente tutti i parametri impostati sul sensore. La struttura del servoazionamento è composta da un motore, un sensore di posizione e un sistema di controllo. Il compito principale di tali dispositivi è l'implementazione nel campo dei servomeccanismi. Inoltre, i servoazionamenti sono spesso utilizzati in settori quali la lavorazione dei materiali, la produzione di attrezzature di trasporto, la lavorazione del legno, la produzione di lamiere, la produzione di materiali da costruzione e altri.

Nei progetti di robotica arduino, un servo viene spesso utilizzato per semplici azioni meccaniche:

  • Ruota il telemetro o altri sensori di una certa angolazione per misurare la distanza nel campo visivo ristretto del robot.
  • Fai un piccolo passo con il piede, movimento di un arto o della testa.
  • Per creare manipolatori robotici.
  • Per implementare il meccanismo di sterzo.
  • Aprire o chiudere una porta, una serranda o un altro oggetto.

Naturalmente, la portata dei servi nei progetti reali è molto più ampia, ma gli esempi forniti sono i circuiti più popolari.

Schema e tipi di servi

Il principio di funzionamento di un servo si basa sul feedback di uno o più segnali di sistema. L'indicatore di uscita viene inviato all'ingresso, dove il suo valore viene confrontato con l'azione di impostazione e vengono eseguite le azioni necessarie, ad esempio il motore viene spento. L'implementazione più semplice è un resistore variabile, che è controllato da un albero: quando i parametri del resistore cambiano, i parametri della corrente che alimenta il motore cambiano.

Nei servi reali, il meccanismo di controllo è molto più complicato e utilizza chip di controllo integrati. A seconda del tipo di meccanismo di feedback utilizzato, ci sono analogico e digitale servi. I primi usano qualcosa che sembra un potenziometro, i secondi usano i controller.

L'intero circuito di servocomando si trova all'interno della custodia, i segnali di controllo e l'alimentazione sono forniti, di norma, passano attraverso tre fili: terra, tensione di alimentazione e segnale di controllo.

Servo a rotazione continua a 360, 180 e 270 gradi

Esistono due tipi principali di servomotori: con rotazione continua e con un angolo fisso (il più delle volte, 180 o 270 gradi). La differenza tra un servo a rotazione limitata sta negli elementi di progettazione meccanica che possono bloccare il movimento dell'albero al di fuori degli angoli specificati dai parametri. Avendo raggiunto un angolo di 180, l'albero influirà sul limitatore e darà un comando per spegnere il motore. I servomotori a rotazione continua non dispongono di tali limitatori.

Materiali per servo ingranaggi

Nella maggior parte dei servi, il collegamento tra l'albero e gli elementi esterni è un ingranaggio, quindi è molto importante di che materiale è fatto. Ci sono due opzioni più disponibili: ingranaggi in metallo o plastica. Nei modelli più costosi, puoi trovare elementi in carbonio e persino in titanio.


Le varianti in plastica sono naturalmente più economiche, più facili da produrre e sono spesso utilizzate nei modelli servo economici. Per i progetti di addestramento, quando il servo esegue più movimenti, questo non è un problema. Ma nei progetti seri, l'uso della plastica è impossibile, vista l'usura molto rapida di tali ingranaggi sotto carico.

Gli ingranaggi in metallo sono più affidabili, ma questo, ovviamente, influisce sia sul prezzo che sul peso del modello. I produttori parsimoniosi possono realizzare alcune parti in plastica e alcune parti in metallo, anche questo dovrebbe essere tenuto a mente. E, ovviamente, che nei modelli più economici anche la presenza di un ingranaggio in metallo non è garanzia di qualità.

Gli ingranaggi in titanio o carbonio sono l'opzione migliore se hai un budget limitato. Leggeri e affidabili, questi servi sono ampiamente utilizzati per creare modelli di automobili, droni e aerei.

Vantaggi dei servomotori

L'uso diffuso dei servoazionamenti è dovuto al fatto che hanno un funzionamento stabile, un'elevata resistenza alle interferenze, dimensioni ridotte e un'ampia gamma di controllo della velocità. Caratteristiche importanti dei servoazionamenti sono la capacità di aumentare la potenza e fornire informazioni di feedback. E ne consegue che nella direzione in avanti, il circuito è un trasmettitore di energia, e nella direzione inversa, è un trasmettitore di informazioni che viene utilizzato per migliorare la precisione del controllo.

Differenze tra servo e motore convenzionale

Accendendo o spegnendo un motore elettrico convenzionale, possiamo generare un movimento rotatorio e far muovere ruote o altri oggetti attaccati all'albero. Questo movimento sarà continuo, ma per capire di quale angolo ha girato l'albero o quanti giri ha fatto, sarà necessario installare degli elementi esterni aggiuntivi: gli encoder. Il servo contiene già tutto il necessario per ottenere informazioni sui parametri di rotazione correnti e può spegnersi automaticamente quando l'albero ruota all'angolo richiesto.

Differenze tra servo e motore passo-passo

Un'importante differenza tra un servomotore e un motore passo-passo è la capacità di lavorare con elevate accelerazioni e con un carico variabile. Anche i servomotori hanno una potenza maggiore. I motori passo-passo non hanno feedback, quindi è possibile osservare l'effetto della perdita di passo, la perdita di passo è esclusa nei servomotori: tutte le violazioni verranno registrate e corrette. Con tutti questi evidenti vantaggi, i servomotori sono più costosi dei motori passo-passo, hanno un cablaggio e un sistema di controllo più complessi e richiedono una manutenzione più qualificata. È importante notare che i motori passo-passo e i servoazionamenti non sono concorrenti diretti: ciascuno di questi dispositivi ha il suo ambito specifico.

Dove acquistare i servi popolari SG90, MG995, MG996

La più conveniente opzione servo SG90 1.6KG Servi SG90 e MG90S per Arduino a un prezzo inferiore a 70 rubli
Un'altra opzione servo SG90 Pro 9g da un fornitore di fiducia su Ali Servo SG90 dal fornitore affidabile RobotDyn
Servo tester Diverse opzioni di servo tester
Servo protetto con coppia di 15 kg Servo JX DC5821LV 21KG Completamente impermeabile Core mental gear 1/8 1/10 RC auto Scaler Buggy Crawler TRAXXAS RC4WD TRX-4 SCX10 D90
Servo MG996R MG996 Servo ingranaggi in metallo per Futaba JR Servo 13KG 15KG Servo Digital MG995 MG996 MG996R Servo Metal Gear

Il fattore decisivo nel controllo dei servi è il segnale di controllo, che è un impulso di frequenza costante e larghezza variabile. La lunghezza dell'impulso è uno dei parametri più importanti che determina la posizione del servo. Questa lunghezza può essere impostata manualmente nel programma utilizzando il metodo di selezione tramite l'angolo o utilizzando i comandi della libreria. Per ogni marca di dispositivo, la lunghezza potrebbe essere diversa.

Quando il segnale entra nel circuito di controllo, il generatore emette il suo impulso, la cui durata viene determinata utilizzando un potenziometro. In un'altra parte del circuito si confrontano la durata del segnale applicato e il segnale del generatore. Se questi segnali hanno una durata diversa, viene acceso il motore elettrico, il cui senso di rotazione è determinato da quale degli impulsi è più breve. Se le lunghezze degli impulsi sono uguali, il motore si ferma.

La frequenza standard con cui vengono applicati gli impulsi è 50 Hz, ovvero 1 impulso ogni 20 millisecondi. A questi valori, la durata è di 1520 microsecondi e il servo è in posizione centrale. La modifica della lunghezza dell'impulso porta alla rotazione del servo - con un aumento della durata, la rotazione è in senso orario, con una diminuzione - in senso antiorario. Ci sono limiti di durata - in Arduino nella libreria Servo per 0° il valore dell'impulso è impostato su 544 μs (limite inferiore), per 180° - 2400 μs (limite superiore).

(Immagine usata da amperka.ru)

È importante tenere presente che su un particolare dispositivo, le impostazioni possono differire leggermente dai valori generalmente accettati. Per alcuni dispositivi, la posizione media e l'ampiezza dell'impulso possono essere 760 µs. Tutti i valori accettati possono anche differire leggermente a causa dell'errore che potrebbe essere consentito durante la produzione del dispositivo.

Il metodo di controllo dell'azionamento viene spesso erroneamente chiamato PWM / PWM, ma non è del tutto corretto. Il controllo dipende direttamente dalla durata dell'impulso, la frequenza del loro verificarsi non è così importante. Sarà garantito il corretto funzionamento sia a 40 Hz che a 60 Hz, solo una forte riduzione o aumento della frequenza contribuirà. Con una forte caduta, il servoazionamento inizierà a funzionare a scatti, se la frequenza viene aumentata oltre i 100 Hz, il dispositivo potrebbe surriscaldarsi. Pertanto, è più corretto chiamare PDM.

In base all'interfaccia interna, si possono distinguere servi analogici e digitali. Non ci sono differenze esterne - tutte le differenze sono solo nell'elettronica interna. Un servoazionamento analogico contiene al suo interno uno speciale microcircuito, uno digitale contiene un microprocessore che riceve e analizza gli impulsi.

Alla ricezione di un segnale, il servo analogico decide se spostare o meno la posizione e, se necessario, invia un segnale al motore con una frequenza di 50 Hz. Durante il tempo di reazione (20 ms), possono verificarsi influenze esterne che modificheranno la posizione del servo e il dispositivo non avrà il tempo di reagire. Il servo digitale utilizza un processore che invia ed elabora segnali a una frequenza più alta - da 200 Hz, quindi può rispondere più velocemente alle influenze esterne, sviluppare rapidamente la velocità e la coppia desiderate. Pertanto, il servo digitale manterrà meglio la posizione impostata. Allo stesso tempo, il servo digitale richiede più elettricità per funzionare, il che aumenta il loro costo. Anche la complessità della loro produzione contribuisce notevolmente al prezzo. L'alto costo è l'unico svantaggio dei servi digitali, tecnicamente sono molto meglio dei dispositivi analogici.

Collegamento di un servomotore ad un arduino

Il servo ha tre contatti, che sono colorati in diversi colori. Il filo marrone porta a terra, il filo rosso porta a +5V di alimentazione, il filo arancione o giallo è il segnale. Il dispositivo è collegato ad Arduino tramite la breadboard come mostrato in figura. Il filo arancione (segnale) è collegato al pin digitale, nero e rosso, rispettivamente a terra e alimentazione. Per controllare un servomotore, non è necessario collegarlo in modo specifico ai perni di spessore: abbiamo già descritto il principio del servocomando in precedenza.

Non è consigliabile collegare potenti servi direttamente alla scheda. creano una corrente che non è compatibile con la vita per il circuito di alimentazione di Arduino: sarai fortunato se la protezione funziona. I sintomi più comuni di sovraccarico e alimentazione impropria del servo sono il servo jerk, il suono sgradevole e il ripristino della scheda. Per l'alimentazione, è meglio utilizzare fonti esterne, assicurati di combinare le masse dei due circuiti.

Schizzo del servocomando Arduino

Controllare un servo direttamente modificando la durata dell'impulso nello sketch non è un compito banale, ma fortunatamente abbiamo un'eccellente libreria Servo integrata nell'ambiente di sviluppo Arduino. Considereremo tutte le sfumature della programmazione e del lavoro con i servi in ​​un articolo separato. Qui diamo l'esempio più semplice di utilizzo di Servo.

L'algoritmo di lavoro è semplice:

  • Per prima cosa includiamo Servo.h
  • Crea un oggetto della classe Servo
  • Nel blocco di configurazione, specifica a quale pin è collegato il servo
  • Usiamo i metodi dell'oggetto nel solito modo C++. Il più diffuso è il metodo write, a cui si alimenta un valore intero in gradi (per un servo 360 questi valori verranno interpretati diversamente).

Un esempio di un semplice schizzo per lavorare con un servo

Un esempio di progetto in cui impostiamo subito il servomotore ad angolo zero, quindi lo ruotiamo di 90 gradi.

#includere Servo servo // Crea un oggetto void setup() ( servo.attach(9); // Comunica all'oggetto della classe Servo che il servo è collegato al pin 9 servo1.write(0); // Imposta la posizione iniziale) void loop() ( servo.write (90); // Ruota il servo di 90 gradi delay(1000); servo.write(1800); delay(100); servo.write(90); delay(1000); servo.write(0) ; ritardo(1000 ); )

Schizzo per due servi

E in questo esempio, stiamo lavorando con due servi contemporaneamente:

#includere Servoservo1; // Primo servo Servo servo2; // Secondo servo void setup() ( servo1.attach(9); // Comunica all'oggetto della classe Servo che il servo è collegato al pin 9 servo2.attach(10); // Questo servo è collegato al pin 10 ) void loop () ( // Imposta le posizioni servo1.write(0); servo2.write(180); delay(20); // Cambia le posizioni servo2.write(0); servo1.write(180); )

Servocomando con potenziometro

In questo esempio, giriamo il servo in base al valore ricevuto dal potenziometro. Leggiamo il valore e lo convertiamo in un angolo usando la funzione map:

//Frammento dell'esempio standard di utilizzo della libreria Servo void loop() ( val = analogRead(A0); // Legge il valore dal pin a cui è collegato il potenziometro val = map(val, 0, 1023, 0, 180); // Converti il ​​numero nell'intervallo da 0 a 1023 nel nuovo intervallo - da 0 a 180. servo.write(val); delay(15); )

Caratteristiche e collegamento di SG-90

Se stai cercando di acquistare il servo più economico e semplice, la scelta migliore è l'SG 90. Questo servo viene spesso utilizzato per controllare macchine piccole e leggere con un angolo di rotazione da 0° a 180°.

Specifiche SG90:

  • Velocità di elaborazione dei comandi 0,12 s/60 gradi;
  • Alimentazione 4,8 V;
  • Temperature di esercizio da -30°C a 60°C;
  • Dimensioni 3,2 x 1,2 x 3 cm;
  • Peso 9 gr.

Descrizione di SG90

I colori dei fili sono standard. Il servo è economico e non fornisce impostazioni precise per le posizioni di inizio e fine. Per evitare inutili sovraccarichi e caratteristici scoppiettii nella posizione di 0 e 180 gradi, è meglio impostare i punti estremi a 10° e 170°. Durante il funzionamento del dispositivo, è importante monitorare la tensione di alimentazione. Con una forte sovrastima di questo indicatore, gli elementi meccanici dei meccanismi degli ingranaggi possono essere danneggiati.

Servocomandi tower pro MG995 e MG996

Il servo MG995 è il secondo modello servo più popolare più spesso collegato ai progetti Arduino. Questi sono servi relativamente economici con prestazioni molto migliori rispetto all'SG90.

Specifiche MG995

L'albero di uscita dell'MG995 ruota di 120 gradi (60 in ciascuna direzione), sebbene molti venditori indichino 180 gradi. Il dispositivo è realizzato in una custodia di plastica.

  • Peso 55 g;
  • Coppia 8,5 kg x cm;
  • Velocità 0,2 s/60 gradi (a 4,8 V);
  • Potenza di lavoro 4,8 - 7,2 V;
  • Temperature di esercizio - da 0°C a -55°C.

Descrizione di MG995

Anche il collegamento all'arduino avviene tramite tre fili. In linea di principio, per progetti amatoriali, è consentito collegare l'MG995 direttamente ad Arduino, ma la corrente del motore creerà sempre un carico pericoloso per gli ingressi della scheda, quindi si consiglia di alimentare comunque i servi separatamente ricordandosi di collegare la massa di entrambi i circuiti di alimentazione. Un'altra opzione che semplifica la vita è l'utilizzo di servo controller e shield già pronti, che esamineremo in un articolo separato.

L'MG996R è simile all'MG995 in termini di caratteristiche, solo che viene fornito in una custodia di metallo.

Conversione di un servo in un servo a rotazione continua

Come descritto sopra, il servo è controllato da impulsi di larghezza variabile che impostano l'angolo di rotazione. La posizione attuale viene letta dal potenziometro. Se l'albero e il potenziometro sono scollegati, il servomotore assumerà la posizione del cursore del potenziometro come al centro. Tutte queste azioni porteranno al fatto che il feedback verrà rimosso. Ciò consente di controllare la velocità e la direzione di rotazione sul cavo del segnale e creare un servo a rotazione continua. È importante notare che un servo a rotazione costante non può ruotare di un certo angolo ed eseguire un numero di giri strettamente specificato.

Per eseguire i passaggi precedenti, dovrai smontare il dispositivo e apportare modifiche al design.

Nell'IDE di Arduino, devi creare un piccolo schizzo che metta il bilanciere nella posizione centrale.

#includere Servo servo; void setup()( myservo.attach(9); myservo.write(90); ) void loop()( )

Successivamente, il dispositivo deve essere collegato ad Arduino. Una volta collegato, il servo inizierà a ruotare. È necessario raggiungere il suo arresto completo regolando la resistenza. Dopo che la rotazione si è interrotta, è necessario trovare l'albero, estrarre l'elemento flessibile da esso e installarlo nuovamente.

Questo metodo presenta diversi inconvenienti: impostare il resistore su un arresto completo è instabile, con il minimo shock/riscaldamento/raffreddamento, il punto zero regolato può andare fuori strada. Pertanto, è meglio utilizzare il metodo di sostituzione del potenziometro con un trimmer. Per fare ciò, estrarre il potenziometro e sostituirlo con un trimmer con la stessa resistenza. Il punto zero deve essere regolato con uno schizzo di calibrazione.

Qualsiasi metodo per convertire un servo in un servo a rotazione continua ha i suoi svantaggi. In primo luogo, è difficile regolare il punto zero, qualsiasi movimento può farlo abbassare. In secondo luogo, l'intervallo di controllo è piccolo: con una piccola modifica nell'ampiezza dell'impulso, la velocità può cambiare in modo significativo. Puoi espandere la gamma a livello di codice in Arduino.

Conclusione

I servoazionamenti svolgono un ruolo molto importante in molti progetti Arduino, dalla robotica ai sistemi domestici intelligenti. Tutto ciò che è collegato al movimento richiede tradizionalmente conoscenze speciali e creare un azionamento a tutti gli effetti che funzioni correttamente non è un compito facile. Ma con i servomotori, in molti casi puoi semplificare il compito, quindi il servo viene utilizzato costantemente anche nei progetti entry-level.

In questo articolo, abbiamo cercato di coprire vari aspetti dell'utilizzo dei servi nei progetti arduino: dal collegamento alla scrittura di schizzi. Scegliendo il modello servo più semplice (ad esempio, sg 90), puoi facilmente ripetere gli esempi forniti e creare i tuoi primi progetti in cui qualcosa si muove e cambia. Speriamo che questo articolo ti aiuti in questo.

I servoazionamenti di solito hanno un angolo di rotazione limitato di 180 gradi. In questo caso si consideri un servo "modificato" con angolo di rotazione dell'asse illimitato.


TTX dalla pagina del venditore

Dimensioni: albero di trasmissione 40 * 20 * 37,5 + 5 mm
peso: 38 g
lunghezza filo: 320 mm

Velocità: 0,19 sec/60 gradi (4,8 V)
0,22 sec/60 gradi (6 V)
le velocità sono molto probabilmente confuse, a 6 volt il servo dovrebbe essere più veloce
coppia: 5 kg. centimetro. a (4,8 V)
5,5 kg.cm.a (6V)
tensione: 4,8 V-6 V

Consegna standard

4 sedie a dondolo di diverse forme
4 boccole, 4 ammortizzatori in gomma e 4 viti per il montaggio del servo
e un'altra piccola vite per fissare la sedia a dondolo all'albero è scappata dalla foto :)

L'aspetto ispira fiducia, niente nemmeno al tatto, piccoli banchi di colata solo nell'area delle orecchie di montaggio, un adesivo leggermente storto (sì, una tautologia!). Il filo è morbido, il connettore si adatta bene ai pin.

Bene, ora l'apertura:

Chi non sapeva come funziona: nel caso c'è un motore, una scheda di controllo e una resistenza variabile, dalla posizione di cui il servo determina l'angolo dell'asse.
Il cambio in questo servo è di plastica, la risorsa è inferiore a quella di un metallo e non ama i grandi carichi. La boccola per l'asse centrale è in rame o in alcune sue leghe. L'albero di uscita ha un cuscinetto. È possibile aggiungere lubrificanti

Parte elettrica

Cervelli che controllano la direzione e la velocità di rotazione, un rezjuk variabile e un motore elettrico.

E ora, attenzione, "trucco della vita", come trasformare un servo normale in un servo a rotazione costante

Nell'originale, la variabile è bloccata con il suo asse nell'albero di uscita dall'interno del servo, nell'albero modificato, a quanto pare, è stato morso / rotto in fase di montaggio, il resistore è impostato in posizione centrale in modo che il l'albero non ruota a riposo. Se vai oltre, puoi buttarlo via completamente e sostituirlo con 2 resistori costanti identici, è conveniente mettere qualcosa di smd-shnoe sulla scheda di controllo.

Totale:
serva as serva, non spazio, ma non beni di consumo,
può essere trovato più economico e con un cambio in metallo

PS
Come correttamente notato nei commenti, mi sono completamente dimenticato di menzionare come viene controllato il servo, il servo è alimentato da 5-6 volt e un segnale ppm attraverso il terzo filo.

Le opzioni di controllo più comuni:
1) colleghiamo la potenza da un lato, dall'altro l'uscita per 3 "consumatori" (server, motori, ecc.) potenza e segnale PPM, puoi regolare la velocità e il senso di rotazione del servo con la manopola
2) L'apparecchiatura RC sul ricevitore emette lo stesso segnale ppm.
3) guidare un arduino

video

pp
A seguito della “modifica” il servo ha perso feedback, il cervello non conosce la reale posizione dell'albero e il senso di rotazione, considera questo momento se lo acquisterai.

Ho intenzione di acquistare +17 Aggiungi ai preferiti Mi è piaciuta la recensione +31 +56

Questo articolo discute i servi: il loro dispositivo, lo scopo, i suggerimenti per il collegamento e il controllo, i tipi di servi e il loro confronto. Iniziamo e iniziamo con cos'è un servo.

Il concetto di servo

Un servoazionamento è spesso inteso come un meccanismo con un motore elettrico, a cui può essere chiesto di ruotare di un determinato angolo e mantenere questa posizione. Tuttavia, questa non è una definizione completa.

Per dirla in modo più completo, un servoazionamento è un azionamento con controllo tramite feedback negativo, che consente di controllare con precisione i parametri di movimento. Un servoazionamento è qualsiasi tipo di azionamento meccanico che include un sensore (posizione, velocità, forza, ecc.) e un'unità di controllo dell'azionamento che mantiene automaticamente i parametri necessari sul sensore e sul dispositivo in base a un determinato valore esterno.

In altre parole:

    Il servoazionamento riceve il valore del parametro di controllo come input. Ad esempio, l'angolo di rotazione.

    La centralina confronta questo valore con il valore sul suo sensore.

    In base al risultato del confronto, l'azionamento esegue alcune azioni, come girare, accelerare o decelerare, in modo che il valore del sensore interno si avvicini il più possibile al valore del parametro di controllo esterno.

I più comuni sono i servi che mantengono un determinato angolo e i servi che mantengono una determinata velocità di rotazione.

Di seguito è mostrato un tipico servo per hobby.

Come sono organizzati i servi?

Dispositivo servo

I servoazionamenti hanno diversi componenti.

Azionamento - motore elettrico con cambio. Per convertire l'elettricità in rotazione meccanica, è necessario motore elettrico. Tuttavia, spesso la velocità di rotazione del motore è troppo elevata per un uso pratico. Usato per rallentare la velocità riduttore: un meccanismo di ingranaggi che trasmette e converte la coppia.

Accendendo e spegnendo il motore elettrico, possiamo ruotare l'albero di uscita - l'ingranaggio finale del servo, a cui possiamo attaccare qualcosa che vogliamo controllare. Tuttavia, affinché la posizione possa essere controllata dal dispositivo, sensore di feedback - codificatore, che riconverte l'angolo di sterzata in un segnale elettrico. Per questo viene spesso utilizzato un potenziometro. Ruotando il cursore del potenziometro, la sua resistenza cambia, proporzionale all'angolo di rotazione. Pertanto, può essere utilizzato per impostare la posizione corrente del meccanismo.

Oltre al motore elettrico, al cambio e al potenziometro, il servoazionamento ha un riempimento elettronico che ha il compito di ricevere un parametro esterno, leggere i valori dal potenziometro, confrontarli e accendere/spegnere il motore. È responsabile del mantenimento del feedback negativo.

Ci sono tre fili che vanno al servo. Due di loro sono responsabili dell'alimentazione del motore, il terzo fornisce un segnale di controllo che viene utilizzato per impostare la posizione del dispositivo.

Ora vediamo come controllare il servo esternamente.

Servocomando. Interfaccia del segnale di controllo

Per indicare la posizione desiderata al servo, è necessario inviare un segnale di controllo lungo il filo previsto. Segnale di controllo - impulsi di frequenza costante e larghezza variabile.

La posizione che il servo dovrebbe assumere dipende dalla lunghezza degli impulsi. Quando un segnale entra nel circuito di controllo, il generatore di impulsi al suo interno produce il proprio impulso, la cui durata è determinata tramite un potenziometro. Un'altra parte del circuito confronta la durata dei due impulsi. Se la durata è diversa, il motore elettrico si accende. Il senso di rotazione è determinato da quale degli impulsi è più breve. Se le lunghezze degli impulsi sono uguali, il motore elettrico si ferma.

Molto spesso nei servocomandi per hobby, gli impulsi vengono prodotti a una frequenza di 50 Hz. Ciò significa che un impulso viene emesso e ricevuto una volta ogni 20 ms. Tipicamente, una durata dell'impulso di 1520 µs significa che il servo dovrebbe prendere la posizione centrale. Aumentando o diminuendo la durata dell'impulso, il servo girerà rispettivamente in senso orario o antiorario. In questo caso, ci sono limiti superiore e inferiore della durata dell'impulso. Nella libreria Servo per Arduino, le lunghezze di impulso predefinite sono 544 µs per 0° e 2400 µs per 180°.

Tieni presente che sul tuo particolare dispositivo, le impostazioni di fabbrica potrebbero essere diverse da quelle standard. Alcuni servi utilizzano una larghezza di impulso di 760 µs. In questo caso, la posizione centrale corrisponde a 760 µs, allo stesso modo dei servoazionamenti convenzionali la posizione media corrisponde a 1520 µs.

Vale anche la pena notare che queste sono solo lunghezze generalmente accettate. Anche all'interno dello stesso modello servo, potrebbe esserci un errore di fabbricazione che causa una leggera differenza del range operativo delle lunghezze degli impulsi. Per un funzionamento preciso, ogni servo specifico deve essere calibrato: attraverso degli esperimenti, è necessario selezionare il range corretto che gli è specifico.

Cos'altro vale la pena prestare attenzione è la confusione nella terminologia. Spesso il modo per controllare i servi è chiamato PWM / PWM (Pulse Width Modulation) o PPM (Pulse Position Modulation). Questo non è il caso e l'utilizzo di questi metodi potrebbe persino danneggiare l'unità. Il termine corretto è PDM (Pulse Duration Modulation). In esso, la lunghezza degli impulsi è estremamente importante e la frequenza del loro aspetto non è così importante. 50Hz è la norma, ma il servo funzionerà correttamente sia a 40 che a 60Hz. L'unica cosa da tenere a mente è che con un forte calo di frequenza può funzionare a scatti ea potenza ridotta, e con un forte aumento di frequenza (ad esempio 100 Hz), può surriscaldarsi e guastarsi.

Specifiche dei servi

Ora scopriamo cosa sono i servi e quali caratteristiche hanno.

Coppia e velocità di rotazione

Per prima cosa, parliamo di due caratteristiche molto importanti di un servo: coppia e a proposito di velocità di svolta.

Il momento della forza, o momento torcente, è una quantità fisica vettoriale uguale al prodotto del vettore raggio disegnato dall'asse di rotazione al punto di applicazione della forza da parte del vettore di questa forza. Caratterizza l'azione rotatoria della forza su un corpo rigido.

In parole povere, questa caratteristica mostra quanto pesante è un carico che il servo è in grado di mantenere a riposo su una leva di una determinata lunghezza. Se la coppia del servo è 5 kg × cm, significa che il servo manterrà una leva lunga 1 cm sul peso in posizione orizzontale, all'estremità libera della quale sono appesi 5 kg. O, equivalentemente, una leva lunga 5 cm, a cui si appende 1 kg.

La velocità del servo è misurata dal tempo impiegato dal braccio del servo per ruotare di 60°. Una caratteristica di 0,1 s/60° significa che il servo ruota di 60° in 0,1 s. Da esso è facile calcolare la velocità in un valore più familiare, giri al minuto, ma è successo che quando si descrivono i servi, viene spesso utilizzata tale unità.

Vale la pena notare che a volte è necessario fare un compromesso tra queste due caratteristiche, perché se vogliamo un servo affidabile e per impieghi gravosi, dobbiamo essere preparati affinché questo potente rig giri lentamente. E se vogliamo un'unità molto veloce, sarà relativamente facile sbilanciarla. Quando si utilizza lo stesso motore, il bilanciamento è determinato dalla configurazione degli ingranaggi nel cambio.

Certo, possiamo sempre prendere un impianto che consuma più energia, purché le sue caratteristiche soddisfino le nostre esigenze.

Fattore di forma

I servi variano di dimensioni. E sebbene non esista una classificazione ufficiale, i produttori hanno aderito da tempo a diverse dimensioni con una disposizione generalmente accettata di elementi di fissaggio. Possono essere suddivisi in:

    piccolo

    standard

Hanno le seguenti dimensioni caratteristiche:

Esistono anche servi cosiddetti "di tipo speciale" con dimensioni che non rientrano in questa classificazione, ma la percentuale di tali servi è molto piccola.

Interfaccia interna

I servoazionamenti sono analogici o digitali. Quindi quali sono le loro differenze, vantaggi e svantaggi?

Esternamente, non sono diversi: motori elettrici, cambi, potenziometri sono gli stessi, differiscono solo nell'elettronica di controllo interna. Invece di uno speciale servochip analogico, la controparte digitale può essere vista sulla scheda con un microprocessore che riceve gli impulsi, li analizza e controlla il motore. Pertanto, nella versione fisica, la differenza è solo nel modo in cui vengono elaborati gli impulsi e il motore è controllato.

Entrambi i tipi di servo prendono gli stessi impulsi di controllo. Il servo analogico decide quindi se modificare la posizione e, se necessario, invia un segnale al motore. Questo di solito accade a una frequenza di 50 Hz. Pertanto, otteniamo 20 ms, il tempo di reazione minimo. In questo momento, qualsiasi influenza esterna può modificare la posizione del servo. Ma questo non è l'unico problema. A riposo non viene applicata tensione al motore elettrico, in caso di un leggero scostamento dall'equilibrio viene fornito al motore elettrico un breve segnale di bassa potenza. Maggiore è la deviazione, più forte è il segnale. Pertanto, con piccole deviazioni, il servo non sarà in grado di ruotare rapidamente il motore o sviluppare una coppia elevata. Le "zone morte" si formano nel tempo e nella distanza.

Questi problemi possono essere risolti aumentando la frequenza di ricezione, l'elaborazione del segnale e il controllo del motore. I servi digitali utilizzano uno speciale processore che riceve gli impulsi di controllo, li elabora e invia segnali al motore a una frequenza di 200 Hz o più. Si scopre che il servo digitale è in grado di rispondere più velocemente alle influenze esterne, sviluppare la velocità e la coppia necessarie più velocemente, il che significa che è meglio mantenere una determinata posizione, il che è positivo. Naturalmente, allo stesso tempo consuma più elettricità. Inoltre, i servocomandi digitali sono più difficili da produrre e quindi sono notevolmente più costosi. In realtà, questi due svantaggi sono tutti gli svantaggi che hanno i servi digitali. In termini tecnici, sconfiggono incondizionatamente i servi analogici.

Materiali per ingranaggi

Gli ingranaggi per i servi sono disponibili in una varietà di materiali: plastica, carbonio, metallo. Tutti sono ampiamente utilizzati, la scelta dipende dal compito specifico e dalle caratteristiche richieste nell'installazione.

Gli ingranaggi in plastica, più spesso nylon, sono molto leggeri, non soggetti ad usura e sono più comuni nei servoazionamenti. Non resistono a carichi pesanti, ma se ci si aspetta che i carichi siano piccoli, gli ingranaggi in nylon sono la scelta migliore.

Gli ingranaggi in carbonio sono più resistenti, praticamente non si consumano e sono molte volte più resistenti di quelli in nylon. Lo svantaggio principale è il costo elevato.

Gli ingranaggi in metallo sono i più pesanti, ma possono sopportare carichi massimi. Si consumano abbastanza rapidamente, quindi devi cambiare le marce quasi ogni stagione. Gli ingranaggi in titanio sono i preferiti tra gli ingranaggi in metallo, sia in termini di caratteristiche tecniche che di prezzo. Purtroppo ti costeranno parecchio.

Motori brushless e brushless

Esistono tre tipi di servomotori: motore core convenzionale, motore coreless e motore brushless.

Un motore a nucleo convenzionale (a destra) ha un rotore di ferro denso con avvolgimenti di filo e magneti attorno ad esso. Il rotore ha più sezioni, quindi mentre il motore gira, il rotore fa vibrare leggermente il motore mentre le sezioni passano i magneti, risultando in un servo che vibra ed è meno preciso di un servo motore senza nucleo. Il motore a rotore cavo (a sinistra) ha un unico nucleo magnetico con un avvolgimento a forma di cilindro o campana attorno al magnete. Il design senza anima è più leggero e privo di sezioni, per una risposta più rapida e un funzionamento fluido e privo di vibrazioni. Questi motori sono più costosi, ma forniscono un livello di controllo, coppia e velocità superiore rispetto ai motori standard.

I servoazionamenti con motore brushless sono apparsi relativamente di recente. I vantaggi sono gli stessi degli altri motori brushless: non ci sono spazzole, ciò significa che non creano resistenza alla rotazione e non si usurano, la velocità e la coppia sono maggiori con un assorbimento di corrente pari ai motori collettori. I servomotori brushless sono i servo più costosi, ma offrono prestazioni migliori rispetto ai servocomandi con altri tipi di motori.

Collegamento ad Arduino

Molti servi possono essere collegati direttamente ad Arduino. Per fare ciò, provengono da un cavo di tre fili:

    rosso - cibo; si collega al pin 5V o direttamente all'alimentazione

    marrone o nero - terra

    giallo o bianco - segnale; si collega all'uscita digitale di Arduino.

Per connettersi ad Arduino, sarà conveniente utilizzare una scheda di espansione delle porte, come Troyka Shield. Anche se con qualche filo in più è possibile collegare il servo tramite la breadboard o direttamente ai pin di Arduino.

È possibile generare impulsi di controllo da soli, ma questo è un compito così comune che la libreria Servo standard esiste per semplificarlo.

Restrizione alimentare

Un tipico servo per hobby assorbe oltre 100 mA durante il funzionamento. Allo stesso tempo, Arduino è in grado di fornire fino a 500 mA. Pertanto, se è necessario utilizzare un servo potente in un progetto, ha senso pensare di isolarlo in un circuito con potenza aggiuntiva.

Considera l'esempio di collegamento di un servo 12V:

Limitazione del numero di servi collegati

Sulla maggior parte delle schede Arduino, la libreria Servo supporta un massimo di 12 servi, su Arduino Mega questo numero sale a 48. C'è un piccolo effetto collaterale nell'usare questa libreria: se non stai lavorando con un Arduino Mega, diventa impossibile utilizzare la funzione analogWrite() su 9 e 10 pin indipendentemente dal fatto che i servi siano collegati o meno a questi pin. Fino a 12 servi possono essere collegati all'Arduino Mega senza interrompere la funzione PWM/PWM, se utilizziamo più servi non saremo in grado di utilizzare analogWrite() sui pin 11 e 12.

Funzionalità della libreria servo

La libreria Servo consente il controllo software dei servi. A tale scopo viene creata una variabile di tipo Servo. La gestione è svolta dalle seguenti funzioni:

    attach() - Allega una variabile a un pin specifico. Ci sono due possibili sintassi per questa funzione: servo.attach(pin) e servo.attach(pin, min, max) . In questo caso, pin è il numero del pin a cui è collegato il servo, min e max sono le lunghezze degli impulsi in microsecondi, che sono responsabili degli angoli di rotazione di 0° e 180°. Per impostazione predefinita, sono impostati rispettivamente su 544 µs e 2400 µs.

    write() - indica al servo di accettare un valore di parametro. La sintassi è: servo.write(angolo) dove angolo è l'angolo che il servo deve girare.

    writeMicroseconds() - dà un comando per inviare un impulso di una certa lunghezza al servo, è un analogo di basso livello del comando precedente. La sintassi è: servo.writeMicroseconds(uS) dove uS è la lunghezza dell'impulso in microsecondi.

    read() - legge il valore corrente dell'angolo in cui si trova il servo. La sintassi è: servo.read() restituisce un valore intero compreso tra 0 e 180.

    attach() - Controlla se una variabile è stata collegata a un pin specifico. La sintassi è: servo.attached() restituisce boolean true se la variabile è stata collegata a qualsiasi pin, o false in caso contrario.

    detach() - esegue l'azione opposta di attach() , ovvero stacca la variabile dal pin a cui è stata assegnata. La sintassi è: servo.detach() .

Tutti i metodi della libreria Servo2 sono gli stessi dei metodi Servo.

Un esempio di utilizzo della libreria Servo

Invece di una conclusione

I servoazionamenti sono diversi, alcuni sono migliori - altri sono più economici, alcuni sono più affidabili - altri sono più precisi. E prima di acquistare un servo, dovresti tenere presente che potrebbe non avere le migliori caratteristiche, purché sia ​​adatto al tuo progetto. Buona fortuna per il tuo impegno!

I robot più semplici sono a 2 o 4 ruote. Un tale robot può essere basato sul telaio di un'auto radiocomandata, ma non tutti potrebbero averlo a portata di mano o potrebbe essere un peccato rovinarlo. Puoi anche realizzare il telaio da solo, ma mettere le ruote direttamente sul motore non è un'ottima soluzione, il motore ha bisogno di essere caricato per rallentare, per questo è necessario un cambio. Ottenere un telaio già pronto o un cambio o un motore con un cambio si è rivelato un compito non così facile, a differenza dei servi. Quasi tutti i servoazionamenti possono essere facilmente convertiti in un motore con un riduttore.

Le ruote possono essere incollate direttamente sulla sedia a dondolo di un tale motore e il corpo del servo è comodo per il montaggio.

ATTENZIONE! Il design di altri servi può differire, e quindi questo manuale sarà solo una parte di esso.

Come base è stato preso il servo più semplice ed economico:

Per prima cosa, smontiamolo.

Innanzitutto, rimuoviamo l'elettronica non necessaria, mordiamo il driver, controlleremo direttamente il motore. Successivamente, iniziamo a modificare la meccanica, togliamo la prima marcia con albero esterno e togliamo da essa il limitatore di corsa.

Rimuoviamo il resistore e mordiamo il limitatore situato sul suo corpo.

Raccogliamo tutti i meccanici e controlliamo se tutto si muove correttamente.

Il prossimo passo è saldare il filo al motore.

Montiamo il vecchio servo in un nuovo motore con un cambio.

Tutto è pronto, se non hai commesso errori, puoi goderti il ​​​​lavoro.

Per smontare il nostro servo abbiamo bisogno di un cacciavite. Perché Smonto un servo molto piccolo, quindi ho bisogno di un cacciavite appropriato. Personalmente, uso cacciaviti di alcuni kit cinesi economici. L'ho comprato in un chiosco nel sottopasso per circa $ 5, quindi non è molto costoso.

Per aprire il servo, devi svitare solo quattro viti. Si trovano sul coperchio inferiore. Svitare:

Dopo aver rimosso il coperchio, puoi vedere l'unità di controllo. Non entrerò nei dettagli, lo rimuoverò comunque da qui. Puoi anche vedere il motore a cui conducono due fili.

C'è anche un coperchio sulla parte superiore, rimuovendo il quale puoi vedere gli ingranaggi del cambio. Vale la pena notare che due di loro sono fissati sul potenziometro - questo è abbastanza importante, poiché affinché il cambio possa continuare a svolgere la sua funzione, dovremo effettivamente rompere il potenziometro - lo useremo semplicemente come asse per gli ingranaggi.

In realtà, è necessario rimuovere tutti gli ingranaggi dal servoazionamento e metterli da parte per un po'. Estraiamo il potenziometro (a proposito, è anche un resistore variabile) dalla custodia spingendolo delicatamente dal lato inferiore del servo con un cacciavite.

Questo è il momento del punto di non ritorno. Certo, sarà sempre possibile saldare tutto di nuovo, ma questo è già più difficile. Quindi - mordi il potenziometro.

Quindi, usando lo stesso metodo, separiamo la scheda di controllo con i cavi di alimentazione e di segnale.


Quindi mordiamo i fili del motore. Qui, fai attenzione e non mordere i contatti dal motore stesso: se non sei sicuro, è meglio lasciare il filo con un margine. Quindi può essere saldato. Mordo il filo fino al contatto.

Facciamo un inventario.

Tutto sembra essere a posto. Ora prendiamo in mano il nostro potenziometro.

Il fatto è che ora ruota anche solo di una certa angolazione. E poiché è un asse e ad esso è attaccato l'ingranaggio più grande, sul quale in realtà monteremo la ruota in seguito, dobbiamo assicurarci che ruoti costantemente. Tiriamo fuori due piastre di metallo che lo impediscono. Noi abbiamo:

Spero che le foto chiariscano cosa ho fatto. L'ho strappato con delle piccole pinze, poiché non c'era niente di più adatto a portata di mano.
Ora devi tagliare il limitatore sull'ingranaggio stesso. Sembra una sporgenza dal fondo dell'ingranaggio. È facile trovarlo, sembra così.

Rezhem.

E in realtà dopo puoi iniziare a rimontare il cambio nell'alloggiamento. Reinseriamo l'asse che abbiamo fatto in precedenza dal potenziometro.

Successivamente, uno per uno le marce a partire dal più piccolo. Fai attenzione quando inserisci l'ultima marcia: è attaccata in modo speciale all'asse del precedente potenziometro, poiché la punta dell'asse è realizzata a forma di lettera D. È necessario che questa sporgenza entri nella rientranza dell'ingranaggio. Si scopre qualcosa di simile alla seguente immagine.

Mettiamo il coperchio superiore sul cambio in modo che non si sfaldi nel corso di ulteriori lavori.

Beh, non ne sono rimasti molti. Prendiamo un filo con un connettore che abbiamo precedentemente staccato dalla scheda e separiamo il cablaggio al suo interno. Non dovresti separarti da una lunga distanza, infatti un centimetro è sufficiente.

Ne puliamo due (in effetti, qualsiasi, ma ho usato il rosso e il verde). È sufficiente tagliare circa 3 mm di isolamento. Per i nostri scopi - più di.

Pieghiamo semplicemente il filo non spelato rimanente in modo che non interferisca con noi.

Passiamo al caldo. È ora di riscaldare il saldatore. Durante il riscaldamento del saldatore, ho reso il servoazionamento più comodo nell'impugnatura.

Prima di tutto, dovremo rimuovere i resti della vecchia saldatura rimasta sui contatti del motore. Lo faccio con una pompa dissaldante, preriscaldando il contatto con un saldatore in uno stato tale che la saldatura si sciolga. La cosa principale qui è non esagerare: la cover posteriore del motore è ancora in plastica e non ama riscaldarsi a lungo. Il processo è simile a questo:

Capisco che è possibile e non molto evidente quello che ho fatto, ma non c'era praticamente nessuna saldatura sui contatti, che è quello che stavo cercando di ottenere.

Ci sono articoli meravigliosi sulla saldatura in DI HALT "a. In genere è un genio, mi sembra. Link al suo blog, c'è un sacco di cose oltre alla saldatura, infatti, basta cercare.
In breve, per fare una buona saldatura, all'inizio devi sempre sbarazzarti della vecchia saldatura.
Resta da saldare due fili. Chi ha familiarità con la saldatura - affronta in 5 secondi. Chi, come me, per la seconda volta nella mia vita, normalmente ha preso in mano un saldatore, ci vorrà un po' più di tempo, ma comunque - è molto semplice, tutti possono farlo.
Durante la saldatura, utilizzo un flusso, che, è vero, a volte rende il lavoro più facile e la qualità della saldatura con esso è molto più facile da garantire. Personalmente, su consiglio di me, ancora, DI HALT "e sul suo blog sono già riuscito ad innamorarmi dell'LTI-120. Ce l'ho subito in un vasetto così alla moda con un pennello.

Stringiamo quattro viti.

Questo è tutto, l'alterazione del servo è finita. Dopo aver risistemato il servo più comodamente e più saldamente nell'impugnatura, puoi iniziare a testare.

Questa volta non sarò sofisticato con il controller, ma applicherò semplicemente la tensione dall'alimentatore a 5V ai fili verde e rosso. Attenzione, il video mostra un suono piuttosto forte dal funzionamento dell'unità.

Come puoi vedere, ora nulla impedisce al nostro servo di ruotare senza fermarsi. Il suono emesso dall'unità non è molto silenzioso, ma in linea di principio è tollerabile. Probabilmente è tutto per oggi.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vorresti leggere La campana
Niente spam