Notice: Memcache::get(): Server localhost (tcp 11211) failed with: Connection refused (111) in /home/a146/www/we.easyelectronics.ru/engine/lib/external/DklabCache/Zend/Cache/Backend/Memcached.php on line 134
Контроллер BLDC выпуск rev2 / Блог им. amaora / Сообщество EasyElectronics.ru

Контроллер BLDC выпуск rev2

7 фото
image
Дополз до второй ревизии. Хотелось бы на ней и остановится, но разве может быть, чтобы не было ошибок. Только я пока о них не знаю, потому, что сделано еще мало тестов. Как обычно проверил формы напряжений в силовой части, проверил нагрев на токе 30А, его нет. Не хватает тестов при питании выше 12в, где бы взять. Нужен мотор мощнее, этому 30А уже много, да и проп 12x4.5 наверно уже порвет выше 6000 об./мин. А еще все это дома в комнате, шум, пыль, кот боится и убегает. И это всего то ~200 Вт мощности. Не придется ли мне собирать стенд двигатель-генератор с двумя контроллерами, чтобы экономить энергию а не распылять ее. А может быть рискнуть запитать контроллер от двух литиевых аккумуляторов шуруповерта, получится ~29в.

Через какое-то время, когда станет ясно, как ведет себя контроллер на больших мощностях и в сложных режимах. Захочется оптимизироваться по стоимости BOM и адаптировать проект под автоматический монтаж. Я и сейчас не против, купить монтаж и не сидеть самому над столиком преднагрева с тремя паяльниками и феном. Если есть заинтересованные, подскажите насколько это может быть дорого. Сейчас эти прототипы для меня тоже не дешевы, на 20-30 т.р. получается за 2-3 экземпляра.

Не буду работать переводчиком второй раз и в обратную сторону, подробности можно найти на странице репозитория.

7 изображений

  • +3
  • 13 ноября 2016, 00:10
  • amaora

Комментарии (37)

RSS свернуть / развернуть
Возможно вопрос глупый, но можно ли переделать под 500 — 700А?
0
Рано, это еще не всегда работает.
0
Четырехслойка? Круто
0
Да, четыре слоя, каждая.
0
Ну вот и оно. Подал ~32в с аккумуляторов, хорошо не забыл резистор в цепь добавить 10 Ом. Через секунду щелчок, двигатель дернулся. Отключаю, включаю еще, непрерывный дребезг.

Разборки показали, что один из выводов МК который управляет мостом теперь всегда выдает 2.7в. Сам МК начал греться, но продолжает работать. В ресете и в boot режиме, количество странных выводов на которых есть какой-то высокий уровень еще больше. При подаче питания, медленно заряжаются конденсаторы через тот резистор 10 Ом, оживает dc/dc, МК выдает сигналы на мост, там открываются ключи, делают КЗ, все ресетися, далее повтор. На силовой плате все хорошо. Преобразователи питания, тоже в норме, все выдают корректно, и от ~32в.

Как чего произошло не понятно, догадываюсь, что на МК попало высокое напряжение, это могло произойти через аналоговые цепи датчиков тока. Разборки продолжаются.
0
Один из транзисторов все таки испорчен. Датчики тока высокое напряжение не пропускают. Версия такая. Когда МК в сбросе или в режиме загрузчика, выводы идущие на управление мостом как-то иногда выдают 1, и случается кз, в частности в фазе A. Такое бывало при питании 12в, но все компоненты это переживали, видимо ток не возрастал слишком сильно. А вот когда заряженные до 32в конденсаторы разрядились на два открытых транзистора по 2.5 мОм каждый, случился ой. Возможно был выброс отрицательного напряжения, которое прошло через преобразователи и убило порты МК.

Итог, нужно чтобы мост был отключен пока МК не в сознании. Выводов enable у драйверов нет, либо добавлять какую-то логику между МК и драйверами, либо отключать им питание, что мне нравится больше. Вот у dc/dc с 5в на 12в есть вывод enable, но step-up не может выдать 0 если его отключить, будет выдавать входные 5в, от которых драйверы не должны работать по UVLO. Планирую временно бросить проводок с ноги мк на enable преобразователя, но дальше хочется боле надежного решения. Добавить выключатель на транзисторах, чтобы обрывать питание всего dc/dc. Так их разместить негде будет.
0
А что мешает взять другие драйверы? Или можно добавить Enable в виде логических буферов между МК и драйверами.
0
Одна проблема за другой. Бросил временно проводок с SHDN пина преобразователя (5->12) на ногу МК. Включаю, получаю сброс. Смотрю, питание, провал до 2в в течении десятка мс. Мягкого старта нет, понижающий преобразователь (30->5) перед ним не справляется, не держит свои выходные 5в, при таком броске потребления. Конденсаторов много, суммарно ~180 мкФ.

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

