Pokračujeme ve vývoji servořadiče MC50, o kterém jsou články zde:

Ovladač používá čip rodiny Renesas Synergy S5D9 a má speciální periferní jednotku pro 6-stupňové ovládání. Pojďme to zvládnout.

Co je to 6-stupňové přepínání

Existuje mnoho vzdělávacích materiálů o tom. Například toto video nebo toto.
Šestistupňové přepínání při maximálním výkonu motoru nevyžaduje žádnou pulzně šířkovou modulaci (PWM) a tím se liší od sinusového řízení napětí, kde je vždy vyžadováno PWM. 6-krokové přepínání vyžaduje podstatně méně procesorových zdrojů.

Další speciální 6-ti stupňové přepínání umožňuje zvýšit rychlost otáčení rotoru až na dvojnásobek oproti maximu dosažitelnému sinusovým řízením. (9.5.6 Expended Speed ​​​​Operation, Bimal K.Bose “Moderní výkonová elektronika a AC ovladače“, ISBN 0-13-016743-6)

Na úsvitu nástupu BLDC motory přišly s vestavěným spínacím obvodem a byly přímo řízeny jednoduchou logikou ze snímačů polohy rotoru bez jakýchkoli mikroprocesorů. Rychlost otáčení byla regulována změnou napětí dodávaného do ovladače motoru. To se charakteristikami prakticky shodovalo s řízením stejnosměrných motorů. Odtud pochází název bezkomutátorový stejnosměrný motor (BLDC).

Jednoduché 6-krokové schéma ovládání motoru BLDC

Na Aliexpressu se můžete setkat s tzv. BLDC motory se třemi koncovkami. Jedná se o motory s vestavěným driverem. Dva napájecí vodiče a jeden ovládací vodič.

Takové motory již používají mikroobvod pro řízení výkonových tranzistorů. V pouzdře na fotografii je čip A4931. Schéma není příliš funkční a nebudeme se jím zabývat.

Převodový motor

Pro práci jsme zvolili široce používaný typ převodového motoru uvedený pod názvem „Planetary Gearbox Gear BLDC NEMA17 24V 90W Brushless DC Motor“ na známých obchodních platformách. Specifikace takového motoru s planetovou převodovkou vypadá takto:

Ze specifikace vyplývá, že motor bez zátěže dosahuje rychlosti 5000 ot./min. Protože motor má 8 pólů (tj. 4 páry), bude maximální frekvence střídavého signálu na vinutí 5000 * 4 = 20000 333 ot./min nebo 3 Hz. Tuto frekvenci a ještě něco navíc musíme zpracovat ze snímačů polohy rotoru a o tuto frekvenci aktualizovat stav silového driveru, tzn. každé XNUMX ms. Pro moderní mikrokontroléry je to více než dostatečná doba, pokud nemusíte provádět složité filtrování nebo řízení pomocí složitého modelu.

Je to opravdu BLDC motor?

Typ motoru je kontrolován zpětným EMF při ručním startování. U BLDC motorů by mělo být EMF lichoběžníkové. Jako tady:

READ
Jak vypadá Hydrangea Grandiflora?

Při pokusu o měření zpětného EMF mezi svorkami motoru je snadné udělat chybu. Může se jevit jako sinusový. Tento sinus se však získá přidáním dvou lichoběžníkových signálů. Sinus se však získá také přidáním dvou sinů. Proto je nutné měřit tak, jak je znázorněno na obrázku níže. K tomu budete muset motor vykuchat, najít v něm spoj tří vinutí a připájet ho měřicím vodičem.

Po všech těchto akcích jsme dostali následující oscilogram.

Modrá a červená čára jsou napětí na dvou svorkách motoru vzhledem ke středu, tzn. fázová napětí Zelená čára - rozdíl mezi nimi, tzn. Síťové napětí.

Modrá a červená čára jsou napětí na dvou svorkách motoru vzhledem ke středu, tzn. fázová napětí Zelená čára – rozdíl mezi nimi, tzn. Síťové napětí.

Motor vůbec nevykazuje BLDC charakteristiku. Jedná se o PMSM s čistě sinusovou charakteristikou. Zřejmě je to dáno konstrukčním znakem rotoru, kterým je magnetizovaný válec bez vizuálně odlišených pólů.

Kvůli tomu trochu ztratíme účinnost při 6-stupňovém přepínání.

