Как вам такой тахометр?

Д_Заточник

Датчик, правда не такой красивый как рекомендованный, можно легко выдрать из дохлой мыши. Во многих мышах стоит 2 сдвоенных фототранзистора, часто еще и в черном корпусе. То-есть готовый ИК фильтр на халяву! С операционником лучше, только не забыть емкость на делитель повесить как где-то тут рекомендовали.

Pa5ha

Ок, а делитель - 4013? Я хочу на 2313 без делителя подавать? Возможно такое? Делитель только делит, или ещё и уровни преобразовывает?

А почему датчик ИК-диапазона? Я думал, обычный, видимого светового спектра.

Д_Заточник

Потому что L53какеготамнепомню 😃 - это фототранзистор ИК диапазона. И если отсчечь видимую часть спектра, то работать будет, а в насыщение иногда перестанет уходить. Делитель на 4013 - это банальный к 561 тм2 котрый делит частоту входных импульсов на 2. Без операционника с этой микросхемой могут быть засады, т.к она очень чувствительна к длительности фронтов входных импульсов. Программа, зашитая в ПИК, считает импульсы уже с поправкой на то, что на входе стоит делитель на 2. Поэтому без этой микрухи обороты на дисплее будут в 2 раза выше реальных.

Pa5ha

Программа будет своя 😉

Выкину нафих этот тригер 😃

Д_Заточник

Тогда ждем реультатов, и если сохранится та же функциональность, что и у прототипа, то народ не забудет своих героев!

rulll
Pa5ha:

Программа будет своя 😉

Выкину нафих этот тригер 😃

Давай Паша! Даваааай! 😃 😃 😃

8 days later
Pa5ha

Железяка заводится, текст там выводт всякий на экран. Сейчас осталось только подглючить фототранзистор и софтину написать. Только вот с ними проблема в магазине. Не подскажете ли пару марок? А то в ихней базе данных на “фототранзистор” ничо не находит 😃 А фт-2к и ещё какого-то тут выше указанного нету.

Первая рабочая версия. Число пока в шестнадцатеричном представлении и за секунду, а не за минуту, как там написано. При закрытом датчике кажет 0, но от лампы показания скачут и в среднем равны где-то 180 😃

По питанию поставил ещё один 104 😃 Теперь показывает 64, то бишь 100 гц. Я то думал раньше, что лампа не мигает. Этож как на зрение влияет!

Столкнулся с проблемой деления двух байт на один. ну чтоб количество лопастей учитывать. 2313 функции деления не имеет. Думаю… Мож кто знает, как лучше сделать? Реализацию уж так и быть, соображу 😃 Просто неохота столбиком делить. Долго 😃

7 days later
Pa5ha

Итак, готово 😃

Несколько фоток. Весят почти мег. Пережимать было лень т.к. там не особо много полезной информации.

ТТХ 😃 :
обновление информации - 1 сек.
индикация - об/мин, об/сек
точность - 60 об, время измерения - 1 сек. (без делителей, честное измерение 😃 )
количество лопастей винта - 1-255шт.
датчик - из мышки нерабочей, купленной в Сплайне за 10 рублей (купил 3 шт, 4-ая бесплатно 😃 )
контроллер - AT90S2313, разъем ISP
кнопки - 3 шт тоже из той же мышки
дисплей - МЭЛТ 16S2D (16 символов, 2 строки)
чувствителен к лампочке под потолком, честно показывает 100 гц.
себестоимость примерно 1000. Даже меньше: дисплей 345, контроллер 99, монтажка 125, кварц - 15, мышка - 10, ОУ - 9 и дальше по мелочи резюки и кондеры.

Prikupets
Pa5ha:

Итак, готово 😃

Супер! Как решили проблему с делением ?

Pa5ha

Prikupets, написал процедуру деления 16/16 😃 Быстрая, но не думаю, что оптимальная. Слышал, что 16/16 есть за 100 тактов, и даже за 25 😃 , но это наверно на 16-тибитной платформе

Пока это не оформлено и представляет некоторую комерческую тайну. Но как только, так сразу 😃 Если есть вопросы - пишите в личку/на мыло. Помогу/поделюсь, чем смогу 😉

lvmaxx

На форуме было обсуждение звукового тахометра.
Посоветовали мне тогда обратиться в Украину - написал дважды - молчат насмерть!
Может кто подскажет как решить этот вопрос. Звуковой нужен для автомодельных двигателей, желательно и для 2-х и для 4-х тактных моторов.

Gold
Pa5ha:

