Например TDA7294

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





Текущее время: Чт апр 25, 2024 16:11:48

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


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



Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , , 3
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Сб сен 14, 2019 17:54:17 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
goldenandy, такой циклический таймер я использую один на всё. Его задача измерять все промежутки времени, которые потребуется. А прерывание GPIO все равно общее на порт - там и разбираюсь с пинами по необходимости. Очень короткие импульсы вызвавшие прерывание, но не подтвержденные при чтении из порта в обработчике прерывания игнорируются.
Такой подход позволяет успешно обрабатывать одновременно и целый ряд кнопок, датчиков и даже принимать данные от ИК приемника. Есть проекты, где этот же таймер занимается ещё и ШИМированием, но тогда он должен быть 16- битным.


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
ПростоНуб, Нененене, у восьмой меги нет одного прерывания на порт! Там только Int0 и Int1 :)

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

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


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

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
goldenandy, я тоже не использую длинные прерывания. Из прерывания просто помещаю сообщения с временной меткой в кольцевой буфер, а оттуда уже фоновый обработчик эти сообщения разгребает. При наличии временной метки можно уже не беспокоиться о времени обработки конкретного сообщения, пока размера буфера хвататет.
А про восьмую мегу и впрямь забыл. Как то получалось подобные задачи решать на STM8, а там подобных проблем нет. И с делением, кстати, тоже )


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пн сен 16, 2019 19:47:56 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
Сделал со счётчиком, обновление 1 раз в секунду, вроде всё работает. Но хотелось бы чтобы показания не прыгали... Как этого достичь? Может сделать вывод 10 раз в секунду, или выборкой? Подозреваю что оверсемплинг и есть выборка...


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
рокки1945, а чего им прыгать раз в секунду при стабильном входном сигнале?
Хотите чаще - при прямом счете будет еще более грубая шкала. 2 раза в секунду мерять - шаг будет 120 оборотов....
Можно взять массив, допустим в 4 элемента, писать ежесекундные показания в массив по кругу, выводить на экранчик сумму всех элементов массива, деленную на 4.
тогда у вас в каждый момент времени будет среднее от последних четырех показаний. Но при изменениях оборотов будет запаздывание отображения до 4х секунд.

Хотите более точное отображение и чаще чем раз в секунду - меряйте период импульсов...

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


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Пн сен 16, 2019 23:43:44 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6888
Откуда: .ru
Рейтинг сообщения: 0
рокки1945 писал(а):
Но хотелось бы чтобы показания не прыгали... Как этого достичь?

Выше писал как...
roman.com писал(а):
полученные данные пропускаем через фильтр - гистерезис (что бы показания на индикаторе не "прыгали")

рокки1945 писал(а):
Может сделать вывод 10 раз в секунду, или выборкой?

Будет в 10 раз быстрей прыгать))
goldenandy писал(а):
Можно взять массив, допустим в 4 элемента, писать ежесекундные показания в массив по кругу, выводить на экранчик сумму всех элементов массива, деленную на 4.

Будет в 4 раза медленней прыгать))
goldenandy писал(а):
а чего им прыгать раз в секунду при стабильном входном сигнале?

А потому что входной сигнал аналоговый, а выходной цифровой)) Как вы это делаете, c помощью таймера или АЦП, это не имеет значение. Смысл один - Вы переводите аналоговые величины в дискретные. Любой аналоговый сигнал содержит шумы. А ещё есть такое понятие - Шум квантования - https://ru.wikipedia.org/wiki/Шум_квантования

Единственный способ чтоб не "прыгало" это фильтр - гистерезис. Принцип предельно прост. Вводится (программно) "зона не чувствительности" к малым изменениям сигнала.

Допустим двигатель 120 оборотов. Индикатор показывает 120 оборотов.
-При изменении на +/- 1 оборот индикатор продолжает показывать 120 оборотов.
-При изменении на +/- 2 оборота индикатор показывает 118 или 122 оборотов соответственно.

По сути обычный Три́ггер Шми́тта, только программный, где +/- 1 оборот - это гистерезис Три́ггера Шми́тта.