Parametr Kv motoru bude roven ((362Hz/4pólový pár)*60)/15V= 362

Mimochodem, srovnání 6ti stupňového přepínání a vektorového řízení aplikovaného na takové BLDC na podobné platformě najdete zde. Výhody FOC, jak vyplývá z dokumentu, jsou spíše iluzorní.

Hallovy senzory

Hallovy snímače jsou umístěny v prostorech mezi zuby rotoru. Umístění není nijak zvlášť přesné.

Model snímače lze přečíst na těle čipu.

To je podobné dobře zdokumentovanému modelu SS41F. Snímače jsou s otevřeným kolektorem, takže na desce jsou instalovány pull-up rezistory R60, R61, R62.

Vytáhněte až +5 Pro zvýšení amplitudy signálu na pozadí rušení. Dále přichází na řadu dělič s filtrem, který snižuje výkyv signálu na 3.3 V, vhodný pro napájení mikrokontroléru.

Filtr vytváří určité zpoždění signálu, ale bez něj může být v signálu značný šum. Senzory samotné mají určité rozdíly v citlivosti a mohou být instalovány s libovolným sklonem. To vše vyvolává možnost spuštění otáčení motoru s nesprávnou komutační sekvencí. V tomto případě se moment síly vyvinuté motorem nemusí příliš lišit od momentu vyvinutého při správné komutaci. Jediným znakem chybné komutace může být několikanásobné zvýšení odběru proudu. Ale protože absolutní hodnota proudu zůstává přijatelná, v rozmezí 1-2 A, bez znalosti skutečného normálního proudu se může zdát, že je vše normální. Při pokusu o aplikaci stejné komutační sekvence v opačném směru však rotace nezačne. A to je jistá známka nesprávné komutace.

READ
Jak odstranit starou mastnotu v kuchyni?

8-pólový a 4-pólový rotor. Co je to za póly?

Póly jsou na rotoru. Na statoru jsou zuby. To není hned každému jasné. A autor zde také na začátku trochu pokulhává. Stává se, že odkazují na počet párů pólů. Například 4-pólový rotor bude mít dva páry pólů. No, samozřejmě, rotor má vždy sudý počet pólů. Zubů ale může být lichý počet.

Na internetu je těžké najít popis komutace, kde by rotor nebyl 4-pólový, 6-zubý (no, pro každého je to snazší kreslit). Dokonce kreslí 2-pólový, 3-kolíkový motor, ačkoli takové motory nejsou komerčně vyráběny. A samozřejmě vám neřeknou, že k otáčení rotoru s různým počtem pólů ve stejném směru budete potřebovat jinou komutační tabulku. Existuje mnoho kombinací kůlů a zubů. Tady neúplná tabulka nalezené na internetu

A potíž je v tom, že motor stejné značky zakoupený v další várce může mít rotor s jiným počtem pólů (koneckonců, rotor z masivního odlitku lze velmi snadno přemagnetizovat). Bude naprosto funkční, ale zatočí se špatným směrem a špatnou rychlostí. Musíte být připraveni rychle změnit způsob přepínání v programu, abyste se přizpůsobili nové konfiguraci. Obecně ale platí, že čím více pólů na rotoru, tím tišší a hladší rotace.

Dobrým zdrojem informací o konfiguraci pólů, zubů, drážek a vinutí BLDC motorů je kniha Dr. Duane HanselmanKonstrukce bezkartáčového motoru s permanentním magnetem. Druhé vydání“, ISBN 1-881855-15-5

Přepínání BLDC je jednoduché, ale ne tak docela.

Řada mikrokontrolérů Renesas Synergy S5D9 má periferní blok nazvaný Output Phase Switching (OPS).

Pokud je u konvenčních mikrokontrolérů pro řízení 6 řídicích signálů budiče motoru vyžadován minimální časovač se 3 komparátorovými bloky se vzájemně invertovanými výstupy, pak je potřeba pouze jeden komparátor a výstupy komparátorů se nepoužívají. To na jedné straně šetří zdroje časovače pro jiné úkoly a na druhé straně nevede k asynchronní restrukturalizaci komparátorů.

V S5D9 je však pouze jedna spínací tabulka. Pokud je potřeba motor otáčet pouze jedním směrem, pak můžete zcela opustit služby procesoru a nechat motor otáčet automaticky na základě signálů ze snímačů polohy rotoru (v našem případě Hallových snímačů). Pokud ale potřebujete změnit směr otáčení rotoru, budete muset explicitně vybrat řádek s tabulkou komutací na základě přerušení od Hallových senzorů. A zde je problém sladit polohu vedení se signály z Hallových senzorů.

