Pages: 1 [2]   Go Down
Author Topic: Cosa rende diversi i pin digitali PWM dagli altri ?  (Read 1561 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@nid69ita:
I pin PWM agganciati al timer 0 (D5 e D6) generano un segnale con una frequenza di circa 976 Hz mentre gli altri a 490 Hz.
La scelta di questi valori non è casuale. Il timer 0, come detto, è usato anche per le funzioni temporali dell'Arduino.
I timer hanno un circuito di prescaler all'ingresso del clock, che dividono la frequenza di sistema mediante valori predefiniti. Siccome il clock di sistema è impostato a 16 MHz, usando un divisore di /64 si ha il segnale di 976 Hz senza modifiche ulteriori ai registri del timer stesso. 976 Hz vuol dire 976 "colpi" al secondo. Mediante una piccola correzione manuale (non entro nei dettagli) si arriva ad avere un "colpo" lungo 1 millisecondo (invece di 0,976 ms) grazie al quale si può gestire millis e delay, che operano con i millisecondi.

Inoltre i timer 1 e 2 dell'Atmega328 sono impostati per operare in modalità Phase Correct PWM mentre il timer 0 in modalità Fast PWM. La prima genera un'onda triangolare mentre la seconda un'onda a dente di sega.
Logged


Pages: 1 [2]   Go Up
Jump to: