Несколько вопросов по контролеру

Автор ovling, 25 Апр. 2008 в 17:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ovling

Добрый день, уважаемые электромобилисты!

Давным давно я общался на форуме SKIF.BIZ по электромобилям с Михалычем и теми, кто там обитал. Меня всегда интересовали сверхлегкие электромобили, ну а поскольку меня тогда приняли с прохладцей некоторые товарищи "там", то я решил просто заниматься в свое удовольствие тем, что мне нравится - электромобилем. С тех пор прошло много времени, сейчас, вот, начинаю собирать контролер для небольшого электромобиля. И у меня появилось несколько вопросов:
1. Как рассчитать ширину дорожки на плате, что бы она выдержала определенный ток заряда входной емкости полевика (в самом начале ток до 0,5А)
2. Двигатель будет бесколлекторный, так что для управления им я буду использовать ключи верхнего и нижнего уровня (см. рисунки). Что Вы о них думаете? Осцилограммы они показывают очень даже неплохие.
3. На этом, да и на некоторых других форумах, когда речь заходила о контроллерах, все рекомендуют использовать ключи максимум на 20% заявленой мощности. Это обосновывается толщиной выводов, мол они не могут потянуть 100А и более. У меня транзисторы нижнего уровня максимум рассчитаны на 40А (по паспорту), можно ли их использовать на 20А? И ещё, как быть с ключами верхнего уровня? Там максимальный ток 15А при 100оС. Для них разумный предел 4А или, все-таки, 8 или 10А?

И ещё, ищу два бесколлекторника для проведения экспериментов, мощностью до 500Вт на 48В. Обороты до 1000. Главный критерий, что-бы работали, были недалеко (на Украине, а ещё лучше под Киевом) и цена была как можно меньше (это будут все-таки первые опыты :) ).

Всем зарание спасибо за ответы.

С уваженеим,
Сергей.
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .

i

1. Где-то, когда-то читал, что дорожка шириной 1мм выдерживает 10А. Я не столь категоричен, думается, что нужно учитывать еще и длинну проводника. Если очень хочется посчитать, то по длине, ширине, толщине и удельного сопротивления меди, можно вычислить сопротивление дорожки. Зная ток и сопротивление, вычисляем тепловую мощность выделяемую на дорожке (P=I*I*R). Если получаются ватты, а не его мелкие доли, то дорожку нужно уширить.
Обычно развожу платы дорожками в 0.5 мм, если где они не пролазят, делаю 0.3 или 0.2, но тут уже трудности с изготовлением. Дорожки, где ожидаются сильные токи (до нескольких ампер) стараюсь сделать как можно короче и как можно шире (до 2-3 мм). А там где пойдут 10 и более ампер, поверх дорожек паяю медную проволоку.
2. Верхний ключ будет работать плохо, так как для полного открывания полевого транзистора требуется напряжение более 10в между затвором и стоком (или исток, вечно путаю их  :bw:, короче, нижний по схеме вывод). Когда транзистор откроется, сток и исток будут находиться под одним напряжением, практически сольются в точку, следовательно, затвор, соединенный с верхним выводом, будет иметь тот же потенциал, а это невозможно, что бы у открытого полевика все выводы имели один потенциал.
Верхние ключи делаются по иной схеме, с накопительным конденсатором. Его задача обеспечивать необходимое напряжение на затворе.
Китайцы делают вот так... Обратите внимание на С3 и D2.
К тому-же есть специальные микросхемы для управления верхним и нижним ключом... если заинтересует.
Тема про контроллер здесь.

i

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

ovling

Большое спасибо, Alex_M и i.

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

По дорожкам все понятно. Я дорожки буду делать не менее 1,5 мм, просто хотел узнать, может и этого мало для 0,5А.

За схему с ключем верхнего уровня большое спасибо, но при симулировании работы схемы в Proteus? на осцилографе явно видна задержка в 10 мкс при открытии и закрытии полевика. Причем сигнал сохраняет прямоугольную форму (почти, не считая мелочей). Это не смертельно, но можно ли этого как-то избежать?

Отвечая на вопросы Александра:

Всей схемой комутации будет управлять микроконтроллер. Он будет получать данные с датчиков Хола и, соответственно, замыкать обмотки. Всего будет три МК: два управляют двумя двигателями (комутация обмоток), один управляет работой всей схемы (все нюансы работы, плюс генерация двух разных ШИМ для каждого из колес).
В финале я хочу попробовать реализовать управление направлением движения при помощи изменения скорости вращения ведущих колес. Идея спорная, но мне хочется попробовать  :ah: .

С термином shoot-thru я не знаком, по крайней мере в английском варианте. Возможно, Вы его переведете?
Если Вы говорите о линейном режиме транзисторов, то по осцилограммам можно определить, что транзисторы переходят в линейный режим (в моих схемах) где-то при скважности в 99,5%. Так что, я думаю, достаточно не переступать этот порог и все будет ОК.

У 6218 входная емкость почти в три раза больше, а выходная - на порядок превышает емкость 6215. Но это уже не имеет значения, я пожалуй буду использовать 3415 в верхнем плече.

Первые коллекторники нужны для двух вещей:
1 проверить работу и нагрузочную способность ключей на практике
2 проверить режим управления направлением движения
Работу схемы комутации обмоток отлаживать на реальном образце, как мне кажется, нет смысла. Программа уже есть. Она тестировалась на компьютере в том же Proteus-e, так что с ней проблем не должно быть.
Автомобильные генераторы - хорошая идея, но они разве 48 В потянут?

Ключи на 150 В нужны для запаса по напряжению. Плюс, мне может захотеться поднять напряжение на двигателе до 60 или даже до 72 вольт. Что мне тогда делать? А так пару аккумуляторов поставил, и все :) .

Спасибо за предложение созвониться, но мне как-то проще писать сюда. Я в электронике недавно, так что мне надо время, что бы разобраться в предложеном варианте, да и отвечать можно когда есть время, а не когда звонят. Если Вам не сложно, давайте пока общаться так, хотя если хотя-бы часть из задуманного получится, то я обязательно покажу рабочий вариант всем, кому он будет интересен :) .
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .

sykt

Настоятельно рекомендую использовать драйверы для управления силовыми транзисторами. Это не дорого, но они надежно формируют управляющий импульс с нужными фронтами.
Изучите мой опыт: http://www.samodelkin.komi.ru/electron.html
Сайт популяризации технического творчества: http://samodelkin.komi.ru/index1.html

PASHASV

По поводу дорожек - настоятельно рекомендую обратить внимание на толщину припоя на самой дорожке. чем больше слой - тем выше пропускаемый ток. Их своего опыта скажу, что дорожка шириной 1.2 мм луженая без дополнительного слоя сгорела на токе 3А. Длина дорожки составляла 120 мм.

i

short-thru дословно: "короткое-через", т.е. "КЗ через транзисторы". По-русски обычно говорят "сквозной ток". Вещь очень неприятная, выжигает все, если затянется. Для предотвращения возникновения этой бяки применяют "dead-time", т.е. "мертвое время" или проще говоря "задержку". Сначала закрывают один транзистор, делают задержку, чтоб он гарантировано закрылся, потом открывают другой.
Задержку можно делать программно, микропроцессором, или аппаратно - микросхемой драйвера.
В первом случае для управления одним полумостом, требуется два вывода микропроцессора, но можно программно управлять задержкой, во-втором: один вывод и задержка жестко "прописана" в драйвере.
Мне приглянулись драйверы IR2104s. У них задержка 520мкс.

ovling

Уважаемый sykt,

Ваш опыт мне хорошо знаком, из указаных Вами материалов я почерпнул много интересного и важного - рассчет токов заряда входной емкости полевика, компоновка силовой части и т.д. Сначала я думал использовать драйверы, но все схемы предпочитаю проверять на работоспособность на компьютере: посмотрел токи, подобрал компоненты, снял осцилограммы и т.д. Такие результаты конечно будут отличаться от реальных, но не намного. Систем, которые бы имитировали работу ключей нижнего и верхнего уровня должным образом (на частотах до 10кГц и напряжениях порядка 48В) нет, а те, что существуют работают с частотами до 100Гц, - ключи на таких частотах себя ведут далеко не самым лучшим образом.
Так что я постепенно пришел к созданию собственного ключа. Всего ключей нижнего уровня было три или четыре варианта (один, кстати, предлагал Pushnoi здесь же). Из них я выбрал представленый здесь вариант, как самый лучший в плане скорости закрытия транзисторов: 800 нс от подачи сигнала к закрытию микроконтроллером до момента полного закрытия транзистора. Это конечно не 100 нс, из которых Вы исходили в расчетах, но тоже неплохо. Хотя вот сейчас думаю, что стоит также попробовать повозится и с драйвером.

С уваженеим,
Сергей.
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .

ovling

PASHASV,

На саму дорожку дополнительно накладывать припой? Я правильно Вас понял? Может тогда проще поверх нее накладывать медную проволоку и крепить её?

i,
с этим явлением я знаком, в програме управления предусмотрена задержка, которая равна времени, за которое якорь проходит 120о . Для 3000 об/мин это почти 6 мс, более чем достаточно :) .
Проще говоря, все сделано как в таблице, которую вы выложили в теме по управлению скутерными бесколекторными двигателями.
А    В    С
+    -   нет
+   нет  -
и т.д., точно порядок по памяти не скажу, но принцып, я думаю, Вы поняли.   

С уважением,
Сергей.

PS Если кому-то будет интересен весь процесс управления в деталях, можете почитать на сайте производителя микроконтроллеров, - там куча инфы по этому направлению (я пользуюсь PICами, так что это www.microchip.com).
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .

i

Цитата: ovling от 26 Апр. 2008 в 12:10
с этим явлением я знаком
Даже и не сомневался, просто озвучил термин. Может кому сгодится.

Цитата: ovling от 26 Апр. 2008 в 12:10... в програме управления предусмотрена задержка, которая равна времени, за которое якорь проходит 120о
Так понимаю, что планируется, только коммутировать обмотки по датчикам. Т.е. применение ШИМ для управлением током обмоток не предусматривается?
Тогда при старте мотора токи могут достичь очень больших ампер...  :bw:

(Сейчас ковырялся в аккумуляторе и случайно коротнул клеммы скальпелем... За это время (доли секунды) он успел нагрется и приплавиться к пластмассе корпуса.) 

ovling

#10
Цитата: ovling от 26 Апр. 2008 в 12:10
Так понимаю, что планируется, только коммутировать обмотки по датчикам. Т.е. применение ШИМ для управлением током обмоток не предусматривается?
Тогда при старте мотора токи могут достичь очень больших ампер...  :bw:

Боже меня упаси просто комутировать обмотки! Я не враг здоровью АКБ, движка, контроллера и вообще всей той начинки что там будет :) .

Если на пальцах, то вот схема: АКБ - МК, который генерирует два сигнала ШИМ (для каждого ведущего колеса) - комутация обмоток двигателя. Сигнал ШИМ будет идти по положительному проводу. Минус - напрямую к ключам комутации обмоток. Идея простая, как получится посмотрю.
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .

PASHASV

Цитата: ovling от 26 Апр. 2008 в 12:10
PASHASV,

На саму дорожку дополнительно накладывать припой? Я правильно Вас понял? Может тогда проще поверх нее накладывать медную проволоку и крепить её?
Именно это я и имел в виду. По поводу проволоки - так и поступают при изготовлении плат силовойэлектроники, например сварочных апаратов. На мой взгляд проще просто припаять проводник нужного сечения в его родной изоляции, а сам проводник закрепить к плате например термоклеем. Для наглядности можно даже использовать провода с разным цветом изоляции.

i

Цитата: ovling от 26 Апр. 2008 в 17:02
[...Сигнал ШИМ будет идти по положительному проводу. Минус - напрямую к ключам комутации обмоток.
Ок.
То бишь: коммутация отдельно, ШИМ отдельно... :bw:
Т.е. будет на каждое колесо "лишняя" пара транзисторов, чисто для ШИМ?
При таком построении можно использовать и коллекторник и безколлекторник. Универсально, но жаба душит.

ovling

Цитата: i от 27 Апр. 2008 в 12:13
Цитата: ovling от 26 Апр. 2008 в 17:02
[...Сигнал ШИМ будет идти по положительному проводу. Минус - напрямую к ключам комутации обмоток.
Ок.
То бишь: коммутация отдельно, ШИМ отдельно... :bw:
Т.е. будет на каждое колесо "лишняя" пара транзисторов, чисто для ШИМ?
При таком построении можно использовать и коллекторник и безколлекторник. Универсально, но жаба душит.

Да, именно так. Ну, скажем, далеко не пара, а больше, но это так. Если брать бесколлекторник, то там у нас идет шесть выводов (по два на каждую фазу). Если реализовывать ШИМ, в этом случае, тогда надо выдавать ШИМ на каждую из шести ног. Причем скважность будет одинаковой. Я, в этом варианте вижу два решения:
- брать супер-пупер-крутые сигнальные МК (типа dsPIC) - производительность зашибись, куча каналов ШИМ, но цена :( .
- реализовывать програмный ШИМ на всех шести ногах. У PIC16Fxxx на это просто не хватит ресурсов.

Пока писал пришла идея (см. рисунок)

Остался вопрос: элементы "И". Надо как можно проще. Вроди как есть уже готовые. Или я не прав? Просто для меня этот вопрос в новинку.
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .

i

Такая идея уже осуществлена нашими китайскими братьями. смотреть здесь.
6 ШИМов хорошо, но, думаю, можно обойтись и тремя.... Хотя если обмотки между собой не соединять, можно "замутить" программную "звезду" или "треугольник" и переключатся между ними или выбирать по потребности. Управление будет более гибким, но и более сложным.
Я работаю с AVR, но не буду агитировать всех бросить PIC  (ибо бесполезно). Уж к чему прикипел, с тем и мучаешься.  :bk:

ovling

А я думал, что я такой умный! :D Китайцы и тут опередили :) .

Ладно, теперь по делу. Долго смотрел на схему. Вижу один выход ШИМ - RC2. Вижу два выхода на обмотки (из D3 и D4). Что делают D2 и D5 так и не понял, но это ладно, не важно, главное, идея понятна.

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

i

#16
А кто запретил ставить два, три и более микроконтроллеров.
"Длиннющую формулу" можно поробовать решать таблично. Так же можно поглядеть какие циклы стоит выключить, заменив их цепочкой команд. Можно программировать в ассемблере, без удобств и наворотов Си  (получается быстрее в исполнении). Можно где-нибудь "углы срезать" (например, подпрограммы без ret, использовать jmp вместо call, нагрузить прерывания на основную работу... да мало ли "фокусов", правда отладка => :bm:)

ovling

Вот я и поставил три МК :) .

Кстати, вот тут думал, экономить, или сделать универсальным, и пришла в голову идея (см. рисунок).

Я в микроконтроллерах не сильно разбираюсь, особенно, что касается оптимизации работы программ. Для меня это вообще дебри. Программы я пишу на Паскале и компилирую в microPascal, - для меня этот язык самый близкий, хотя и писал когда-то на си.
С ассемблером вообще почти не знаком :( . Так что для меня самый простой способ решения проблемы производительности - поставить как можно больше контроллеров :D .

Сергей.
Если вы скачали схему с интернета, спаяли и она работает - будьте уверены, работает неправильно :) .