Помогите с тахометром

Обсуждаем контроллеры компании Atmel.
Ответить
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вс мар 27, 2022 09:38:17

Сообщение aleksey chilov »

Добрые день всем радилюбителям!

Вопрос такой.
Нужно измерить частоту вращения вала,вал крутится медленно.
Диапазон вращения всего от 60 до 250 об/мин.
Я настроил Timer_1 по прерыванию и захвату.
( речь идёт от МК Atmega8 )
И могу сказать что всё отлично работает,оброты считываютя ( ИК датчик ) но,
приходится использовать 32 битные типы, ( uint_32 ) а памяти и так мало.
А задача простая мне нужно менять обороты вала в диапазоне вышесказанном но при этом
нужно измерения пристегнуть к ШИМ,если обороты упадут чтоб МК добавил мощности и наоборот.
А с помощью тех измерения у меня ну ни как не получится измерить обороты с шагом 10 об/мин.
Выходит так что если пересчитывать в минуты тогда выходит 60,120,180,240... об/мин.
Нужен другой метод. Прошу кто делал и знает скажите что лучше считать и как?
Спасибо!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6990
Зарегистрирован: Вт сен 25, 2012 23:13:41
Откуда: г.Дзержинск Нижегородской обл.

Сообщение Николай_С »

Существует всего два метода измерения частоты вращения:
- посчитать количество оборотов в единицу времени;
- посчитать количество времени за которое происходит один оборот и взять его обратное значение.
Если не получается воспользоваться первым, используйте второй. Фактически он измеряет период (интервал) времени за который вал двигателя совершает один оборот.
Для более точного измерения частоты/периода на валу можно разместить зубчатое колесо. Тогда частота вращения будет обратно пропорциональна количеству зубьев на колесе. Можно даже не ждать полного оборота вала.
Спасение утопающих дело рук самих утопающих.
Контактная информация:
Реклама
Друг Кота
Сообщения: 5248
Зарегистрирован: Вт авг 26, 2008 14:36:02
Откуда: москва

Сообщение сэм »

А можно количество датчиков на оборот добавить
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Это затратнее. Количество зубцов - что может быть проще?
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 5248
Зарегистрирован: Вт авг 26, 2008 14:36:02
Откуда: москва

Сообщение сэм »

Так может вообще энкодер присобачить, хоть советский типа ве- 178, 1тыс - 2.5 тыс.импульсов на оборот, три выхода со сдвигом. По факту можно получить 4- 10 тыс импульсов на оборот
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Не - из пушки по воробьям. Чересчур.
Я бы поставил на валу в торце (если есть доступ) продолговатый магнит, а рядом с ним - 2 геркона взаимно перпендикулярных. Получаем 4 импульса на оборот.
Изображение
Реклама
Друг Кота
Сообщения: 5248
Зарегистрирован: Вт авг 26, 2008 14:36:02
Откуда: москва

Сообщение сэм »

У геркона , как помнится, 10 тыс срабатываний ресурс,
Поставщик валерьянки для Кота
Сообщения: 1948
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Их жизнь "немного длиннее" :). В зависимости от тока добавьте еще 3 или 4 "нуля".
Вложения
OKI_Reed_Switch_ORD213-8.jpg
(143.85 КБ) 68 скачиваний
Контактная информация:
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

магнит и линейный датчик холла...
с линейным можно будет видеть положение, как будто переменный резистор стоит, то есть, узнать некую дельту значительно раньше, чем ипульс-два на оборот
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 1948
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Возьмите энкодерной диск и считайте импульсы оптически. Есть механизм крепления, много видов как по количеству секторов, так и по диаметру для вала и диаметру диска.
Вложения
Encoder-Disc-disk-sensor-for-HED.jpg
(101.29 КБ) 65 скачиваний
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6673
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Сообщение AlexS4 »

толи я не понял всей глубины и сложности толи вы зачемто усложняете:

берем 16bit счетчик и тактируем его от таймера с периодом скажем 100uS
тогда если его зачитывть и ресетить по датчику полного оборота то
60об/мин соответствует 10000 в счетчике а 250 об/мин --> 2400
если скорость снаружи задается в оборотах в минуту и мы хотим минимизировать операции деления то
единажды на новую заданную скорость вычисляем нужный период в наших 100uS интервалах и получаем 16битное число которое и будем сравнивать (вычитать) с нашим измеренным счетчиком периодом, получая вектор расхождения который и сводим пид регулятором к 0.

c указанными величинами измерительное разрешение получаем не хуже 1/2400 об/мин

