Numero max di servo gestiti da Arduino uno R0

Tempo fa lessi qui, o da qualche altra parte che questa scheda poteva gestire fino a 12 servocomandi.
Mi e' pero' venuto un dubbio. Poiche' il periodo del segnale di controllo e' 20ms e un servo ruotato a 180 gradi richiede un impulso di 2/2.3ms, secondo me piu' di 8 non riesce a gestirli. Ho fatto una prova e ho visualizzato la sequenza degli impulsi con un analizzatore di stati logici. e si vede chiaramente che non rimane tempo sufficiente per ulteriori istanze a altri servo. Questo ovviamente nel caso che tutti gli 8 servo ruotino fino a 180 gradi. Se si imponesse come limite 90 gradi allora potrebbe gestirne piu' di 8.


Sbaglio ?

Non sbagli, questo sistema era stato pensato molti anni fa per pilotare gli aeromodelli, e 8 servomeccanismi sono più che sufficienti per qualsiasi aeromodello, il segnale radio che arriva al ricevitore ha un solo segnale PPM di modulazione per cui gli impulsi per i servomotori devono arrivare in sequenza intervallati da una piccola pausa , e alla fine da una lunga pausa che viene decodificata da ricevitore come fine sequenza.
Ovviamente se i servo vengono utilizzati per motivi diversi dalla modellismo, quindi senza radiocomando, il microcontrollore può generare quanti segnali vuole e ognuno avrà il suo canale separato dall'altro, quindi il microcontrollore può controllare anche 100 servomotori

Se si utilizza la libreria SERVO, oltre 8 istanze il periodo da 20ms comincia ad aumentare per "farci stare dentro" le istanze addizionali. Ad esempio con 12 servo il periodo diventa 26/28ms e non piu' i canonici 20ms (sempre con i servo ruotati a 180 gradi). E via cosi'. Di conseguenza il funzionamento di tutti i servo istanziati risulta peggiorato a causa del periodo di refresh maggiore. Magari fino a 26/28ms e' ancora accettabile, ma spingendosi oltre, secondo me no.

L'informazione è portata dalla durata dell'impulso. la pausa 20ms non è critica. Tuttavia se la pausa aumenta troppo si rischia che la posizione sotto sforzo non venga mantenuta e che il servo vibri.

Infatti, anche se l'impulso ha una durata corretta ma non viene rinfrescato entro il giusto periodo, la coppia diminuisce.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.