Генератор импульсов разной формы

spektr
Offline
Зарегистрирован: 30.01.2017

Задумался вот я сделать генератор импульсов разной формы. Реализация примерно понятна а вот как скетч написать незнаю. Разную форму имульса думаю делать можно только при помощи ШИМ. Может кто делал пдскажете.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

У большинства ардуин (микроконтроллер AVR) нет ЦАП'а, поэтому единственная возможная форма сигнала - прямоугольник. Меняется только частота и скважность.

ЦАП вроде есть у Ардуино DUE (микроконтроллер ARM SAM3X8E).

AlexeySh
Offline
Зарегистрирован: 16.01.2017

На самом деле проблема с отсутсвием ЦАПа решается легко - цепочкой из 16 резисторов. Получаем 8-bit ЦАП. И на выходе сглаживающий фильтр.

Но есть пара нюансов:

1)Для получения качественного сигнала код нужно писать не через digtalWrite(), а управлять сразу всеми 8-ю пинами обновременно.

2) Вытекает из первого. Почему - догадайтесь сами. Все 8 пинов нужно подвесить на один регистр. В обычных Ардуино это сделать затруднительно, так как регистры используются беспорядочно. Нужно устройство класса Arduino Mega или просто взять почти любой микроконтроллер и написать к нему код на C.

А вообще скидывали мне как то скетч генератора синусоиды на Tiny через управление ШИМ. Там вообще одна ножка задействована. Но качество сигнала на выходе плохое.

 

bwn
Offline
Зарегистрирован: 25.08.2014

Не знаю устроит или нет, но dimax это уже запилил.