Pubblicato 2026-05-14
Hai mai riscontrato una situazione in cui il braccio robotico che hai costruito con cura continua a tremare quando afferra qualcosa, come un malato di Parkinson? O forse il gimbal del drone che hai costruito oscillava a destra e a sinistra nel vento e l'immagine era sfocata come se stessi girando un film catastrofico?
Dietro a questo c'è spesso il "cervello" della scatola dello sterzo e c'è un problema con il suo programma di controllo. Inoltre, l'algoritmo principale che controlla la forza e la precisione dello sterzo, ovvero la regolazione PID, non è stato regolato correttamente. Non lasciarti spaventare da queste tre lettere. Non si tratta di una magia incomprensibile, ma di una delicatissima “tecnica dell'equilibrio”. Oggi prenderemo quello più comunemente usatoservocome esempio per analizzare a fondo il segreto della regolazione PID, in modo che il tuo robot possa passare da "tremolante" a "liscio".
Suggerimenti per la scrittura di un articolo: coefficiente proporzionale
Dobbiamo capire come funziona la scatola dello sterzo. Gli dai un'istruzione, cioè "ruota nella posizione di 90 gradi"; il motore al suo interno ruoterà all'impazzata, azionando così il gruppo di ingranaggi e l'albero di uscita; allo stesso tempo un sensore chiamato “potenziometro” rileverà sempre l'effettiva angolazione dell'albero; quando l'angolo effettivo è fermo Quando non ha raggiunto i 90 gradi, il controller spingerà il motore a funzionare in avanti con una potenza di uscita massima di poche unità al secondo; una volta superata la posizione target, deve tornare indietro; senza uno squisito meccanismo di regolazione, salterà ripetutamente avanti e indietro nell'area vicino alla posizione target. Questo è il fenomeno del "jitter" che vediamo.
Il controllo PID è un'abilità straordinaria per affrontare questo problema del "salto orizzontale ripetuto". P, I e D sono rispettivamente le abbreviazioni di proporzione, integrale e differenziale. I tre sono come un gruppo di esperti, che lavorano insieme per inviare il comando "segnale PWM" per dire allo sterzo quanta forza usare e in quale direzione girare.
Diamo prima un’occhiata al membro più critico e importante della squadra, ovvero il coefficiente proporzionale, indicato in breve come P. Il lavoro che svolge ha le caratteristiche più semplici, dirette e crude: giudicare la forza dell’output in base all’errore attuale. Quindi cosa si chiama errore? Il cosiddetto errore è la differenza che si ottiene sottraendo l'"angolo target" dall'"angolo attuale". Supponiamo che tu abbia intenzione di virare di 90 gradi e al momento ti trovi a 0 gradi, quindi l'errore è di 90 gradi. La funzione di P è: l'uscita è uguale all'errore moltiplicato per il coefficiente proporzionale. Maggiore è il coefficiente, maggiore è l'output.
Ad esempio, il tuo robot deve essere in grado di sollevare agilmente una gamba. Se il valore P è impostato su un valore troppo basso, sarà come usare una pasta morbida per sollevare una pietra. Il comando ricevuto dalservoè "sollevare lentamente e delicatamente". Di conseguenza, la gamba non può essere sollevata affatto o il movimento è lento come un bradipo. Se il valore P è impostato su un valore troppo alto, sarà come chiederti di usare tutta la tua forza per combattere una zanzara che ti è caduta sul braccio: la forza è davvero eccessiva. Quando ilservosi avvicina quasi ai 90 gradi, si precipita comunque a una velocità pazzesca, colpisce con un botto il limite superiore, poi rimbalza indietro e si precipita di nuovo, provocando violente scosse. Con un coefficiente proporzionale adeguato, il servo può utilizzare l'80% della sua potenza per correre velocemente verso il bersaglio e rallentare durante l'avvicinamento.
D/R: Cosa accadrà al servo quando il coefficiente proporzionale è troppo grande?