разрешение по управлению током скажем 1/65k c 16bit pwm (если недостаточно 1/256 на 8 битном)

ну а скорость регулирования зависит от того насколько вы в ладах с численными методами и насколько качественно вы сняли нагрузочную характеристику мотора.

не помню сколько 16bit таймеров в atmega8, если нехватает то измерительный счетчик делаем из 8бит таймера-счетчика и расширяем его 1байтным софтовым счетчиком (прерывание с одним только инкрементом статической переменной uchar запускаемое от переполнения нашего 8битного таймера-счетчика)
Друг Кота
Сообщения: 9459
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

вот тут https://www.radiokot.ru/forum/viewtopic ... 8&t=185219 мы сделали тахометр на простом 8-ми битном таймере...
Друг Кота
Аватара пользователя
Сообщения: 44289
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

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

:dont_know:
У меня был сделан "тахометр", точнее- счётчик ходов в минуту поршня гидроцилиндра. Измерял от 5 до 500 (примерно) ходов в минуту. А сделано было именно через измерение периода хода, и всё это, вместе с выводом на семисегментный индикатор (примерно 90~95% кода), спокойно поместилось в Тини2313..
Друг Кота
Аватара пользователя
Сообщения: 7080
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

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

я тоже делал тахометр с широким диапазоном, высокой точностью и быстродействием..
чтобы не прибегать к высокоразрядной арифметике, на малых оборотах измерял время между соседними сигналами, а при увеличении оборотов - через 1, 2.. до 15... (понятно, что при вычислении оборотов количество пропускаемых импульсов учитывалось)
условие пропуска импульса - малый насчёт времени в аккумуляторе времени,
тоже код в тини2313 влез влегкую...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 6673
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Сообщение AlexS4 »

тож делал тахометр с логированием моторесурса на 89с2051 +24c65 а потом редизайнил его какраз на 2313 :beer: :))

но я так понимаю скоро stm64 выпустят с процессорной командой тахометрирования :))) и дело пойдет :music:
32бита переменные для точности +-10 оборотов, ram мало у меги ... :))
Друг Кота
Сообщения: 9459
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

во первых у меги 328 (ардуино) RAM = 2048 байт... этого более чем достаточно для любого тахометра...
во вторых для тахометра RAM вообще не нужна ))
в третьих посмотри как я сделал... опрос датчика холла на высокой частоте в прерывании таймера 8 бит с фильтром-гистерезис (чтоб показания не прыгали)... показания линейные во всем диапазоне скоростей... с кварцевой точностью...
0...8000 об/мин прекрасно работает.
:tea:
Друг Кота
Аватара пользователя
Сообщения: 15745
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

AlexS4
У mcs51 аппаратная организация таймер-счетчиков для применения в качестве частотомера/периодомера заметно удобнее, чем у АВРок или ПИКов.
:wink:
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Ср сен 04, 2019 17:59:23
Откуда: Гомель

Сообщение Alex_ka »

[uquote="aleksey chilov",url="/forum/viewtopic.php?p=4434384#p4434384"]Вопрос такой.
Нужно измерить частоту вращения вала,вал крутится медленно.
Диапазон вращения всего от 60 до 250 об/мин.
![/uquote]Такой пойдёт? Инфа на индикаторе на русском. Протеус 8.13 с русским LCD.

Добавлено after 15 minutes 32 seconds:
[uquote="Николай_С",url="/forum/viewtopic.php?p=4434389#p4434389"]- посчитать количество оборотов в единицу времени;[/uquote]Вот этот метод самый простой. Инкриминируешь секунду. заряжаешь обратный отсчёт минуты. на порт подаёшь сигнал счёта. На порту прописываешь счёт при переключении с нуля на единицу без задержек delay и на индикатор. Единственное не регулирует мощность при нагрузке, но количество оборотов считает. а если надо регулировка оборотов в зависимости от нагрузки, то за основу можно взять кухонный комбайн с магнитом на валу и дросселем.
Вложения
22.jpg
(53.54 КБ) 60 скачиваний
Счётчик оборотов.rar
(17.32 КБ) 69 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 44289
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

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

Alex_ka писал(а): Счётчик оборотов.rar [17.32 KiB]
А схему в протеусе просто в виде картинки можно увидеть? А то протеус 8.13 не у всех есть.. :dont_know:
Поставщик валерьянки для Кота
Сообщения: 1948
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Программа не запущена (у меня проблема с кириллицей по LCD).
Вложения
sch.jpg
(160.63 КБ) 68 скачиваний
Контактная информация:
Ответить

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