Я хочу почувствовать ШИМ-сигнал с электронной платы. Я хочу прочитать этот сигнал с помощью функции «analogRead (A0)» на моей плате Arduino. Поэтому я сделал ФНЧ 1-го порядка, который состоит из резистора, конденсатора и буфера операционного усилителя.
Сначала я произвел ШИМ-сигнал с контакта D9 моего Arduino. Рабочий цикл ШИМ-сигнала затухает с и непрерывно. Код генерации ШИМ:
pwmWrite(led, brightness);
brightness = brightness + fadeAmount;
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
По моим расчетам, для фильтр нижних частот, резистор должен быть и конденсатор .
Но я использовал резистор, потому что нет . При этом частота среза ФНЧ настраивается. . Я читаю этот сигнал с вывода A0 с помощью аналогового чтения и выборки АЦП. Код чтения:
int c;
long a;
for(c=0;c <32;c++) {
pwm_deger=analogRead(A0);
a += pwm_deger;
}
int f = a / 32;
Serial.println("pwm_deger:");
Serial.println(f);
delay(200);
Я добавил результаты ниже. Цифры масштабируются в диапазоне 0-1023 (значение АЦП Arduino).
На рис. 1 показано Сигнал ШИМ, который я хочу проверить, с затуханием сигнала к рабочий цикл с .
На рис. 2 показан сигнал ФНЧ без буфера.
На рис. 3 показан сигнал ФНЧ с выхода буфера операционного усилителя.
Есть ли проблемы с цифрами? Почему на рисунке 2 показано значение 0,7 из 1023 и срезание после значения АЦП 700. Это из-за операционного усилителя?
Почему на рисунке 2 показано 0,7 от 1023 и отсечение после значения АЦП 700. Это для операционных усилителей?
Вам почти наверняка потребуется использовать операционный усилитель «от шины к шине» (R2R), способный обеспечить приличный выходной сигнал, близкий к верхней шине питания. Если вы используете что-то вроде LM324, мягкое ограничение, которое вы видите в верхней части сигнала, вероятно, связано с тем, что он не является R2R в высоких частях входного сигнала, а также в высоких частях выходного сигнала.
JRE
пользователь16222
Адем Гюль
Адем Гюль