Тахометр с усреднением

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Тахометр с усреднением

Сообщение Wladimir_TS »

Разыскиваю варианты программной реализации тахометра с диапазоном измерений от 1 до 60000 об/мин из рассчета 1 импульс на оборот, но с минимальным временем реагирования на изменение частоты но при этом с усреднением частоты при некотором плавании фазы прихода иппульса. Желательно с переключением времени усреднения от частоты автоматически - тоесть на малых частотах (1-60 имп/мин) измерение от импульса к импульсу , при 60-600 уже с усреднением. Выбор предела речной в виде 0-100 100-1000 1000-60000 или автомат.

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

На AVR желательно, вывод любой. (Теоретически 1-2-4-8-10-20-40-80.....)

С исходниками, на ассемблере желательно.

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

Хочется многого - но интересны серьезные решения, просто "я таймером пользоваться в режиме захвата научился и скетч на ардуине набросал" - не очень интересны.
Реклама
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Тахометр с усреднением

Сообщение akl »

Как вариант на m8515 c LCD
TAHOM_60000.zip
схема, исходник, hex
(27.86 КБ) 363 скачивания
Реклама
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Тахометр с усреднением

Сообщение Wladimir_TS »

Спасибо большое - буду вникать.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Тахометр с усреднением

Сообщение Ivanoff-iv »

можешь от этого оттолкнуться:
код С
принцип работы - замер времени между импульсами (количество импульсов подбирается автоматически чтобы обеспечить наилучшую точность при допустимом быстродействии)
(в протеусовском файле от прошлого проекта клавиатура осталась - тут она не используется)
кнопкой диапазон переключается скорость хода Т1 - и смещается диапазон измерения (прямо во время работы устройства).
диапазон, правда меньше твоего, но это поправимо.
Вложения
taho2313.zip
(135.12 КБ) 334 скачивания
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Тахометр с усреднением

Сообщение Мурик »

Wladimir_TS писал(а):На AVR желательно
Не лучший выбор с его примитивными таймерами.
Лучше STM32 с работой таймера с режиме ШИМ захвата с одним из каналов сравнения для таймаута.
Если высокая точность не нужна достаточно 16-ти битного таймера (будет грубо измерять на высоких оборотах). Если важна точность, берите МК с 32-ух битным таймером.
Реклама
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Тахометр с усреднением

Сообщение jcxz »

[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3886343#p3886343"]Просто фронты сигнала с датчика дрожат. На малух скоростях не видно, а на больших актуально. Нужно обновление показаний не менее 3х в секунду.[/uquote]Так пропустите их через элементарный фильтр:

Код: Выделить всё

int speed = 0;
int f(int newSpeed)
{
  enum {SPEED_FILTER = 8}; //подобрать оптимальное значение порядка фильтра
  int i = speed;
  speed = i += newSpeed - (i >> SPEED_FILTER);
  return i >> SPEED_FILTER;
}
Реклама
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Тахометр с усреднением

Сообщение Wladimir_TS »

[uquote="Мурик",url="/forum/viewtopic.php?p=3886421#p3886421"]
Wladimir_TS писал(а):На AVR желательно
Не лучший выбор с его примитивными таймерами.
Лучше STM32 с работой таймера с режиме ШИМ захвата с одним из каналов сравнения для таймаута.
Если высокая точность не нужна достаточно 16-ти битного таймера (будет грубо измерять на высоких оборотах). Если важна точность, берите МК с 32-ух битным таймером.[/uquote]

STM зело сложный для меня процессор - слишком много слишком сложной и навёрнутой перефирии, так что AVR на крайняк PIC или 8051

И увы СИ лишком пока сложен и слабо воспринимаем для меня - на AVR еще как-то понятно -но перефрия других требует зело вдумчивого осмысления.

Задача - стабильные показания при дрожании фазы и периодическом пропуске импульсов на больших скоростях - датчик сильно колбасит.


При счете за 1 сек - показания относительно стабильные - но реакция медленноватая.

Добавлено after 11 minutes 33 seconds:
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3886390#p3886390"]можешь от этого оттолкнуться:
код С[/uquote]

Очень много буков - понятно немногое - при беглом просмотре не нашел даже main.c , но нашел какие-то макроопрделения для ассемблера. Буду разбираться - в любом случае спасибо.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Тахометр с усреднением

Сообщение Мурик »

Wladimir_TS писал(а):но перефрия других
SPL в помощь. Немного о ШИМ захвате. http://we.easyelectronics.ru/STM32/ir-u ... ast-1.html
Сравните с тем что аппаратно могут таймеры PIC и AVR. Кажущаяся простота 8-ми битников, из-за из примитивности создает сложности при разработке программ и приходится думать как сделать программно то что в современных МК можно сделать полностью аппаратно, а это не только уменьшит нагрузку на ядро МК, но и повысит точность измерения тахометра, особенно на высоких оборотах.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Тахометр с усреднением

Сообщение Oxford »

Мурик есть люди которым тяжело изучать Си и новые МК, либо просто не хотят. Если они изучили AVR и ассемблер на нем и программируют.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Тахометр с усреднением

Сообщение Ivanoff-iv »

Wladimir_TS, попробую объяснить принцип на картинках
СпойлерИзображение
Замер производится обратным методом (считается не количество импульсов на ед. времени, а наоборот - период следования импульсов)
недостатки метода:
1) требование к стабильности следования импульсов
2) с повышением частоты снижается точность измерения (увеличивается дискретность, т.к. шаг таймера растёт по отношению к измеряемому периоду)
3) невозможность определения останова
решения, помогающие избавится от этих недостатков:
1, 2) если считать период не одного импульса а нескольких, то эти 2 проблемы нивелируются
3) решается добавлением принудительного прерывания ожидания импульса (по таймеру).
реализация:
1, 2) удобнее всего применить кольцевой буфер, заполнять который по событию прихода импульса, а читать и высчитывать скорость - по требованию (складывать периоды нужно от последнего записанного к предпоследнему и дальше, до тех пор, пока не наберётся период, обеспечивающий требуемую точность или пока не кончится буфер)
3) обеспечивает тот-же таймер, что считает периоды следования импульсов (либо переполнением либо по регистру совпадения, в зависимости от того, как реализован его ход - со сбросом накопления после каждого импульса или по кольцу без сброса).
______________
на последнем рисунке показано, что набрать требуемое число периодов можно в любой момент (не обязательно ждать заполнения буфера по новой)
Вложения
P_20200902_083827.jpg
(28.46 КБ) 479 скачиваний
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
Starichok51
Модератор
Сообщения: 19053
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Тахометр с усреднением