READ
Jak určit tloušťku vodou ředitelné barvy?

Někdy můžete od „specialistů“ na asynchronní motory slyšet, že ke změně směru stačí jednoduše změnit fáze na motoru. U BLDC to tak nefunguje. Nemůžete jednoduše změnit fáze motoru. Nebude to fungovat, i když zaměníte libovolné fáze na motoru a Hallových senzorech. Měnit lze pouze vzájemně propojené fáze motoru a Hallových snímačů, ale to není schematicky tak levné.

Níže je schéma použité k určení spínací sekvence tranzistorů ovladače a zobrazení bitových masek sady signálů z Hallových snímačů do řádků vestavěné spínací tabulky mikrokontroléru.

Programování časovače s komparátory pro modul OPS je celkem jednoduché, pokud nepoužíváte API se zbytečnými vrstvami abstrakce. Níže uvedený kód inicializuje časovač, aby běžel v režimu trojúhelníkových vln. Tito. Časovač se periodicky nejprve zvyšuje a poté snižuje. Zde se také konfiguruje komparátor pro spouštěcí signál ADC. Samotný OPS není třeba inicializovat. OPS má pouze jeden registr a je zapsán s požadovanou hodnotou okamžitě v přerušení vyvolaném po dokončení převodu ADC. ADC přerušení slouží také ke změně spínacího stavu výkonových tranzistorů.

Hallovy senzory nepoužívají přerušení. Protože signály ze snímačů přicházejí asynchronně s PWM, okamžitá odezva na změny stavu Hallových snímačů by často vedla k nutnosti zkrátit PWM impulzy a změny v periodě vzorkování ADC. A jak je ukázáno níže, synchronismus a předvídatelnost provozu ADC jsou velmi důležité.

Tvrdé přepínání a měkké přepínání

Existují různé způsoby, jak přepínat výkonové tranzistory během aplikace PWM. Čtyři způsoby jsou znázorněny na obrázku níže. Všechny vycházejí ze stejného stavu v rostoucí fázi proudu v cívce motoru, ale liší se tím, jak je cívka spínána ve fázi poklesu proudu.

V režimu tvrdého přepínání (režim zpětné vazby v některé literatuře) je PWM dodávána do horního i dolního ramene. Proud vinutí při nízké úrovni pulzu PWM je absorbován do napájecí sběrnice přes diody horního a spodního tranzistoru nebo přes uzavřené protilehlé tranzistory. K současnému rozpadu dochází rychle. Řízení proudu lze zajistit co nejrychleji.

V režimu měkkého spínání (režim s volnoběhem) je PWM přiváděno pouze do horních tranzistorů a proud vinutím při nízké úrovni pulzu PWM je zkratován přes spodní otevřený tranzistor a diodu druhého spodního tranzistoru nebo přes oba spodní tranzistory. Zde můžete také postupovat opačně a aplikovat PWM na spodní tranzistory a horní nechat otevřený. Proud klesá pomaleji, ale řízení je dosaženo se zpožděním. Měkké spínání přenáší hlavní teplo do motoru.

READ
Jak spojit starý a nový beton?

Modul OPS mikrokontroléru umožňuje ovládání v obou režimech, ale nemusí být použity všechny režimy a přerušení.

Standardně používáme tvrdé spínání v metodě 1. V tomto případě je proud cívky motoru absorbován co nejrychleji.

K ovládání motoru potřebujete znát proud. Vědět přesně.

Točivý moment motoru je přímo úměrný proudu procházejícím vinutím motoru, pokud je řízení správné. Řízením proudu tedy řídíme moment nebo otáčky, pokud je moment konstantní. A proud řídíme změnou napětí pomocí PWM na vinutí motoru, abychom dosáhli požadované hodnoty proudu. To vše se děje dynamicky a rychle s prvky predikce, heuristiky, filtrování a prvků šamanismu. A čím přesněji a rychleji měříme proud, tím méně triků a zdrojů procesoru musíme utratit.

Sigma-delta ADC měří velmi přesně. A jsou levné. Ale to je nebezpečné pokušení. Spínací výkonové tranzistory je nepřetržitá hromada šumu, i když není PWM. Levné sigma-delta ADC vzorkují po jednom bitu, ale na vysoké frekvenci, takže zachycují okamžiky přechodných procesů, a proto do signálu dostávají mnohem více šumu.

