Страница 1 из 2
Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Ср июл 05, 2023 18:06:48
ALEX-10
Прошу помочь вывести пятый индикатор десятки тысяч для измерения оборотов бензопилы (бензокосы). Исходники есть.
Заранее благодарю спецов.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Чт июл 06, 2023 20:00:54
BOB51
А зачем умножеие - деление, если достаточно нескольких ступеней вычитания/сложения с константами?
А в накопитель сразу двоично-десятичные тетрады укладываются отдельно для 10000, 1000, 100 и табличный преобразователь остатка (10ки и 1цы)..

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Чт июл 06, 2023 22:51:16
ALEX-10
Я не программист, это взято из журнала Радио. Я подкорректировал только делитель. Теперь при 100Гц показывает ровно 6000. Если можете пожалуйста поправьте asm.
Помогите такому же пенсионеру.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 08:09:26
BOB51
Более неудобного варианта схемы (относительно примененного индикатора) найти трудно...
Тут проще(быстрее) не править, а заново написать или к автору конструкции обратиться.
Что она хоть мерить должна?
В смысле диапазона значений и их наименований (герцы, обороты в минуту или еще чего)?

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 08:40:21
ALEX-10
Тахометр измеряет обороты в минуту. Он собран и работает. Мне надо добавить пятый разряд десятков тысяч. Сейчас измеряет от 30 до 9999 оборотов, далее просто не видно десятки тысяч.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 09:27:09
veso74
Если знаете, в каком номере журнала "Радио" опубликована оригинальная статья? Каковы максимальные обороты реальной машины?
На самом деле проще написать новый код (на C). И у этих дисплеев есть проблема с реальным тестом - их уже трудно найти.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 10:01:09
BOB51
Когда то таким дисплейчиком баловался - ниже дока с моим дополнением
пакостная штука, но таки работала. В наличии уже даавно нету.
Судя по протоколу надо будет добавлять тетраду как в обработчик данных, так и в протокол пересылки из МК в дисплей.

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 10:26:59
ALEX-10
Журнал Радио 2004 номер 7. В телефонных АОНнах их много. Не знаю что надо, это для меня темный лес. Если можете, сделайте. Спасибо.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 16:27:28
veso74
Если можно сфотографируйте дисплей, чтобымогли получить представление о ориг. показаниях.
Получается ---0000--- без ввода? На 10 об. ---0010--- отображается?
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 18:13:16
ALEX-10
Не могу вставить фотки . На экране три пропуска пустые потом четыре цифры и опять три пропуска.
https://img.radiokot.ru/files/153717/th ... lpc0pe.jpg
https://img.radiokot.ru/files/153717/me ... lfk9rh.jpg
Вставил в img.radiokot.ru 4 фотки
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 18:27:47
BOB51
Прожка просто чудеса изврата...
Это в отношении вычислений длительности входного импульса и формирования опорного сигнала...
На основе командных циклов и "волшебной константы"
Как в принципе и схемка - "дробный" кварц 3,58 МГц вместо штатного 4 или 20 МГц больше для UART подходит (3.579545 Мгц)...
Вывод там кстати сразу во все позиции дисплея сделан - при корректной математике и 16-разрядном счетчике теоретически проблем не должно быть (просто замещаем один из пробелов нужными данными)...
... но алгоритм вычислений (это только автор прожки понять может)...
у нас ведь по существу простейший периодометр/частотомер

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 20:43:50
ALEX-10
Кварц у меня 4Мгц стоит. Я могу по схеме спаять и настроить, а программирование мне не дается даже на Ардуино. Только методом сравнения и логики.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 20:52:18
veso74
Max oбороты меньше 65535? (uint16_t при печати дисплея).
Кварц не 3,579545 MHz, a 4 MHz? (из-за счетов мне это нужно)
Уже успешно написал "драйвер" для HT1611

, подключен к одним и тем же пинам.
Остался тахометр, посмотрим как организовать тестирование, он для меня на данный момент сложнее.
И интересно, почему в оригинал на вход выбран PB2, а не RB0/INT или RA4/T0CKI, RB6/T1CKI, но это мысли в письменной форме ...

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 21:07:03
ALEX-10
Да, конечно меньше. Не более 20000 об/мин. Кварц 4 Мгц. Я завтра на некоторое время исчезну из сети, не обижайтесь если не смогу ответить. Спасибо большое. Входы/выходы можете поменять, для меня это не проблема, я в них не понимаю. Печатку еще не делал.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 21:09:47
veso74
Да, и я пишу код сегодня, потом позже ... не происходит решение сразу. Попробую, может получится.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 21:19:32
АлександрЛ
BOB51 писал(а):Как в принципе и схемка - "дробный" кварц 3,58 МГц вместо штатного 4 или 20 МГц больше для UART подходит (3.579545 Мгц)...
А 3,58 МГц это не NTSC кварц, случайно?
Если ДА, то тогда автор просто использовал то, что было "в тумбочке"..

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 21:22:45
BOB51
Такое впечатление, что в первоисточнике была привязка к UARTу - формирование "счетного окна" за счет TxD (пересылка байта данных в качестве строба).
Вывод RB2 на схеме - он же RB2/TX/CK...
А вот в приложенной прожке уже "некая импровизация"...

Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 22:06:48
diplodok
veso74 писал(а):я пишу код сегодня
veso74, посмотри в сторону CCP1, CCP2. Режим - захват - Capture.
Примерно так:
1. CCP настроен на захват, ожидание пол. фронта. TMR1 - 1uS
1.1 пишем и прерывание по переполнение TMR1 и по захвата
2. Запускаем TMR1 - старт захвата. Момент запуска должен быть по падающим фронтом..
2.1 если сработало прерывание по захвата (полож.) меняем захват на срабатывание по падающим фронтом. CCPR1H:CCPR1L время отриц. пульса. Сохраняем
3. Если сработало по падающим то в CCPR1H:CCPR1L время пол. пульса - сохраняем
и то-же делаем и для отриц. пульса. Автор t628asm.asm так сделал.
Сумируем время положителного и отрицательного и получаем период. Далее арифметика.
2.1 Можно и не меняя захват по падающим. Работать только по нарастающим фронтом - запуск по пол. фронту. Тогда в CCPR1H:CCPR1L будет период сигнала. И арифметика.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Пт июл 07, 2023 23:05:53
veso74
diplodok, если можно, на asm с идеей модифицируйте код из задания ALEX-10.
Я тестирую (C) использование ext interrupt (PB0), L to H и беру сколько timer0 насчитал. Пока работает.
Re: Тахометр pic16f628a индикатор HT1611(1613)
Добавлено: Сб июл 08, 2023 00:32:35
BOB51
Для тахометра с оборотами в минуту можно и обычный программный счетчик.
Только предпочтение аппаратному антидребезгу датчика.
Измерительное окно в 1,875 секунды и считаем пришедшие за это время импульсы.
Затем сдвиг результата влево 5 раз (*32) - получаем двоичный результат "обороты в минуту".
Остается только привести его к двоично-десятичному виду (потетрадно) и вывести на индикацию.
Для разнообразия можно усреднение добавить - но тогда на реакцию потребуется секунд 6 (высокая инерционность).
Можно и через периодомер - но тогда надо подбирать длительность тактовых импульсов для T1 так, чтобы упростить математику.
