Многоканальный тахометр для вентиляторов (нужен совет)

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Мокренькая кисонька
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт сен 27, 2011 07:28:44
Откуда: Москва
Контактная информация:

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение Мокренькая кисонька »

[uquote="veso74",url="/forum/viewtopic.php?p=4729183#p4729183"]Зафиксируйте хотя бы тип используемого микроконтроллера.[/uquote]
Думаю использовать Mega 168 или 328, у меня их больше всего, да и опыт на аврах больше.
ИзвЕните от слова - веник, ИзвИните от слова - вина.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение jcxz »

[uquote="Аlex",url="/forum/viewtopic.php?p=4729112#p4729112"]8 входов у МК. Таймер на 100 us, это будут тики. Ловим фронты на входах (был один уровень, стал другим) в обработчике этого таймера. И считаем "тики", для каждого входа, от фронта до фронта - это будут периоды. Как потом перевести из периода в частоту, объяснять, думаю, не нужно.
Любой МК потянет такой алгоритм по скорости.
Чем ближе будет частота к 100 Гц, тем будет больше хромать точность измерения. Но, думаю, Вам этого будет достаточно.[/uquote]Да, так пойдёт. Но дополню:
Я бы мерял не просто "от фронта до фронта", а согласно периоду индикации: до последнего фронта сигнала в каждом периоде индикации. И с подсчётом фронтов внутри периода индикации. А потом - делим измеренный интервал времени на количество фронтов за период индикации и выводим. При таком способе точность не будет ухудшаться с ростом частоты сигналов. Будет усреднение по множеству периодов сигнала.
Аватара пользователя
Мокренькая кисонька
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт сен 27, 2011 07:28:44
Откуда: Москва
Контактная информация:

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение Мокренькая кисонька »

Я вот думаю все-таки задействовать аппаратный щ0ччик и в его прерывании делать предварительную обработку и переключать мультиплексор. Конечно можно будет выкроить целый порт под это, но это не очень будет удобно, т.к. еще нужно 2 ШИМа вывести, датчики температуры, UART вместо дисплея.

Всем спасибо за советы, если что-то годное получится - результат запощу. Пока буду экпериментировать.
ИзвЕните от слова - веник, ИзвИните от слова - вина.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение jcxz »

[uquote="abc",url="/forum/viewtopic.php?p=4729168#p4729168"]да, согласен, но прямо в первом сообщении ТС было про "подкроватный сервер".
И поставить туда ветродуи с 10000rpm могут не только лишь все.[/uquote]В такую жару как сейчас - самое то! :)))

Добавлено after 54 seconds:
[uquote="Мокренькая кисонька",url="/forum/viewtopic.php?p=4729225#p4729225"]Думаю использовать Mega 168 или 328, у меня их больше всего, да и опыт на аврах больше.[/uquote]И зря! При нынешних-то ценах на ARM-ы... Вот и освоили бы их на такой простой задаче.

Добавлено after 5 minutes 31 second:
[uquote="Мокренькая кисонька",url="/forum/viewtopic.php?p=4729228#p4729228"]и переключать мультиплексор.[/uquote]Вижу у автора настойчивое желание потратить некий мультиплексор. :)))
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6652
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение AlexS4 »

а можнож на аппаратных счетчиках сделать, зачем ваще mcu ;)

еще хороший вариант взять завалявшуюся fpga , загнать в нее опенсорсный стековый процессор
https://github.com/IamMaxim/OurCPU
и уже на нем писануть алгоритм. можно прямо на языке forth ;)
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение jcxz »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4729232#p4729232"]еще хороший вариант взять завалявшуюся fpga , загнать в нее опенсорсный стековый процессор
https://github.com/IamMaxim/OurCPU
и уже на нем писануть алгоритм. можно прямо на языке forth ;)[/uquote]Всё хорошо, осталось дело за малым - чтобы fpga завалялась. 8)

PS: Окучивать подкроватные пропеллеры при помощи FPGA - это сильно! :)))
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение roman.com »

Мокренькая кисонька писал(а):Думаю использовать Mega 168 или 328
хорошо.
у них можно назначить прерывание на любой вывод.
т.е. количество датчиков ограничено только количеством выводом самого МК.
:tea:

но тут другая проблема - прерывания непредсказуемые ))

поэтому например в радиоуправлении мы опрашивали датчики с высокой частотой (в прерывании таймера 0).

Изображение

а потом передавали по радио... на комп... и т.д.

Изображение

может показаться что опрашивать датчики с высокой частотой это пустая трата ресурсов... но в нашем случае это оправдано.
зато у нас высокая стабильность (таймер работает от кварца)... высокая точность... и т.д.

