Обсуждаем контроллеры компании Atmel.
Ответить

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

Ср июн 21, 2023 14:59:48

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

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

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

Ср июн 21, 2023 15:15:05

Существует всего два метода измерения частоты вращения:
- посчитать количество оборотов в единицу времени;
- посчитать количество времени за которое происходит один оборот и взять его обратное значение.
Если не получается воспользоваться первым, используйте второй. Фактически он измеряет период (интервал) времени за который вал двигателя совершает один оборот.
Для более точного измерения частоты/периода на валу можно разместить зубчатое колесо. Тогда частота вращения будет обратно пропорциональна количеству зубьев на колесе. Можно даже не ждать полного оборота вала.

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

Ср июн 21, 2023 15:47:00

А можно количество датчиков на оборот добавить

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

Ср июн 21, 2023 19:01:40

Это затратнее. Количество зубцов - что может быть проще?

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

Ср июн 21, 2023 20:06:31

Так может вообще энкодер присобачить, хоть советский типа ве- 178, 1тыс - 2.5 тыс.импульсов на оборот, три выхода со сдвигом. По факту можно получить 4- 10 тыс импульсов на оборот

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

Ср июн 21, 2023 22:53:25

Не - из пушки по воробьям. Чересчур.
Я бы поставил на валу в торце (если есть доступ) продолговатый магнит, а рядом с ним - 2 геркона взаимно перпендикулярных. Получаем 4 импульса на оборот.

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

Ср июн 21, 2023 23:09:34

У геркона , как помнится, 10 тыс срабатываний ресурс,

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

Ср июн 21, 2023 23:34:14

Их жизнь "немного длиннее" :). В зависимости от тока добавьте еще 3 или 4 "нуля".
Вложения
OKI_Reed_Switch_ORD213-8.jpg
(143.85 KiB) Скачиваний: 35

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

Ср июн 21, 2023 23:48:20

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

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

Ср июн 21, 2023 23:57:22

Возьмите энкодерной диск и считайте импульсы оптически. Есть механизм крепления, много видов как по количеству секторов, так и по диаметру для вала и диаметру диска.
Вложения
Encoder-Disc-disk-sensor-for-HED.jpg
(101.29 KiB) Скачиваний: 32

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

Чт июн 22, 2023 02:20:48

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

берем 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битного таймера-счетчика)

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

Чт июн 22, 2023 09:15:27

вот тут https://www.radiokot.ru/forum/viewtopic ... 8&t=185219 мы сделали тахометр на простом 8-ми битном таймере...

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

Чт июн 22, 2023 12:35:25

:dont_know:
У меня был сделан "тахометр", точнее- счётчик ходов в минуту поршня гидроцилиндра. Измерял от 5 до 500 (примерно) ходов в минуту. А сделано было именно через измерение периода хода, и всё это, вместе с выводом на семисегментный индикатор (примерно 90~95% кода), спокойно поместилось в Тини2313..

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

Чт июн 22, 2023 13:27:31

я тоже делал тахометр с широким диапазоном, высокой точностью и быстродействием..
чтобы не прибегать к высокоразрядной арифметике, на малых оборотах измерял время между соседними сигналами, а при увеличении оборотов - через 1, 2.. до 15... (понятно, что при вычислении оборотов количество пропускаемых импульсов учитывалось)
условие пропуска импульса - малый насчёт времени в аккумуляторе времени,
тоже код в тини2313 влез влегкую...

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

Чт июн 22, 2023 14:14:01

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

но я так понимаю скоро stm64 выпустят с процессорной командой тахометрирования :))) и дело пойдет :music:
32бита переменные для точности +-10 оборотов, ram мало у меги ... :))

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

Чт июн 22, 2023 14:21:41

во первых у меги 328 (ардуино) RAM = 2048 байт... этого более чем достаточно для любого тахометра...
во вторых для тахометра RAM вообще не нужна ))
в третьих посмотри как я сделал... опрос датчика холла на высокой частоте в прерывании таймера 8 бит с фильтром-гистерезис (чтоб показания не прыгали)... показания линейные во всем диапазоне скоростей... с кварцевой точностью...
0...8000 об/мин прекрасно работает.
:tea:

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

Чт июл 13, 2023 12:02:39

AlexS4
У mcs51 аппаратная организация таймер-счетчиков для применения в качестве частотомера/периодомера заметно удобнее, чем у АВРок или ПИКов.
:wink:

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

Чт июл 13, 2023 19:17:10

Вопрос такой.
Нужно измерить частоту вращения вала,вал крутится медленно.
Диапазон вращения всего от 60 до 250 об/мин.
!
Такой пойдёт? Инфа на индикаторе на русском. Протеус 8.13 с русским LCD.

Добавлено after 15 minutes 32 seconds:
- посчитать количество оборотов в единицу времени;
Вот этот метод самый простой. Инкриминируешь секунду. заряжаешь обратный отсчёт минуты. на порт подаёшь сигнал счёта. На порту прописываешь счёт при переключении с нуля на единицу без задержек delay и на индикатор. Единственное не регулирует мощность при нагрузке, но количество оборотов считает. а если надо регулировка оборотов в зависимости от нагрузки, то за основу можно взять кухонный комбайн с магнитом на валу и дросселем.
Вложения
22.jpg
(53.54 KiB) Скачиваний: 24
Счётчик оборотов.rar
(17.32 KiB) Скачиваний: 29

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

Чт июл 13, 2023 21:44:42

Alex_ka писал(а): Счётчик оборотов.rar [17.32 KiB]

А схему в протеусе просто в виде картинки можно увидеть? А то протеус 8.13 не у всех есть.. :dont_know:

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

Чт июл 13, 2023 22:11:04

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