Только так вы избавитесь от "прыганья" последних разрядов индикатора.

Да, это вносит погрешность +/- 1 оборот, но тут выбирайте сами, что вам важней: точность или чтоб не "прыгало" ))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Вт сен 17, 2019 06:33:58 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
сделал просто - счётчик T1 настроен по спадающему фронту, этот же вывод подтянут к плюсу питания.
1 раз в секунду считываю регистр TCNT1 и скидываю по UART-у..
Проверил сначала генератором с осциллографа (встроенный 1 кГц меандр) потом сделал еще одну атмегу с шимом в 62 герца и ВСЁ нормально.....
только в первом случае счётчик выдаёт 1004 а во втором 63....
Погрешность не пропадает и с фильтром, подсчёт ровно по переполнению таймера ............
Вопрос у меня один как это всё выводить на семисегментники (динамическая индикация - ? tm1637 - ?) частота обновления тоже 1 раз в секунду?


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
roman.com, А потому что входной сигнал аналоговый, а выходной цифровой/
Не подменяйте понятия. Входной сигнал цифровой, в идеале - меандр. Но с неизвестной длительностью.
А при примененном ТС алгоритме показания не могут прыгать на +/-1 единицу.
Еще раз вчитайтесь - меряем секунду, умножаем на 60 - получаем обороты в минуту.
Показания прыгают сразу на 60 единиц. Ибо всегда кратны 60.
И никаким гистерезисом это не вылечится, ибо будет конская погрешность. Скользящий фильтр, теоретически, эти прыжки может попытаться усреднить. Но ценой запаздывания показаний.
Оптимально, с моей точки зрения, мерять период сигнала, а потом уже этот период как то усреднять на средних и высоких оборотах, что бы показания не менялись чаще пары раз в секунду....

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


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

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
а измерить период, можно таймером захвата?


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

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6620
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
я сглаживаю более частым замером - для твоего случая я бы делал замера 4 в секунду, результаты в кольцевой буфер длинной 8 элементов... и 4 раза в секунду суммировал бы все элементы массива и делил на 2 для получения Гц. (*30 для имп/мин) (устаканивание 2 с, обноление показаний 4 Гц), потом можно и другие фильтры применить, типа гистерезиса...
можно мзмерять и наоборот - засекать время между импульсами, для этого какраз и пригодится вход захвата... данный метод имеет максимальную точность при низких оборотах, а с ростом оборотов точность падает, првышают её в этом случае, или пропуская импульсы (если в регистре захввта мало - ждём следующий импульс и инкрементируем счетчик пропущенных импульсов) или повышая скорость счёта таймера...
Чтобы получить результат в Гц или об/мин нужно разделить частоту счёта таймера на величину регистра захвата...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


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

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ivanoff-iv, тогда уж лучше медианный фильтр применять, но результат округлять до требуемой точности. Тогда колебания значений в пределах погрешности влиять на отображаемый результат не будут, а резкая смена оборотов приведет к резкой, а не плавной (как при усреднении) смене показаний


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
рокки1945, да.
Я там даже какие то расчеты под данный метод делал - см. на 1 странице - https://radiokot.ru/forum/viewtopic.php ... 4#p3698984

Добавлено after 31 second:
чисто подсчет, без всяких фильтраций.

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


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

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6888
Откуда: .ru
Рейтинг сообщения: 0
goldenandy писал(а):
Не подменяйте понятия. Входной сигнал цифровой, в идеале - меандр. Но с неизвестной длительностью.
А при примененном ТС алгоритме показания не могут прыгать на +/-1 единицу.

на +/-1 единицу - это просто пример, поясняющий принцип работа фильтр - гистерезиса. В реальной жизни всё иначе.

Я не подменяю понятия. Любой сигнал имеет шум. Идеальных сигналов в природе не существует))
Например синусоида:
Вложение:
1.jpg [36.64 KiB]
Скачиваний: 361

Меандр так же имеет шум:
Вложение:
2.jpg [101.91 KiB]
Скачиваний: 387

