Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Тахометр pic16f628a индикатор HT1611(1613)

Ср июл 05, 2023 18:06:48

Прошу помочь вывести пятый индикатор десятки тысяч для измерения оборотов бензопилы (бензокосы). Исходники есть.
t628asm.asm
(11.57 KiB) Скачиваний: 59
Заранее благодарю спецов.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Чт июл 06, 2023 20:00:54

А зачем умножеие - деление, если достаточно нескольких ступеней вычитания/сложения с константами?
А в накопитель сразу двоично-десятичные тетрады укладываются отдельно для 10000, 1000, 100 и табличный преобразователь остатка (10ки и 1цы)..
:roll:

Re: Тахометр pic16f628a индикатор HT1611(1613)

Чт июл 06, 2023 22:51:16

Я не программист, это взято из журнала Радио. Я подкорректировал только делитель. Теперь при 100Гц показывает ровно 6000. Если можете пожалуйста поправьте asm.
Помогите такому же пенсионеру.
Вложения
Схема тахометра.jpg
Схема может пригодиться.
(79.62 KiB) Скачиваний: 100

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 08:09:26

Более неудобного варианта схемы (относительно примененного индикатора) найти трудно...
Тут проще(быстрее) не править, а заново написать или к автору конструкции обратиться.
:(
Что она хоть мерить должна?
В смысле диапазона значений и их наименований (герцы, обороты в минуту или еще чего)?
:roll:

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 08:40:21

Тахометр измеряет обороты в минуту. Он собран и работает. Мне надо добавить пятый разряд десятков тысяч. Сейчас измеряет от 30 до 9999 оборотов, далее просто не видно десятки тысяч.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 09:27:09

Если знаете, в каком номере журнала "Радио" опубликована оригинальная статья? Каковы максимальные обороты реальной машины?
На самом деле проще написать новый код (на C). И у этих дисплеев есть проблема с реальным тестом - их уже трудно найти.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 10:01:09

Когда то таким дисплейчиком баловался - ниже дока с моим дополнением
1611c+note.pdf
(226.82 KiB) Скачиваний: 32

пакостная штука, но таки работала. В наличии уже даавно нету.
Судя по протоколу надо будет добавлять тетраду как в обработчик данных, так и в протокол пересылки из МК в дисплей.
8)

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 10:26:59

Журнал Радио 2004 номер 7. В телефонных АОНнах их много. Не знаю что надо, это для меня темный лес. Если можете, сделайте. Спасибо.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 16:27:28

Если можно сфотографируйте дисплей, чтобымогли получить представление о ориг. показаниях.
Получается ---0000--- без ввода? На 10 об. ---0010--- отображается?

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 18:13:16

Не могу вставить фотки . На экране три пропуска пустые потом четыре цифры и опять три пропуска.
https://img.radiokot.ru/files/153717/th ... lpc0pe.jpg
https://img.radiokot.ru/files/153717/me ... lfk9rh.jpg
Вставил в img.radiokot.ru 4 фотки
Последний раз редактировалось ALEX-10 Пт июл 07, 2023 20:39:10, всего редактировалось 1 раз.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 18:27:47

Прожка просто чудеса изврата...
Это в отношении вычислений длительности входного импульса и формирования опорного сигнала...
На основе командных циклов и "волшебной константы"
Как в принципе и схемка - "дробный" кварц 3,58 МГц вместо штатного 4 или 20 МГц больше для UART подходит (3.579545 Мгц)...
Вывод там кстати сразу во все позиции дисплея сделан - при корректной математике и 16-разрядном счетчике теоретически проблем не должно быть (просто замещаем один из пробелов нужными данными)...
:roll:
... но алгоритм вычислений (это только автор прожки понять может)...
у нас ведь по существу простейший периодометр/частотомер
:facepalm:

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 20:43:50

Кварц у меня 4Мгц стоит. Я могу по схеме спаять и настроить, а программирование мне не дается даже на Ардуино. Только методом сравнения и логики.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 20:52:18

Max oбороты меньше 65535? (uint16_t при печати дисплея).
Кварц не 3,579545 MHz, a 4 MHz? (из-за счетов мне это нужно)

Уже успешно написал "драйвер" для HT1611 :), подключен к одним и тем же пинам.
Остался тахометр, посмотрим как организовать тестирование, он для меня на данный момент сложнее.

И интересно, почему в оригинал на вход выбран PB2, а не RB0/INT или RA4/T0CKI, RB6/T1CKI, но это мысли в письменной форме ... :)
Вложения
DSC04930s.jpg
(132.37 KiB) Скачиваний: 38

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 21:07:03

Да, конечно меньше. Не более 20000 об/мин. Кварц 4 Мгц. Я завтра на некоторое время исчезну из сети, не обижайтесь если не смогу ответить. Спасибо большое. Входы/выходы можете поменять, для меня это не проблема, я в них не понимаю. Печатку еще не делал.
Последний раз редактировалось ALEX-10 Пт июл 07, 2023 21:10:14, всего редактировалось 1 раз.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 21:09:47

Да, и я пишу код сегодня, потом позже ... не происходит решение сразу. Попробую, может получится.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 21:19:32

BOB51 писал(а):Как в принципе и схемка - "дробный" кварц 3,58 МГц вместо штатного 4 или 20 МГц больше для UART подходит (3.579545 Мгц)...
А 3,58 МГц это не NTSC кварц, случайно?
Если ДА, то тогда автор просто использовал то, что было "в тумбочке".. :dont_know:

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 21:22:45

Такое впечатление, что в первоисточнике была привязка к UARTу - формирование "счетного окна" за счет TxD (пересылка байта данных в качестве строба).
Вывод RB2 на схеме - он же RB2/TX/CK...
А вот в приложенной прожке уже "некая импровизация"...
:roll:

Re: Тахометр pic16f628a индикатор HT1611(1613)

Пт июл 07, 2023 22:06:48

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

diplodok, если можно, на asm с идеей модифицируйте код из задания ALEX-10.
Я тестирую (C) использование ext interrupt (PB0), L to H и беру сколько timer0 насчитал. Пока работает.

Re: Тахометр pic16f628a индикатор HT1611(1613)

Сб июл 08, 2023 00:32:35

Для тахометра с оборотами в минуту можно и обычный программный счетчик.
Только предпочтение аппаратному антидребезгу датчика.
Измерительное окно в 1,875 секунды и считаем пришедшие за это время импульсы.
Затем сдвиг результата влево 5 раз (*32) - получаем двоичный результат "обороты в минуту".
Остается только привести его к двоично-десятичному виду (потетрадно) и вывести на индикацию.
Для разнообразия можно усреднение добавить - но тогда на реакцию потребуется секунд 6 (высокая инерционность).
Можно и через периодомер - но тогда надо подбирать длительность тактовых импульсов для T1 так, чтобы упростить математику.
:roll:
Ответить