Другие драйверы, например какие? Чтобы не хуже по размеру корпуса, по времени прохождения сигнала, по выходному току. Какие я знаю все без Enable. Логику можно да, но это добавляет элементов на плате, вносит задержки. Отключать питание драйверов это достаточно надежно, UVLO работает, вот сейчас проверял.
0
И еще непонятный вопрос, в AN2606 есть описание режима загрузчика. Писано какие выводы для чего используются, но вот на деле, присутствует высокий уровень на некоторых выводах там не указанных. Получается, даже если я сделаю включение моста по сигналу с отдельного вывода МК, нет гарантии, что и на нем не появится единица в сбросе или при вхоже в загрузчик. Для состояния сброса хотя бы должно быть обозначено состояние выводов, полагаю все в hiZ, но где это указано? Может быть пойти по другому пути, и сделать свой загрузчик, более предсказуемый. Но как-то опасно, аппаратное решение выглядит надежнее.
0
Другие драйверы, например какие?
Откуда ж я знаю, это каталоги изучать надо.
Смотрю, питание, провал до 2в в течении десятка мс.
А зачем двойное преобразование? Не лучше ли сделать отдельный 30->12? Заодно и выключать его можно полноценно. А хотя, у тебя же от 5В заявлена работоспособность…
Алсо, впечатляет такой мощный провал. Вроде преобразователь (есди это вон тот, с мелким дроссельком слева) не выглядит таким могучим.
Логику можно да, но это добавляет элементов на плате, вносит задержки.
Не так уж много, вроде есть шинные буферы с 6 линиями и общим En в SO14-16. Насчет задержек — хз, вроде современная логика довольно быстрая?
Получается, даже если я сделаю включение моста по сигналу с отдельного вывода МК, нет гарантии, что и на нем не появится единица в сбросе или при вхоже в загрузчик.
Можно добавить POR, который будет держать мост заглушенным некоторое время после подачи питания
0
Алсо, впечатляет такой мощный провал. Вроде преобразователь (есди это вон тот, с мелким дроссельком слева) не выглядит таким могучим.

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

Не так уж много, вроде есть шинные буферы с 6 линиями и общим En в SO14-16. Насчет задержек — хз, вроде современная логика довольно быстрая?

Да, мне тоже кажется там задержки менее 10нс, можно попробовать, на силовой плате под драйверами место есть. Только туда Enable сигнал как-то протянуть надо.

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