Prikupets, написал процедуру деления 16/16 😃 Быстрая, но не думаю, что оптимальная. Слышал, что 16/16 есть за 100 тактов, и даже за 25 😃 , но это наверно на 16-тибитной платформе

Пока это не оформлено и представляет некоторую комерческую тайну. Но как только, так сразу 😃 Если есть вопросы - пишите в личку/на мыло. Помогу/поделюсь, чем смогу 😉

деление 16/8 примерно так

clrf rem
movlw d’16’
movwf cnt
loop rlf val, f
rlf val+1, f
rlf rem, f
movfw div
subwf rem, w
btfsc STATUS, C
movwf rem
decfsz cnt, f
goto loop
rlf val, f
rlf val+1, f

val/div - val частное, rem остаток. 10*16 тактов или 7*16 если без цикла.

тем же способом 16/16, но уже с goto. чего существенно быстрее придумали для 16/16 в общем случае не представляю. Для частных случаев деления на конкретную константу - деление заменяется умножением и иногда ускоряется более чем существенно.

а применительно к счетчикам куда проще (не быстрее, но короче код) считать сразу в bcd с дробной частью. допустим если тебе посчитанное значение в конце каждый раз нужно поделить на 1234 и вывести в десятичном виде, то считать сразу так:

rem16 = rem16+ 0x35; // 0x10000 / 1234
if( carry ) bcdincrement(val)

Pa5ha

Gold, это наверно для пиков. Щаз буду долго и упорно втыкать т.к. что-то совсем не понятен язык.

Можно хотя бы в двух словах алгоритм?

Gold
Pa5ha:

Gold, это наверно для пиков. Щаз буду долго и упорно втыкать т.к. что-то совсем не понятен язык.

Можно хотя бы в двух словах алгоритм?

rem = 0;
for(1..16) {
  shift_left(rem,val_hi,val_lo, carry);
  if( rem >= div ) {
	rem -= div;
	carry = 1;
  }
  else
	carry = 0;
}
shift_left(val_hi,val_lo,carry)

обычное деление в столбик. в процессе делимое замещается на частное, чтоб лишних переменных не плодить

Pa5ha

Ну у меня почти так же 😃

Итак, у нас появилась небольшая большая проблема. При проверке выяснилось, что фототранзисторы из мышек никак не реагируют на дневной свет 😮

Minus
Pa5ha:

Ну у меня почти так же 😃

Итак, у нас появилась небольшая большая проблема. При проверке выяснилось, что фототранзисторы из мышек никак не реагируют на дневной свет 😮

исправный фототранзистор ДОЛЖЕН реагировать на IR его составляющую.

как включали?

Д_Заточник

исправный фототранзистор ДОЛЖЕН реагировать на IR его составляющую.

И реагирует. Второй вариант более душный, но результативный. В уже разобранной мышке есть ИК светодиод (даже два, как и фототранзисторы 😃 ). Вешаем его через токоограничивающий резистор ну хотя бы на выход трансформатора 220/5 В с выпрямительным мостиком без емкостного фильтра и имеем так необходимые для настройки 100 Гц в инфракрасном диапазоне.

Добавлено: Вот приаттачил файлик в PDF с характеристиками фототранзистора от мышки.

Pa5ha

Д. Заточник, все это, конечно, хорошо, но 100 гц есть т.к. свет от лампы ловится просто здорово. А вот с выключенной лампой, если пальцем помахать перед фототранзистором, то кажет 0 все равно.

Minus, ну дак коллектор эмиттер. Не помню, как именно. Именно при дневном свете у меня ничо не пашет.

Д_Заточник

В инструкции к фирменному тахометру написано примерно следующее: “Поместите тахометр позади пропеллера так, чтобы на пропеллер падал свет. В качестве источника освещения может выступать небо.”
Т.е. если просто дома ткнуть тахометром в пропеллер, то он ничего не намеряет. А вот если поднести самолет к окну, а потом померять…

Minus
Pa5ha:

Д. Заточник, все это, конечно, хорошо, но 100 гц есть т.к. свет от лампы ловится просто здорово. А вот с выключенной лампой, если пальцем помахать перед фототранзистором, то кажет 0 все равно.

Minus, ну дак коллектор эмиттер. Не помню, как именно. Именно при дневном свете у меня ничо не пашет.

Я правильно понял что 100 гц с лампы ентим фототранзистором “ловятся здорово” ?

Дабы вспомнили как именно енти “коллектор - эмитер” вот пару более - менее стандартных схем использования ентих фототранзисторов как сенсоров…

Ежли и включили правильно и транзистор рабочий а на пропеллер не реагирует - попробуйте ентот пропеллер подсвечивать IR же светодиодами…

12 days later