реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Детекция ЭДС в регуляторе бесколлекторного двигателя.
murmur
сообщение Jun 8 2018, 18:29
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 407
Регистрация: 30-04-11
Пользователь №: 64 708



Коллеги, есть трупик модельного регулятора скорости бесколлекторного двигателя. Китайский. Плата 4-х слойная, прозвонила ее с трудом. На плате ATmega8.
Во первых Атмега горелая, буду ее менять. Во вторых, хочу залить свою прошивку по ряду причин - отрегулировать напряжение отключения при разряде, добавить изменение направления вращения по команде на пин и др.
В общем, частичный реверсинг.
В принципе схема очень похожа на вот это http://radioparty.ru/prog-avr/program-c/61...bldc-sensorless
С одним лишь отличием - посмотрите как реализована схема детекции обратной ЭДС там, и посмотрите в выложенный мной PDF - это в моем контроллере, для которого хочу писать прошивку.

В статье, которую я привела выше, замечательно расписано, как с помощью компаратора детектируется обратная ЭДС. Но совершенно непонятно, какую функцию выполняют входы ADC0 ADC1 ADC2. Ни в статье это не описано, ни в приведенном коде на С обращения к этим пинам нет.

Посмотрите на мою схему, в прилагающемся PDF. Там немного по другому. Но тоже идут 3 линии к ADC0 ADC6 ADC7.
Для чего же они нужны, какую роль они играют в управлении двигателем?

Ну и, учитывая то, что в моей схеме цепи детекции несколько иные, будет ли отличаться алгоритм обработки поступющих с них сигналов на компаратор и на ADC ?

Сообщение отредактировал murmur - Jun 8 2018, 18:31
Прикрепленные файлы
Прикрепленный файл  Sheet1.pdf ( 24.87 килобайт ) Кол-во скачиваний: 41
 
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 8 2018, 19:12
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 5 944
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(murmur @ Jun 8 2018, 21:29) *
Ну и, учитывая то, что в моей схеме цепи детекции несколько иные, будет ли отличаться алгоритм обработки поступющих с них сигналов на компаратор и на ADC ?

В статье применялся очень маломощный двигатель. В таких случаях алгоритм на компараторах еще кое-как работает, особенно если отключен ШИМ.
Но в случае более мощного мотора вариант с компараторами не пройдет.
Поскольку обратная ЭДС будет зашумлена паразитными всплесками на фронтах ШИМ-а, как на рисунке ниже.
Прикрепленное изображение

Тогда применяют АЦП в строго синхронном с ШИМ-ом режиме и деалают медианную фильтрацию как у Microchip - http://www.microchip.com/wwwAppNotes/AppNo...ppnote=en533912
Другие применяют интегрирование и проч. методы
Go to the top of the page
 
+Quote Post
V_N
сообщение Jun 8 2018, 19:20
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 155
Регистрация: 12-01-09
Из: Харьков
Пользователь №: 43 270



Входы ADC0 ADC1 ADC2 это РС1,PC2 и PC3 -аналоговые входы . По умолчанию порты РС1,PC2 и PC3 на строены как аналоговые входы в строках :
// Аналаговый компаратор
ADCSRA &= ~(1 << ADEN); // Выключаем АЦП
SFIOR |= (1 << ACME); // Отрицательный вход компаратора подключаем к выходу мультиплексора АЦП
ACSR |= (1 << ACIE); // Разрешаем прерывания от компаратора
в выбранном контроллере один компарато поэтому его по очереди подключают ко входам ADC0 ADC1 ADC2-
#define SENSE_U ADMUX = 0; // Вход обратной ЭДС фазы U
#define SENSE_V ADMUX = 1; // Вход обратной ЭДС фазы V
#define SENSE_W ADMUX = 2; // Вход обратной ЭДС фазы W
компаратор настраиваеми разрешаем прерівания
/ Аналаговый компаратор
ADCSRA &= ~(1 << ADEN); // Выключаем АЦП
SFIOR |= (1 << ACME); // Отрицательный вход компаратора подключаем к выходу мультиплексора АЦП
ACSR |= (1 << ACIE); // Разрешаем прерывания от компаратора
Go to the top of the page
 
