Например TDA7294

Форум РадиоКот • Просмотр темы - счётчик импульсов - тахометр
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт дек 23, 2025 23:03:15

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 09:41:40 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Тогда уже одновибратор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 09:51:32 
Собутыльник Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 268
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2723
Откуда: деревня в Тульской губернии
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
otest, раз срабатывание происходит по фронту, а не по уровню, то какая разница? Если, конечено, делать на дискретных элементах, как в прошлом тысячелетии, то разница еще есть, а если ставить IC - то уже совершенно монопенисуально.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 10:21:39 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
ПростоНуб, И что вам даст триггер Шмидта, если дребезг будет Rail-to-Rail ?
Он честно весь этот хлам передаст на вход контроллера.

RC на входе прекрасно работает, он сгладит весь мусор дребезга.
А триггер Шмидта есть в самой меге, на каждом цифровом входе. Посмотрите схему порта в любом ДШ - I/O Ports - Ports as General
Digital I/O (в ДШ для меги 8 - стр.52). Сначала ТШ, потом синхронизатор.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 10:47:01 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
ХОРОШО ТОГДА МОЖЕТ И СДЕЛАТЬ ДО 62000 ПО ЧАСТОТЕ?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 10:53:49 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
рокки1945, вопрос не понят.

Напишите сначала основную программу, постарайтесь добиться ее работоспособности. Хотя бы в том же протеусе.

Потом уже играйтесь улучшениями.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 12:07:20 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8883
Откуда: .ru
Рейтинг сообщения: 0
Вводные - 1000 оборотов максимум, датчик пока не придумал, мк - атмега8.
Достаточно ли будет для самодельного тахометра такого алгоритма работы:
2 прерывания
первое прерывание INT0 - считывает импульсы с датчика
второе прерывание с частотой 1 раз в секунду перемножает импульсы которые накопились за секунду на INT0 и умножает их на 60, а потом сброс переменной подсчёта импульсов. И так частота обновления каждую секунду?
Вывод на 3 разряда семисегментника.............

Я сделал так (https://radiokot.ru/forum/viewtopic.php ... &start=711):
1 прерывание (по таймеру) - опрашиваем датчик (датчик Холла) с высокой частотой (у меня 16 кГц).
1 раз в секунду считаем импульсы которые накопились за секунду, полученные данные пропускаем через фильтр - гистерезис (что бы показания на индикаторе не "прыгали") и умножает их на 60 (получаем обороты в минуту), а потом сброс переменной подсчёта импульсов. И так частота обновления каждую секунду. Можно сделать опрос датчика чаще, тогда разрешающая способность будет выше (всё зависит от тактовой частоты МК).
Далее вывод на LCD или OLED индикатор.
Вложение:
Nokia 5110.JPG [128.35 KiB]
Скачиваний: 204

Можно добавить программный дифференциальный фильтр для устранения дребезга...
Вложение:
Обработка сигнала.jpg [152.59 KiB]
Скачиваний: 326

Но думаю это лишнее. Достаточно просто опрашиваем датчик (датчик Холла) с высокой частотой (у меня 16 кГц).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 12:41:28 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
goldenandy, - ПРОТЕСТИРОВАЛ В ПРОТЕУСЕ - ВСЁ НОРМАЛЬНО ДО МАКСИМУМА 16 БИТНОГО СЧЁТЧИКА. сТАВЛЮ ФИЛЬТР - СИГНАЛ НЕ СЧИТЫВАЕТСЯ! фИЛЬТР НИЗКОЙ ЧАСТОТЫ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 12:49:04 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
рокки1945, схему в студию, полный код в студию. А то мой персональный телепат в отпуск уехал.... И КРИЧАТЬ НЕ НАДО.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 12:52:15 
Собутыльник Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 268
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2723
Откуда: деревня в Тульской губернии
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ПростоНуб, И что вам даст триггер Шмидта, если дребезг будет Rail-to-Rail ?
Он честно весь этот хлам передаст на вход контроллера.

Читать надо внимательно:
ПростоНуб писал(а):
ставить между ФНЧ и входом МК триггер Шмитта

Дребезг частотой выше среза ФНЧ на вход триггера Шмитта просто не попадет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 13:19:23 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
ПростоНуб, да, не дочитал. Но тогда ваше предложение вообще не нужно, триггер Шмидта есть в самой меге.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 14:07:09 
Собутыльник Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 268
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2723
Откуда: деревня в Тульской губернии
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
goldenandy, ну тут уже у меня профессиональная деформация - перестраховываюсь )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 14:19:47 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
ПростоНуб, вот для реального изделия я, скорее всего, делал бы более частый опрос и программный антидребезг. (вот, кстати, пересмотрел свои проекты - нигде нет даже RC-фильтров. Кругом программная обработка на высокой частоте дискретизации).
Ибо в разовом устройстве - пофиг, а в промышленном каждая точка пайки и каждая деталька денег стоят. И если можно их сэкономить парой десятков строчек кода - то правильней делать программно.

