Стробоскоп - прибор который быстро мигает... :) Как прибор используется для
определения частоты вращения или биения различных предметов. Во всём остальном
используется как развлекалка.
У компьютерных вентиляторов три провода. Помимо питания есть вывод частоты
вращения. Собственно измерив время этого импульса мы и знаем время одного
целого оборота крыльчатки. У большенства вентиляторов 7 крыльев, значит -
мигнув светом на вентилятор семь раз за один круг - он "остановится". Как на
дискотеке все "тормозят".
Схема очень проста - добавить нечего.
Обратите внимание на распиновку вентилятора, она может отличаться от нарисованной
на схеме. Полевик любой с материнки палёной. Т.к. светодиод не горит постоянно, а
только семь раз за оборот вспыхивает, то он работает совсем не на максимальную
мощность. На фотографии светодиод luxeon 1 ватт. Всё работает от +5 компьютера.
Программа на PicBasic:
INCLUDE "bs2defs.bas" DEFINE pulsin_max 400 DEFINE OSC 4 a VAR WORD u VAR WORD b VAR BYTE c VAR BYTE
a = 0 : b = 0 : c = 0 : u = 0 : LOW gpio.2
tut:
PULSIN gpio.3, 1, a PULSIN gpio.3, 1, u ' берём пару сигналов PULSIN gpio.3, 1, a
IF ABS (a - u) > 55 THEN GOTO tut ' проверяем чтоб они не сильно отличались a = (a + u) / 2 ' высчитываем их среднее
IF a = 0 THEN GOTO tut
a = a << 2 ' *4 Время одного пульса - четверть круга, умножаем на 4. a = a * 10 ' pulsin увеличивает значение на 1 за время 10мкс a = a / 7 ' семь раз мигнуть за оборот - по количеству лопастей.
a = a - 35' коррекция времени на выполнение самой программы.
FOR b = 1 TO 600 ' значение времени а на 600 оборотов IF a < 25 THEN GOTO tut FOR c = 1 TO 7 HIGH gpio.2 : PAUSEUS 100 : LOW gpio.2 ' вспышка длинной 100мкс PAUSEUS a ' время а - одна седьмая оборота. NEXT c NEXT b GOTO tut
35 - точная подстройка вспышек. при примерно 40ка вентилятор "стоит".
Большее значения для вращения назад, меньшее - вперёд.