Например TDA7294

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





Текущее время: Ср апр 24, 2024 17:37:15

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


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



Начать новую тему Ответить на тему  [ Сообщений: 56 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: счётчик импульсов - тахометр
СообщениеДобавлено: Чт сен 12, 2019 04:50:48 
Мучитель микросхем

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


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

Карма: 5
Рейтинг сообщений: 145
Зарегистрирован: Вс июл 07, 2019 16:12:46
Сообщений: 550
Рейтинг сообщения: 0
Придумаете датчик - будет о чем говорить, пока не о чем. Слишком многое от него зависит.
1000 оборотов - в секунду, в минуту ... в сутки... ?

_________________
Делай то, что тебе нравится и ты никогда не будешь работать


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

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
мне поручили обработку сигнала с датчика и вывод на индикатор...............
Наверное погрешность им не важна - главное чтобы было.......


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Чт сен 12, 2019 08:02:59 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 145
Зарегистрирован: Вс июл 07, 2019 16:12:46
Сообщений: 550
Рейтинг сообщения: 0
Прилепите обычный частотомер на логике, не нужно там никаких прерываний.
Против лома нет приема (с)

_________________
Делай то, что тебе нравится и ты никогда не будешь работать


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

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

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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 1
ЭлектроKOT, судя по фразе умножает их на 60 - 1000 оборотов в минуту. Точнее 0..999, ибо 7-сегментник 3-разрядный.
Ну и, судя по всему, у ТС задача - сделать на МК. (Судя по всему, у студентов начались лабы по работе с МК) Даже если нет задачи - то сделать на восьмой меге гораздо проще сейчас, нежели ваять комплект счетчиков. Особенно, если нужна динамическая индикация.

рокки1945, Зачем вам возиться с INT0 ?
В меге есть шикарный таймер Т1 с внешним счетным входом и подавлением помех.
Используйте его счетный вход.
При этом в качестве секундного таймера берите Т2, у него есть режим СТС, комбинацией этого режима и предделителя можете получить ваш секундный интервал.
В обработчике прочитали значение счетчика Т1 и обнулили его. Прочитмнное умножиди на 60 и отправили в буфер вывода на дисплей.
Единственное, если ваша лабораторная работа будет воплощаться в железе - тактируйте мегу от кварца, иначе ваш тахометр будет врать.

Динамический вывод на 7сементник можете организовать на прерывании по переполнению от таймера 0.

Приоритет у прерываний таймера Т2 выше, чем у Т0 - поэтому вывод на индикатор не должен влиять на обработку Т2.

Можно вообще не использовать прерывание от Т0, а вывод сделать в основной программе в свободное от прерываний время - в цикле опрашивать флаг переполнения таймера, сбрасывать флаг, выполнять цикл действий по выводу на 7сегментник и опять возвращаться в ожилание флага.

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


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

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

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

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


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
ПростоНуб, 1. Какой то антидребезг есть в подавлении помех самим таймером. По сути там чтение 4 раза и мажоритарное голосование.
2. На Int0 разве не надо делать антидребезг ?
3. 1000 об/мин - это 16,66 об/сек. Или 60 мс период.
Если датчик дает сигнал типа меандра, но с дребезгом - получаем полупериод 30 мс. Делаем простейший RC-фильтр с тау около 10 мс. Например 0.1мкФ * 130кОм * 0.7 = 9.1 мс.

Либо прерывание каждую миллисекунду, чтение состояния датчика, программный антидребезг....

Но это всё актуально для реального изделия.

А тут никакого ТЗ - просто сделай тахометр. Какой датчик - мы тебе не скажем. Т.е. это похоже не на реальную разработку, а на лабораторку.
Я бы делал на счетном входе меги + RC-цепочка на входе. Может даже с меньшим тау - 3..4 мс.

И сказал - вот прибор - он считает обороты, как вы и заказывали. На вход требует меандр без дребезга.

Добавлено after 40 minutes 26 seconds:
Вот кстати, мега - это процессор. Что мы ему скажем, то он и будет делать.
Можно считать не число оборотов в секунду, а длительность периода между импульсами от таходатчика.
Если стребовать от таходатчика аппаратный антидребезг и сигнал с чистыми фронтами - можно испльзовать вход захвата Т1, а заполнять таймер от тактового генератора.
Обороты придется получать делением. Но это вообще не проблема, за 60 мс мега выполняет 480 тысяч операций (при такте 8 МГц) - на деление хватит с головой. Минус - на низких оборотах перечет может уйти в переполнение таймера. И это надо отдельно обработать. Плюс - на средних оборотах быстрое обновление показаний, более точные значения (в алгоритме ТС показания кратны 60)....

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

Смотрим: 60 сек / 999 об.мин = 60060.06 мкс.
60 сек / 998 об.мин = 60120.24 мкс
Итого минимальная дельта периода = 60.18 мкс. При снижении частоты тахоимпульсов эта дельта будет только расти.

Смотим, что у нас по тактированию может Т1. Принимаем тактовую меги в 8 МГц.
С предделителем 256:
8МГц / 256 = 31250 Гц или период 32 мкс. Вроде бы хорошо.
Каждый импульс 32 мкс. в 60 секундах таких импульсов 1875000.
При 999 оборотах (период 60060.06 мкс) таймер насчитает 60060.06/32 = 1876 импульсов. 1875000/1876 = 999.467 = 999 оборотов.
При 998 оборотах (период 60120.24 мкс) таймер насчитает 60120.24/32 = 1878 импульсов. 1875000/1878 = 998.403 = 998 оборотов.
При этом таймер заполнится за 32мкс * 65536 = 2097152 мкс или около 2,1 сек. Т.е. Минимальная частота вращения должна быть такой, что бы между импульсами таходатчика было меньше 2097 мс - это 29 оборотов/мин. И это очень хороший результат, поскольку прямой пересчет импульсов за секунду дает число рассчитаных оборотов всегда кратное 60.

Т.е. ценой увеличения времени пересчета на низких оборотах до 2 сек и, к сожалению, одной 32-битной операции деления, мы получаем тахометр в интервале 30..999 об/мин с погрешностью 1 об/мин.

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


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

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 1
рокки1945 посмотрите эту старую веточку https://radiokot.ru/forum/viewtopic.php?f=20&t=24703
Тахометр методом измерения периода делается на одном таймере 1.
СпойлерИзображение


Вложения:
tahom2313_4led.jpg [50.84 KiB]
Скачиваний: 405
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: счётчик импульсов - тахометр
СообщениеДобавлено: Чт сен 12, 2019 10:35:44 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
akl, так на нём я и предложил решение. Плюс на каком то из таймеров динамическую индикацию запилить.
Единственное, 32битное деление для 8битного МК - тяжелая по времени операция

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


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

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Забыл написать. Включая динамическую индикацию и автопереключение пределов. Да, приходится делить, но главное результат.


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

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

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


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

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
akl, пересчет - прерывания по захвату и переполнению.
Динамическая как ? На прерывании по сравнению?..
Да. В схемах с динамикой все процессы должны быть синхронными.


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
akl, а как тогда решается стабильная частота динамической индикации, если коэффициент пересчета таймера зависит от периода тахоимпульсов ?
В приведенном выше примере период сброса таймера Т1 гуляет от 2 сек до 30 мсек при оборотах от 30 до 999 об/мин ?
Чуть более подробно опишите свой алгоритм, как у вас сделан подсчет частоты тахоимпульсов и динамическая индикация на одном таймере ?

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


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

Карма: 187
Рейтинг сообщений: 8264
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 39612
Откуда: Нерезиновая
Рейтинг сообщения: 0
Вот здесь:
http://www.joyta.ru/6176-samyj-prostoj- ... ttiny2313/
схема простейшего частотомера,
СпойлерИзображение

в архиве, в конце страницы, лежат модель в протеусе, прошивка и *.asm файл с комментариями, который, при знании программирования можно спокойно переделать под свои условия..
Проблема в том, что комментарии то ли на польском, то ли на чешском.. В общем- Hz.. :dont_know: но, при желании, понять можно..


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

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
так пойдёт
TCCR1A = 0;
TCCR1B = 6;//falling
//TCNT1L=0;
//TCNT1H=0;
DDRB |= ~(1<<5);//на выход
PORTB |= 1<<5 ;//подтяжка
в основе
FCV_V = TCNT1L;
FCV_V1 = TCNT1H;
FCV_SUPER = (FCV_V1 << 8)|FCV_V;


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

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

Сразу приучите себя не писать магические числа.
TCCR1B = 6;//falling - что такое 6 ?

Запишите хоть вот так
TCCR1B = ( 1 << CS12 ) | (1 << CS11 ); - тогда понятно будет, что вы запускаете таймер в стандартном счетном режиме с источником сигнала - входом Т1 по спадающему фронту.

DDRB |= ~(1<<5);//на выход - это не выход, это вход.

И причем тут порт В, если вход T1 - это порт D, PD5 ?

И зачем так странно вычитывать счетный регистр?
Возьмите 16битную переменную и просто прочитайте в нее TCNT1, компилятор сам сделает последовательность правильного чтения 16-битных регистров таймера.

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


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

Карма: 3
Рейтинг сообщений: -2
Зарегистрирован: Вс май 01, 2016 17:51:38
Сообщений: 490
Рейтинг сообщения: 0
Да спасибо - переделал
TCCR1A = 0;
TCCR1B = 6;//falling
//TCNT1L=0;
//TCNT1H=0;
DDRD |= ~(1<<5);//на вход
PORTD |= 1<<5 ;//подтяжка
TCCR2 &= 0xf8;
TCCR2 |= 0x01;
OCR2=256-1;
sei();
TIMSK |= (1 << OCIE2);
TCCR2 |= (1 << WGM21);
_ _ _ _ _ _ _ _ _ __
if (FCV_TIME == 31250)
{
FCV_SUPER = TCNT1;
FCV_TIME = 0;
TCNT1 = 0;}

Но не нашёл программный фильтр каким битом выставить....... Придётся от дребезга RC делать


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

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Вс июн 20, 2010 17:55:36
Сообщений: 536
Рейтинг сообщения: 0
Есть готовый 7сегментный индикатор с дешифратором и счетчиком внутри. к490ип1 :))


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

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
рокки1945,
Фильтр есть только для входа захвата :(
Timer/Counter 1
Control Register B – TCCR1B
Bit 7 – ICNC1: Input Capture Noise Canceler
Setting this bit (to one) activates the Input Capture Noise Canceler. When the noise canceler is
activated, the input from the Input Capture Pin (ICP1) is filtered. The filter function requires four
successive equal valued samples of the ICP1 pin for changing its output. The Input Capture is
therefore delayed by four Oscillator cycles when the noise canceler is enabled.

Так что действительно, делать RC-цепочку на входе. 100нФ/100..150кОм.

Офф. И еще раз:
TCCR2 &= 0xf8;
TCCR2 |= 0x01;
Без заглядывания в даташит я не могу определить, что вы хотите добиться этими числами.
Плюс если вы захотите переехать на другой МК, где в управляющем регистре биты расположены по другому, вы получите трудно находимую ошибку.
Если это разовая лабораторная работа - то фиг с ним. А если вы планируете работать с микроконтроллерами и дальше - уходите от таких магических цифр. (И это касается не только регистров МК, а и программирования вообще. )

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


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

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
делать RC-цепочку на входе. 100нФ/100..150кОм.

А вот этого я бы не советовал. Затягивание фронтов на цифровых входах ни к чему хорошему не приводят. Тогда уж ставить между ФНЧ и входом МК триггер Шмитта. Например на LM358 или NE555 по выбору.


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

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


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

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


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

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


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