+Quote Post
murmur
сообщение Jun 9 2018, 02:57
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 407
Регистрация: 30-04-11
Пользователь №: 64 708



Цитата
В статье применялся очень маломощный двигатель. В таких случаях алгоритм на компараторах еще кое-как работает, особенно если отключен ШИМ.
Но в случае более мощного мотора вариант с компараторами не пройдет.


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

V_N, вам тоже спасибо. СЛона то я и не заметила)))

Следующий вопрос - ШИМ. В статье, которую я привела, все просто и логично - управление верхними ключами осуществляется через ШИМ выходы контроллера. При проектировании же моей платы китайцы наверное следовали Конфуцию или еще кому-то... Но у меня OC1A, OC1B и OC2 вообще не заняты. Управление верхними ключами повешено на PC3 PC5 PD4.

Есть статейка от АТМЕL, где есть интересное решение - один ШИМ выход и логические элементы. Но у меня такое решение не применено.
Неужели у меня был программный ШИМ?

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

Кстати - на плате почему то целых 3 преобразователя напряжения 7805, которые соединены параллельно, только выход их развязаны маломощными резисторами 22 ом. И это при том, что из 5-ти вольтовых потребителей только Атмега... Никого ни на какие мысли не наводит?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 9 2018, 06:33
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 5 944
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(murmur @ Jun 9 2018, 05:57) *
И схема работает.
Конденсаторы фильтров на плате есть, я их просто на схеме не привела.

BLDC многое стерпят.
Они даже в асинхронном режиме крутятся.
Вопрос как эффективно вы хотите управлять.
Конденсаторы фильтров дадут вам неизвестную фазовую задержку, которая на высоких оборотах приведет к плохому регулированию, низкому КПД и неприятному шуму.
Go to the top of the page
 
+Quote Post
murmur
сообщение Jun 9 2018, 07:01
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 407
Регистрация: 30-04-11
Пользователь №: 64 708



Хм... странно все таки. Почему разработчик моего контроллера не использовал аппаратные возможности шим....
Скажите я ведь могу, используюя для управления верхними ключами навязанные мне пины, завести таймер и с его помощью тупо менять состояния пинов обычным "ногодрыгом" и возвращать их обратно? Это будет адекватная замена аппаратным возможностям?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 9 2018, 07:59
Сообщение #7


Ally
******

Группа: Модераторы
Сообщений: 5 944
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(murmur @ Jun 9 2018, 10:01) *
Хм... странно все таки. Почему разработчик моего контроллера не использовал аппаратные возможности шим....
Скажите я ведь могу, используюя для управления верхними ключами навязанные мне пины, завести таймер и с его помощью тупо менять состояния пинов обычным "ногодрыгом" и возвращать их обратно? Это будет адекватная замена аппаратным возможностям?

Конечно можете.
Более того, мотор будет крутится даже если вовсе не будете следить за обратной ЭДС.
Все упирается в назначение мотора и характеристики регулирования.
Если не планируется какое-то точное регулирование, то всеми ключами можно управлять программно без аппаратного ШИМ-а.

Go to the top of the page
 
+Quote Post
murmur
сообщение Jun 9 2018, 08:08
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 407
Регистрация: 30-04-11
Пользователь №: 64 708



Цитата(AlexandrY @ Jun 9 2018, 10:59) *
Конечно можете.
Более того, мотор будет крутится даже если вовсе не будете следить за обратной ЭДС.
Все упирается в назначение мотора и характеристики регулирования.
Если не планируется какое-то точное регулирование, то всеми ключами можно управлять программно без аппаратного ШИМ-а.

Мотор изначально предназначен для авиамодели. Но мной он будет установлен в детский автомобильчик (через редуктор), взамен старого и дохлого.
Go to the top of the page
 
+Quote Post
gosha-z
сообщение Jun 9 2018, 08:20
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 30-10-05
Пользователь №: 10 288



АвтоESCи сильно отличаются от авиа. По характеру нагрузки и условиям охлаждения.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 9 2018, 10:11
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 4 659
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(murmur @ Jun 9 2018, 10:01) *
Скажите я ведь могу, используюя для управления верхними ключами навязанные мне пины, завести таймер и с его помощью тупо менять состояния пинов обычным "ногодрыгом" и возвращать их обратно? Это будет адекватная замена аппаратным возможностям?

