189 похожих чатов

А вот кто-нибудь знает хорошие способы определения частоты вращения ротора?

Особенно сильно интересуют низкие обороты (пол-оборота в секунду - оборот за несколько секунд). Есть датчик угла, выдающий синусоиду средней паршивости (в плане искажений), это дело цифруется и раз десять в секунду надо бы отдавать обновления. Датчик только один (не квадратура).

45 ответов

9 просмотров

Магнитные датчики со встроенной компенсацией (а ля как у AMS). Там разрешение до 14 бит и есть квадратурный выход (при известном направлении поворота можешь считать его за частотный).

а в чем именно проблема? Навскидку - брать Н отчетов и скользящим средним считать

зависит от задачи же, вас надо усреднённую скорость - тогда суммируйте за 10секунд , если моментальное - засекайте время на Н тактов

零-幡田 Автор вопроса
Alexander
Магнитные датчики со встроенной компенсацией (а ля...

Аппаратная часть уже не поменяется) Что имеем)

零-幡田 Автор вопроса
Viacheslav Kaloshin
а в чем именно проблема? Навскидку - брать Н отчет...

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

零-幡田 Автор вопроса
Сиие Сууие🌿
зависит от задачи же, вас надо усреднённую скорост...

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

零 幡田
На малых оборотах мгновенное значение считается ка...

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

零-幡田 Автор вопроса
Сиие Сууие🌿
вашего датчика

Там аналоговая синусоида. Идёт на ацп.

零 幡田
Там аналоговая синусоида. Идёт на ацп.

ну окей, говорите что измеряете за сколько оно пройдёт 180 градусов, это для большого окна с очень средней скорости, или наоборот за сколько оно пройдёт один градус, для максимально моментальной скорости

零-幡田 Автор вопроса
Сиие Сууие🌿
ну окей, говорите что измеряете за сколько оно про...

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

零 幡田
Проходить пол-оборота может долго, несколько секун...

почему не разрешимо? он типа шумный или что? ну возьмите 10 градусов налепите кондеев

零-幡田 Автор вопроса
Сиие Сууие🌿
почему не разрешимо? он типа шумный или что? ну во...

Амплитуда плавает от частоты, среднее тоже слегка.

零-幡田 Автор вопроса
Сиие Сууие🌿
постройте функцию линеаризации

Не очень улавливаю, что именно линеаризовывать(

零 幡田
Не очень улавливаю, что именно линеаризовывать(

да, согласен, так не выйдет, не подумал, для это сперва частоту надо знать

零 幡田
Не очень улавливаю, что именно линеаризовывать(

а туда ну совсем-совсем нельзя влепить енкодер?

零-幡田 Автор вопроса
Сиие Сууие🌿
а туда ну совсем-совсем нельзя влепить енкодер?

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

零 幡田
Места мало самого по себе в железке, плюс это не н...

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

零-幡田 Автор вопроса
Сиие Сууие🌿
ладно, окей, верхушки и нули ты можешь обнаружить,...

Экстремумы на синусоиде детектить не слишком прикольно.

零 幡田
Экстремумы на синусоиде детектить не слишком прико...

да нормально чего уж, не в ручную, машина все считает

零-幡田 Автор вопроса
Сиие Сууие🌿
да нормально чего уж, не в ручную, машина все счит...

Да, но машина считает по алгоритму, который надо придумать) Чтоб врал поменьше.

零 幡田
Да, но машина считает по алгоритму, который надо п...

ну если вы покажите форму сигнала то можно будет сказать надо там морочить себе голову или нет

零-幡田 Автор вопроса
Сиие Сууие🌿
ну если вы покажите форму сигнала то можно будет с...

Под рукой нет, но в принципе не сильно от синусоиды отличается. Просто пересечение нуля можно найти легко и быстро, а с экстремумом всё немного сложнее.

零 幡田
Под рукой нет, но в принципе не сильно от синусоид...

Чё сложнее то, тут просто вопрос у вас чистый сигнал типа такого

零-幡田 Автор вопроса
Сиие Сууие🌿
Чё сложнее то, тут просто вопрос у вас чистый сигн...

Небольшой уровень шума есть, численно сейчас не скажу.

零 幡田
Под рукой нет, но в принципе не сильно от синусоид...

за время полного оборота скорость может меняться?

零-幡田 Автор вопроса
Aleksandr Zharov
за время полного оборота скорость может меняться?

Да, причем сложно угадать величину. Инертность ротора мала.

零 幡田
Небольшой уровень шума есть, численно сейчас не ск...

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

Сельсин что-ли используете?

零-幡田 Автор вопроса
jon pedro
Сельсин что-ли используете?

Не сельсин, но выход похож, да.

零 幡田
Не сельсин, но выход похож, да.

А что за датчик такой? Можете сказать как тогда у вас должен определяться угол?

零-幡田 Автор вопроса
jon pedro
А что за датчик такой? Можете сказать как тогда у ...

Мне сложно сказать, я не аппаратчик. Датчик реагирует на магнитное поле (магнит на роторе). На выходе имеем период синусоиды за оборот. Нужна скорость вращения ротора. Поскольку она часто низкая, а достаточно точно мы можем определить лишь пересечение с нулём, то обновление происходит слишком медленно. Желательно чаще в несколько раз.

零 幡田
Мне сложно сказать, я не аппаратчик. Датчик реагир...

А вы пробовали использовать пид регулятор для фапча?

零-幡田 Автор вопроса
jon pedro
А вы пробовали использовать пид регулятор для фапч...

Эм, нет, не пробовал. Есть ощущение, что запаздывание может быть великовато.

零 幡田
Эм, нет, не пробовал. Есть ощущение, что запаздыва...

Смотря как щучить. У вас есть заданный синус, а вы регулирует либо частоту, либо фазу, а там уже ошибка по двум сигналам регулирует искомую величину

零-幡田 Автор вопроса
jon pedro
Смотря как щучить. У вас есть заданный синус, а вы...

Надо читать и пробовать. Хотел найти самый простой вариант.

零 幡田
Надо читать и пробовать. Хотел найти самый простой...

Если у вас сигнал по амплитуде примерно постоянен, то у вас 2 выражения есть A = am*sin(fi) Соответственно вы регулирует fi

零-幡田 Автор вопроса
零 幡田
Мне сложно сказать, я не аппаратчик. Датчик реагир...

В нормальных местах используют много импульсов за оборот Типичный энкодеры/резольвер 1-8 тысяч импульсов на оборот

romanetz
В нормальных местах используют много импульсов за ...

Третья обмотка в роли датчика ) сама по себе :D BEMF

零-幡田 Автор вопроса
romanetz
В нормальных местах используют много импульсов за ...

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

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Карта сайта