Страница 1 из 1
Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 11:26:26
thor_nsk
Доброго времени суток, уважаемые.
Подскажите пожалуйста, как лучше всего реализовать копирование/передачу ШИМ сигнала с одного вывода МК, назовем его "Вход", на другой, назовем его "Выход"?
А теперь подробности.
МК - atmega328 с кварцем на 16МГц.
Есть сигнал с приемника радиоуправления идущий на сервомашинку. Частота ШИМ от 50 до 333Гц, длительность импульса 500-1500мкс. Задача - пропускать ШИМ от "входа" к "выходу" без изменений, а при определенном условии прервать его. Проблем добавляет использование шины I2C для считывания показаний барометра. Возможно ли сделать "Выход" без джитера?
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 11:34:03
ARV
не плодите сущностей без необходимости: ШИМ не надо пропускать через МК, достаточно пропускать его через транзисторный ключ, которым МК будет управлять.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 11:36:04
Wladimir_TS
Возможно человеку не только его прерывать надо, но и модифицировать.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 11:52:45
NStorm
Ну в условиях сказано, что только прерывать его надо. А прерывать можно и через транзистор. Тогда и джиттера не будет.
Если всё-таки надо его менять или анализировать, то один таймер - в режим захвата (ICP), другим таймером генерим аналогичный ШИМ. Джиттер будет на 1 период + время на установку выходного таймера (надо захватить 1 полный период, чтобы настроить таймер в режиме ШИМ на выход). Ну или с такой небольшой частотой выход можно генерить и ногодрыгом по прерыванию захвата, тогда джиттер можно свести почти до нуля. Почти, потому что несколько тиков займет прерывание, анализ и установка вывода.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 11:55:12
ARV
для сервомашинки, кстати, джиттер вообще до лампы, во всяком случае тот, что будет от нескольких тактов МК на 16 МГц работающего.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 12:16:12
thor_nsk
Дополню описание, хотя надо было это сделать сразу.
Серву надо будет не просто отрубить, а подменить входной шим на шим с определенными значениями.
И еще, входной ШИМ меняется, т.е. идет постоянное управление сервой. Поэтому длительность импульса во входном сигнале не постоянна.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 12:28:43
akl
Как вариант использовать прерывание PCINTx, имеющие более высокий приоритет перед TWI
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 12:35:12
NStorm
Серву надо будет не просто отрубить, а подменить входной шим на шим с определенными значениями.
Это всё еще можно сделать с помощью транзистора. Отрубите входной, подадите свой с МК.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 12:36:30
thor_nsk
Побовали на INT0 входной сигнал заводить и с него устанавливать выход (ногодрыг). Серва дергается.
Попробуем с транзистором.
Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 12:46:06
BOB51
По команде меняем параметры соответствующего таймера - зачем еще чего-то выдумывать?
Как вариант садомазохизьма цепляем внешний мультиплексор на рассыпухе.

Re: Копирование ШИМ с одного вывода МК на другой
Добавлено: Пт фев 28, 2020 21:17:10
Demiurg
Изучить протокол пульта управления. Сделать свою плату приёмника.