Сообщение Starichok51 »

Wladimir_TS писал(а):на малых частотах (1-60 имп/мин)
если 1 импульс в минуту, это минимум 1 минуту ждать, когда скорость измерится.
что тут можно выводить не менее 3х в секунду?
Wladimir_TS писал(а):С исходниками, на ассемблере желательно.
вообще-то, за полноценным проектом следует обращаться в раздел "Работа". там за свои деньги получишь всё, что пожелаешь.
Wladimir_TS писал(а):стабильность высокая нужна - видимо будет термокомпенсированный или термостатированный опорник.
ну, и зачем нужна такая офигенная точность? и сколько десятичных знаков тебе нужно в результате?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Тахометр с усреднением

Сообщение Wladimir_TS »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3886857#p3886857"]Wladimir_TS, попробую объяснить принцип на картинках[/uquote]

Вы правы - именно так - надо при низких частотах измерять период, но приросте автоматически переходить на измерение - количества импульсов за период или как вы предложили период нескольких импульсов. Желательно как-то это автопереключать, но по скудоумию сам я не сдюжу программу таковую, потому-б на чужие деяния посмотреть, авось что и соберется в кучку.

Грубо говоря есть тахометр исходный - там используется некая схема умножения частоты при низких частотах и прямое измерение за 1 сек при высоких - корпусов 60 где-то без схем. Но основная претензия это смена показаний 1 раз в секунду, а надо быстрее. 3 раза где-то в секунду или 4.

Соответственно вместо всего этого поставить один ОМК AVR (какой знаю) и с него на индикацию в формате 1-2-4-8-10-20-40-80-....

Диапазон да - широкий - но в 4х поддиапазонах

Ясно дело готового не будет - потому варианты смотрю как да куда да откуда.

Добавлено after 16 minutes 22 seconds:
[uquote="Starichok51",url="/forum/viewtopic.php?p=3887081#p3887081"]
Wladimir_TS писал(а):на малых частотах (1-60 имп/мин)
если 1 импульс в минуту, это минимум 1 минуту ждать, когда скорость измерится.[/uquote]

Да - необходимо обеспечить такой диапазон измерений. 1-60000 об/мин Потому время измерения естественно не менее периода следования импульсов, но не менее при то 0,3 сек.

[uquote="Starichok51",url="/forum/viewtopic.php?p=3887081#p3887081"]
Wladimir_TS писал(а):С исходниками, на ассемблере желательно.
вообще-то, за полноценным проектом следует обращаться в раздел "Работа". там за свои деньги получишь всё, что пожелаешь.[/uquote]

Если-бы мне нужно было именно так - поверьте, именно ТАК я-бы и сделал !!! Слов "прошу сделать для меня" не было - а коли заметили - Укажите - поправлю ! Я-ж прошу лишь ссылки на проекты в открытом доступе для набора информации.

[uquote="Starichok51",url="/forum/viewtopic.php?p=3887081#p3887081"]
Wladimir_TS писал(а):стабильность высокая нужна - видимо будет термокомпенсированный или термостатированный опорник.
ну, и зачем нужна такая офигенная точность? и сколько десятичных знаков тебе нужно в результате?[/uquote]

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


Уход обычного генератора по сравнению с термостатированным я вижу при всего 5 разрядах индикации (из 6 доступных). Грубо говоря имеющимся тахометром измеряю частоту (деленную) от термостатированного опорника.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Тахометр с усреднением

