Найти в Дзене
DF Technologies

Аналоговый выход на Arduino, интерфейс 0-10 Вольт из шим сигнала

Не для кого не секрет что у Arduino нет встроенного цифро-аналогового преобразователя, а функция analogWrite(pin, value) выдает вместо настоящего аналогового сигнала ШИМ сигнал. Этого хватает для светодиодов, но абсолютно не подходит для серьезных устройств по типу насосов-дозаторов, или частотных преобразователей. Предположим что вам так же как и мне ну очень сильно захотелось подключить частотный преобразователь к ардуино, причем именно через аналоговый вход. Что же делать, подключить ШИМ сигнал напрямую нельзя. Физически то Вы конечно можете запихать провод и проверить, но ничего хорошего не выйдет, я проверял, да и к тому же напряжение питания ардуино 5 Вольт а вход то 0-10 вольт. (Костыль на случай безумия, повышаем выходную частоту в 2 раза и сигнал 0-5 будет работать так же как 0-10 с предыдущей частотой) Но опять же это не решает проблему того что сигнал все еще не аналоговый. Так вот на помощь нам спешит простейший RC фильтр, тут все просто конденсатор побольше и резистор побо

Не для кого не секрет что у Arduino нет встроенного цифро-аналогового преобразователя, а функция analogWrite(pin, value) выдает вместо настоящего аналогового сигнала ШИМ сигнал. Этого хватает для светодиодов, но абсолютно не подходит для серьезных устройств по типу насосов-дозаторов, или частотных преобразователей.

Предположим что вам так же как и мне ну очень сильно захотелось подключить частотный преобразователь к ардуино, причем именно через аналоговый вход. Что же делать, подключить ШИМ сигнал напрямую нельзя. Физически то Вы конечно можете запихать провод и проверить, но ничего хорошего не выйдет, я проверял, да и к тому же напряжение питания ардуино 5 Вольт а вход то 0-10 вольт. (Костыль на случай безумия, повышаем выходную частоту в 2 раза и сигнал 0-5 будет работать так же как 0-10 с предыдущей частотой) Но опять же это не решает проблему того что сигнал все еще не аналоговый.

Так вот на помощь нам спешит простейший RC фильтр, тут все просто конденсатор побольше и резистор побольше, если хочется посчитать то формула его приведена ниже, также можно использовать более сложные фильтры, но я этого делать не буду.

После фильтра мы получаем аналоговый сигнал но у него есть огромный недостаток, а точнее его сила тока ограниченная большим резистором, но тут приходит операционный усилитель, собранный по схеме неинвертирующего усилителя и все проблема решена.

-2

Можно рассчитать резисторы R1 и R2 по формуле и поставить их, но я предлагаю схему с подстроечным резистором, это позволит менять верхний предел аналогового сигнала. Конденсатор на выходе не обязателен, но от него хуже не станет, а возможные всплески погасит.

-3

Перед подключением такой схемы стоит настроить верхний предел выходного сигнала при помощи подстроечного резистора, предварительно подав с контроллера максимальное заполнение сигнала.