Генератор импульсов разной формы
- Войдите на сайт для отправки комментариев
Пнд, 30/01/2017 - 15:29
Задумался вот я сделать генератор импульсов разной формы. Реализация примерно понятна а вот как скетч написать незнаю. Разную форму имульса думаю делать можно только при помощи ШИМ. Может кто делал пдскажете.
У большинства ардуин (микроконтроллер AVR) нет ЦАП'а, поэтому единственная возможная форма сигнала - прямоугольник. Меняется только частота и скважность.
ЦАП вроде есть у Ардуино DUE (микроконтроллер ARM SAM3X8E).
На самом деле проблема с отсутсвием ЦАПа решается легко - цепочкой из 16 резисторов. Получаем 8-bit ЦАП. И на выходе сглаживающий фильтр.
Но есть пара нюансов:
1)Для получения качественного сигнала код нужно писать не через digtalWrite(), а управлять сразу всеми 8-ю пинами обновременно.
2) Вытекает из первого. Почему - догадайтесь сами. Все 8 пинов нужно подвесить на один регистр. В обычных Ардуино это сделать затруднительно, так как регистры используются беспорядочно. Нужно устройство класса Arduino Mega или просто взять почти любой микроконтроллер и написать к нему код на C.
А вообще скидывали мне как то скетч генератора синусоиды на Tiny через управление ШИМ. Там вообще одна ножка задействована. Но качество сигнала на выходе плохое.
Не знаю устроит или нет, но dimax это уже запилил.