и главное что мы знаем точно когда сработает таймер. и значит можем рассчитать все тайминги.

Изображение

2 ШИМа вывести, UART - не проблема.

датчики температуры - у нас была проблема... на время опроса датчика температуры желательно отключать все прерывания.
иначе будут ошибки.

а остальном всё замечательно работает))
:tea:
Аватара пользователя
abc
Друг Кота
Сообщения: 3684
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение abc »

СпойлерЭто какой-то позор оверинжиниринг.
Что заставило для трех устройств с I2C использовать две ардуины ?

ЗЫ
Понял, спасибо, вопрос снят
Последний раз редактировалось abc Сб июл 05, 2025 13:33:30, всего редактировалось 1 раз.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение roman.com »

Спойлерэто экспериментальная схема.
потом всё переделали.
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43814
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение АлександрЛ »

Интересно, а что, так "смертельно необходимо" знать обороты вентилятора с точностью до одного оборота в минуту (или в секунду)?
2 импульса на оборот, при частоте вращения 1500 оборотов в минуту- это 50 оборотов в секунду, или 15 оборотов за 0,3 секунды. Программируете измерительный интервал не 1 секунду, а 0,3 секунды, и имеете на выходе число и "х100 оборотов в минуту"
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение akl »

[uquote="АлександрЛ",url="/forum/viewtopic.php?p=4729292#p4729292"]...2 импульса на оборот, при частоте вращения 1500 оборотов в минуту- это 50 оборотов в секунду, или 15 оборотов за 0,3 секунды. Программируете измерительный интервал не 1 секунду, а 0,3 секунды, и имеете на выходе число и "х100 оборотов в минуту"[/uquote]Не совсем так. 1500/60=25/[сек]*0,3=(100)*7,5[об/мин]???
Если измерительный интервал взять длительностью 0,6 секунды, получается более правильно 1500/60=25/[сек]*0,6=(100)*15[об/мин]
Мокренькая кисонька писал(а):Я вот думаю все-таки задействовать аппаратный щ0ччик и в его прерывании делать предварительную обработку и переключать мультиплексор. Конечно можно будет выкроить целый порт под это, но это не очень будет удобно, т.к. еще нужно 2 ШИМа вывести, датчики температуры, UART вместо дисплея...
Управление мультиплексором потребует 4 лапы контроллера. Можно подключиться к входу захвата таймера Т1 через встроенный аналоговый мультиплексор
Спойлерhttps://radiokot.ru/forum/download/file.php?mode=view&id=419447&sid=4996caad8af767aed4ee064cd97f9612
Вложения
Встроенный мульплексор m48...m328.PNG
(43.61 КБ) 120 скачиваний
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43814
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение АлександрЛ »

akl писал(а):Не совсем так. 1500/60=25/[сек]*0,3=(100)*7,5[об/мин]???
Где-то в начале ветки написано, что, таходатчик вентилятора выдаёт ДВА импульса на оборот.
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение roman.com »

[uquote="akl",url="/forum/viewtopic.php?p=4729301#p4729301"]Управление мультиплексором потребует 4 лапы контроллера.[/uquote]
[uquote="Мокренькая кисонька",url="/forum/viewtopic.php?p=4729008#p4729008"]Размышляю над 8-и канальным тахометром[/uquote]
Управление 8-и канальным мультиплексором потребует 3 лапы контроллера.
[uquote="akl",url="/forum/viewtopic.php?p=4729301#p4729301"]Можно подключиться к входу захвата таймера Т1 через встроенный аналоговый мультиплексор[/uquote]
Можно... но зачем ? ))
-не у всех МК есть 8-и канальным мультиплексор.
-если использовать 8-и канальным мультиплексор то мы потеряем АЦП. который нам ещё пригодится))
Аватара пользователя
AlanDrakes
Прорезались зубы
Сообщения: 236
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение AlanDrakes »

Я такой "тахометр" делал на ESP32 + графический дисплей.

Все пины сигналов заводил на аналоговый ключ (74HC4051). Логика максимально тупая.
Сигналы с пинов вентиляторов идут через схему защиты, компараторы (8) на аналоговый ключ. Контроллер выбирает желаемый канал, и уходит в сон на 0,2 секунды. Это максимальное время опроса канала.
Сам сигнал после компараторов и аналогового ключа заводится на пин с прерыванием, который считает импульсы. Если получено 20 импульсов - будет основной поток. После этого переключаемся на следующий канал и продолжаем.

Я не очень заморачивался с причёсыванием кода, но оно работает в пределах 50об/мин ... 9999 об/мин (я оставил 4 разряда под скорость, да и где такие кулеры встречаются?).