Это сработает когда МК запускается из флеш, у меня обычно стоит перемычка на boot, включаю питание и медленно шью в RAM, тестирую, правлю код, и все снова.
0
Это сработает когда МК запускается из флеш, у меня обычно стоит перемычка на boot, включаю питание и медленно шью в RAM, тестирую, правлю код, и все снова.
Да, это только для использования готового продукта годится. Для отладки — хз. В голову приходит несколько возможных вариантов:
1) Исследовать поведение МК, выбрать ногу, которая не дрыгается и не принадлежит интерфейсам, которые может использовать бутлоадер.
2) Блокировать мост на время работы загрузчика — сигналом с прошивающего компа.
3) Получить сигнал En из состояния нескольких ножек.
У него больше 1А допустимый ток ключа, на старте наверно выдает свой максимум
Ну, на данной итерации вероятно ничего кроме довески кондеров сделать нельзя, но для будущей версии можно предусмотреть менее мощный преобразователь. Или с софтстартом.
0
Добавил временно электролит 470 мкФ. Все стало работать, провел тест при питании от 8 банок li-ion, это около 30в. Почти все нормально, быстрая смена скорости с 5000 rpm на 1000 rpm с возвратом энергии в источник работает. Зафейлился только реверс с +1000 rpm на -1000 rpm, на четвертый раз.
0
Зафейлился только реверс с +1000 rpm на -1000 rpm, на четвертый раз.
А что значит «зафейлился»?
0
В наблюдателе положения есть невязки, разница между предсказанием модели и реальным измерением тока. Когда что-то происходит неправильно невязки начинают расти, и фильтр не может списать этот рост в какие либо оценки параметров. Я проверяю некоторое среднее значение квадрата невязок, если оно больше некоторого порога, то наблюдатель выставляет errno и переводит автомат в режим «сбавить ток и выключиться окончательно». На железном уровне ничего страшного не происходит.
0
А я уж думал, что транзисторы разлетелись по комнате)
0
Обычно, МК при старте свои ноги держит в состоянии ввода или высокого импеданса. Чтобы избежать неуправляемого поведения моста нужно на входы драйверов поставить подтяжки так, чтоб мост был гарантировать закрыт. Те если включение происходит высоким уровнем — подтяжку на землю, если низким — на питание.
Я схему не смотрел, может у Вас так и есть, тогда сорри, что побеспокоил.
0
Подтяжки встроены в драйверы, хотя я предусмотрел место и для внешних резисторов, но решил их не ставить. МК в режиме загрузчика выдает высокий уровень, а не подтягивает к питанию, его не пересилить. И главное не всегда, может быть как-то ложно срабатывает детектирование начала загрузки по какому-то интерфейсу, который на самом деле не подключен.
0
Да, это проблема. В таком случае можно поставить логику, запрещающую встречное включение ключей. XOR как раз то, что нужно.
+1
Нужен мотор мощнее, этому 30А уже много, да и проп 12x4.5 наверно уже порвет выше 6000 об./мин.
Лежит в ящике BLDC 30В 90А, планов на него в обозримой перспективе нет, могу одолжить на время для тестов.
0
У, почти три киловатта? Покажи)
0
Вот такой вот двигатель слева, справа обычный 2212 для сравнения.
0
Прикольный моторчик. И впечатляет размер — такая мелочь, а почти 3кВт.
0
Я не уверен что с него можно долговременно такую мощу снимать даже при условии что его поток воздуха от винта хорошо продувает. Да и чтобы снять её нужно правильно нагрузку подобрать, чтобы на самой верхней точке нагрузочной характеристики. И кстати несмотря на цифры 30В 90А мощность заявлена 2400Вт. Вероятно 30В это ограничение для режима без нагрузки чтобы его центробежной силой не порвало, а 90А это ток при котором обмотки ещё не начинают гореть.
0
30В 90А

охереть:) присоединяюсь к просьбе Vga!
0
Это уже пахнет стендом, но нужно два таких, мотор и генератор. А если один, ну можно его от li-pol в течении нескольких минут питать. А на что нагрузить мотор? Для чего он предназначен?
0
Не, такой мотор у меня один. Это обычный авиамодельный моторчик, только большой, под 18" винт и тягой почти 5кг. Вообще сложно представить такую авиамодель, ни разу не видел таких огромных. Одно время эти двигатели были довольно дешёвые и народ активно их применял в самодельном транспорте типа самокатов, скейтбордов, а ктото даже на велосипед ставил.
0
автомонтаж это совсем не дорого — изготовление трафарета один раз и настройка установщика один раз. дальше только оплата точки пайки, примерно 30 копеек за точку. можно обратиться например в резонит с этими вопросами, подъемно даже для домашних проектов.
0
изготовление трафарета один раз и настройка установщика один раз
А во сколько эта часть обходится?
0
давно заказывал, но уже после подорожания ок 5т
0
Тихо и незаметно появилась третья ревизия, немного потестил с большим мотором.

+1
а схему можно увидеть?
0
В репозитории KiCad проект.
0
Рассказал бы хоть немного про изменения.
0
Исправил ошибки,
— заменил преобразователь 5->12 на более слабый, ток там не больше 20мА
— сделал этот преобразователь управляемым с ноги МК, чтобы силовая часть была выключена когда МК в загрузчике или еще где-то не с нами
— новые драйверы затворов, в безногом корпусе, больше тепловой контакт, больше ток
— заменил кварц на мелкий smd
— линейный стаб 5->3.3 заменил на тот же но в корпусе sot23-5
— добавил отдельный источник опорных 3.3в для аналоговой части
— убавил количество конденсаторов на выходах dc/dc
— поменял выводы на разъемах, чтобы при случайном кз МК умирал с меньшей вероятностью
— вывел CAN на более удобную сторону, рядом с проводами питания
— переместил светодиоды на другие пины

Проверил на том большом моторе, на 50А греется с ~20С до ~75С. Измерил шум датчиков тока ~0.2А размах. Начал делать документацию. Нашел возможность значительно улучшить работу на нулевой скорости, можно получить значительный (полный) момент.
+1
Нашел возможность значительно улучшить работу на нулевой скорости, можно получить значительный (полный) момент.
Про это можно и отдельный топик написать, про тот же HFI я прочитал с большим интересом.
0
Я бы с удовольствием почитал подробнее, особенно насчет работы на нулевой скорости.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.