Вы измеряете длительность импульсов (или скважность, или период... не важно). Таймер 16 разрядный ? (65536 разрядов).
А теперь измерьте длительность импульсов, с учётом фазового шума меандра.
Какая у вас будет погрешность измерения ? 1, 2, 3 разряда ? ))
Вложение:
3.jpg [47.94 KiB]
Скачиваний: 378

Я уже молчу, что кроме фазового шума меандра есть ещё кратковременная стабильность кварцевого генератора МК.))
И т.д. и т.п.
Поэтому, после измерения длительности импульсов, сначала пропускаем полученные данные через фильтр - гистерезис (убираем шум), а потом уже делайте с этими данными что хотите... Умножайте, делите, записывайте в массив... ищите среднее... делайте скользящее окно... и т.д.
Ivanoff-iv писал(а):
я сглаживаю более частым замером - для твоего случая я бы делал замера 4 в секунду, результаты в кольцевой буфер длинной 8 элементов... и 4 раза в секунду суммировал бы все элементы массива и делил на 2 для получения Гц. (*30 для имп/мин) (устаканивание 2 с, обноление показаний 4 Гц), потом можно и другие фильтры применить, типа гистерезиса...

Гистерезис лучше применять на начальном уровне обработки сигнала. "потом" гистерезис не поможет)) Будет только хуже.

А я просто увеличиваю частоту опроса датчика Холла в два раза (до 16 кГц). Затем пропускаю через фильтр - гистерезис, чтобы убрать неопределённость, т.к. у меня таймер не привязан к сигналу датчика и соответственно возникает биение. При этом точность измерения такая же, как при частоте опроса 8 кГц, и при этом показания не прыгают.))
При этом фазовый шум меня не интересует)) Какой там шум у импульсов или какая там крутизна фронтов... мне без разницы. Т.к. я измеряю количество импульсов в единицу времени (например каждые 1 с), а не длительность импульсов по таймеру.
а измерить период, можно таймером захвата?

Можно. Но показания будут нелинейные. Об это уже сказал Ivanoff-iv.
Можно конечно составить таблицу пересчётов... но нафиг надо)) Ерунда получится...


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
roman.com писал(а):
Цитата:
а измерить период, можно таймером захвата?


Можно. Но показания будут нелинейные.

правильно, обратная зависимость. Превращается в обороты делением константы на период. Я об этом писал.

По фильтрации. Опять вы предлагаете опрос входа с высокой частотой. Зачем, если речь идет об совершенно конкретном методе измерения с использованием захвата таймера.

На выходе будет получаться длительность периода в тиках таймера.
вот ее можно усреднять или как то фильтровать. Но так, что б с водой и ребенка не выплеснуть.

С другой стороны, в зависимости от оборотов можно усреднять разное число отсчетов - вот и фильтрация. А на малых - ну тут увы. при одном импульсе от таходатчика раз в 2 секунды (30 об/мин) еще и фильтровать это - какие тогда запаздывания показаний будут?

Добавлено after 1 minute 53 seconds:
Вобщем, если будут вопросы по существу - буду что то писать. А от полемики устал, сорри.

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


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

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
Уважаемый goldenandy, - сделал простенькую схему -
1. На плате мега8, кварц-8 мгц, вход счётчика T1 - без фильтра, для защиты стабилитрон 5.1 В и последовательно резистор 100 Ом (взял из книжки 1000 и 1 схема для микроконтроллера), семисегментник 4-х разрядный - без транзисторов только ограничительные 4 резистора на управляющие (думаю что этого достаточно). Питание через кренку AMS1117 - 5.0. 2 электролита. Полигоном залил всю плату и к земле.
2. Программу сделал как Вы в первом посте предложили - настройка T1 как счётчик по ниспадающему фронту, таймер 2-ой настроен как счётчик 31250 при обнулении флаг = 1,
в основном цикле показания T1 умножаю на 60 и вывожу на семисегментник (частота обновления 1 раз в секунду).
Потестил - проблем не выявленно.....


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

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

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


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

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


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

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


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

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


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