3 июля 2012 г.

Визуализация ШИМ на осциллографе

Посмотрим как выглядит ШИМ на осциллографе.

Цифровые пины Arduino 3, 5, 6, 9, 10 и 11 имеют функцию широтно-импульсной модуляции. Пины 5 и 6 работают от таймера 0, частота которого 62500. Частоту таймера можно поделить на 1, 8, 64, 256 или 1024, получая соответствующие значения частот: 62500, 7812.5, 976.56, 244.14 и 61.04. По умолчанию делитель равен 64, соответственно, частота - 976.56 Гц. 

Пины 9 и 10 управляются таймером 1 с частотой 31250, делители - 1, 8, 64, 256, 1024 (по умолчанию - 64, частота - 488.28 Гц). Пины 11 и 3 управляются таймером 2 с частотой 31250, делители 1, 8, 32, 64, 128, 256, 1024 (по умолчанию, опять же, 64).

Напишем небольшой скетч для Arduino, который поможет нам посмотреть на ШИМ:

void setup(){}
void loop(){
  for(int i=0;i<1024;i++){
    analogWrite(5,i);
    analogWrite(6,i);
    delay(10);
  }
}
К пятому пину подключим светодиод, а к шестому - осциллограф. Смотрим:


Там в отражении от экрана осциллографа как раз видно состояние светодиода. :)

Осциллограф также показывает частоту импульсов - 976 Гц, что совпадает с теоретическим.


Далее по теме Arduino и ШИМ

Осиливаем ШИМ в темпой компании Arduino и RGB светодиода
Arduino: управляем цветом RGB светодиода с помощью джойстика