Quante spille PWM su Arduino Uno

Quante spille PWM su Arduino Uno
PWM è un acronimo della modulazione della larghezza dell'impulso che viene utilizzata per ottenere l'uscita in segnali pulsanti o per creare un'uscita a onda quadra. Usando questa tecnica, possiamo interfacciarsi dispositivi analogici con Arduino attraverso mezzi digitali. Arduino offre più modi per interfacciarsi periferiche con esso. PWM è uno di quelli che controllano dispositivi come servi motori, motori DC e altri moduli analogici.

PWM con Arduino

PWM in Arduino ha una vasta gamma di applicazioni utilizzate per controllare i dispositivi analogici utilizzando segnali digitali. L'output di Arduino Digital Pins può essere classificato in due livelli di tensione alti o bassi o bassi che indica 0V. Usando PWM in Arduino possiamo generare un segnale con frequenza costante ma con larghezza variabile di impulso. L'esempio più comune di uso di PWM in Arduino è il controllo della luminosità di un LED e il controllo della velocità di un motore.

Il segnale di modulazione della larghezza dell'impulso ha seguenti due caratteristiche:

  • Frequenza: La frequenza del segnale PWM indica la velocità con cui un ciclo sarà completato. In alternativa, la frequenza di PWM decide quanto velocemente il segnale di uscita passerà tra lo stato alto e basso.
  • Ciclo di lavoro: Descrive la quantità di tempo per il quale un segnale di uscita rimane in alto stato in percentuale del tempo totale richiesto per completare un ciclo.

Pin pwm su Arduino Uno

Arduino Uno ha un totale di 14 pin di uscita di input digitale, tra questi pin digitali 6 pin PWM sono disponibili su Arduino Uno Board. Su Arduino Uno Pins digitali I/O 3, 5, 6, 9, 10 e 11 sono pin PWM. Il numero di pin PWM varia da una tavola all'altra.

La contro -velocità in Arduino determina la frequenza dei segnali PWM. In Arduino Uno Counter Clock è uguale all'orologio di sistema diviso per il valore dei presiccatori. Tre prescaler immagazzinano il valore del contatore. Questi tre prescaler sono noti come: CS02, CS01 e CS00. Poiché il numero totale di pin PWM è 6, quindi tre registri contabili vengono utilizzati in Arduino Uno con prescaler separati per controllare i pin PWM.

Registri del timer/contatore Pin pwm
TCCR0B Controlla il pin 6 e 5
TCCR1B Controlla il pin 9 e 10
TCCR2B Controlla il pin 11 e 3

Ognuno di questi tre registri può configurare tre diversi intervalli di frequenza per i segnali PWM. Normalmente per impostazione predefinita un Arduino Uno ha le seguenti frequenze per i pin PWM:

Pins Arduino Frequenza PWM
5 e 6 980MHz
9, 10,11 e 3 500 MHz

Come usare i pin PWM in Arduino

I pin digitali su Arduino possono essere configurati utilizzando pinMode (), DigitalRead () E DigitalWrite (). Qui la funzione pinMode () imposta un pin come input e output. Quando configuriamo i pin digitali come la funzione di input digitalRead () viene utilizzato durante l'impostazione di un pin come funzione DigitalWrite () di uscita.

AnalogWrite ()

Per configurare i pin PWM che utilizziamo AnalogWrite () funzione. Questa funzione scrive un valore analogico a un pin digitale. Può impostare il ciclo di servizio del segnale PWM. Quando la funzione AnalogWrite viene chiamata su un pin specifico, viene generata un'onda quadra costante con ciclo di lavoro definito. Questa ondata quadrata rimarrà lì fino a quando non chiamiamo una nuova funzione AnalogWrite () per quel pin o scriviamo un nuovo valore usando la funzione digitaleRead () o DigitalWrite ().

Sintassi

analogwrite (pin, valore)

La funzione AnalogWrite () richiede due argomenti:

  • Spillo: Pin il cui valore deve essere impostato.
  • Valore: Descrive il ciclo di lavoro tra 0 che è stato basso e 255 che è alto o sullo stato.

Un altro argomento che è facoltativo in caso di PWM è la frequenza. Se questo non è specificato per impostazione predefinita, è 500Hz.

Il valore AnalogWrite () definisce il ciclo di lavoro per i segnali PWM:

  • AnalogWrite (0) indica un segnale PWM con un ciclo di lavoro dello 0%.
  • AnalogWrite (127) indica un segnale PWM con un ciclo di lavoro del 50%.
  • AnalogWrite (255) indica un segnale PWM con ciclo di lavoro al 100%.

Conclusione

PWM in Arduino è una tecnica o un metodo per controllare i dispositivi analogici utilizzando segnali digitali. Tutte le schede Arduino hanno pin PWM a bordo. Sono presenti 6 spille da pwm Uno tra i 14 pin digitali totali. Qui abbiamo discusso di come possiamo configurare questi pin usando la funzione AnalogWrite () in Arduino Uno.