А тут - сферическая лабораторная работа в вакууме. тут либо прямой счет, либо измерение периода. На указанном диапазоне 0..999 мне больше период нравится.

И да, для перестраховки надо иногда в ДШ заглядывать :)

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 14:36:09 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8883
Откуда: .ru
Рейтинг сообщения: 0
я, скорее всего, делал бы более частый опрос и программный антидребезг. (вот, кстати, пересмотрел свои проекты - нигде нет даже RC-фильтров. Кругом программная обработка на высокой частоте дискретизации).

А я бы для начал посмотрел схему заводского тахометра.
Вложение:
1.jpg [19.08 KiB]
Скачиваний: 366

И особенно блок цифровой обработки сигнала.
Вложение:
2.jpg [76.53 KiB]
Скачиваний: 344

И почитал бы описание...
Вложение:
3.jpg [52.24 KiB]
Скачиваний: 331

Вложение:
4.jpg [105.02 KiB]
Скачиваний: 341

Вложение:
5.jpg [79.69 KiB]
Скачиваний: 350

Как видим, никаких ФНЧ и триггера Шмитта в заводских контроллерах нет. Там всё программно. Частота дискретизации от 100 кГц и выше...

В моей программе нет только фильтра скользящего среднего...
Вложение:
6.jpg [60.61 KiB]
Скачиваний: 338

Но при необходимости добавим. :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 14:50:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
roman.com, Нигде не говорится про отсутствие триггера Шмидта. Это может быть часть входного формирователя.
А ФНЧ там есть. Программный. Без него никак.
И у вас ФНЧ программный, когда вы делаете оверсемплинг, а потом смотрите, чего больше начиталось, ноликов или единичек.
Я для обработки кнопок и энкодеров тоже использую своеобразный ФНЧ - короткие импульсы дребезга через него не прорываются.
Но опять же - есть реальные задачи и области применения реальных частотомеров.
Но там есть и внятное ТЗ, и живые характеристики примененных датчиков.
Ибо Холл, например, дребезга не должен давать, оптопара с открытым каналом вроде бы тоже. Но желателен триггер шмидта с достаточно большим гистерезисом. А вот сухой контакт звенит по чёрному, но ТШ не нужен, там звон от нуля и до питания.
И я скажу по секрету, при наличии достаточных ресурсов МК фильтрующие цепи на входе МК, по большому счету, вообще не нужны. Только защитные, что бы вход не убить.
Да, цифре можно помочь, поставив простейший ФНЧ на частоту среза в 10 раз выше макс. частоты сигнала.
А все остальное прекрасно разруливается цифровой обработкой сигнала.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 15:29:45 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8883
Откуда: .ru
Рейтинг сообщения: 0
А ФНЧ там есть. Программный.

Имелось ввиду отсутствие специальных RC-фильтров. Паразитные индуктивности и ёмкости монтажа обсуждать не будем.
goldenandy писал(а):
Я для обработки кнопок и энкодеров тоже использую своеобразный ФНЧ - короткие импульсы дребезга через него не прорываются.

Так же делают и промышленные контроллеры.
goldenandy писал(а):
Холл, например, дребезга не должен давать

В идеале дребезга нет. Не считая шумов по соединительным проводам. Обсуждать не будем.
goldenandy писал(а):
цифре можно помочь, поставив простейший ФНЧ на частоту среза в 10 раз выше макс. частоты сигнала.

Во всех даташитах рекомендуют устанавливать простейший ФНЧ, для удаления высокочастотных составляющих из сигнала.
Вложение:
7.jpg [63.47 KiB]
Скачиваний: 337

Это общее правило для всех схем с цифровой обработкой сигнала.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 16:57:02 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
Так, стоп. Причем тут АЦП ? Там ФНЧ нужен, что бы во время семплирования сигнал не поплыл.
У нас цифровой вход. или ноль, или единица. Читается за время одного такта проца. при 8 мгц это 125 наносекунд.
Тут ФНЧ нужен для убирания коротких иголок, которые заведомо помехи.
А вот в случае отказа от цифровой обработки сигнала, как того хочет топикстартер, дребезг фильтровать мона и даже нуна. Принцип выбора параметров ФНЧ - через него должно пройти 999/60=16,65 Гц. а все что выше 30-40-50 Гц - уже должно подавляться.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пт сен 13, 2019 21:57:17 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8883
Откуда: .ru
Рейтинг сообщения: 0
Я не знаю что хочет ТС.
рокки1945 писал(а):
Вводные - 1000 оборотов максимум, датчик пока не придумал, мк - атмега8.

1000 оборотов в секунду или в минуту ?
1000 оборотов в минуту ? Очень медленно... От паровоза... поршневой. ))
1000 оборотов в секунду ? Очень быстро... От самолёта... турбореактивный.))

Откуда там короткие иголки? Сигнал никто не видел.
Часто в цифровых схемах (с крутыми фронтами) наблюдаются переходные процессы...
Вложение:
1.jpg [117.92 KiB]
Скачиваний: 217

Вложение:
2.jpg [70.76 KiB]
Скачиваний: 971