Сообщение AndTer »

[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3887256#p3887256"]Но основная претензия это смена показаний 1 раз в секунду, а надо быстрее. 3 раза где-то в секунду или 4.[/uquote]
А вы не боитесь что с такой частотой смены показаний цифры будут нечитаемые/невоспринимаемые или просто будут "смазываться" в кашу(в зависимости от дисплея)?
Глупый не задает вопросы. Глупый и так все знает.
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Тахометр с усреднением

Сообщение Wladimir_TS »

Потому ограничиваю смену в 3 раза в секунду. Не быстрее. Подсмотрено на суровых тахометрах. У совсем суровых есть выбор 1-0,5-0,3-0,25 сек Но в данной реализации не актуально. Естественно при периоде более 0,3 сек - время измерение желательно что-б автоматически увеличивалось. Нет лишних органов управления на панели.
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Тахометр с усреднением

Сообщение akl »

Метод обратного счета для тахометров, которые, по сути, являются низкочастотными частотомерами хорошо работает. Для Вашего случая при тактовой порядка 5МГц обеспечивает разрешение 0,05об/мин при 60'000об/мин. Поэтому ничего не нужно переключать, разве, что показывать на табло запятую в нужном месте. Схема и программа, выложенная мною выше применяется в тахометре ниже
СпойлерИзображение
Вот по теме
https://radiokot.ru/forum/viewtopic.php ... 1%82%D0%B0
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Тахометр с усреднением

Сообщение musor »

повысить точность замероф на низких скоростях можно увелияиф число импулсоф датчика на 1 оборот это делается применение оптодатчика и диска обтюратора на валу с болшим цисом шелей или магнитного датчика с болшим чисом полюсоф (гибкий магнит на ободе диска намагниченый соответствено+ХООЛЛ)
при частоте импулсоф от 100гц уже можно применять и усреднение или напротиф экстраполяцию если ресурсоф железа хватит на то...
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Тахометр с усреднением

Сообщение akl »

Скорость измерения при увеличении числа импульсов/оборот действительно растет, чего нельзя сказать о точности.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Тахометр с усреднением

Сообщение jcxz »

[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3887256#p3887256"]Да - необходимо обеспечить такой диапазон измерений. 1-60000 об/мин Потому время измерения естественно не менее периода следования импульсов, но не менее при то 0,3 сек.[/uquote]Единственный способ получать замеры с периодом ==0.3сек при частоте вращения 1 об/мин - это поставить датчик оборотов дающий как минимум 60/0.3 = 200 импульсов/оборот.
Всё остальное это - мошенничество магия рук или интерполяция (что то же самое).

Добавлено after 2 minutes 20 seconds:
[uquote="musor",url="/forum/viewtopic.php?p=3887322#p3887322"]повысить точность замероф на низких скоростях можно увелияиф число импулсоф датчика на 1 оборот[/uquote]О! Уже написали... только дочитал до сюда... :)

Добавлено after 1 minute 27 seconds:
[uquote="akl",url="/forum/viewtopic.php?p=3887327#p3887327"]Скорость измерения при увеличении числа импульсов/оборот действительно растет, чего нельзя сказать о точности.[/uquote]Для увеличения точности - усреднять множество отсчётов. Простейший фильтр для этого я уже приводил выше.
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Тахометр с усреднением

Сообщение Wladimir_TS »

[uquote="jcxz",url="/forum/viewtopic.php?p=3887419#p3887419"]Единственный способ получать замеры с периодом ==0.3сек при частоте вращения 1 об/мин - это поставить датчик оборотов дающий как минимум 60/0.3 = 200 импульсов/оборот.
Всё остальное это - мошенничество магия рук или интерполяция (что то же самое).[/uquote]

На самом деле всё намного проще - достаточно ВНИМАТЕЛЬНО прочитать всего лишь одну страницу форума с этой темой. Главное ВНИМАТЕЛЬНО...
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Тахометр с усреднением

Сообщение jcxz »

[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3887427#p3887427"]На самом деле всё намного проще - достаточно ВНИМАТЕЛЬНО прочитать всего лишь одну страницу форума с этой темой. Главное ВНИМАТЕЛЬНО...[/uquote]да прочитали уж:
[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3886343#p3886343"]Разыскиваю варианты программной реализации тахометра с диапазоном измерений от 1 до 60000 об/мин из рассчета 1 импульс на оборот[/uquote][uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3886343#p3886343"]Нужно обновление показаний не менее 3х в секунду.[/uquote]
1 об/мин + 1 импульс/оборот + обновление не реже 3Гц - ФИЗИЧЕСКИ НЕРЕАЛИЗУЕМЫЕ ТРЕБОВАНИЯ. Каким бы крупным шрифтом вы их не писали - они реализуемей не станут.
В школу что-ль сходите для начала. :dont_know:
Ответить

Вернуться в «Разные вопросы по МК»