На Атмеге это будет довольно сложно делать. Слабовата имхо.
Я конечно делал подобное на STM8 на 16МГц (ШИМ=10кГц), но аппаратным ШИМом. И то пришлось бОльшую часть кода на асме писать. И это без всяких векторных управлений, без обратных связей, чисто синусное управление. А на синусном управлении моторчиком под нагрузкой (да ещё переменной нагрузкой) имхо не по-управлять. laughing.gif

Но можно сделать без ШИМа и без векторного управления, коммутируя ключи в соответствии с датчиком положения ротора. Это называется BLDC.
Но всё равно схема будет очень чувствительна к задержкам выполнения кода (на разных скоростях ротора влияние задержек будет меняться). Задержка будет вызвана: скоростью вычисления положения ротора по показаниям датчиков положения ротора (зависит от типа датчиков) и скоростью выставления управляющих воздействий на ключи по вычисленному положению.
А как, кстати, положение ротора на вашей плате определяется? д.Холла или бездатчиковое?
Go to the top of the page
 
+Quote Post
gosha-z
сообщение Jun 9 2018, 10:23
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 30-10-05
Пользователь №: 10 288



Цитата(jcxz @ Jun 9 2018, 13:11) *
А как кстати положение ротора на вашей плате определяется? д.Холла или бездатчиковое?


У авиаторов - исключительно BackEMF
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 9 2018, 10:33
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 4 659
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(gosha-z @ Jun 9 2018, 13:23) *
У авиаторов - исключительно BackEMF

Читать много лень. sm.gif
Для авиа-назначения, можно считать, что нагрузка примерно постоянна (вентиляторная нагрузка)? И можно обойтись без обратной связи? Если так, то можно и синусным ШИМом по-управлять, заранее зная параметры инерции вала с пропеллером.
Но ТС ведь хочет этот моторчик для авто применить. А там уже так не поработать. Обратная связь по положению ротора нужна. И самое простое тут - датчики Холла laughing.gif
Go to the top of the page
 
+Quote Post
gosha-z
сообщение Jun 9 2018, 10:41
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 30-10-05
Пользователь №: 10 288



Цитата(jcxz @ Jun 9 2018, 13:33) *
Читать много лень. sm.gif
Для авиа-назначения, можно считать, что нагрузка примерно постоянна (вентиляторная нагрузка)? И можно обойтись без обратной связи?

Авиа, в свою очередь, делятся на самолетные и вертолетные. Основное отличие - для вертолетов через BackEMF (обратная ЭДС по-русски sm.gif) делается стабилизация частоты вращения ротора под любой нагрузкой (governor mode)
Цитата(jcxz @ Jun 9 2018, 13:33) *
Если так, то можно и синусным ШИМом по-управлять, заранее зная параметры инерции вала с пропеллером.

Чаще всего так и делается
Цитата(jcxz @ Jun 9 2018, 13:33) *
Но ТС ведь хочет этот моторчик для авто применить. А там уже так не поработать. Обратная связь по положению ротора нужна. И самое простое тут - датчики Холла laughing.gif


Все зависит от kV мотора и передаточного отношения редуктора. Но не припоминаю на модельных автомоторах датчика Холла...
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 9 2018, 10:50
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 4 659
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(gosha-z @ Jun 9 2018, 13:41) *
Но не припоминаю на модельных автомоторах датчика Холла...

Зато гироскутеры наверное все на них бегают rolleyes.gif
Go to the top of the page
 
+Quote Post
murmur
сообщение Jun 9 2018, 11:29
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 407
Регистрация: 30-04-11
Пользователь №: 64 708



Смущает в коде, что по ссылке в первом сообщении, отсутствие deadtime. Или я слепая и не вижу?

Цитата(jcxz @ Jun 9 2018, 13:50) *
Зато гироскутеры наверное все на них бегают rolleyes.gif

Гироскутеры на них не просто бегают, они на них равновесие держат. Именно этим определяется необходимость в датчиках Холла.
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2018 - 21:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01107 секунд с 7
ELECTRONIX ©2004-2016