Две схемы таймера для вентилятора ванной комнаты.

Когда делал ремонт в своей квартире решил, что не лишним было бы установить принудительную вытяжку в ванной комнате и туалете. Но когда приобретал стройматериалы и различные аксессуары, то, то ли второпях, то ли что перепутал, но получилось так что приобрел вентилятор без таймера. Обнаружил свой промах спустя примерно через полгода, чек естественно не сохранился, возвращать в магазин на обмен было уже бессмысленно. Нуда ладно, решил, сделаю таймер сам, когда уже закончу ремонт.
Читать дальше
- +1
- 29 ноября 2019, 22:29
- Technicum505SU
- 16
Таймеры и задержки: сборник рецептов
Увидел в статье DI HALT "Простой программный таймер для конечных автоматов" некий кусок кода и решил накатать статью…
Сначала писал длинно, с приколами и разжевыванием, но мне не понравилось и в итоге убрал в черновики. Решил переоформить как краткий сборник рецептов.
Читать дальше
bool MainTimerIsExpired(const uint32_t Timer) // ???
{ // ???
if ((TimeMs - Timer) < (1UL << 31)) return (Timer <= TimeMs); // ???
return false; // ???
} // ???
Сначала писал длинно, с приколами и разжевыванием, но мне не понравилось и в итоге убрал в черновики. Решил переоформить как краткий сборник рецептов.
Читать дальше
"CeleronTimer" C library
Библиотека "Программных Таймеров" (реализация синхронных и асинхронных задержек в прошивке микроконтроллера).
Особенности: Кроссплатформенность. Микроконтроллеры любой разрядности. Удобное и функциональное API. Нетребовательная к ресурсам МК.
Дискретность отсчёта = 1мс. Достаточна для реализации пользовательского интерфейса (и прикладной логики) в устройствах на микроконтроллере.
- 0
- 25 октября 2016, 05:35
- Celeron
- github.com/Celeron/gcc-celeron...
- Оставить комментарий
Частотомер на STM32F10x
How it all began…
Как-то появилась у меня задача – померять частоту сигнала с некого датчика, который по сути являлся кварцевым резонатором с внешней схемой возбуждения.Дано:
- Cигнал прямоугольной формы
- Меандр
- Приведен к логическим уровням микроконтроллера
- Выходная частота не более 6МГц
- Погрешность измерений 1Гц
Последний пункт был прописан в ТЗ. Заказчик, как выяснилось позднее, ляпнул его туда с мыслью “лучше – не хуже, авось сделают и так”. Об этом я узнал позднее, а до того момента пришлось откинуть разные варианты реализации, погрешность которых выходила больше – например с делителями входного сигнала.
Сходу ничего готового не нашлось, хотя я был уверен по дороге домой, что на запрос “Частотомер STM32” Google поделится со мною массой готовых устройств – мне лишь останется только залить прошивку и отзвонить заказчику о работоспособном макете.
Не тут то было. Я не нашел практически ничего полезного, но благодаря этому чуть лучше разобрался в работе таймеров STM32, и теперь могу поделится этим с другими!
Читать дальше..
Управление сервомашинкой из Cubieboard2

Читать дальше
8L-Курс, Часть 5 - Таймеры: начало
← Часть 4 — Тактирование Содержание Часть 6 — Таймеры, внешние каналы →
Таймеры — один из самых важных элементов МК. Ни одна более-менее сложная программа не обходится без них. Все, что так или иначе связано с временными интервалами или подсчетом каких-нибудь событий, реализуется на таймерах.
В STM8L есть несколько таймеров разной сложности. Их можно поделить на три группы:
TIM1 — Это самый сложный и функциональный таймер. 16и разрядный счетчик (максимальное значение — 65535), предделитель, принимающий любые значения от 1 до 65536. Три внешних канала с комплементарными выводами для каждого… и прочие плюшки.
TIM2, TIM3, TIM5(последнего в нашем МК нет) — Чуть по-проще. Внешних каналов всего два. Делитель принимает уже не любое значение, а только степени двойки в диапазоне от 1 до 128. Счетчик по-прежнему 16и разрядный.
TIM4 — Самый простой. 8и разрядный счетчик, делитель — (тоже степени двойки) от 1 до 32768. Внешних каналов нету.
Вот сводная табличка из reference manual, которая рассказывает о характеристиках всех таймеров:

Начнем с TIM1. Он конечно сложнее, чем все остальные, но зато после него работа с другими таймерами не будет вызывать непоняток.
Читать дальше
Таймеры — один из самых важных элементов МК. Ни одна более-менее сложная программа не обходится без них. Все, что так или иначе связано с временными интервалами или подсчетом каких-нибудь событий, реализуется на таймерах.
В STM8L есть несколько таймеров разной сложности. Их можно поделить на три группы:
TIM1 — Это самый сложный и функциональный таймер. 16и разрядный счетчик (максимальное значение — 65535), предделитель, принимающий любые значения от 1 до 65536. Три внешних канала с комплементарными выводами для каждого… и прочие плюшки.
TIM2, TIM3, TIM5(последнего в нашем МК нет) — Чуть по-проще. Внешних каналов всего два. Делитель принимает уже не любое значение, а только степени двойки в диапазоне от 1 до 128. Счетчик по-прежнему 16и разрядный.
TIM4 — Самый простой. 8и разрядный счетчик, делитель — (тоже степени двойки) от 1 до 32768. Внешних каналов нету.
Вот сводная табличка из reference manual, которая рассказывает о характеристиках всех таймеров:

Начнем с TIM1. Он конечно сложнее, чем все остальные, но зато после него работа с другими таймерами не будет вызывать непоняток.
Читать дальше
Частотомер до 1ГГц на STM32
Была необходимость померять частоту около 137МГц, частотомер на такую частоту найти не получилось, ну и решил я сваять свой частотомер с блекджеком и шлюхоми. Посёрфил по просторам интернета, ну типо изучил предметную область, мне подвернулась идея применить делитель частоты. Существует множество проектов измерения частоты на AVR и PIC, а вот на STM мне ни одного и не попалось. Почему я не взял PIC и не использовал готовый проект? Потому что нет отладчика для PIC, использую в основном STM, и есть на чём лепить и экспериментировать.
Делитель частоты
Читать дальше
Делитель частоты
Читать дальше