Example Code 11

Dependencies:   mbed

Fork of STMNucleoF401RE_ExampleCode_11_ServoPWM by 20161020-Corso Rapid Prototyping with STM32Nucleo

Il controllo di un servo motore

Il servo motore, e' un motore in grado di ruotare di un certo numero di gradi oppure di compiere in certi casi rotazioni complete. Tipicamente e' alloggiato in un contenitore dove troviamo oltre ad un classico motore DC il sistema di controllo a retroazione costituito da un potenziometro che ruota in maniera solidale all'asse del motore per fornire all'elettronica la posizione del motore proporzionale al valore della resistenza offerta ai capi del potenziometro.

/media/uploads/perlatecnica/servomotore.jpg

Il servo motore presenta tre fili. Due, tipicamente nero e rosso, sono i due cavi di alimentazione, il terzo e' quello del segnale di controllo.

/media/uploads/perlatecnica/servo1.jpg

Il segnale di controllo

Anche in questo caso si utilizza un segnale PWM con delle caratteristiche particolari, ossi un treno di impulsi di durata e periodo fissati. Parliamo di un segnale PWM ma e' importante sottolineare che si tratta di un caso particolare, perché in questo caso il periodo del segnale PWM non e' fisso, ma legato alla durata dell'impulso essendo la distanza tra due impulsi fissata. La durata del singolo impulso, che potrà variare tra 1ms e 2ms, farà ruotare il perno del motore solidale con il potenziometro, fino a raggiungere l'angolo di rotazione corrispondente. La durata minima e massima del singolo impulso corrispondono ai due limiti di rotazione dell'asse del motore. La durata dell'intervallo tra un impulso ed il successivo, deve essere compresa tra un minimo di 10ms ed un massimo di 40ms. La durata tipica e' di 20ms corrispondenti ad una frequenza di 50Hz.

/media/uploads/perlatecnica/controlloservo.jpg

I collegamenti

/media/uploads/perlatecnica/collegamentoservosimple.png

Download repository: zip gz

Files at revision 2:5d157cd24ef2

Name Size Actions
[up]
main.cpp 1608 Revisions Annotate
mbed.bld 65 Revisions Annotate