Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Регулятор оборотов диска на ардуино

Пн фев 19, 2018 02:20:29

Значит есть у меня кулер на 12в без лопостей и на нём диск. Мне нужна жёсткая стабилизация оборотов диска. Решино бы ло сделать на ардуино. Суть в чём: в диске сделаю дырку. Над дыркой будет светодиод, а под ней фотодиод. Таким образом можно наблюдать частоту вращения. Саму регулировку было решино сделать на основе ШИМ. То есть если частота допустим, меньше нужной (что мы узнаём блогодаря фотодиоду), то растояние между имульсами на мотор уменьшится. Идея рабочяя, но есть одна проблема. Я не знаю как это осуществить на ардуино. Можете дать ссылочки на статитьи где есть решения похожих проблем или сами объяснить? Если есть решение без применения МК, то будет даже лучше. Ну так у еть у кого какие нибудь идеи?

Re: Регулятор оборотов диска на ардуино

Пн фев 19, 2018 03:52:41

один оборот - это достаточно быстро - попробуй пока без ШИМа: замеряй время от импульса до импульса и, если оно больше уставки - включай мотор, иначе выключай.
п.с. если кулер 3х или 4х проводный - импульсы для измерения можно брать с него (обычно это желтый провод).

Re: Регулятор оборотов диска на ардуино

Пн фев 19, 2018 09:36:03

... если частота допустим, меньше нужной (что мы узнаём блогодаря фотодиоду), то растояние между имульсами на мотор уменьшится...

Увеличится.

Re: Регулятор оборотов диска на ардуино

Пн фев 19, 2018 10:10:07

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

Добавлено after 52 seconds:
на худой канец с холы снять с штатного или дополнителного и никаких дыр и оптиеки

Re: Регулятор оборотов диска на ардуино

Пн фев 19, 2018 13:09:34

Вроде нигде не указано, что двигатель бесколлекторный.

Re: Регулятор оборотов диска на ардуино

Пн фев 19, 2018 13:12:52

Значит есть у меня кулер на 12в без лопостей и на нём диск.
скорее всего кулер = компьютерный вентилятор, а там, как правило...

Re: Регулятор оборотов диска на ардуино

Пн фев 19, 2018 17:37:23

Ну кулер у меня двухпроводной. Я собственно выбрал это решение потому что шаговами двигателями я управлять не умею, а тут мне так как-то проще.... Я слышал шаговики хоть и суперстабильные, но дорогие.

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 02:32:43

они сравнительно "суперстабильные" только в варианте вообще без обратной связи.
по теме - какие обороты хотите стабилизировать? Численное значение оборотов в единицу времени. И нагрузка на вал - постоянная или меняющаяся? Насколько стабильно?
"жесткая стабилизация", aka управление по позиции, нормально работает только с человеческим энкодером. Т.е. хотя бы 256 импульсов на оборот - что тоже весьма мало - а не с одним. Ардуинской AVR-ки на вменяемую обработку такого (чтение энкодера + ПИД регулятор + чтение задания) быстро перестает хватать.

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 05:48:56

согласен - дырочек можно и больше напилить (чем ниже планируемые обороты и жестче требования по стабильности последних - тем больше дырок), только пилить придется максимально симметрично (иначе регулятор запутается).
ПИД и ШИМ? считаю что в полной своей реализации они не нужны - моторчик довольно слаб, а инерция диска велика -> обороты и при дискретном управлении не сильно будут дрыгаться.

Добавлено after 7 minutes 29 seconds:
а какова цель создания сего девайса?

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 09:29:29

arkhnchul писал(а):Ардуинской AVR-ки на вменяемую обработку такого (чтение энкодера + ПИД регулятор + чтение задания) быстро перестает хватать.
это если писать на Си.
а если писать на ассемблере, то и АТМега8 хватит с большим избытком...

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 10:29:58

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

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 12:33:33

ну вот примерчик накидал: (протеус)

Добавлено after 58 minutes 47 seconds:
в дальнейшем хочу тему развить в управление 220в дрелькой со стабилизацией оборотов (датчик скорее всего оптический или холла, управление - фазокоррекция и тиристор), вот там ПИД понадобится.
Вложения
temp.rar
(13.69 KiB) Скачиваний: 231

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 12:40:29

это если писать на Си. а если писать на ассемблере, то и ...

Всё зависит от "писателя". Кто-то и на АСМе может такого понаписать, что другой на Си напишет компактнее.

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 13:11:18

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

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 14:02:21

даже самый оптимизированный код компилятора на Си будет в 3 раза длиннее кода ассемблере.

Наверное, можно после долгих поисков найти такую задачу, которую компилятор бы решал в три раза неоптимальнее, но в 99% случаев код компилятора будет максимум на 10% больше или медленнее профессионального ручного ассемблерного кода.
Еще лет 8 назад видел в инете сравнение результатов работы разных компиляторов между собой и с вручную оптимизированным ассемблерным кодом. У того же IAR разница с "ручным" кодом была менее 10%.
Они давно уже далеко не тупые и обучены очень многим приемам для компактности и быстродействия :)

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 14:31:06

