avatar_VVK

Делаю контроллер для МК. Много вопросов

Автор VVK, 29 Окт. 2012 в 16:05

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

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

av-master

Посмотрел видео со звуком. реально похоже на неправильную таблицу коммутации. или конкретное запаздывание какое то.
ППС в ПИКах самая потрясная вещь которую я когда либо встречал, но коммутировать ппсом шим ?!?!?  :bw:  :bn: а если понадобится делать синус ? а когда часта вырастет ?
покрутите его на ХХ не по датчикам, а просто по таймеру. проверите коммутацию. без нагрузки он потянет и без датчиков.

av-master

Посмотрел Вашу таблицу получил ac/ba/bc/cb/ab/ca - правильно ?

У меня ИМХО более правильная таблица: АС,АВ,СВ,СА,ВА,ВС

варп

#20
Я солидарен с av-master - у Вас где-то путанница вероятно произошла КОД-КЛЮЧИ....Там три десятка неправильных комбинаций , и только одна правильная....и трудно понять на холостом ходу - нормально всё или нет...

VVK

Цитата: mr.Dream от 29 Окт. 2012 в 22:20
А микроконтроллер умеет опережение на высоких оборотах? Если, RC фильтром ВЧ-помехи подавить не проблема, и четкие логичиские уровни получить, с небольшим, некритичным сдвигом фазы. Но можна и заморочится с LC, будет меньше задержка, если контроллер "тупой", и кроме ШИМ и комутации фаз по стостоянию датчиков ничего не умеет))
Кстати, счелчки на низких обротах и гул на высоких - это или не верный угол датчиков относительно обмоток (2/3 времени тянет вперед, 1/3 назад), или отсутсвие мертвого времени комутациии. Ключ ха ХХ греются? В первом случае лечится инвертированием уровней и/или сдвигом на 1/6 электрического оборота с помощью элементарной логики. Мотор в любом положении должен "тянуть", без мертвых зон.
А что такое "опережение на высоких оборотах"? Сейчас контроллер "очень тупой" и только коммутирует фазы и выдает ШИМ. Т.е. практически ничего не делает.
Я сегодня поставил RC фильтры на сигналы с датчиков и LC на силовые линии двигателя, теперь помех нет. Но основной вопрос щелчки - остался. Похоже, что действительно треть времени тянет назад.
На ХХ ключи не греются, за мертвым временем следит драйвер ключей.

Цитата: av-master от 29 Окт. 2012 в 22:20
ППС в ПИКах самая потрясная вещь которую я когда либо встречал, но коммутировать ппсом шим ?!?!?     а если понадобится делать синус ? а когда часта вырастет ?
А в чем сложность то? Есть какие-то нюансы?


__builtin_write_OSCCONL(OSCCON & 0xBF);// Unlock PPS
RPOR2bits.RP4R=0;//Отключаем одну ногу
RPOR11bits.RP23R=18;//Подключаем другую
__builtin_write_OSCCONL(OSCCON | 0x40); // Lock PPS

Вообще, я ШИМ для этого движка как только не генерил, в том числе и просто программно. На щелчки и залипания влияния не оказывает.


Цитата: av-master от 29 Окт. 2012 в 22:20
покрутите его на ХХ не по датчикам, а просто по таймеру. проверите коммутацию. без нагрузки он потянет и без датчиков.
[/quote]
Мысль очень интересная, обязательно попробую в ближайшее время.

Я снял диаграммы (реальные, то что выдает мой контроллер), может кто свежим взглядом увидит, что не так:





варп

#22
VVK , сейчас поподробнее посмотрю ...., но на перый взгляд - бред какой-то ...Не могут верхний и нижний ключи в одно время в одной фазе быть включены....

nikvic

Цитата: VVK от 30 Окт. 2012 в 19:55
А что такое "опережение на высоких оборотах"?
==Целесообразность включать напряжение на пару катушек раньше сигнала с холла из-за индуктивности катушек - для софазности тока и ЭДС==
Я снял диаграммы (реальные, то что выдает мой контроллер), может кто свежим взглядом увидит, что не так:
К сожалению, вижу только половинку картинки (с холлами, В и С перепутаны ?). Не хватает слов АС,АВ,СВ,СА,ВА,ВС под ними.

варп

#24
VVK , ты пока не выяснишь причину , осцилограммы без ШИМа рисуй, они с толку сбивают....Смотри мою картинку - код 101 , включен Q3 фазы С и Q5 фазы В....А у тебя что?
....возможна путанница , из-за инверсии сигналов с Холлов из за открытого коллектора ...
Нужны диаграммы - КОД ХОЛЛА - КОМАНДЫ на верхние и нижние ключи....То что ты нарисовал - вообще не понятно что...Там всё стандартно и везде одинаково , как на рисунке BLDC_6step_large_B1.JPG

https://electrotransport.ru/index.php/topic,15206.252.html   
здесь на середине страници фирменные диаграммы и ссылка откуда взяты...
Или вот ещё....

И вот... :-)

В даташите на МС33035 отличные таблици есть....

VVK

Цитата: варп от 30 Окт. 2012 в 20:24
из-за инверсии сигналов с Холлов из за открытого коллектора ...

Проинвертировал датчики Холла, и, похоже, колесо закрутилось как положено. Полностью щелчки не исчезли, но стали в разы тише. И залипает колесо только на совсем малой мощности. В общем, всем большое СПАСИБО.
Все, как всегда оказалось очень просто.

