Почему я получаю отрицательное напряжение для сигнала ШИМ?
Я использовал контакт 3 Arduino Uno для генерации выходного сигнала PWM. Код:
void setup() {
// Put your setup code here, to run once:
}
void loop() {
analogWrite(3, 180);
}
Я подключил выход напрямую к осциллографу. Форма выходного сигнала показана ниже:
< p>Мне показалось странным, что минимальное напряжение отрицательное! А с увеличением рабочего цикла уменьшается как максимальное, так и минимальное напряжение. Почему он так себя ведет?
@Legend Lee, 👍5
Обсуждение1 ответ
Лучший ответ:
Сначала у вас был подключен осциллограф переменного тока (переменного тока). Затем вы переключили его на соединение постоянного тока (постоянный ток).
Соединение по переменному току используется для удаления постоянной составляющей сигнала. Он помещает большой конденсатор между пробником и внутренним усилителем. Это используется, например, если вы хотите увидеть слабый сигнал с большим смещением постоянного тока. Но он также может ослаблять и/или изменять низкочастотные сигналы.
Когда сигнал ШИМ подается на осциллограф по переменному току, возникает интересное явление. По мере того, как рабочий цикл изменяется от минимального (почти всегда выключен) до максимума (почти всегда включен), постоянная составляющая сигнала ШИМ изменяется. Поскольку составляющая постоянного тока блокируется связью по переменному току, кажется, что сигнал ШИМ смещается ниже на экране по мере увеличения рабочего цикла.
Соединение по постоянному току — это отсутствие разделительного конденсатора между датчиком и внутренним усилителем. Все проходит. Для цифровой электроники, где сигнал проходит небольшое расстояние от 0 до 5 вольт или от 0 до 3,3 вольт, это лучший способ использования прицела.
Между прочим, вы видите, как верхняя и нижняя части волны слегка наклонены вниз и вверх? Это указывает на зарядку и разрядку конденсатора связи по переменному току низкочастотной составляющей сигнала., @Majenko
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Генерация частоты ШИМ выше 125 кГц с помощью Arduino Uno
- Увеличить разрядность PWM
- Как вывести истинное аналоговое напряжение на выходной контакт
- ПИД-регулятор для управления скоростью двигателя
- Как управлять 6 шаговыми двигателями с помощью Arduino?
- Синусоидальный инвертор
О мой Бог! Это связано с настройкой осциллографа. Сбросил и теперь нормально работает., @Legend Lee
Но я до сих пор не знаю, какая настройка неверна... Ребята, вы можете мне помочь?, @Legend Lee
Нет необходимости иметь вызов
analogWrite
вloop()
— его нужно вызвать только один раз (аппаратное обеспечение автоматически генерирует сигнал PWM — никакое программное обеспечение не задействовано). Его можно и нужно перенести вsetup()
., @Peter Mortensen