это если писать на Си.
а если писать на ассемблере, то и АТМега8 хватит с большим избытком...

на простой регулятор оборотов - да. На стабильный контроль по позиции, про который я писал - нет. Тупо производительности начиная с некоторых оборотов не хватает на обсчет импульсов энкодера и своевременную реакцию. ЧПУ-шники по этим граблям ходили много и долго :dont_know:

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 16:16:17

всё зависит от числа оборотов и числа импульсов энкодера.
для данной темы топикстартера вполне хватит производительности АТМега8.

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 19:16:16

то ЧПУшники с шаговиками, а нас никто не заставляет каждый шаг прощитывать: момент инерции постоянен, крут. момент тоже меняется не критично (при постоянном питании) => угловое ускорение примерно постоянно => шагать можно не по углу, а по времени => нагрузка на МК практически (не считая более частых замеров, но это нагрузка на таймер, а не на ЦПУ) не зависит от скорости вращения мотора.

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 19:59:00

Из ардуины шаговиками просто рулить, если найти драйвер (микросхему), там обычно 2 вывода всего: step и dir (шаг и в какую сторону шагаем). Для ардуин готовые шилды для шаговиков бывают. И даже датчики не требуются, пор пока частота шагов еще не приводит к пропускам. Дергаем лапками, мотор крутится в такт. Синхронность - идеальная. Правда большинство шаговиков не дадут высоких оборотов, а "наивное" переключение на низких частотах может вызвать шум и вибрацию. Большинство шаговиков оптимизировано на низкие обороты и солидный момент. Так что если хотелось что-то стробо-оптическое с солидными оборотами, шаговик может и не быть хорошей идеей.

На правах идеи можно похожий номер с мотором вентилятора закатить, если это компьютерный. Что есть компьютерный вентилятор? Вкратце, обычно
это синхронный (ага!) 2-фазный мотор, 2 катушки, общий катушек на + питания, оставшиеся 2 вывода через ключи по очереди на землю. Родная схема вентилятора переключает по факту ротора в нужной позиции, RPM "какой выйдет". Если отцепить катушки от схемы и взять микроконтроллер и пару полевиков, можно переключать катушки по очереди из прошивки. Магнит ротора следует за полем катушек. Понятно к чему я? Дергаем лапками, поле меняется, ротор следует за ним. На старте дергаем лапки медленно, чтобы ротор стронулся и вошел в синхронизм с полями катушкек. Постепенно ускоряем махание лапками, пока не получим желаемые обороты. Все, машем лапками, мотор крутится. Если нагрузка не меняется, т.е. это что-то типа стробоскопических эффектов и проч - даже датчики не надо по минимуму. Ротор следует за состоянием катушек 1 в 1, хорошо для синхронизации. Из минусов? Если нагрузка меняется или мотор тормознется, он не раскрутится снова. На полной скорости коммутации инерция ротора помешает с места в карьер взять нужную скорость. Если приделать датчик типа оптического или магнитного проверяющего что мотор крутится, можно раскрутить заново, повторив алгоритм раскрутки. Более нормальный вариант - следить за состоянием ротора по датчикам или ЭДС обмоток и адаптировать времена коммутации. Но это усложняет железо и прошивку и идет вразрез с желанием синхронизации. Для крутилки с стробированием, и проч - чуток перебор. Синхронный мотор может вести себя "как шаговик", с "слепым" переключением обмоток, если меру знать и не выбивать из синхронизма. Такое управление просто по схеме и легко делается в софте. Это урезанная версия управления мотором с рядом допущений. Однако допущения типичны для стобоскопических и тому подобных конструкций, где "диск" просто крутится в воздухе. Но это в допущении что вы "крутилку" хотели. Если что-то ближе к "точилке" - схалявить, уповая только на синхронизм мотора не получится.

Re: Регулятор оборотов диска на ардуино

Вт фев 20, 2018 20:19:48

делал я для шаговиков программу с возможностью крутить одновременно по двум осям (горизонтальным). а второй таймер управлял третьей осью (вертикальной).
и получилось безо всяких проблем на АТМега8.
один товарищ делал свой станок для укладки smd элементов на печатную плату, а я ему помогал с алгоритмом управления двигателями.
в частности, я отрабатывал алгоритм разгона и торможения.
двигатели без энкодера (датчика шагов), поэтому управление делалось по времени.
и Ivanoff-iv сказал правильно - тактированием двигателей занимается таймер. и таймер у меня получился не так уж сильно нагруженный - отдыхал во много раз больше, чем работал в собственном прерывании.
а в основном цикле делается вывод координат на индикатор 1602 и работает интерфейс с компом. то есть, тоже выполняется мало работы.

херовые были у вас ЧПУ-шники, если не могли обойтись без граблей для такой простой работы...
Ответить