варп

#26
Будем надеяться....Гул пропал?
Я бы , не подавая питания на ключи , плавно вращая колесо , проверил соответствие кодов Холлов и команд на ключи , сравнил с таблицей ...Я долго понять не мог ...Всё везде одинаково потому , что никто не хочет отходить от стандартов - ни производители мотор-колёс, ни производители контроллеров к ним , ни производители микросхем...

VVK

Цитата: варп от 30 Окт. 2012 в 21:28
Будем надеяться....Гул пропал?

Нет, полностью не пропал, но теперь он значительно ниже, я бы сказал что он в пределах нормы. Хотя, я думаю, тут есть еще над чем работать. Недели через две получу китайский контроллер, будет с чем сравнить.
Еще раз спасибо за подсказку. У меня и мысли не было, что сигналы с холла нужно инвертировать. Я их всегда использовал в качестве счетчика импульсов, а код с них считывать не приходилось.

варп

Вот и славно...Контроллер ждать и сравнивать смысла особого не вижу - вряд ли ты увидишь что- то нового...Здесь инфы море , полазь куда посылали....Просто у тебя пока туман в голове от незнакомого...Там особо заумного ничего нет , просто привыкнуть надо...И люди здесь классные , с большим опытом и знаниями - всегда помогут...Заново всё это обсуждать смысла никакого нет - только что обудили в " Азах.....".

av-master

Код очень удобно считывать именно как код. если например датчики заверены на RB0 - RB2 / то получаем готовый код от 000 до 111 т.е. 0 - 7 . 0 и 7 считаем аварией все шимы в 0. а остальные 1 -6 являются указателями для таблицы, значения из таблицы и указывают какой шим включен.

DarthGray

Цитата: VVK от 30 Окт. 2012 в 21:37
У меня и мысли не было, что сигналы с холла нужно инвертировать. Я их всегда использовал в качестве счетчика импульсов, а код с них считывать не приходилось.
Инвертирование сигналов с холлов даёт реверс, больше ничего
Тут скорее сказалась их буферизация
Различие между теорией и практикой на практике гораздо больше, чем в теории.

VVK

Цитата: DarthGray от 31 Окт. 2012 в 10:15
Инвертирование сигналов с холлов даёт реверс, больше ничего
Тут скорее сказалась их буферизация

Начал вращать колесо в обе стороны и оказалось,что оно стало тише крутиться только в одну сторону. В другую остался такой же гул. Далее стал менять провода подключения обмоток двигателя, и нашел вариант, когда колесо работает тихо в обе стороны. Т.е. на данный момент можно считать, что МК работает нормально, хотя таблица коммутации не совпадает с Microchip'овской (из первого поста). Как-то это все странно. Буду еще раз снимать диаграммы и сравнивать с китайским контроллером, которого пока еще нет.
Сейчас инвертирование сигналов с датчиков действительно влияет только на направление вращения.

варп

VVK , не могу заочно дать тебе точных рекомедаций , могу только дать совет ( может это и выглядет смешно...) , но , потрать пол-часа времени , поизучай вот здесь https://electrotransport.ru/index.php/topic,15402.90.html, то , что я нарсовал на тетрадном листе , постарайся в логику въехать...Ты очень быстро поймёшь , что если в таком двигателе либо датчики Холла перетусовать , либо поставить их не в тех местах , либо фазы неправильно подключить - вся логика работы - коту под хвост ...Если здесь разберёшься , на своём колесе легче будет понять , что не так...
Пытался для себя сегодня управляющие сигналы на ключи более доходчиво нарисовать , вот что вышло
- Верхний ключ  ААВВССААВВССААВВСС..... 
- Нижний  ключ  ВССААВВССААВВССААВ...
...буквы фаз смотри сверху вниз....Закономерность на лицо.....

nikvic

Цитата: VVK от 31 Окт. 2012 в 16:41
Начал вращать колесо в обе стороны ...
Есть способ, позволяющий отсеять часть "неправильностей". Пустим слабый ток (от батарейки) через А, В. У колеса возникнет  "фиксированное" положение (относительно магнитных фаз. По углу поворота их много.), которое близко к положению переключения одного холла.
Это переключение должно вызывать в норме переключение между А и В при сохранении подключения С.

варп

#34
Цитата: DarthGray от 31 Окт. 2012 в 10:15
Инвертирование сигналов с холлов даёт реверс, больше ничего

То что инвертирование с холлов даёт реверс - не совсем верно....Давно собирался разобраться , как заставить колесо вращаться в обратную сторону , но всё было недосуг....Сегодня только это сделал...
При вращении колеса в другую сторону , сигналы с холов НЕ инвертируются , а выглядят так, будто холлы 1 и 3 поменяли местами...., а это НЕ инверсия в нормальном понимании....Мало этого - для вращения назад и управление ключами чуть иное....Завтра постараюсь чуть подробнее изложить....

DarthGray

Цитата: варп от 31 Окт. 2012 в 21:46
То что инвертирование с холлов даёт реверс - не совсем верно.....
Это АБСОЛЮТНО верно!
Проверено несколькими независимыми людьми
Да вот хотябы последнее
Цитата: VVK от 31 Окт. 2012 в 16:41
Сейчас инвертирование сигналов с датчиков действительно влияет только на направление вращения.
Различие между теорией и практикой на практике гораздо больше, чем в теории.