реклама на сайте
подробности

 
 
> Захватить ШИМ, преобразовать в код
ViKo
сообщение Oct 23 2015, 09:20
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Допустим, имеем ШИМ с периодом 1 мс. Читаем его 200 раз за период логическим входом микроконтроллера. Как теперь эти нули и единицы превратить в код, соответствующий скважности ШИМ? Например, создать длинный регистр, допустим, из 4096 битов. Задвигаем прочитанный вход в регистр, сдвигаем все биты, последний бит теряется. И вычисляем сумму всех битов. В-общем, скользящее среднее.
Есть ли способ лучше? Можно ли улучшить данный алгоритм?
Попутно вопрос - как на C определить и использовать длинный сдвиговый регистр?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tanya
сообщение Oct 23 2015, 09:51
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(ViKo @ Oct 23 2015, 12:20) *
Допустим, имеем ШИМ с периодом 1 мс. Читаем его 200 раз за период логическим входом микроконтроллера.

Или я не врубаюсь, или одно из двух. С некоторым правильным (Вы его должны знать) периодом смотрим на вход - ждем перехода в 1, инкрементируем счетчик или не инкрементируем, а просто добавляем вход... И так 256 (к примеру) раз.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 23 2015, 09:56
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Tanya @ Oct 23 2015, 12:51) *
Или я не врубаюсь, или одно из двух. С некоторым правильным (Вы его должны знать) периодом смотрим на вход - ждем перехода в 1, инкрементируем счетчик или не инкрементируем, а просто добавляем вход... И так 256 (к примеру) раз.

Тоже можно. Сбрасывать счетчик нулем на входе (перед сбросом сохранить). Когда на входе единица, инкрементировать. Опрашивать регулярно, по таймеру.
Можно и отдельно считать нули и единицы, так еще надежнее будет. Сумма нулей и единиц даст период, отношение количества единиц к периоду даст скважность.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 04:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016