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

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Родился
Сообщения: 15
Зарегистрирован: Ср июл 05, 2023 17:35:38

Сообщение ALEX-10 »

Прошу помочь вывести пятый индикатор десятки тысяч для измерения оборотов бензопилы (бензокосы). Исходники есть.
t628asm.asm
(11.57 КБ) 141 скачивание
Заранее благодарю спецов.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15690
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А зачем умножеие - деление, если достаточно нескольких ступеней вычитания/сложения с константами?
А в накопитель сразу двоично-десятичные тетрады укладываются отдельно для 10000, 1000, 100 и табличный преобразователь остатка (10ки и 1цы)..
:roll:
Реклама
Родился
Сообщения: 15
Зарегистрирован: Ср июл 05, 2023 17:35:38

Сообщение ALEX-10 »

Я не программист, это взято из журнала Радио. Я подкорректировал только делитель. Теперь при 100Гц показывает ровно 6000. Если можете пожалуйста поправьте asm.
Помогите такому же пенсионеру.
Вложения
Схема тахометра.jpg
Схема может пригодиться.
(79.62 КБ) 214 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 15690
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Более неудобного варианта схемы (относительно примененного индикатора) найти трудно...
Тут проще(быстрее) не править, а заново написать или к автору конструкции обратиться.
:(
Что она хоть мерить должна?
В смысле диапазона значений и их наименований (герцы, обороты в минуту или еще чего)?
:roll:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 15
Зарегистрирован: Ср июл 05, 2023 17:35:38

Сообщение ALEX-10 »

Тахометр измеряет обороты в минуту. Он собран и работает. Мне надо добавить пятый разряд десятков тысяч. Сейчас измеряет от 30 до 9999 оборотов, далее просто не видно десятки тысяч.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Если знаете, в каком номере журнала "Радио" опубликована оригинальная статья? Каковы максимальные обороты реальной машины?
На самом деле проще написать новый код (на C). И у этих дисплеев есть проблема с реальным тестом - их уже трудно найти.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15690
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Когда то таким дисплейчиком баловался - ниже дока с моим дополнением
1611c+note.pdf
(226.82 КБ) 145 скачиваний
пакостная штука, но таки работала. В наличии уже даавно нету.
Судя по протоколу надо будет добавлять тетраду как в обработчик данных, так и в протокол пересылки из МК в дисплей.
8)
Родился
Сообщения: 15
Зарегистрирован: Ср июл 05, 2023 17:35:38

Сообщение ALEX-10 »

Журнал Радио 2004 номер 7. В телефонных АОНнах их много. Не знаю что надо, это для меня темный лес. Если можете, сделайте. Спасибо.
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Если можно сфотографируйте дисплей, чтобымогли получить представление о ориг. показаниях.
Получается ---0000--- без ввода? На 10 об. ---0010--- отображается?
Контактная информация:
Родился
Сообщения: 15
Зарегистрирован: Ср июл 05, 2023 17:35:38

Сообщение ALEX-10 »

Не могу вставить фотки . На экране три пропуска пустые потом четыре цифры и опять три пропуска.
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 раз.
Друг Кота
Аватара пользователя
Сообщения: 15690
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

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

Сообщение ALEX-10 »

Кварц у меня 4Мгц стоит. Я могу по схеме спаять и настроить, а программирование мне не дается даже на Ардуино. Только методом сравнения и логики.
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

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

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

И интересно, почему в оригинал на вход выбран PB2, а не RB0/INT или RA4/T0CKI, RB6/T1CKI, но это мысли в письменной форме ... :)
Вложения
DSC04930s.jpg
(132.37 КБ) 115 скачиваний
Контактная информация:
Родился
Сообщения: 15
Зарегистрирован: Ср июл 05, 2023 17:35:38

Сообщение ALEX-10 »

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

Сообщение veso74 »

Да, и я пишу код сегодня, потом позже ... не происходит решение сразу. Попробую, может получится.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 44140
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

BOB51 писал(а):Как в принципе и схемка - "дробный" кварц 3,58 МГц вместо штатного 4 или 20 МГц больше для UART подходит (3.579545 Мгц)...
А 3,58 МГц это не NTSC кварц, случайно?
Если ДА, то тогда автор просто использовал то, что было "в тумбочке".. :dont_know:
Друг Кота
Аватара пользователя
Сообщения: 15690
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Такое впечатление, что в первоисточнике была привязка к UARTу - формирование "счетного окна" за счет TxD (пересылка байта данных в качестве строба).
Вывод RB2 на схеме - он же RB2/TX/CK...
А вот в приложенной прожке уже "некая импровизация"...
:roll:
Мудрый кот
Сообщения: 1862
Зарегистрирован: Чт авг 10, 2017 20:57:51

Сообщение 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 будет период сигнала. И арифметика.
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

diplodok, если можно, на asm с идеей модифицируйте код из задания ALEX-10.
Я тестирую (C) использование ext interrupt (PB0), L to H и беру сколько timer0 насчитал. Пока работает.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15690
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

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

Вернуться в «PIC»