Если не считать возможных помех от всяких импульсных преобразователей и т.д.
Вложение:
4.jpg [75.82 KiB]
Скачиваний: 332

В любом случае обычный RC-фильтр на входе МК спасёт ситуацию. Если правильно подобрать фильтр (частоту среза).
Вложение:
5.jpg [97.62 KiB]
Скачиваний: 341


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Сб сен 14, 2019 09:06:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
roman.com, Мне почему то кажется, что от механического таходатчика с сухим контактом может прилетать что то вот такого типа
Изображение
(картинка из дружественной темы про обработчик энкодера)
И тут без интегратора (ФНЧ) явно не обойтись. Причем неважно, что это будет - программная обработка или железная.
Теоретически, тут должно хватить правильно подобранной RC-цепочки.

А вот это
Изображение
больше присуще криво настроенным аналоговым каскадам усиления. Или недостаточной ширине полосы пропускания усилительного каскада. А с точки зрения цифровой логики это вполне пристойный меандр.
Кстати, вот тут есть интересные визуализации преобразований Фурье - построения сигналов из суммы гармоник.

roman.com писал(а):
Я не знаю что хочет ТС.
С высокой вероятностью - сделать лабораторку и забыть.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Сб сен 14, 2019 09:45:58 
Собутыльник Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 268
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2723
Откуда: деревня в Тульской губернии
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
goldenandy, есть более примитивный путь. Делаем обработчик прерывания по переднему фронту и запускаем циклически таймер. Если между двумя последующими прерываниями по фронту проходит время меньше Т, то выходим из обработчика ничего не делая, кроме фиксации времени прерывания. Если больше Т - засчитывает фронт и время прошедшее после последнего засчитанного фронта, что и составляет длину периода в наших попугаях (частоте таймера). Зная длительность N последовательных периодов, производим фильтрацию (медианную, линейную или ещё какую на выбор) и вычисляем частоту.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Сб сен 14, 2019 14:29:39 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 66
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
ПростоНуб, можно и так. Но мне жалко тратить целое прерывание и целый таймер под такую обработку. А если надо будет обрабатывать 2 таходатчика? Три ?
А еще 4 кнопки и энкодер?
При реальной разработке сидишь и думаешь - один таймер на SysClock, второй - на многотональный звук.... прерывание - одно на все кнопки (через диодное И), второе - на сигналы подключения зарядного устройства и флагов зарядки/готовности зарядки...
Один канал АЦП - на батарейку, второй - на каой то аналоговый датчик...
А проснуться из глубокого сна мега может только по низкому уровню на int0-int1.... А источников пробуждения - кнопки, зарядник и, вполне возможно, что и внешние события....
И это все в одной восьмой меге...


Я в таких случаях предпочитаю оверсемплинг и программную фильтрацию.
Под это дело себе даже когда то библиотечку рисовал.

Условно говоря имеем флаг состояния и знаковую переменную-счетчик.
Каждую миллисекунду читаем вход.
Если вход - единичка и счетчик не достиг верхнего порога - увеличиваем счетчик, если нолик и счетчик не достиг нижнего порога - уменьшаем.
Если счетчик достиг верхнего порогового значения, допустим 8 - поднимаем флаг состояния в 1. Момент поднятия флага - это наш нарастающий фронт фильтрованного сигнала.
Если счетчик достиг нижнего порогового значения - -8, сбрасываем флаг. Момент сброса флага - это спадающий фронт отфильтрованного сигнала.
И получается, что состояние на выходе фильтра изменится только если на вход попадет не меньше 17 (от -8 до +8) отсчетов одного состояния. И что б переключить в другое состояние - нужно получить так же не меньше 17 значений противоположного состояния подряд. Ну а свистопляска дребезга будет дергать счетчик туда-сюда, не изменяя флаг, пока не устаканится противоположный уровень.
Т.е. такой себе программный "временнОй триггер Шмидта" с гистерезисом.

Плюс такого алгоритма - нужен один таймер, тикающий с определенной периодичностью. И всё. И по 2 переменных на один счетный вход/вход кнопки/энкодера или еще какого то датчика.
Если этот алгоритм оформить в виде функции, на вход которой будет идти состояние входа и ссылка на переменные счетчика и флага, а на выходе будет отдаваться значение флага, то обработка N входов будет выглядеть как вызов N раз этой функции + N наборов переменных флаг+счетчик.

А таймер, кроме опроса входов, может еще заниматься выводом инфы на динамическую индикацию и крутить какой то системный счетчик, к которому основная программа может привязываться - допустим, отсчитывать секундный интервал.

Вобщем, алгоритмов цифровой обработки сигнала вагон и тележка. Но для этого нужно знать постановку задачи.
А она пока простая - тахометр 0-999об/мин с каким то виртуальным таходатчиком. 2 решения выше предложены - подсчет частоты или измерение периода.
Всё остальное, как мне кажется, выходит за рамки постановки задачи топикстартером.
Хотя обмен опытом еще никогда никому не мешал.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y