murmur 0 8 июня, 2018 Опубликовано 8 июня, 2018 (изменено) · Жалоба Коллеги, есть трупик модельного регулятора скорости бесколлекторного двигателя. Китайский. Плата 4-х слойная, прозвонила ее с трудом. На плате ATmega8. Во первых Атмега горелая, буду ее менять. Во вторых, хочу залить свою прошивку по ряду причин - отрегулировать напряжение отключения при разряде, добавить изменение направления вращения по команде на пин и др. В общем, частичный реверсинг. В принципе схема очень похожа на вот это http://radioparty.ru/prog-avr/program-c/61...bldc-sensorless С одним лишь отличием - посмотрите как реализована схема детекции обратной ЭДС там, и посмотрите в выложенный мной PDF - это в моем контроллере, для которого хочу писать прошивку. В статье, которую я привела выше, замечательно расписано, как с помощью компаратора детектируется обратная ЭДС. Но совершенно непонятно, какую функцию выполняют входы ADC0 ADC1 ADC2. Ни в статье это не описано, ни в приведенном коде на С обращения к этим пинам нет. Посмотрите на мою схему, в прилагающемся PDF. Там немного по другому. Но тоже идут 3 линии к ADC0 ADC6 ADC7. Для чего же они нужны, какую роль они играют в управлении двигателем? Ну и, учитывая то, что в моей схеме цепи детекции несколько иные, будет ли отличаться алгоритм обработки поступющих с них сигналов на компаратор и на ADC ? Sheet1.pdf Изменено 8 июня, 2018 пользователем murmur Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба Ну и, учитывая то, что в моей схеме цепи детекции несколько иные, будет ли отличаться алгоритм обработки поступющих с них сигналов на компаратор и на ADC ? В статье применялся очень маломощный двигатель. В таких случаях алгоритм на компараторах еще кое-как работает, особенно если отключен ШИМ. Но в случае более мощного мотора вариант с компараторами не пройдет. Поскольку обратная ЭДС будет зашумлена паразитными всплесками на фронтах ШИМ-а, как на рисунке ниже. Тогда применяют АЦП в строго синхронном с ШИМ-ом режиме и деалают медианную фильтрацию как у Microchip - http://www.microchip.com/wwwAppNotes/AppNo...ppnote=en533912 Другие применяют интегрирование и проч. методы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasil_Riabko 1 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба Входы 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); // Разрешаем прерывания от компаратора Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба В статье применялся очень маломощный двигатель. В таких случаях алгоритм на компараторах еще кое-как работает, особенно если отключен ШИМ. Но в случае более мощного мотора вариант с компараторами не пройдет. Статья статьей, но я привела свою схему, на которой именно компаратор, а мотор к ней можно подключать до 20 ампер. И схема работает. Конденсаторы фильтров на плате есть, я их просто на схеме не привела. За статью спасибо, очень интересно. V_N, вам тоже спасибо. СЛона то я и не заметила))) Следующий вопрос - ШИМ. В статье, которую я привела, все просто и логично - управление верхними ключами осуществляется через ШИМ выходы контроллера. При проектировании же моей платы китайцы наверное следовали Конфуцию или еще кому-то... Но у меня OC1A, OC1B и OC2 вообще не заняты. Управление верхними ключами повешено на PC3 PC5 PD4. Есть статейка от АТМЕL, где есть интересное решение - один ШИМ выход и логические элементы. Но у меня такое решение не применено. Неужели у меня был программный ШИМ? Как на практике еще организовывают ШИМ управление? Может есть какой-то способ шимировать все ключи или ток регулировать? У меня на плате есть еще несколько элементов, предназначение которых я понять не могу пока, в виду того, что плата 4-х слойная. Кстати - на плате почему то целых 3 преобразователя напряжения 7805, которые соединены параллельно, только выход их развязаны маломощными резисторами 22 ом. И это при том, что из 5-ти вольтовых потребителей только Атмега... Никого ни на какие мысли не наводит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба И схема работает. Конденсаторы фильтров на плате есть, я их просто на схеме не привела. BLDC многое стерпят. Они даже в асинхронном режиме крутятся. Вопрос как эффективно вы хотите управлять. Конденсаторы фильтров дадут вам неизвестную фазовую задержку, которая на высоких оборотах приведет к плохому регулированию, низкому КПД и неприятному шуму. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Хм... странно все таки. Почему разработчик моего контроллера не использовал аппаратные возможности шим.... Скажите я ведь могу, используюя для управления верхними ключами навязанные мне пины, завести таймер и с его помощью тупо менять состояния пинов обычным "ногодрыгом" и возвращать их обратно? Это будет адекватная замена аппаратным возможностям? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Хм... странно все таки. Почему разработчик моего контроллера не использовал аппаратные возможности шим.... Скажите я ведь могу, используюя для управления верхними ключами навязанные мне пины, завести таймер и с его помощью тупо менять состояния пинов обычным "ногодрыгом" и возвращать их обратно? Это будет адекватная замена аппаратным возможностям? Конечно можете. Более того, мотор будет крутится даже если вовсе не будете следить за обратной ЭДС. Все упирается в назначение мотора и характеристики регулирования. Если не планируется какое-то точное регулирование, то всеми ключами можно управлять программно без аппаратного ШИМ-а. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Конечно можете. Более того, мотор будет крутится даже если вовсе не будете следить за обратной ЭДС. Все упирается в назначение мотора и характеристики регулирования. Если не планируется какое-то точное регулирование, то всеми ключами можно управлять программно без аппаратного ШИМ-а. Мотор изначально предназначен для авиамодели. Но мной он будет установлен в детский автомобильчик (через редуктор), взамен старого и дохлого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба АвтоESCи сильно отличаются от авиа. По характеру нагрузки и условиям охлаждения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Скажите я ведь могу, используюя для управления верхними ключами навязанные мне пины, завести таймер и с его помощью тупо менять состояния пинов обычным "ногодрыгом" и возвращать их обратно? Это будет адекватная замена аппаратным возможностям? На Атмеге это будет довольно сложно делать. Слабовата имхо. Я конечно делал подобное на STM8 на 16МГц (ШИМ=10кГц), но аппаратным ШИМом. И то пришлось бОльшую часть кода на асме писать. И это без всяких векторных управлений, без обратных связей, чисто синусное управление. А на синусном управлении моторчиком под нагрузкой (да ещё переменной нагрузкой) имхо не по-управлять. :laughing: Но можно сделать без ШИМа и без векторного управления, коммутируя ключи в соответствии с датчиком положения ротора. Это называется BLDC. Но всё равно схема будет очень чувствительна к задержкам выполнения кода (на разных скоростях ротора влияние задержек будет меняться). Задержка будет вызвана: скоростью вычисления положения ротора по показаниям датчиков положения ротора (зависит от типа датчиков) и скоростью выставления управляющих воздействий на ключи по вычисленному положению. А как, кстати, положение ротора на вашей плате определяется? д.Холла или бездатчиковое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба А как кстати положение ротора на вашей плате определяется? д.Холла или бездатчиковое? У авиаторов - исключительно BackEMF Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба У авиаторов - исключительно BackEMF Читать много лень. :) Для авиа-назначения, можно считать, что нагрузка примерно постоянна (вентиляторная нагрузка)? И можно обойтись без обратной связи? Если так, то можно и синусным ШИМом по-управлять, заранее зная параметры инерции вала с пропеллером. Но ТС ведь хочет этот моторчик для авто применить. А там уже так не поработать. Обратная связь по положению ротора нужна. И самое простое тут - датчики Холла :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Читать много лень. :) Для авиа-назначения, можно считать, что нагрузка примерно постоянна (вентиляторная нагрузка)? И можно обойтись без обратной связи? Авиа, в свою очередь, делятся на самолетные и вертолетные. Основное отличие - для вертолетов через BackEMF (обратная ЭДС по-русски :)) делается стабилизация частоты вращения ротора под любой нагрузкой (governor mode) Если так, то можно и синусным ШИМом по-управлять, заранее зная параметры инерции вала с пропеллером. Чаще всего так и делается Но ТС ведь хочет этот моторчик для авто применить. А там уже так не поработать. Обратная связь по положению ротора нужна. И самое простое тут - датчики Холла :laughing: Все зависит от kV мотора и передаточного отношения редуктора. Но не припоминаю на модельных автомоторах датчика Холла... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Но не припоминаю на модельных автомоторах датчика Холла... Зато гироскутеры наверное все на них бегают :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 9 июня, 2018 Опубликовано 9 июня, 2018 · Жалоба Смущает в коде, что по ссылке в первом сообщении, отсутствие deadtime. Или я слепая и не вижу? Зато гироскутеры наверное все на них бегают :rolleyes: Гироскутеры на них не просто бегают, они на них равновесие держат. Именно этим определяется необходимость в датчиках Холла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться