In questo tutorial impareremo a conoscere il servomotore e come interfacciare il servo con MSP430. L' MSP-EXP430G2 è uno strumento di sviluppo aka LaunchPad fornito dal Texas Instruments per imparare e la pratica su come usare i loro microcontrollori. Questa scheda rientra nella categoria MSP430 Value Line dove possiamo programmare tutti i microcontrollori della serie MSP430. Se sei nuovo su MSP, controlla il nostro tutorial per iniziare con MSP430.
Servomotore e PWM:
Prima di entrare nei dettagli, dovremmo prima conoscere i servomotori.
Un servomotore è una combinazione di motore CC, sistema di controllo della posizione e ingranaggi. I servo hanno molte applicazioni nel mondo moderno e con questo sono disponibili in diverse forme e dimensioni. Useremo SG90 servomotore in questo tutorial, è uno di quella popolare e più conveniente. SG90 è un servo a 180 gradi. Quindi con questo servo possiamo posizionare l'asse da 0 a 180 gradi.
Un servomotore ha principalmente tre fili, uno è per la tensione positiva, un altro è per la terra e l'ultimo è per l'impostazione della posizione. Il filo rosso è collegato all'alimentazione, il filo marrone è collegato a terra e il filo giallo (o BIANCO) è collegato al segnale.
Ogni servomotore funziona su una diversa frequenza PWM (la frequenza più comune è 50 HZ che viene utilizzata in questo tutorial) quindi procurati la scheda tecnica del tuo motore per controllare il periodo PWM in cui funziona il tuo servomotore.
La frequenza del segnale PWM (Pulse Width Modulated) può variare in base al tipo di servomotore. La cosa importante qui è il DUTY RATIO del segnale PWM. In base a questo DUTY RATION l'elettronica di controllo regola l'albero.
Come mostrato nella figura seguente, per spostare l'albero a 9o, il RAPPORTO DI ACCENSIONE deve essere 1 / 18.ie. 1 ms di tempo ON e 17 ms di tempo OFF in un segnale di 18 ms.
<Affinché l'albero possa essere spostato a 12o, il tempo di attivazione del segnale deve essere di 1,5 ms e il tempo di disattivazione deve essere di 16,5 ms. Questo rapporto viene decodificato dal sistema di controllo in servo e regola la posizione in base ad esso. Questo PWM qui viene generato utilizzando MSP430. Ulteriori informazioni sulla generazione di PWM con MSP430 qui.
Prima di collegare il servo a MSP430, puoi testare il tuo servo con l'aiuto di questo circuito del tester del servomotore. Controlla anche i nostri progetti Servo di seguito:
- Controllo servomotore utilizzando Arduino
- Controllo servomotore con Arduino Due
- Interfacciamento servomotore con microcontrollore 8051
- Controllo servomotore tramite MATLAB
- Controllo del servomotore tramite sensore flessibile
- Controllo posizione servo con peso (sensore di forza)
Materiali richiesti:
- MSP430
- Servo SG90
- Fili maschio-femmina
Schema del circuito e spiegazione:
In MSP430, abbiamo librerie predefinite e le funzioni PWM sono già scritte in queste librerie, quindi non dobbiamo preoccuparci dei valori PWM. Devi solo mettere l'angolo di cui vuoi ruotare l'albero e il resto è gestito da queste librerie e microcontrollore.
Qui stiamo usando il PIN 6, ovvero P1.4, che è il pin PWM di MSP430. Ma puoi usare qualsiasi PIN. Non è necessario utilizzare il pin PWM per servo perché tutte le funzionalità PWM sono scritte nella libreria stessa.
Il file di intestazione utilizzato per controllare il servo è " servo.h ".
Useremo Energia IDE per scrivere il nostro codice. Il codice è semplice e di facile comprensione. È lo stesso di Arduino e può essere trovato nel menu Esempio. Di seguito sono riportati il codice completo e il video, è possibile modificare il codice secondo le proprie necessità e caricarlo su MSP430
Questo è tutto !! Abbiamo interfacciato un servomotore con un microcontrollore PIC, ora puoi usare la tua creatività e scoprire le applicazioni per questo. Ci sono molti progetti là fuori che utilizzano un servomotore.