Размышляю над 8-и канальным тахометром для подкроватного сервера. Конечно есть всякие специализированные м/с типа MAX31790, EMC230x, но добыть их сейчас нефуражные и по приемлемой цене не представляется возможным. Зато в "тумбочке" полно всяких разных pic'ов, avr, arduino.
Вот мне и подумалось такое:
Берем 74HC4051, 8-и канальный мультиплексор.
На МК задействуем специальный счетный вход таймера, обычно с помощью которого делают частотомеры.
Или аппаратное прерывание и в нем считаем, но первый вариант мне кажется более точным и правильным.
Соответственно вопрос алгоритмического характера, как все это реализовать, чтобы за приемлемое время (1-2 сек) измерять обороты у всех 8-и вентиляторов?
Пока что я сделал макет на Ардуино и с помощью Гайверовской библиотеки тахометр. Работает она на аппаратном прерывании.
Алгоритм такой:
Переключаю канал - замеряю.
Отключаю вход (ножка E) на 4051 на некоторое время (делаю паузу).
И так по циклу.
Время замера 2 сек на канал, при 1 секунде измерения. Работает, но получается 2 секунды на один вентилятор...