Červená a modrá - signály na svorkách motoru vzhledem k zemi během komutace bez použití PWM. Fialová je součtem těchto dvou signálů

Červená a modrá jsou signály na svorkách motoru vzhledem k zemi během komutace bez použití PWM. Fialová je součtem těchto dvou signálů

Obecně uznávanou metodou je PWM synchronizované měření. ADC je vzorkován uprostřed pulzů PWM modulátoru. V tomto okamžiku tranzistory nespínají a zdá se, že nedochází k žádnému rušení.

Při pohledu na oscilogramy signálů na svorkách motoru můžete vidět poměrně bezpečná místa pro odběr vzorků ADC.

Při pohledu na oscilogramy signálů na svorkách motoru můžete vidět poměrně bezpečná místa pro odběr vzorků ADC.

Ale stále bude docházet k rušení, k němu dochází při rezonančních oscilacích v těch vinutích, ve kterých je proud přerušen. Ale samplování v těchto bodech lze na jedné straně ignorovat, na druhou stranu rušení v těchto okamžicích není tak silné.
Dalším problémem je doba vzorkování vzorků ADC. Mikrokontrolér ADC je vícekanálový. V době klidu potřebujeme digitalizovat mnoho signálů, nejde jen o proudy motoru, ale i o hodnoty z teplotních čidel, napěťových čidel, servosenzorů atd. To trvá až deset mikrosekund. To znamená, že minimální doba trvání aktivního pulzu nemůže být příliš krátká. Tito. Pracovní cyklus by neměl být menší než 10 % při frekvenci PWM 16 KHz, jinak budou některé vzorky zahrnuty v době přepínání.

READ
Jak funguje sluneční soustava?

Proč potřebujete trojúhelníkovou vlnu PWM?

Ostatně PWM můžete jednoduše použít na pult s nahoru a dolů, tzn. pilovým signálem. Je to jednoduché a přehledné. Problém pak ale nastává se synchronizací ADC.

Triangle-wave PWM – to je název tohoto režimu od Renesas, ostatní mohou najít definici jako symetrické PWM. Symetrické PWM je potřeba, aby vzorky ADC mohly být navázány přesně na střed pulzu a vzorkovací frekvence nekolísala při změně pracovního cyklu.

Samotný postup obsluhy přerušení ADC není složitý a vypadá takto:

Komunikace mezi ADC a časovačem GPT0, který generuje PWM pro modul OPS, probíhá prostřednictvím modulu Event Link Controller (ELC). ELC je samostatný modul v sadě čipových periferií určený k řízení směrování diskrétních signálů mezi různými periferiemi. Celkem může vstupní modul pracovat s 511 signály a přesměrovat je na 19 konkrétních příjemců. Mezi přijímači jsou oba palubní ADC se dvěma vyhrazenými signály pro každý (je možné uspořádat dvě skupiny se samostatnými konfiguracemi skenování pro každou)

Zahájení vzorkování ADC je iniciováno signálem ELC_EVENT_GPT0_AD_TRIG_A (184) přicházejícím z časovače GPT0 v okamžiku, kdy se jeho hodnota shoduje s hodnotou registru komparátoru spouštění ADC. Časovače GPT mají speciální komparační registry pro generování pomocných signálů speciálně pro odesílání do ADC.

Inicializace ADC vypadá takto:

Důležitým bodem je, že čip S5D9 je schopen současně vzorkovat až 6 analogových signálů. To vám umožní zbavit se chyb v sekvenčním měření, ke kterým dochází u běžných mikrokontrolérů s 2modulovými vícekanálovými ADC. Odebrané vzorky jsou pak postupně jeden po druhém digitalizovány. Zbývající kanály jsou vzorkovány a digitalizovány postupně jeden po druhém bez pauzy. Celkově celý proces vzorkování a digitalizace trvá při aktuálním nastavení asi 2 μs. Zkrácení doby vzorkování může snížit přesnost měření.

Pořadí vzorkování je určeno číslem kanálu. Kanály s nižšími čísly jsou vzorkovány jako první. Kromě toho jsou také vzorkovány vnitřní kanály vestavěného teplotního senzoru a referenční napětí. Vzorky se odebírají jako poslední.