R: Vibra violentemente o emette rumori acuti e il superamento della forza lo fa oscillare avanti e indietro nella posizione target. Nei casi più gravi, l'ingranaggio potrebbe essere danneggiato.
Pertanto, il primo passo per regolare il PID è combattere da solo e regolare solo P. Impostare sia I che D su 0. Aumentare gradualmente il valore P da piccolo a grande e allo stesso tempo prestare attenzione al feedback dello sterzo. Assisterete ad un chiaro processo evolutivo: quando P è estremamente piccolo, il movimento è lento, sempre pochi gradi prima di raggiungere l'obiettivo (questa si chiama “differenza statica”); all'aumentare di P il movimento diventa più veloce, ma si noteranno deboli scuotimenti in prossimità del punto target; man mano che P aumenta ulteriormente, lo scuotimento si intensifica, evolvendo in violente oscillazioni. Il punto debole di solito appare appena prima del valore critico dove la vibrazione ha appena iniziato a tremare leggermente ma non è ancora andata fuori controllo. Ricorda questa sensazione, è la pietra angolare di tutto il tuo successivo debugging.
Parole suggerite per la scrittura di articoli: elementi integrali
Tuttavia, con P solo, incontrerai rapidamente un collo di bottiglia. Ad esempio, se il tuo robot tiene in mano un oggetto pesante, il servo deve essere mantenuto a 90 gradi senza allentarsi. A causa della forza di gravità, verrà generato un errore continuo. Il controllo P presenta tali caratteristiche: maggiore è l'errore, maggiore è lo sforzo richiesto. Tuttavia, per contrastare questa gravità, è necessaria una “forza correttiva” continua. Ma quando l'errore è estremamente piccolo, anche la forza data è molto piccola, il che fa sì che il servo non sia mai in grado di raggiungere con precisione 90 gradi e potrebbe rimanere nella posizione di 89,5 gradi. Questo è l'"errore statico" menzionato in precedenza.
In questo momento è stata la volta del secondo esperto della squadra, il punto, denominato I, a fare il suo debutto. Il ruolo di I è come quello di un contabile con una memoria estremamente buona. Il suo compito è sommare tutti gli errori passati. Finché persiste l’errore, questa somma cumulativa continuerà ad aumentare. Quindi, anche questo "contabile generale" verrà moltiplicato per un coefficiente e aggiunto al comando di output finale.
Questo meccanismo è semplicemente fantastico! Quando la scatola dello sterzo raggiunge gli 89,5 gradi a causa della gravità, si verifica un leggero errore di 0,5 gradi. In questo momento, P può emettere solo una forza debole per questo scopo, alla quale è difficile resistere alla gravità. Tuttavia, ricorderò l'errore di 0,5 gradi. Dopo un secondo, accumulerà 0,5 gradi e diventerà 1 grado, e dopo due secondi diventerà 1,5 gradi, ecc. Il valore accumulato continua ad aumentare e anche la forza aggiuntiva prodotta continua ad aumentare. Alla fine, questa "spinta extra" sempre esistente supererà accuratamente l'influenza della gravità, spingendo con forza il servo fino a 90 gradi precisi e bloccandolo a questo angolo.
D/R: Quali problemi può risolvere il termine integrale?
R: Elimina gli errori statici. Fornisce una forza continua accumulando piccole deviazioni, consentendo allo sterzo di resistere alle interferenze esterne e infine raggiungere la posizione precisa.
Tuttavia, sono anche un personaggio pericoloso. Se il valore I è impostato troppo grande, o c'è un errore iniziale nel sistema, ad esempio quando non è a 0 non appena viene acceso, la somma accumulata si espanderà rapidamente, causando l'emissione di un'enorme forza di "sovracorrezione" da parte del servo, causando gravi superamenti e oscillazioni violente a lungo termine, chiamate "saturazione integrale". Una situazione più comune è che il tuo braccio robotico è bloccato su qualcosa, l'errore è sempre lì e lo accumulerò come un matto. Quando l'ostacolo scompare improvvisamente, questa enorme forza cumulativa verrà rilasciata istantaneamente, facendo volare via il servo come se fosse stato espulso, il che è estremamente pericoloso.
Suggerimenti per la scrittura di articoli: termini differenziali
In questo momento, il nostro servo risponde immediatamente quando P viene azionato e, con l'aiuto di I, si posiziona accuratamente, il che sembra piuttosto buono. Tuttavia, è molto probabile che si sentirà ancora inadeguato di fronte ad alcuni scenari in rapida evoluzione. Immagina che il tuo drone si libra in un forte vento o che il tuo robot da corsa debba fermarsi di emergenza e girare in un istante. In questo momento, le risposte di P e di me sembravano entrambe un po' "lente". Questo perché sono stati adeguati "dopo". Ciò di cui abbiamo bisogno è la capacità di prevedere.
Questo è il think tank del team, chiamato termine differenziale, o D in breve. Il ruolo di D è come un profeta. Non importa quanto sia grande l’errore attuale, né quanti errori si siano accumulati nel passato. Gli interessa solo una cosa: quanto velocemente cambia l'errore. Calcolerà il tasso di variazione dell'errore, in altre parole, la "pendenza dell'errore". , se l'errore si sta espandendo rapidamente, ad esempio lo sterzo si sta deviando rapidamente dal bersaglio, D emetterà un'enorme forza inversa, come un freno di emergenza, per fermare questa situazione. Se l'errore si riduce a una velocità molto elevata, ovvero il servo si sta muovendo verso il bersaglio ad alta velocità, anche D emetterà una forza nella direzione opposta e "frenerà" in anticipo per evitare che vada oltre.
Usiamo una metafora intelligente. Guidi per incontrare un amico. P si riferisce al controllo dell'acceleratore e più vai avanti, più lo premi a fondo. Quando aspetti il semaforo rosso, fai scorrere lentamente l'auto in avanti per eliminare la distanza dalla linea di stop. Questo è un tipo di operazione. Un comportamento in fase di attesa; e D, quando vedi un semaforo rosso davanti a te, rilascia l'acceleratore e aziona delicatamente i freni. Questo è un comportamento operativo di questo tipo. Dovrebbe essere chiaro che non si tratta di correggere errori già verificatisi, ma di evitare che si verifichino.
Nel campo del controllo dello sterzo, il ruolo di D è estremamente critico. Può sopprimere in modo significativo il "superamento" e l'"oscillazione" causati da un'eccessiva P o da un impatto esterno. Ad esempio, esiste un braccio robotico che deve spostarsi rapidamente da punto a punto. Se non c'è la D, potrebbe essere come un ubriaco, che colpisce il punto bersaglio con un "clang" e poi rimbalza via; ma quando si aggiunge un D adatto, può decelerare in modo elegante quando sta per avvicinarsi al punto target, e cadere dolcemente come una piuma.
D/R: Qual è la funzione principale del termine differenziale?
A: Elimina il superamento e l'oscillazione. Prevede l'andamento dell'errore e frena in anticipo, conferendo "prevedibilità" alla scatola dello sterzo e rendendo l'azione più fluida.
Fino ad ora, il team di esperti del PID è al completo. P porta il potere del "presente", I controlla i conti del "passato" e D controlla l'andamento del "futuro". Tutti e tre utilizzano servi ad alte prestazioni comekpowerServo e il software di debug in dotazione per consentirti di regolare ogni parametro in modo estremamente delicato come un sintonizzatore.
Naturalmente, ciò che ottieni dalla carta alla fine non sembra abbastanza profondo. L'effettivo processo di debug viene spesso eseguito secondo un processo classico. Chiamiamo questo processo il "metodo di stabilizzazione in tre fasi".
Passaggio 1: impostare I e D su zero. Partendo da 0, aumentare lentamente il valore di P finché il servo non inizia a produrre leggere e continue vibrazioni di uguale ampiezza. Ricorda questo valore P, quindi dimezzalo e usa questo valore dimezzato come valore P iniziale. Questo "valore P della vibrazione" è una caratteristica chiave del tuo sistema.
Nel secondo passaggio, mantenere il valore P del primo passaggio, aumentare lentamente il valore I da 0 e aumentare I finché il servo non elimina la differenza statica e può tornare alla sua posizione originale rapidamente e senza vibrazioni dopo essere stato disturbato da forze esterne (come ruotare il braccio del servo con il dito). Se c'è un grande scuotimento significa che sono troppo grande, riducilo.
D/R: Qual è la sequenza corretta per il debug PID?
A: Prima regolare P sull'oscillazione critica e poi ridurla della metà, quindi regolare I per eliminare la differenza statica e infine regolare D per sopprimere le scosse di assestamento e ottimizzare passo dopo passo nell'ordine PID.
In tre passaggi, innanzitutto, nel primo passaggio, P ed io abbiamo fatto sì che il vostro servo raggiungesse la posizione corrispondente in modo rapido e preciso. Tuttavia, potrebbe ancora verificarsi qualche leggero "cenno" o "scosse di assestamento". Poi nel secondo passaggio, in questo momento, aumenta il valore D da 0, e poi scoprirai che, man mano che D aumenta, il piccolo tremolio finale scomparirà molto rapidamente e l'intera azione diventerà estremamente nitida e pulita. Infine, nel terzo passaggio, fai attenzione. Se il valore D è troppo grande, la risposta del servo diventerà lenta ed emetterà persino un grido ad alta frequenza, terminando.
Condividerò con voi un punto chiave che è tacitamente compreso dai migliori in quasi tutti i campi. Cioè, il PID perfetto non è un insieme di numeri rigidi e veloci, ma un metodo artistico per raggiungere l'equilibrio. Non esistono parametri validi per tutte le situazioni. È necessario apportare regolazioni dinamiche in base al carico del servo, ai requisiti di velocità di risposta e persino ai cambiamenti di temperatura dell'ambiente. Per quanto riguarda i progetti realizzati dagli studenti, è più critico perseguire "funzioni soddisfacenti e mantenimento della stabilità" che perseguire "lo stato ottimale determinato dalla pura teoria". Un robot che si muove leggermente oltre il range di regolazione previsto ma non si blocca mai è molto più efficace di un robot teoricamente preciso ma che spesso vibra violentemente.
Suggerimenti per l'azione :
In questo momento, prendi immediatamente il tuo robot e avvia il software di debug del servo. Partendo dal valore P, utilizza quello che chiamiamo il "metodo in tre fasi" per sperimentare personalmente i cambiamenti in ciascun parametro. Per prima cosa usa il tuo telefono cellulare per registrare l'attuale situazione di jitter con un video al rallentatore, quindi annota i valori P/I/D che regoli in ogni round e gli effetti corrispondenti. Credimi, quando modifichi personalmente un robot in uno stato "epilettico" per renderlo fluido e naturale, sentirai un così grande senso di realizzazione che nessun codice già pronto può darti. Da oggi in poi, dì addio al jitter e lascia che il tuo servo comprenda veramente ogni tuo comando.
Tempo di aggiornamento: 2026-05-14
Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.