Тайминги получаются из внутреннего счётчика времени. На малых оборотах показания плавают, но высокие измеряются более-менее достоверно.
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6652
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение AlexS4 »

там же речь о очень низких скоростях, нет никакого разумного смысла дополнять gpio порты какимито аппаратными коммутаторами. для защиты gpio там нужны резисторы последовательно входам ~1..10k и все!

это на любой mcu из конца прошлого тысячалетия сделать без доп компанентов. а на esp32 это будет еще и с BT интерфейсом 8)

а все попытки довесить подобное железом чтоб все стало "понятно" - исключительно от отсутствия опыта программирования (сложнее чем демо-скетчи готовые чуть допиливать под себя). ... и с таким подходом этого опыта никогда и не появится :dont_know: :(
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение jcxz »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4731981#p4731981"]там же речь о очень низких скоростях, нет никакого разумного смысла дополнять gpio порты какимито аппаратными коммутаторами. это на любой mcu из конца прошлого тысячалетия сделать без доп компанентов. а на esp32 это будет еще и с BT интерфейсом 8)[/uquote]Ой-ли? Уверены?
На electronix-е один человечек жаловался, что енти самые "народные" ESP32 при работе с эфиром периодически запрещают прерывания на несколько мсек! И никто так и не поведал - как победить сей блуд с прерываниями.
Может вы поведаете?
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6652
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение AlexS4 »

тоже читал про это. сам esp не использовал, кроме как отдельный bt/wifi-uart мост в паре некритичных к задержкам мест

но для задачи с вентиляторами - это все пофиг. ну будет периодически возникать ошибка по частотам, ее либо откидывать можно будет по признаку одновременного существенного отклонения по всем каналам, либо сделать контрольный канал чтоб детектировать эту ошибку. а скорее всего подозреваю ее можно будет просто игнорировать :)
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение jcxz »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4731992#p4731992"]тоже читал про это. сам esp не использовал, кроме как отдельный bt/wifi-uart мост в паре некритичных к задержкам мест

но для задачи с вентиляторами - это все пофиг.[/uquote]Не факт. Эта задержка нигде в документации не документирована. А значит - может быть любой. И если у того человечка она была "несколько мсек", то в другом режиме работы и в другом окружении может быть другой. Или картина может резко измениться с выходом новой версии прошивки BT-стека.

Кроме того - предположим, что она будет также == "несколько мсек", но повторяться через каждые 100 мсек. И пропеллер вращается с такой же частотой. Что в этом случае увидим? Падающего Карлсона! :facepalm: Так как пропеллер остановился!
Возможно конечно, что хоть прерывания и запрещаются, но не теряются. И срабатывают после конца запрета. Тогда даже при частых запретах в пару мсек проблем быть не должно. Но это всё - вилами по воде. Китайскими вилами из китайского железа. :twisted:

Вобщем - ESP32 с чёрным ящиком BT-стека для такой задачи - это хождение по минному полю, покрытому слоем грабель. Али его знает - может будет работать, может - нет. А может - иногда будет, иногда - нет.

[uquote="AlexS4",url="/forum/viewtopic.php?p=4731992#p4731992"]ну будет периодически возникать ошибка по частотам, ее либо откидывать можно будет по признаку одновременного существенного отклонения по всем каналам, либо сделать контрольный канал чтоб детектировать эту ошибку. а скорее всего подозреваю ее можно будет просто игнорировать :)[/uquote]Т.е. - предлагаете сразу точить костыли? 8)
Зачем? Лучше взять обычный нормальный МК. Без всяких кривых блюпупов. А ESP пусть лучше рядом постоит, коль сильно нужен.
AQ29
Нашел транзистор. Понюхал.
Сообщения: 198
Зарегистрирован: Сб июл 30, 2011 21:00:24

Re: Многоканальный тахометр для вентиляторов (нужен совет)

Сообщение AQ29 »

Наверно, лучше будет «лобовое» решение – на каждый вентилятор по таймеру. Использовать современный МК AVR, например, AVR64DA64, у него 8 таймеров плюс таймер RTC. МК, конечно, стоит подороже, но при единичной разработке это мелочь.
Можно посмотреть вариант: пара дешёвых ATtiny1616, там 4 таймера плюс таймер RTC. В дорогом ЧипДипе стоит 79 рублей, корпус, правда, не очень.
Плюсы: простые измерения с хорошим усреднением, хороший запас для других дел, например, измерение температуры во многих точках и т.д.

[uquote="Мокренькая кисонька",url="/forum/viewtopic.php?p=4729016#p4729016"]LM курил в молодости, RM ни разу.[/uquote]
Лучше бы «курили RM». У любителей LM, кто постарше, ситуация известная – тяжёлые болезни и кладбище.
Ответить

Вернуться в «Периферия»