Sappi che abbiamo controllato un motore DC usando P. W. e controlleremo un servo per hobby.
Ora, se ricorderai che i servo dell'hobby funzionano su un P. W. segnale del braccio.
No, non è PWO vero P. W. di per sé come la larghezza dell'impulso è ciò
che effettivamente imposta la posizione servile nella frequenza dell'impulso può variare selvaggiamente e continuerà a funzionare.
Ora i servo hanno tipicamente un campo di 180 gradi e si aspettano un impulso con da 1 a
2 millisecondi con un impulso ogni 20 millisecondi.
Quindi con un impulso di un millisecondo il servo sarà a zero gradi a 1. L'impulso a 5 millisecondi dovrebbe posizionarlo
a 90 gradi e un impulso di due millisecondi dovrebbe portarlo a 180 gradi.
Ora i servo sono molto clementi in questi tempi.
Se la frequenza degli impulsi è molto lenta, il servo si muove lentamente e reagisce.
Alcune persone hanno segnalato servi in esecuzione per la frequenza degli impulsi di cinquecento impulsi al
secondo.
Ma se fai i conti un secondo diviso per due millisecondi è cinquecento.
Quindi, per ottenere il pieno controllo del servo a 180 gradi, il numero massimo assoluto di
impulsi che potreste inviare sarebbe di cinquecento al secondo.
Ora i servo sono progettati per circa 50 impulsi al secondo.
Inoltre, la maggior parte dei servi ti darà più di 180 gradi di viaggio.
E negli esperimenti che ho eseguito, i servi avrebbero accettato un impulso più breve di sette millisecondi
fino a quasi 3 millisecondi.
Quindi ecco dove sorgono le sfide alla guida dei servi con Arduino W. M. la frequenza sul basso è 490 Hertz tranne i
pin 5 e 6 che hanno un W. M. ma in realtà corre a novecentottanta Hertz.
Quindi hai una scelta se vuoi.
In entrambi i casi la frequenza è davvero troppo veloce per l'uso con i servi dell'hobby.
Ora, proprio come l'immagine, puoi programmare manualmente i registri che controllano il segnale GWM.
Corrono un contatore che è alimentato fuori dal tempo.
E questi contatori fanno solo il conto alla rovescia.
In questo modo è possibile modificare il numero del conto alla rovescia per accelerare o rallentare la frequenza DPW.
Ma c'è un mucchio di funzioni su Arduino che usano quel conto alla rovescia.
Quindi, se si scherza con esso per far sì che il lavoro di Ciro rimandi tutti
i tempi attenti su tutte quelle altre funzioni, oltre a impostare quei registri, è altrettanto complicato che fare con la foto.
Ora il nostro bel comando di ritardo se ricordi è stato in millisecondi.
Quindi funzionerà solo in numeri interi con incrementi di un millisecondo.
Quindi potremmo inviare una nota alta sul pin digitale collegato alla linea del segnale in un cerchio.
Quindi usiamo un ritardo di un millisecondo e quindi inviamo un carico al pin che trasformerebbe il
servo nella posizione di zero gradi.
Potremmo quindi inviare un impulso con un ritardo di due millisecondi che trasformerebbe il servo nella posizione
di 180 gradi.
Quindi ottieni solo due posizioni del tuo serval e basta.
Ora, mentre ciò è utilizzabile, ad esempio, puoi usarlo per bloccare o sbloccare un catenaccio.
Ma in generale questo sconfigge completamente lo scopo di avere un Super Bowl.
Ciò di cui abbiamo bisogno è la capacità di inviare un impulso di dire 1. 1 sette millisecondi o 1. 8 cinque millisecondi.
Quindi è qui che arriva una nuova istruzione.
Ritarda i microsecondi con il tempo di ritardo tra parentesi.
È esattamente come l'istruzione di ritardo solo in microsecondi, non millisecondi.
Usando questa istruzione possiamo impostare un ritardo di 1534 micro-secondi che sarebbe 1. 5 3 4 millisecondi.
Così, nei miei esperimenti, ho potuto impostare il pin in alto e poi ritardarlo da settecentosessanta a
ventuno microsecondi.
Quindi avrei impostato l'uscita bassa.
Questo mi ha dato il massimo del servo, ma fai attenzione perché il servo ha fermato una luce di stop che può bloccare
o danneggiare il tuo servo.
Quindi, se miri a ritardi compresi tra 1000 e 2000 microsecondi, sei nei parametri
di progettazione del servo un'ulteriore avvertenza prima di impostare il tuo programma o schizzo. Arduino funziona a 16 megahertz
e se ricordi che i microprocessori tipicamente prendono quattro clock cicli o più per diritto di
istruzioni.
E poi per impostare il ritardo nel codice macchina stai osservando più istruzioni ogni volta che va
a contare un microsecondo.
Quindi, in pratica, si evince che non è possibile ottenere ritardi accurati per un valore inferiore a circa 60 microsecondi.
Le istruzioni impiegano più di 60 microsecondi per eseguire.
Ora nel nostro caso abbiamo ancora la possibilità di suddividere il nostro tempo in 180 gradini o più.
Questo è un sacco di accuratezza per i nostri scopi.
Ma questa è una limitazione importante da sapere.
Quando si desidera utilizzare un ritardo micro-secondi l'istruzione di ritardo micro-secondi, quindi scrivere un semplice
programma di prova.
Fornirò il mio codice di esempio nella sezione download ma cercherò di scrivere il tuo codice il più
possibile il più possibile.
Farai tanti piccoli errori ma quelli ti aiuteranno a imparare e ricordare come codificare e formattare il
tuo schizzo.
Ora quello che ho fatto è che ho impostato i pulsanti con resistori pulldown e questi sono sui pin 9 e
10 proprio qui e poi inviato il pin 11 alla linea di controllo sul servo.
Notare anche fornire alimentazione a batteria per il servo.
Puoi alimentarlo dai cinque di wino.
Ma in effetti ho cucinato la scheda Arduino facendo proprio questo.
Ha funzionato per un po '.
Quindi consiglio vivamente di alimentare il tuo servo da una batteria.
Ricordati di mettere a terra la connessione dalla batteria a terra sull'Arduino, proprio come
abbiamo fatto nelle ultime lezioni.
Ho quindi scritto il mio schizzo impostando alcune variabili.
Con la posizione del servo in cui la pompa è l'ampiezza dell'impulso in microsecondi
e partendo da cento, il mio pulsante 10 ne somma cinque al ritardo mentre il pulsante sul pin 9 sottrae 5 dal ritardo,
quindi controllo per assicurarsi che la cifra non supera il massimo di duemila microsecondi prima
di aggiungere altri cinque microsecondi.
Voglio anche assicurarmi che non scenda sotto i 1000 microsecondi prima di sottrarre altri cinque microsecondi.
Così ora, una volta che ho tutti i miei numeri che ho inviato, manderò un alto Ongpin 11
e lo metto nel ritardo appropriato in microsecondi, impostando il pin 11 su un valore basso e poi tardo 18 millisecondi.
E questo per avvicinarsi al tasso di segnale PWI atteso che il server stava cercando.
Ora interessante perché leggo solo i pulsanti una volta per ciclo e tutti questi ritardi avvengono una volta
per ciclo.
Questo schizzo è salito automaticamente DB rimbalzando i miei switch per me.
Qualsiasi rimbalzo che accadrà sarà più veloce di 18 millisecondi, quindi eventuali rimbalzi
verranno ignorati.
Ora posso cambiare la posizione del servo in digitale premendo un pulsante per andare in senso orario e un pulsante per andare in
senso antiorario, quindi costruisci
il circuito.
Né scrivere uno schizzo o semplicemente copiare e incollare questo.
Fare attenzione con i doppi alimentatori.
Assicurati che i tuoi 6 volt non vengano applicati in alcun modo all'Arduino.
Dovrebbe essere solo così dovrebbe fornire solo la potenza del servomotore.