VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Počítačové systémy
Systém pohonů automatického osazovacího s t ro j e s o u č á s t e k S M D bakalářská práce
Autor: Jiří Balcar Vedoucí práce: Ing. Ivan Krejčí CSc. Jihlava 2015
Abstrakt Tato bakalářská práce se zabývá návrhem pohonné jednotky zařízení pro automatické osazování elektronických součástek SMD. V úvodu práce je rozbor možností volby pohonné jednotky z hlediska technického i ekonomického. Další část se zabývá konkrétní realizací. V práci jsou též zhodnoceny výsledky a provedeny úpravy na základě vyhodnocených poznatků.
Klíčová slova Krokový motor, mikrokontrolér, osazovací stroj, senzor polohy, sběrnice CAN, mikrokrokování.
Abstract This bachelor thesis deals with the design of drivers for automatic SMD pick and place machine. At the beginning there is the analysis of possible actuators regarding its technical and economic parameters. Next part deals with putting the acquired knowledge into practice. The measurement and other outputs of practical use are evaluated at the end of thesis followed by the suggestion of possible changes of the equipment.
Key words Stepper motor, microcontroller, pick and place machine, position sensor, CAN bus, microstepping.
Prohlašuji, že předložená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem v práci neporušil/a autorská práva (ve smyslu zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů, v platném znění, dále též „AZ“). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím užitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen s tím, že na mou bakalářskou práci se plně vztahuje AZ, zejména § 60 (školní dílo). Beru na vědomí, že VŠPJ má právo na uzavření licenční smlouvy o užití mé bakalářské práce a prohlašuji, že s o u h l a s í m s případným užitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, že užít své bakalářské práce či poskytnout licenci k jejímu využití mohu jen se souhlasem VŠPJ, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených vysokou školou na vytvoření díla (až do jejich skutečné výše), z výdělku dosaženého v souvislosti s užitím díla či poskytnutí licence. V Jihlavě dne
............................................... Podpis
Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce Ing. Ivanu Krejčímu CSc. za cenné rady, připomínky a pomoc při vedení bakalářské práce.
Obsah 1
Úvod a motivace ..................................................................................................... 10
2
Současný stav .......................................................................................................... 11 2.1
2.1.1
Asynchronní motor ................................................................................... 11
2.1.2
Synchronní motor ..................................................................................... 12
2.1.3
Stejnosměrný motor .................................................................................. 12
2.1.4
Stejnosměrný motor s elektronickým komutátorem (EC) ........................ 13
2.1.5
Krokové motory ........................................................................................ 14
2.1.6
Lineární motory ........................................................................................ 16
2.2
Způsoby řízení hybridních krokových motorů ................................................. 17
2.2.1
Čtyřtaktní .................................................................................................. 17
2.2.2
Osmitaktní ................................................................................................. 17
2.2.3
Mikrokrokování ........................................................................................ 18
2.3
Servomotor pro řízení modelů ......................................................................... 19
2.3.1
Konstrukce ................................................................................................ 19
2.3.2
Řízení ........................................................................................................ 19
2.4
Sběrnice RS232 ................................................................................................ 20
2.5
Sběrnice CAN .................................................................................................. 21
2.6
Výběr ze senzorů polohy.................................................................................. 22
2.6.1
Optický inkrementální .............................................................................. 22
2.6.2
Induktosyn ................................................................................................ 23
2.6.3
Magnetický ............................................................................................... 24
2.7 3
Druhy elektrických pohonů .............................................................................. 11
Popis mechanické konstrukce stroje ................................................................ 24
Zvolený způsob řešení ............................................................................................ 28 3.1
Výběr typu pohonu ........................................................................................... 28
3.1.1
Pohon osy X a Y ....................................................................................... 29
3.1.2
Pohon osy Z a C ........................................................................................ 29
3.1.3
Pohon posouvacího hrotu a rozvaděče vzduchu ....................................... 29
3.2
Volba senzoru polohy ...................................................................................... 29
3.3
Blokové schéma ............................................................................................... 29
3.4
Celkový popis funkce ....................................................................................... 30
3.5
Modul CPU verze 1 .......................................................................................... 31
3.5.1
Vývojová deska STM32F4 discovery....................................................... 31
3.5.2
Mikrokontrolér STM32F407 .................................................................... 32
3.5.3
Zdroje ........................................................................................................ 34
3.5.4
Vstupy a výstupy ...................................................................................... 34
3.6
Modul CPU verze 2 .......................................................................................... 35
3.6.1
Řadič sběrnice CAN SN65HVD256......................................................... 35
3.6.2
Vstupy a výstupy ...................................................................................... 36
3.7
Modul snímače polohy ..................................................................................... 37
3.7.1
Integrovaný snímač polohy AS5311 ......................................................... 37
3.7.2
Mikrokontrolér STM32F103C8T6 ........................................................... 39
3.7.3
Zdroj LDO LP3985 ................................................................................... 41
3.8
Modul ovladače krokového motoru ................................................................. 41
3.8.1
Mikrokontrolér ATmega8 [22] ................................................................. 42
3.8.2
Integrovaný řadič A3986 .......................................................................... 42
3.8.3
Funkce ....................................................................................................... 45
3.9
Modul měření tlaku .......................................................................................... 46
3.9.1
Zdroj.......................................................................................................... 46
3.9.2
Diferenciální zesilovač ............................................................................. 46
3.9.3
Tlakový senzor MPX 2050 ....................................................................... 46
3.9.4
Řízení dráhy krokových motorů ................................................................... 48
3.10 3.10.1
Základní fyzikální vztahy a veličiny ......................................................... 48
3.10.2
Řízení rozjezdu a zastavení....................................................................... 49
3.11
Komunikace s PC ......................................................................................... 49
3.11.1
Porovnání s ISO/OSI modelem................................................................. 50
3.11.2
Popis protokolu ......................................................................................... 50 Komunikace CAN sběrnice .......................................................................... 51
3.12 4
5
Vývoj software ........................................................................................................ 54 4.1
Použité prostředky............................................................................................ 54
4.2
Skladba a hlavní bloky programu .................................................................... 54
4.2.1
Generátor pulsů pro krokové motory ........................................................ 55
4.2.2
Příjem příkazů ze sériové linky ................................................................ 56
4.2.3
Hlavní smyčka programu .......................................................................... 58
Testování a změny .................................................................................................. 59 5.1
6
Funkce ....................................................................................................... 47
Test linearity a přesnosti .................................................................................. 59
5.1.1
Způsob testování ....................................................................................... 59
5.1.2
Analýza FFT ............................................................................................. 59
5.1.3
Výsledky ................................................................................................... 60
5.2
Test rychlosti .................................................................................................... 63
5.3
Popis změn ve verzi 2 na základě výsledků testu ............................................ 64
5.3.1
Odstranění problému s řadičem A3986 .................................................... 64
5.3.2
Zpětnovazební řízení s lineárním snímačem polohy ................................ 64
Závěr a další kroky ................................................................................................. 65 6.1
Splnění cílů....................................................................................................... 65
6.2
Předpokládaná další verze ................................................................................ 65
7
Citovaná literatura................................................................................................... 67
8
Seznam zkratek ....................................................................................................... 70
9
Seznam obrázků ...................................................................................................... 72
10 Přílohy..................................................................................................................... 74 10.1
Schéma základní desky verze 1 .................................................................... 74
10.2
Osazení základní desky verze 1 .................................................................... 76
10.3
Schéma základní desky verze 2 .................................................................... 77
10.4
Osazení základní desky verze 2 .................................................................... 80
10.5
Schéma odměřování polohy ......................................................................... 81
10.6
Osazení desky odměřování ........................................................................... 82
10.7
Schéma ovladače krokového motoru............................................................ 83
10.8
Osazení ovladače krokového motoru ........................................................... 84
10.9
Schéma modulu měření tlaku ....................................................................... 85
10.10
Osazení modulu měření tlaku ....................................................................... 86
10.11
Modul STM32F4 discovery rozměry ........................................................... 87
10.12
Obsah přiloženého CD ................................................................................. 88
1
Úvod a motivace
V současné době se v elektronických zařízeních používají desky plošných spojů osazené především součástkami pro povrchovou montáž (SMD). Tyto SMD součástky se při hromadné a sériové výrobě osazují pomocí automatických osazovacích strojů. Malé série a prototypy se obvykle osazují ručně nebo pomocí jednoduchých manipulátorů. Pro malé firmy, které vyrábí malé série a prototypy, je cena osazovacího automatu obvykle příliš vysoká. V poslední době se na trhu objevila řada strojů, které se snaží nižší cenou proniknout do tohoto sektoru firem. Tyto stroje většinou nejsou ještě dostatečně levné nebo nemají potřebné parametry. Proto ve firmě, kde pracuji, bylo rozhodnuto, že bude vyvinut potřebný stroj s minimálními náklady, velkou flexibilitou a výkonem převyšujícím ruční osazování (výkon ručního osazování dosahuje v naší firmě cca 600 součástek za hodinu). Tento stroj by měl být jednoduše vyrobitelný po mechanické, elektronické i programové stránce. Při vývoji je nutno vycházet především z Open Source software. V tomto vývoji mi připadl úkol navrhnout hardware a firmware pro pohony a jejich řízení. Tímto se zabývá také tato bakalářská práce.
10
2
Současný stav
2.1 Druhy elektrických pohonů Základem každého elektrického pohonu je použitý elektrický motor, který určuje nejen technické parametry pohonu, ale i jeho technické prostředky a algoritmus řízení. Proto hodnocení současného stavu vychází z přehledu dostupných typů elektrických motorů a porovnání jejich vlastností z hlediska možnosti řízení, manipulační rychlosti a přesnosti polohování, které jsou podstatné pro výběr vhodného motoru. 2.1.1 Asynchronní motor Stator třífázového asynchronního motoru je tvořen dynamovými plechy, v kterých jsou drážky pro uložení statorového vinutí. Plechy jsou na sebe naskládány do tvaru dutého válce. Začátky a konce vinutí jsou připojeny na svorkovnici tak, že je možné použít zapojení vinutí do trojúhelníka nebo do hvězdy.
Obrázek 1 - princip činnosti asynchronního motoru [1]
Dva nejběžněji používané typy asynchronních motorů:
S kotvou nakrátko – rotor má tvar klece. Klec je složena ze dvou čel, která jsou propojena vodiči vytvářejícími zkrat.
S kotvou kroužkovou – rotor je tvořen dynamovými plechy a má drážky, ve kterých jsou umístěna tři vinutí. Konce vinutí jsou připojena na sběrací kroužky. Přes tyto kroužky a kartáče je připojen regulační obvod.
Po připojení statorového vinutí na síť vytvářejí proudy statorového vinutí točivé magnetické pole (viz obrázek 1), které indukuje ve vinutí rotoru napětí. Toto indukované napětí vytváří v uzavřeném rotorovém vinutí proud. Rotor si tedy vytváří své vlastní elektromagnetické pole. Magnetická pole rotoru a statoru na sebe navzájem
11
působí silovým účinkem magnetického pole. Důsledkem tohoto působení je vznik točivého momentu ve směru otáčení magnetického pole statoru. Jak otáčky rotoru vzrůstají a přibližují se otáčkám elektromagnetického pole, tak tím klesají indukované proudy a intenzita jimi vytvářeného pole. To má za následek klesání otáček rotoru a tím i točivého momentu motoru. Tento motor nikdy nedosáhne otáček daných frekvencí napájecího proudu, pokud je alespoň minimálně zatížen. 2.1.2 Synchronní motor Stator synchronního elektromotoru je konstruován obdobně jako u motoru asynchronního, je tvořen dynamovými plechy a statorovým vinutím uloženým v drážkách statoru. Jednotlivá vinutí jsou připojena na svorkovnici. Rotor je obvykle zhotoven z dynamových plechů a vinutí, které je napájeno přes sběrné kroužky. Existuje také provedení s permanentním magnetem na rotoru.
Obrázek 2 - synchronní motor [2]
K vytvoření magnetického točivého pole ve statoru dojde po zapnutí elektromotoru do sítě. Póly statoru jsou střídavě přitahovány a odpuzovány póly rotoru. Rotor se z nulových otáček díky své setrvačné hmotě není schopen roztočit bez pomoci. Pro prvotní roztočení muže být v motoru instalováno startovací vinutí, které umožnuje start podobný asynchronnímu motoru. Po roztočení je rotor unášen točivým magnetickým polem statoru a jeho pohyb je s tímto polem synchronní.
2.1.3 Stejnosměrný motor Stejnosměrný motor, který se skládá ze statoru a rotoru, je historicky nejstarším typem motoru. Stator je tvořen elektromagnetem nebo permanentním magnetem. V případě
12
elektromagnetu se skládá ze svazku dynamových plechů naskládaných na sebe do tvaru dutého válce a z vinutí, které je napájeno stejnosměrným proudem. Stator obsahuje minimálně dva póly. Rotor je složen z dynamových plechů s drážkami, ve kterých je umístěno vinutí. Začátky a konce vinutí jsou připojeny k vzájemně izolovaným lamelám komutátoru, který je připevněn na hřídeli elektromotoru.
Obrázek 3 - stejnosměrný motor [3]
Na lamely komutátoru dosedají kartáče, přes které se přivádí stejnosměrný elektrický proud do vinutí rotoru. Výhodou tohoto motoru je velmi jednoduché řízení. Nevýhodou je nutnost komutátoru, který podléhá opotřebení a jiskřením způsobuje rušení. 2.1.4 Stejnosměrný motor s elektronickým komutátorem (EC) Zjednodušeně řečeno je princip EC motoru takový, že postupným spínáním jednotlivých cívek dochází ke vzniku vnitřního točivého momentu motoru. Spínání cívek je řízeno elektronicky pomocí výkonových spínacích tranzistorů. Otáčky EC motoru jsou pak řízeny frekvencí spínaní tranzistorů.
13
Obrázek 4 - princip motoru s elektronickým komutátorem [4]
2.1.5 Krokové motory Reluktanční typ krokového motoru (pasivní rotor) patří mezi nejstarší. Na obrázku 5 je řez tímto motorem. Stator je složen z plechů z magneticky měkkého materiálu s osmi pólovými nástavci. Rotor se skládá obvykle též z plechů s vyniklými póly.
Obrázek 5 - krokový motor reluktanční [5]
Protilehlé cívky tvoří vždy jednu fázi. Při průchodu proudu fází se v rotoru indukuje magnetické pole a rotor se natáčí do směru nejmenšího magnetického odporu. Postupným přepínáním proudu ve fázích vznikne rotační pohyb.
14
Obrázek 6 - krokový motor s permanentními magnety [5]
Krokový motor s permanentními magnety (aktivní rotor) je zachycen na obrázku 6. Stator je tvořen plechy z magneticky měkkého materiálu. Rotor je tvořen magnetem, jehož póly jsou střídavě zmagnetovány na severní a jižní. Postupným zapínáním a střídáním polarity proudu je dosaženo rotačního pohybu.
Obrázek 7 - hybridní krokový motor [6]
Na obrázku 7 je zobrazen řez hybridním krokovým motorem. Tento motor je kombinací předchozích dvou typů. V současné době je nejvíce používán. Jeho hlavní výhodou je velký počet kroků na otáčku a velký krouticí moment.
15
2.1.6 Lineární motory Lineární motory vzniknou z rotačních rozvinutím statoru a rotoru do přímky. I jejich řízení a konstrukce jsou obdobné, proto nebudou jednotlivé typy popsány. Příkladem může být obdoba hybridního krokového motoru, jehož princip je na obrázku 8.
Obrázek 8 - lineární krokový motor [7]
16
2.2 Způsoby řízení hybridních krokových motorů 2.2.1 Čtyřtaktní Tento způsob řízení je vhodný především pro vysoké otáčky. V nízkých otáčkách způsobuje značné chvění. Má malý počet kroků na otáčku.
Obrázek 9 - průběhy proudu při čtyřtaktním řízení [8]
2.2.2 Osmitaktní Od čtyřtaktního řízení se liší 2x větším počtem kroků na otáčku, má menší krouticí moment a hladší chod v malých otáčkách.
Obrázek 10 - průběhy proudu při osmitaktním řízení [8]
17
2.2.3 Mikrokrokování Tento způsob řízení poskytuje nejvyšší počet kroků na otáčku a je vhodný především pro malé otáčky. Vyžaduje složitější řadič, který je schopen generovat aproximovaný sinusový průběh proudu.
Obrázek 11 - průběh proudu při mikrokrokování [9]
18
2.3 Servomotor pro řízení modelů 2.3.1 Konstrukce Servomotor pro řízení modelů se skládá obvykle ze stejnosměrného motoru, převodovky, potenciometru, řídící elektroniky a krabičky, ve které je vše vloženo.
Obrázek 12 - konstrukce modelářského servopohonu [10]
2.3.2 Řízení Servopohon je připojen tří-žilovým kabelem s konektorem. Na konektoru jsou dva vodiče + a – napájení a jeden vstup pro datový signál s řídicími impulsy.
Obrázek 13 - servo signál [11]
19
Řídící pulsy mají periodu přibližně 20 ms, logickou úroveň TTL a střední šířku 1,5 ms. Poloha servomechanismu je úměrná šířce pulsu. Šířka pulsu 1 ms a 2 ms jsou krajní polohy 1,5 ms střední poloha.
2.4 Sběrnice RS232 Ze zadání práce vyplývá použití komunikačního rozhraní RS232 pro komunikaci mezi nadřazeným PC a řídicí elektronikou stroje. Toto rozhraní používá k přesunu dat sériový asynchronní způsob. Sběrnice RS232 v referenčním ISO/OSI modelu znamená pouze vrstvu 1 čili fyzickou. Skládá se ze dvou datových (TXD a RXD) signálů a dalších řídicích signálů. Jako vyšší vrstva komunikace se používá asynchronní sériový přenos. Dříve byl požíván konektor DB-25 M, nyní se již téměř výhradně používá DB-9 M. TXD signál je výstupní a vysílá data, pro příjem je určen signál RXD. Řídící signály se v jednoduché komunikaci nemusí vůbec použít, jsou zde především pro řízení modemů. Datové signály (tj. RXD a TXD): logická 0 je +3 V až +15 V, logická 1 je -3 V až -15 V
Obrázek 14 - přenos znaku s kódem 75 [12]
20
2.5 Sběrnice CAN CAN je velmi kvalitně navržená sériová sběrnice vyvinutá firmou Bosch původně určená pro automobilový průmysl. Postupem času se začala používat i v průmyslové automatizaci. Sběrnice je typu multi-master a není zde použito adresování. Vysílaná zpráva je přijímána všemi jednotkami. Priorita zpráv se řídí identifikátorem zprávy, nevyšší prioritu má zpráva číslo 0.
Obrázek 15 - příklad fyzické vrstvy CAN [13]
Fyzická vrstva je založena na principu logického součinu a definuje dva stavy: recesivní a dominantní.
Obrázek 16 - fyzické uspořádání sítě dle ISO 11898 [13]
Prakticky se používá obvykle zapojení podle ISO 11898, kde stavy recesivní a dominantní jsou definovány jako diferenciální napětí mezi dvěma vodiči. Napětí pro dominantní stav musí být větší než 900 mV a pro recesivní menší než 500 mV. Fyzické medium je kroucená dvoulinka s impedancí 120 Ω. Z důvodu impedančního přizpůsobení musí být sběrnice zakončena rezistory 120 Ω. Maximální rychlost je 1 Mbit/s do 40 m délky. Pro delší vzdálenosti se rychlost snižuje.
21
Obrázek 17 - datová zpráva CAN 2.0A [13]
Významy jednotlivých datových polí:
Začátek zprávy (1bit) SOF - Start of frame.
Řízení přístupu ke sběrnici a identifikátor zprávy (Arbitration Field),(11bitů), určuje prioritu zprávy a význam přenášené zprávy.
RTR (Remote Request) - (1bit), slouží k rozlišení zprávy, zda jde o datovou zprávu (dominantní) nebo žádost o přístup ke sběrnici (recesivní).
Řídící pole (Control Field), R0 a R1 (2bity), rezervováno.
Délka datové zprávy (4bity).
Datová oblast (Data Field),(max. 8Byte).
CRC - zabezpečovací kód (15bitů).
ERC - (1bit) dominant, CRC oddělovač.
Potvrzení ACK - (2bity), z toho 1bit (ACK), 1bit oddělovač (ACD)-recesivní.
Konec zprávy (End of Frame) - (7bitů) recesivní.
Mezera mezi zprávami (Interfame Space) - (3bity) recesivní.
Protokol CAN definuje pouze fyzickou a linkovou vrstvu dle modelu ISO/OSI. Vyšší vrstvy je nutno zajistit jinými protokoly například Device Net, CANopen.
2.6 Výběr ze senzorů polohy Z řady typů senzorů polohy jsou v souvislosti s danou úlohou zajímavé pouze lineární. Z lineárních senzorů je dále uveden výběr několika typů. 2.6.1 Optický inkrementální Tento senzor se skládá z optického pravítka, na kterém jsou pravidelně rozmístěny propustné a nepropustné části, a jezdce, který má tyto časti také. Vhodným rozmístěním propustných a nepropustných částí na jezdci lze vytvořit dva logické signály vzájemně
22
posunuté o 90°. Tyto signály již slouží jako kvadraturní výstup pro snímání polohy. Optické senzory jsou z hlediska přesnosti a stability z tohoto výběru asi nejlepší, jejich nevýhodou je však vysoká cena a nutnost kvalitního zakrytování.
Obrázek 18 - inkrementální optický snímač polohy [14]
2.6.2 Induktosyn Skládá se z pravítka s meandrem, který je napájen střídavým napětím, a jezdce se dvěma meandry. Meandry na jezdci jsou rozmístěny tak, aby snímaná napětí z pravítka byla posunuta o 90°.Vyžaduje složitější elektroniku pro vyhodnocení a nevýhodou je též nutnost napájení pravítka i jezdce přesným střídavým napětím.
23
Obrázek 19 - induktosyn [14]
2.6.3 Magnetický Lineární magnetický snímač polohy se skládá z magnetického pásku, který je zmagnetován střídavě na jižní a severní póly s pravidelnou roztečí, a jezdce, který snímá intenzitu magnetického pole Hallovými senzory. Má vyhovující přesnost i stabilitu a je levný.
Obrázek 20 - magnetický senzor polohy [15]
2.7 Popis mechanické konstrukce stroje Celkový pohled na stroj je na obrázku 21, na obrázcích následujících jsou některé důležité podsestavy.
24
Motor osa Y
referenční spínač
uchycení DPS
x Y
stop tlačítko podavač pásky SMD součástky navíjení krycí pásky
Obrázek 21 - celkový pohled na stroj [16]
vývěva motor osa Z pneumatický rozváděč servo
motor osa Y referenční spínač Y servo - hrot
referenční spínač Z
motor osa C kamera
vakuová pinzeta
Obrázek 22 - pojízdné rameno osy Y [16]
25
Obrázek 23 - rozvaděč vzduchu [16]
referenční spínač Z
motor osa Z
pneumatický rozváděč servo servo - hrot
Motor osa C
hrot posuv pásky kamera
trapézový šroub TR 12x6
vakuová pinzeta
Obrázek 24 - vozík osy Z [16]
Pojmenování os stroje:
Osa X je podélná.
Osa Y je příčná.
Osa Z je svislá.
Osa C je osa rotace součástky.
Mechanická konstrukce stroje se skládá ze základního rámu, na kterém jsou připevněny zásobníky a vodicí tyče pojezdu osy X. Po vodicích tyčích této osy jezdí rameno, na kterém jsou umístěny další vodicí tyče osy Y. Na ose Y jezdí osazovací hlava s vodicími tyčemi osy Z. Na osazovací hlavě je umístěna vývěva/kompresor a vozík
26
osy Z, který obsahuje rozvaděč vzduchu s pohonem, dutý osazovací hrot s pohonem (osa C) a hrot posuvu součástky s pohonem.
27
3
Zvolený způsob řešení
Při výběru řešení byl kladen důraz na nízkou cenu při zachování užitných vlastností dle zadání. Také byla brána na zřetel dostupnost komponent, opakovatelnost a doba zhotovení. Při tomto omezení není samozřejmě možné výkon porovnávat s výrobky renomovaných firem, které se zabývají vývojem řadu let a cenově jsou o řád výše. Pro potřeby malé firmy s malosériovou až kusovou výrobou není však maximální výkon prioritou.
3.1 Výběr typu pohonu Vzhledem k podmínkám realizace byly již v prvním kole výběru vyloučeny tyto typy pohonů:
Asynchronní motor je pro toto použití příliš velký a vektorový měnič, který musí být pro přesné polohování, je příliš drahý.
Synchronní motor je vhodný též pro pohony většího výkonu a je drahý.
Stejnosměrný motor se pro své nevýhody (hlavně komutátor) v dnešní době přestává používat. Kvalitní motory jsou drahé a obtížně dostupné.
Lineární motory jsou sice velmi kvalitní, ale drahé a dnes ještě ne zcela běžně dostupné.
Krokové motory reluktanční nejsou pro tento účel běžně dostupné.
Krokové motory s permanentním magnetem mají malé rozlišení a běžně dostupné typy i malý krouticí moment.
Do užšího výběru se tedy dostaly krokové motory hybridní a motory s elektronickým komutátorem. Oba typy motorů jsou dnes používané a dostupné. Rozhodování mezi nimi není úplně jednoznačné. Pro motory s elektronickým komutátorem hovoří jejich lepší průběh krouticího momentu v závislosti na otáčkách, odolnost na přetížení a hladký chod bez rezonancí. Pro krokové hybridní motory hovoří zase cena, pohyb bez zpětné vazby a jednoduchý ovladač. Po zvážení pro a proti bylo rozhodnuto použít krokové motory.
28
3.1.1 Pohon osy X a Y Pro tyto osy byl zvolen motor 57HS09 výrobce Leadshine. Z hlediska polohované hmoty by na příčnou osu mohl být použit i motor s menším výkonem, ale z důvodu téměř stejné ceny a menšího počtu různých komponent je pro pohon obou os použit stejný typ motoru. Motor má krouticí moment 1,3 Nm a proud v paralelním zapojení maximálně 4 A. 3.1.2 Pohon osy Z a C Pro tyto osy byl zvolen motor SX17 1005D od dodavatele Microcon. I zde platí, že motory jsou z důvodu nižšího počtu komponent stejné. Motor má krouticí moment 0,5 Nm při proudu 0,5 A. Na ose C musí být hřídel motoru provrtána pro přívod podtlaku k dutému hrotu, který drží osazovanou součástku. 3.1.3 Pohon posouvacího hrotu a rozvaděče vzduchu Zde byly zvoleny standardní servopohony pro ovládání modelů. Tyto pohony jsou též známé pod názvem modelářské servo nebo jenom servo. Jelikož se jedná o „hračky“, není zcela jasné, jakou budou mít pro dané použití životnost. S těmito pohony mám dlouholeté zkušenosti a myslím, že by pro daný účel měly vyhovět. Pokud dojde k závadě, je to díl běžně dostupný, levný a snadno se vymění. Byl zvolen typ HS5495-BH od výrobce Hitec. Napájení je 6 až 7,4 V, otočení o 60° za 0,17 sekundy a statický tah 6,4 kg/cm. Výstupní hřídel je uložena v kuličkovém ložisku.
3.2 Volba senzoru polohy Při volbě senzoru polohy bylo vzato v úvahu nejenom hledisko nejlepší přesnosti, ale také hledisko ceny a dostupnosti. Po porovnání vyšlo nejlépe řešení s magnetickým senzorem firmy Austriamicrosystems. Tato firma nabízí několik typů magnetických senzorů polohy. Nejlepších parametrů dosahuje AS5311, který byl pro své velmi dobré parametry zvolen.
3.3 Blokové schéma Blokové schéma vychází z mechanické konstrukce a požadavků na funkci. Při rozdělení do jednotlivých desek plošných spojů jsem vycházel z této úvahy: Ovladač krokového motoru se opakuje 4x, proto je výhodné navrhnout jej jako samostatnou desku. Snímač
29
tlaku pracuje s velmi malým signálem a je umístěn na osazovací hlavě, proto je na samostatné desce a složitou kabeláží je veden již zesílený nízkoimpedanční signál. Řídicí mikrokontrolér, vstupy a výstupy jsou umístěny na zbývající desce. Převodník TTL/RS232 je také na samostatné desce a může být vyměněn za jiný typ rozhraní. Výkonové napájecí zdroje 45 V a 12 V jsou zakoupené běžné průmyslové zdroje. Na blokovém schématu je počítáno již s rozšířením o navádění podle kamer a jsou zde dvě nakresleny.
L N
MODUL
PE
ODMĚŘOVÁNÍ Y ZDROJ 48V A 12V
RS232
PC
45V MODUL ODMĚŘOVÁNÍ X
USB
12V
SENZOR TLAKU
CAN
MODUL SNÍMAČE
SERIAL TTL
VÝVĚVA
TLAKU START
SERVO 2 HROT POSUNU
MODUL CPU KROK/SMĚR
GND
GND
45V
MODUL
OVLADAČE MOTORU Y
MODUL
KAMERA
HORNÍ
DOLNÍ
OVLADAČE MOTORU Z
MOTOR Z
3
MODUL
OVLADAČE MOTORU X KAMERA
SERVO 1 ŠOUPÁTKO
1
KROK/SMĚR
3
1
KROK/SMĚR
2
3
1 2
GND
KROK/SMĚR
REFEREČNÍ SPÍNAČ Y
GND
REFEREČNÍ SPÍNAČ X
3
GND
KROK
1 2
AUT O/MANUAL
STOP
MODUL
MOTOR C
OVLADAČE MOTORU C
2
GND
REF EREČNÍ SPÍNAČ Z
USB
TTL/RS232C
GND
LED DOLNÍ
ÚPRAVA PRŮBĚHU
ÚPRAVA PRŮBĚHU
MOTOR X
MOTOR Y
ZELENĚ OZNAČENO JE DOPLNĚK VE VERZI 2
Obrázek 25 - blokové schéma [11]
3.4 Celkový popis funkce Deska CPU přijímá po lince RS232 z PC datové pakety s příkazy a tyto pakety potvrzuje. V této desce se příkazy dekódují a provedou. Prvním příkazem na začátku komunikace musí být nájezd referenčních bodů. Tyto body se najíždějí se sníženou rychlostí, neboť stroj nezná svou pozici a krátká brzdná dráha po vyhodnocení snímače referenčního bodu by způsobila překročení maximálního krouticího momentu motoru.
30
Dále mohou následovat jednoduché příkazy pohybu os a ovládání ostatních akčních členů nebo složitější příkazy s množstvím parametrů pro osazení konkrétní součástky. Aby nedocházelo ke zpoždění, na desce CPU je vytvořena vyrovnávací paměť na jeden příkaz. To znamená, že jeden příkaz se vykonává a další je připraven ve vyrovnávací paměti k vykonání.
3.5 Modul CPU verze 1 Modul CPU je založen na prototypové desce STM34F4 discovery. Tato deska je velmi levná a snížila nároky na návrh nosné desky plošných spojů. Při použití vstupů a výstupů z rozšiřujícího konektoru prototypové desky musel být brán ohled na možné konflikty s vnitřními obvody desky. Ve schématu v příloze 10.1 jsou u těchto vývodů poznámky. Díky vlastnictví příslušné licence jsem mohl pro vytvoření schémat a desek plošných spojů modulu CPU i všech dalších modulů využít software ALTIUM designer. 3.5.1 Vývojová deska STM32F4 discovery Klíčové vlastnosti a základní součástky:
STM32F407VGT6 32bitový MCU s jádrem ARM Cortex-M4F, 1 MB Flash, 192 KB RAM v LQFP100 pouzdře.
ST-LINK/V2 přímo na kitu.
Napájení desky: přes USB nebo z externího zdroje 5 V.
Napájení externí aplikace pomocí: 3 V a 5 V.
LIS302DL, ST MEMS pohybový senzor, 3osý digitální akcelerometr.
MP45DT02, ST MEMS audio senzor, všesměrový digitální mikrofon.
CS43L22, audio DAC s ovladačem třídy D pro reproduktor.
Osm LED: o LD1 (červená/zelená) pro USB komunikaci, o LD2 (červená) pro signalizaci napájení 3.3 V, o čtyři uživatelské LED, LD3 (oranžová), LD4 (zelená), LD5 (červená) a LD6 (modrá), o 2 USB OTG LED LD7 (zelená) Vbus a LD8 (červená) přetížení.
Dvě tlačítka (uživatelské a reset).
31
USB OTG FS s micro-AB konektorem.
Rozšiřovací konektor pro všechny LQFP100 I/O pro rychlé připojení k vývojovým deskám.
3.5.2 Mikrokontrolér STM32F407 STM32F407 je moderní 32bitový mikrokontrolér založený na RISC jádře ARM cortex M4F. Obsahuje adaptivní akcelerátor přístupu k FLASH paměti, což umožňuje vykonávat instrukce frekvencí až 168 MHz. Při této maximální frekvenci má výkon 210 DMIPS. Paměť FLASH může být až 1 MByte, RAM až 192 kByte a zálohovaná RAM 4 kByte. Přehled periferií:
Paralelní interface LCD.
3x 12-bit A/D převodníky.
2x 12-bit D/A převodníky.
16. jednotek přímého přístupu do paměti DMA.
17 čítačů-časovačů z toho dva 32bitové.
Sériový ladící interface SWD a JTAG.
Až 140 I/O portů.
3x I2C.
4xUSART/ 2x UART.
3x SPI.
2x CAN.
SDIO/MMC.
USB 2.0.
Ethernet MAC s rozhraním MII nebo RMII.
Jednotka výpočtu CRC.
Generátor náhodných čísel.
RTC.
Ovladač externí paměti.
96bitové unikátní sériové číslo.
32
Obrázek 26 - blokové schéma mikrokontroléru STM32F407 [17]
33
Napájecí napětí mikrokontroléru je 1,8 až 3,6 V. K vzájemné komunikaci jednotlivých součástí mikrokontroléru slouží vícevrstvý maticový systém 32bitových sběrnic, což umožňuje současné propojení různých součástí mikrokontroléru a tím zrychlení činnosti. Blokové schéma je na obrázku 26. 3.5.3 Zdroje Na základní desce jsou tři zdroje. První zdroj je označený VCC je 5 V napájení desky STM32F4 discovery a pomocné napájení ovladačů krokových motorů. V konstrukci tohoto zdroje je použit integrovaný obvod TPS5430 [18], který je zde značně předimenzován. Jsou možné alternativy i jiných obvodů s nižším výstupním proudem. Zapojení vychází z doporučeného zapojení výrobce. Výstupní napětí je nastaveno děličem R46/R11. Druhý zdroj je označený 3V3 je 3,3 V pro napájení CPU a dalších integrovaných obvodů na prototypové desce. Zde je použit integrovaný obvod LM1117MPX3,3, což je vylepšená verze známé LM117. Tento integrovaný obvod obsahuje i pevný dělič, který nastavuje výstupní napětí. Jeho výhodou je nízká cena a k činnosti potřebuje minimum součástek. Třetí zdroj je označený 6 V pro napájení modelářských servomotorů. Zde je použit také integrovaný obvod TPS5430 jako u prvního zdroje. Změnou oproti doporučenému zapojení je velmi vysoká kapacita (2G) filtračního kondenzátoru a zatěžovací odpor R6. Tato úprava musela být provedena, protože modelářské servomotory mají velký proudový náraz při startu a při brzdění se chovají jako zdroj proudu. Zvláště indukovaný proud při brzdění vadil integrovanému obvodu a výstupní napětí značně kolísalo. 3.5.4 Vstupy a výstupy Základní deska je s deskou STM32F4 discovery propojena pomocí konektorů X1 a X2. Řadiče krokových motorů jednotlivých os jsou připojeny přes konektory X5, X8, X9, X10. Programování paměti FLASH v procesoru probíhá pomocí zaváděcího programu v ROM procesoru přes sériovou linku na konektoru X16. Do konektoru X4 se připojuje modul převodníku úrovně TTL na RS232 a probíhá zde sériová komunikace s PC.
34
Konektory X12, X13, X17 a X19 jsou určeny pro připojení modelářských servomotorů. Vývěva je připojena na svorku X18. Pro spínání vývěvy je nutné použít výkonový spínač, který dokáže sepnout potřebný proud a napětí 12 V. Je tvořen tranzistorem T4 BCR512 a unipolárním tranzistorem IRF7240. K odlaďování programu je určen konektor X7. Kvadraturní enkodér může být volitelně připojen na konektor X17. Konektor X11 sdružuje vstupy referenčních spínačů, analogových vstupů, digitálních výstupů a výkonových výstupů. Vstupy referenčních spínačů jsou doplněny o PULL-UP odpory, které umožňují připojit mikrospínače bez dalších součástek. U vstupů, kde je potřeba ošetřit rušení nebo zákmity, je připojen RC článek ve funkci dolní propusti prvního řádu. Odpor v tomto RC článku slouží zároveň jako ochrana proti přepětí. Před analogovými vstupy jsou zapojeny děliče napětí, které přizpůsobují měřené napětí vstupnímu napětí mikrokontroléru. Do děliče je přidán kondenzátor, s kterým tvoří dělič také dolní propust prvního řádu.
3.6 Modul CPU verze 2 Tento modul vznikl optimalizací CPU modulu první verze. Není zde již použita vývojová deska STM32F4 discovery, ale je použit přímo mikrokontrolér z této desky. Hlavní změnou je doplnění integrovaného obvodu fyzického rozhraní CAN SN65HVD256 výrobce Texas Instruments. Dále byl vypuštěn konektor pro jeden ovladač krokového motoru a doplněn konektor ručního ovládání. Zdrojová část zůstala prakticky stejná. 3.6.1 Řadič sběrnice CAN SN65HVD256 Tento řadič je moderní komunikační obvod pro sběrnici CAN. Může být použit nejenom v automobilových aplikacích, pro které byla CAN sběrnice původně určena, ale i v průmyslových aplikacích řízení strojů. Pomocí těchto řadičů lze vytvořit velmi robustní komunikační systém na rychlosti až 1 Mbit/s. Řadič se vyznačuje vysokou napěťovou odolnosti (-27 až 40 V) a velmi malým a symetrickým zpožděním signálu. Obvod obsahuje zajímavou funkci pro časové omezení dominantního stavu (ve verzi SN65HVD257). Tato funkce ho předurčuje pro konstrukci vysoce spolehlivých redundantních systémů, kdy porucha jedné jednotky nezablokuje sběrnici a jednotka s poruchou se může přepnout automaticky na druhou sběrnici.
35
Obrázek 27 - typické zapojení SN65HVD256 pro 3,3 V MCU [19]
3.6.2 Vstupy a výstupy X3, X5, X8, X9 – připojení řadičů krokových motorů. X23 – ruční ovládací kolečko (nepoužito). X30 – referenční spínač motoru 3 a 4. X29 – digitální vstupy 3 a 4 (nepoužito). X27 – referenční spínač motoru 1 a 2. X26 – digitální vstupy 1 a 2 (nepoužito). X25, X24 – výkonové spínače 12 V. X17, X21. – sběrnice RS485 (nepoužito). X6 – napájení 12 V. X19, X20, X12, X13 – připojení servomotorů. X14 – Displej (nepoužito). X18 – ruční ovládání. X11, X22 – analogové vstupy (nepoužito). X15 – Tlak vzduchu. X32 – CAN sběrnice. X4 – připojení modulu s řadičem sběrnice RS232. Konektory s označením „nepoužito“ jsou připraveny pro budoucí vývoj.
36
3.7 Modul snímače polohy Při konstrukci tohoto modulu byl kladen důraz na spolehlivost a jednoduché připojení s malým počtem vodičů. V modulu je použit již dříve zmíněný obvod AS5311. Tento obvod obsahuje několik komunikačních rozhraní (PWM, inkrementální a SSI), ale pro přenos rychlé a přesné informace v zarušeném prostředí na vzdálenost přibližně 2 m se nehodí ani jedno. Z tohoto důvodu je v modulu použit další mikrokontrolér STM32F103, který zajištuje převod rozhraní SSI na sběrnici CAN. Řešení přenosu informace přes sběrnici CAN je dostatečně odolné proti chybám a je též dostatečně rychlé. Sběrnice používá pouze dva komunikační vodiče, což zmenšuje nároky na kabeláž. Modul je napájen napětím 5 V a pro napájení mikrokontroléru je použit LDO obvod LP3950 výrobce Texas Instruments s napětím 3,3 V . 3.7.1 Integrovaný snímač polohy AS5311 AS5311 je bezkontaktní magnetický lineární senzor pracující na principu Hallova jevu. V senzoru je obsažena Hallova sonda, analogový subsystém a digitální signálový procesor, a to vše na jednom čipu. Čip je zapouzdřen do 20pinového pouzdra TSSOP. Pro měření se používá magnetická páska, která je střídavě zmagnetována na severní a jižní póly s roztečí 1 mm.
Obrázek 28 - princip činnosti obvodu AS5311 [15]
37
Magnetický pár má tedy délku 2 mm. Jedná se o kombinaci inkrementálního a absolutního odměřování. V rámci jednoho magnetického páru se měří poloha absolutně. Rozsah měření je 12 bitů, tedy 0-4095. To znamená, že rozlišení je 2 mm/4095 = 0,488 µm. Pro měření vzdáleností větších než 2 mm je výsledná hodnota dána počtem párů, nad kterými snímač přejel, vynásobeným dvěma a absolutní polohou v aktuálním páru. Optimální vzdálenost senzoru od magnetické pásky je 0,3 mm. Senzor umožňuje předávat data několika způsoby:
PWM modulací. Šířka pulsu odpovídá absolutní poloze v rámci páru. Rozsah je 1 µs až 4097 µs. Nevýhodou je dlouhý čas aktualizace.
Inkrementální výstupy s indexovým pulsem. Tento způsob předání dat je asi nejpoužívanější. Nevýhodou je uměle zavedená hystereze, nižší rozlišení (1,95 µm) a maximální rychlost 650 mm/sec
Digitální datové rozhraní SSI. Tento výstup dat poskytuje plné rozlišení bez hystereze a poměrně vysokou rychlost aktualizace údaje. Nevýhodou je, že toto rozhraní je složitější na obsluhu a není vhodné pro velké délky pracovních vodičů nebo zarušené prostředí.
Základní technické údaje:
Napájecí napětí 3,3 nebo 5 V.
Rozsah pracovních teplot -40 až 125 °C
Maximální integrální nelinearita v rozsahu teplot -30 až +70 °C je 10 µm
Šum pro 1 sigma je 0,6 µm
Interní rychlost aktualizace pozice 10,42 kHz
Maximální kmitočet hodinového signálu SSI rozhraní 1 MHz
38
Obrázek 29 - čtení polohy [15]
Obrázek 30 - čtení intenzity magnetického pole [15]
Komunikace SSI tohoto obvodu je poněkud nestandardní, používá 18 datových bitů. Synchronní sériová rozhraní mikrokontroléru používají obvykle násobky osmi bitů. Další odchylkou od zvyklostí je, že rozlišení, zda se budou číst data polohy nebo intenzity magnetického pole, závisí na stavu signálu CLK při sestupné hraně signálu CS. Zbytek komunikace již odpovídá běžnému sériovému synchronnímu rozhraní s platnými daty při náběžné hraně signálu CLK. 3.7.2 Mikrokontrolér STM32F103C8T6 Oproti dříve popsanému mikrokontroléru ST32F407 je tento mikrokontrolér jednodušší a má menší výkon. Pro dané použití je však ještě značně předimenzován. STM32F103 je moderní 32bitový mikrokontrolér založený na RISC jádře ARM cortex M3. Instrukce se mohou vykonávat frekvencí až 72 MHz. Paměť FLASH je 64 kByte, RAM 20 kByte.
39
Obrázek 31 - blokové schéma mikrokontroléru STM32F103 [20]
Přehled hlavních periferií:
2 12bitové A/D převodníky.
7 jednotek přímého přístupu do paměti DMA.
4 čítače-časovače.
Sériový ladící interface SWD a JTAG.
Až 37 I/O portů.
2x I2C.
40
3x USART.
3x SPI.
1x CAN.
USB 2.0.
RTC.
3.7.3 Zdroj LDO LP3985 LP3985 je lineární regulátor napětí speciálně navržený pro nízké napětí a velmi malý rozdíl napětí mezi vstupem a výstupem. Maximální vstupní napětí je 6 V a výstupní podle specifikace konkrétního typu. V našem případě 3,3 V. Výstupní proud může být až 150 mA. V obvodu je obsaženo jištění proti proudovému a tepelnému přetížení. Dále obvod vyniká nízkým šumem, malým počtem okolních pasivních komponent, malými rozměry, nízkou vlastní spotřebou a nízkou cenou.
Obrázek 32 - základní zapojení LP3985 [21]
Kondenzátor v základním zapojení označený hvězdičkou nemusí být použit. Pokud ho použijeme, má obvod o něco lepší šumové vlastnosti.
3.8 Modul ovladače krokového motoru Ovladač krokového motoru je zkonstruován pomocí čipu A3986 firmy Allegro microsystems. Zvolen byl pro nízkou cenu, dobrou dostupnost a vyhovující parametry pro daný typ motoru. Jeho zapojení je oproti katalogovému rozšířeno o mikrokontrolér ATmega8, který se stará o změny pracovních režimů a úsporný mód.
41
3.8.1 Mikrokontrolér ATmega8 [22] Je velmi zdařilý 8bitový mikrokontrolér RISC přizpůsobený programování v jazyku C vyráběný firmou ATMEL. Program je uložen v paměti FLASH velikosti 8 kByte. Paměť RAM má velikost 1 kByte. Mikrokontrolér lze programovat v aplikaci pomocí rozhraní ISP, což je v tomto ovladači použito. Dále obsahuje běžné periferie jako UART, SPI, časovače, EEPROM, A/D převodník a další. 3.8.2 Integrovaný řadič A3986 A3986 je dvojitý řadič pro H můstek s mikrokrokováním. Je vhodný pro bipolární dvoufázové krokové motory (typicky 30 až 500 W). Musí být doplněn vnějšími výkonovými tranzistory MOSFET s N-kanálem. Napájecí napětí může být v rozsahu 12, až 50 V. Tento řadič obsahuje dva sinusové převodníky, které generují referenční napětí pro dva proudové PWM proudové regulátory s pevně nastavenou dobou vypnutí.
Obrázek 33 - princip PWM modulátoru s konstantní dobou vypnutí [23]
Princip činnosti tohoto regulátoru je na obrázku 33. Tento PWM regulátor obsahuje komparátor, klopný obvod s generátorem pulsů a logiku, která ovládá koncový stupeň. Výstupní proud se snímá na odporu R1 a v komparátoru porovnává s hodnotou napětí ze sinusového převodníku
42
Obrázek 34 - základní časové průběhy modulátoru PWM [23]
Na obrázku 34 jsou obvyklé průběhy napětí a proudu takového regulátoru. Nepříjemnou vlastností je nestabilní frekvence kmitů, což se projevuje v některých režimech provozu slyšitelným pískáním.
Obrázek 35 - rozšířený PWM modulátor s řízením strmosti zániku proudu [24]
Na obrázku vidíme rozšířené možnosti PWM regulátoru, který je obsažen v tomto integrovaném obvodu. Čárkovaně je zobrazena křivka pomalého zániku proudu. Tento režim lze použít pouze v některých pásmech otáček. V jiných pásmech otáček je proud výrazně ovlivňován indukovaným napětím z motoru nebo výsledná šířka pulsu vychází příliš malá a důsledkem toho regulace proudu nefunguje. Tečkovaně je zobrazen režim rychlého zániku proudu. Ten lze použít v celém rozsahu otáček, ale jeho nevýhodou je vysoká frekvence spínání a tím i vysoké ztráty. Existuje režim, který kombinuje oboje,
43
zobrazen je tučnou plnou čarou. V tomto kombinovaném režimu jsou spojeny výhody obou předchozích pracovních režimů.
Obrázek 36 - ukázka chybně použitého režimu pomalého zániku proudu [24]
Obrázek 37 - graf proudu při použití kombinovaného režimu zániku proudu [24]
Z předchozích obrázků je vidět důležitost správného použití různých režimů zániku proudu. Při nesprávném použití se otáčí motor nepravidelně a ztrácí se jemné rozlišení mikrokrokování. Bohužel v tomto řadiči je od výrobce chyba, která se projevuje při
44
použití kvalitního motoru a nejvyššího stupně mikrokrokování. Pohyb motoru se ovládá dvouvodičovým rozhraním se signály krok a směr. Podle konfigurace řadiče může být použito čtyřtaktní, osmitaktní nebo mikro krokové řízení. PWM regulátor může pracovat s pomalým, rychlým nebo kombinovaným zánikem proudu, což má za následek sníženou hladinu hluku, zvýšenou přesnost kroku a snížení ztrátového výkonu. Možnost ovlivňovat rychlost zániku proudu má též zásadní vliv na potlačení rezonance motoru ve středních otáčkách, která souvisí se zpětně indukovaným napětím z motoru. Tím, že řadič obsahuje sinusové převodníky, jsou sníženy nároky na použitý mikrokontrolér, který ho ovládá. Na obrázku 38 je blokové schéma.
Obrázek 38 - základní zapojení A3986 [9]
3.8.3 Funkce Kompletní schéma zapojení ovladače krokového motoru je v příloze 10.7. Konektor X1 slouží k připojení logických signálů v úrovni TTL. Na konektory X2 a X3 se připojuje motor a na X4 napájení. Deska též obsahuje konektor X7, přes který je možno programovat paměť FLASH procesoru ATmega8. Kromě základních řídicích signálů krok a směr je doplněn signál označený EN, který umožňuje úplné vypnutí proudu procházejícího motorem. Výstup označený ERR je možno použít jako hlášení chyby ovladače pro nadřízený systém. Konstrukce vychází ze základního zapojení dle dokumentace výrobce, je však doplněna o mikrokontrolér, který sleduje průběh řídících signálů a dynamicky podle nich upravuje nastavení rychlosti zániku proudu
45
a synchronní usměrnění. Tato funkce je vyladěna podle praktických testů konkrétního motoru. Při nastavování byla snaha především o potlačení rezonancí motoru.
3.9 Modul měření tlaku Funkci vyzvednutí součástky ze zásobníku a následného držení součástky během transportu k místu osazení zajišťuje vývěva a pneumatická soustava. Pro detekci správného uchopení součástky je nutné měřit podtlak v pneumatické soustavě, a proto byl vytvořen tento modul měření tlaku (podtlaku). 3.9.1 Zdroj Do zdroje byl vybrán integrovaný obvod LP2951 ACM. Tento obvod byl vybrán z těchto důvodů:
malá spotřeba
nízký úbytek napětí
malý šum
nízká cena
vhodné výstupní napětí a proud pro dané použití
dobrá dostupnost
3.9.2 Diferenciální zesilovač Pro zesílení signálu z tlakového čidla byl zvolen přístrojový zesilovač AD 623 výrobce Analog Devices. Tento obvod byl vybrán pro jeho velmi dobré vlastnosti a přijatelnou cenu. Je to obvod z novější generace přístrojových zesilovačů, které mohou být napájeny pouze jedním zdrojem napětí a mají oproti předchozí generaci velký rozkmit výstupního napětí (150 mV od napájecího napětí). Tento obvod má též nízkou napěťovou nesymetrii a nízký teplotní koeficient napěťové a proudové nesymetrie. 3.9.3 Tlakový senzor MPX 2050 Tlakový senzor MPX2050 výrobce Freescale byl vybrán pro snadnou dostupnost odpovídající rozsah měření tlaku a přiměřenou cenu.
46
Obrázek 39 - tlakový senzor MPX2050 [25]
MPX2050 je polovodičový piezoelektrický tlakový senzor. Poskytuje velmi přesné a lineární výstupní napětí, které je přímo úměrné aplikovanému tlaku. Snímač je jediný monolitický křemíkový čip s membránou, na které je tenzometrický můstek z tenkovrstvé odporové sítě. Obvod je laserem kalibrován pro přesný rozsah a posunutí výstupního napětí. Senzor také obsahuje teplotní kompenzaci. 3.9.4 Funkce Zapojení modulu měření tlaku je v příloze 10.9. Napájecí napětí pro snímač tlaku bylo zvoleno 10V s ohledem na maximální napájecí napětí obvodu AD623 a napájecí napětí modulu. Zapojení zdroje senzoru a zesilovače vycházejí z běžných katalogových zapojení. Jediné úpravy jsou: doplnění vstupního filtru omezujícího elektromagnetické rušení a zdvojení přesných odporů, aby bylo možno realizovat hodnotu odporů s dostatečnou přesností s výběrem hodnot z řady E12. Jelikož je tlakový senzor diferenciální, je možno ho použít pro měření tlaku i podtlaku a zaleží na tom, který vstup senzoru se použije. Modul obsahuje jediný konektor, na kterém je napájecí napětí i výstupní napětí.
47
3.10 Řízení dráhy krokových motorů 3.10.1 Základní fyzikální vztahy a veličiny J = ryv (jerk) a = zrychlení v = rychlost s = dráha m = hmotnost r = poloměr M = krouticí moment 𝑡
𝑎 = ∫ 𝐽 ∙ 𝑑𝑡 = 𝐽 ∙ 𝑡 + 𝑎0 0
𝑡
𝑡
𝑣 = ∫ 𝑎 ∙ 𝑑𝑡 = ∫ 𝐽 ∙ 𝑡 + 𝑎0 𝑑𝑡 = 0
0
𝑡
𝑡
𝑠 = ∫ 𝑣 ∙ 𝑑𝑡 = ∫ 0
0
1 2 ∙ 𝑡 ∙ 𝐽 + 𝑎0 ∙ 𝑡 + 𝑣0 2
1 2 1 1 ∙ 𝑡 ∙ 𝐽 + 𝑎0 ∙ 𝑡 + 𝑣0 = ∙ 𝑡 3 ∙ 𝐽 + ∙ 𝑎0 ∙ 𝑡 2 + 𝑣0 ∙ 𝑡 + 𝑠0 2 6 2
Pokud se používá konstantní zrychlení (lineární rampa), výrazy se zjednoduší. 𝑡
𝑣 = ∫ 𝑎0 𝑑𝑡 = 𝑎0 ∙ 𝑡 + 𝑣0 0
𝑡
𝑡
𝑠 = ∫ 𝑣 ∙ 𝑑𝑡 = ∫ 𝑎0 ∙ 𝑡 + 𝑣0 ∙ = 0
0
1 ∙ 𝑎 ∙ 𝑡 2 + 𝑣0 ∙ 𝑡 + 𝑠0 2 0
𝐹 =𝑟∙𝑀 𝐹 =𝑚∙𝑎 𝑎=
𝑟∙𝑀 𝑚
Podle tohoto vztahu lze přibližně vypočítat maximální přípustné zrychlení pro daný motor a pohybující se hmotu. Při výpočtu se musí vycházet ze závislosti krouticího momentu motoru na otáčkách.
48
3.10.2 Řízení rozjezdu a zastavení Při vykonávání pohybu je nutné, aby zrychlení a zpomalení nebylo skokové, ale probíhalo po definované křivce. Nejjednodušší křivkou, která se velmi často používá, je přímka. Pro pohyb průmyslových robotů a jiných náročných zařízení se používá křivka ve tvaru písmene „S“, která je složitější na implementaci, ale má lepší vlastnosti. V našem případě je vyhovující přímka.
Obrázek 40 - úhel natočení, rychlost a zrychlení při lineární rampě [26]
3.11 Komunikace s PC Komunikace probíhá sériově dle zadání po lince RS232. Používá se komunikační model MASTER-SLAVE, kde MASTER je PC a SLAVE osazovací automat. Komunikaci je možno rozdělit do několika vrstev.
49
3.11.1 Porovnání s ISO/OSI modelem Při sestavování protokolu byl brán v úvahu ISO/OSI model. Přehled funkcí protokolu podle ISO/OSI vystihuje následující tabulka. Vrstva
Funkce vrstvy
7 aplikační
K paketu přidává typ dat
6 prezentační
Převod z číselné hodnoty na znaky
5 relační
Není (spojení je vždy funkční)
4 transportní
Doplnění záhlaví, zápatí a kontrolní součet
3 síťová
Fixní adresa (dvoubodové spojení)
2 linková
Sériový přenos kódování NRZ
1 fyzická
RS232
3.11.2 Popis protokolu Komunikace probíhá rychlostí 115 200 baudů bez parity s osmi datovými bity a jedním stop bitem. Protokol je textově orientovaný a je uspořádán dle ISO/OSI modelu s jednou výjimkou. Do textové formy se v prezentační vrstvě nepřevádí celý paket, ale jen data. Položka typ zprávy zůstává nezměněna. H
A
C
T
H1
H2
H…
S1
S2
H počáteční značka rámce, znak „$”
A adresa znak „1“
C počítadlo zpráv znak „A“ až „Z“
T typ zprávy znak „A“ až „Z“
H1 znak reprezentující vyšší část datového byte
H2 znak reprezentující nižší část datového byte
H… další znaky datových byte podle délky zprávy (vždy sudý počet)
S1 znak reprezentující vyšší část byte kontrolního součtu
S2 znak reprezentující nižší část byte kontrolního součtu
CR značka konce rámce znak s kódem 13
CR
50
3.12 Komunikace CAN sběrnice Komunikační rychlost CAN sběrnice byla zvolena na 1 Mbit/s, což je maximum, které jsou použité komponenty schopny zvládnout. Důvod k této volbě je ten, že přes CAN sběrnici je propojena zpětná vazba systému regulace polohy a tento systém vyžaduje údaj polohy s co nejmenším zpožděním. Cyklus odesílání polohy byl zvolen na 1 ms. Datová část rámce přenáší dvě čísla: první údaj o poloze a druhé údaj o síle magnetického pole. Informace o síle pole je nutná pro vyhodnocení věrohodnosti měřené délky. Identifikátory byly zvoleny pro osu X 1000 a pro osu Y 1001.
Obrázek 41 - využití CAN sběrnice daty o poloze [11]
Na obrázku 41 jsou zachyceny signály CAN-H a CAN-L při odesílání dat polohy osy X a osy Y. Na oscilogramu jsou zřetelné rámce dat. Liché a sudé rámce dat patří k jedné či druhé ose a pravidelně se střídají. Nevyužitý prostor mezi rámci dovoluje ještě případný další rozvoj systému.
51
Obrázek 42 - vliv rušení na signály CAN-H a CAN-L [11]
Z obrázku 42 je zřejmé jaký vliv má souběh výkonových kabelů s datovým kabelem CAN sběrnice. Jednotlivé tlumené zákmity jsou způsobené strmými napěťovými signály při spínání a rozepínání výkonových prvků v ovladačích krokových motorů. Na oscilogramu je zachycena část datového rámce s potvrzovacím bitem ACK. Tento bit má o něco vyšší napěťovou úroveň.
Obrázek 43 - detail jednoho bitu CAN sběrnice [11]
52
Na obrázku 43 je detailní zobrazení přenosu jednoho bitu sběrnice CAN. Na signálech CAN-H i CAN-L je drobný zákmit v sestupné i vzestupné hraně. Může být způsoben použitím jiného kabelu, než by správně měl být použit na sběrnici CAN. Speciální kabel pro CAN sběrnici se nepodařilo v malém množství zakoupit, proto byl použit USB kabel, který se liší impedancí. Místo 120 Ω má 90 Ω. Tento kabel má ale výhodu v tom, že obsahuje i dva napájecí vodiče, které lze použít pro napájení modulů snímačů polohy. Velikost chyby způsobené touto záměnou je však dle oscilogramu i praktické zkoušky téměř zanedbatelná.
53
4
Vývoj software
Při vývoji software byl kladen důraz na použití Open source prostředků. Při ladění software bylo též použito v maximální míře Open source nebo vlastních prostředků.
4.1 Použité prostředky Pro vývoj software bylo použito univerzální vývojové prostředí Code::Blocks, které je pod licencí GPL v3.0 pro dané použití zdarma. Programy byly vyvíjeny v jazyku C, který je v současné době pro tento účel asi nejvhodnější. Kompilátor jazyka pro ARM mikrokontrolér byl použit GNU C verze 4.8.3 a pro AVR mikrokontrolér též GNU C verze 4.3.2. K ladění programů byl použit přípravek vlastního návrhu, který umožňuje odesílání textových zpráv z programu pomocí funkce DebPrintf.
4.2 Skladba a hlavní bloky programu Program je rozdělen do několika souborů:
main.c : hlavní blok
Debprintf.c : funkce ladících zpráv
Stepper.c : nízkoúrovňové funkce řízení motorů
Timer.c : funkce odměřování času po 1 ms
serva.c : funkce pro řízení modelářských servopohonů
adc.c : funkce pro obsluhu A/D převodníku
usart.c : funkce pro komunikci s PC
osaz.c : funkce vyšší úrovně řízení
Soubory použité ze standardní knihovny: misc.c system_stm32f4xx.c stm32f4xx_rcc.c stm32f4xx_gpio.c stm32f4xx_tim.c stm32f4xx_adc.c stm32f4xx_usart.c
54
stm32f4xx_dma.c startup_stm32f40xx.s 4.2.1 Generátor pulsů pro krokové motory Pro generování pulsů se využívá systém čítačů a časovačů. Nastavení hodnot pohybu se provádí ve funkci speed_cntr_Move. Parametry této funkce jsou: počet kroků, hodnota akcelerace, hodnota decelerace a rychlost. Funkce ze zadaných parametrů vypočítá hodnoty, ze kterých se již generuje konkrétní pohyb. Vlastní generování pulsů se vykonává v obsluze přerušení časovače. V tomto přerušení se cyklicky vykonává krok jednoduchého stavového automatu se stavy stop, accel, run a decel. Stav stop zakáže přerušení od časovače a tím se generování pulsů ukončí. Ve stavu accel se rekurzivně vypočítává délka pulsu a pohyb se zrychluje. Po ukončení stavu accel se přechází do stavu run, kde je rychlost konstantní. Po stavu run následuje stav decel, kde se pohyb zpomaluje až do zastavení a následuje stav stop. Dále uvádím kompletní výpis funkce obsluhující přerušení. void TIM3_IRQHandler (void) { unsigned int new_step_delay; TIM_ClearITPendingBit(TIM3, TIM_IT_Update); if (OsaA.delay>65535) TIM3->ARR = 65535; else TIM3->ARR = OsaA.delay; switch (OsaA.stav) { //************************************************************************************* case STOP: OsaA.step = 0; OsaA.rest = 0; TIM_Cmd(TIM3, DISABLE); new_step_delay = 0; break; //************************************************************************************** case ACCEL: *OsaA.pStepSet=OsaA.bStep; { OsaA.step++; OsaA.accel_count++; new_step_delay = OsaA.delay - (((2 * OsaA.delay) + OsaA.rest)/(4 * OsaA.accel_count + 1)); OsaA.rest = ((2 * OsaA.delay)+OsaA.rest)%(4 * OsaA.accel_count + 1); if (OsaA.step >= OsaA.decel_start) { OsaA.accel_count = OsaA.decel_val; OsaA.stav = DECEL; } else if (new_step_delay <= OsaA.min_delay) { OsaA.last_accel_delay = new_step_delay; new_step_delay = OsaA.min_delay; OsaA.rest = 0;
55
OsaA.stav = RUN; } } break; //************************************************************************************* case RUN: *OsaA.pStepSet=OsaA.bStep; OsaA.step++; new_step_delay = OsaA.min_delay; if (OsaA.step >= OsaA.decel_start) { OsaA.accel_count = OsaA.decel_val; new_step_delay = OsaA.last_accel_delay; OsaA.stav = DECEL; } break; //************************************************************************************** case DECEL: *OsaA.pStepSet=OsaA.bStep; OsaA.step++; OsaA.accel_count++; new_step_delay = OsaA.delay - (((2 *OsaA.delay) + OsaA.rest)/(4 * OsaA.accel_count + 1)); OsaA.rest = ((2 * OsaA.delay)+OsaA.rest)%(4 * OsaA.accel_count + 1); if (OsaA.accel_count >= 0) { OsaA.stav = STOP; } break; default: new_step_delay = OsaA.delay; } *OsaA.pStepClr=OsaA.bStep; OsaA.delay = new_step_delay; }
4.2.2 Příjem příkazů ze sériové linky Pro příjem dat ze sériové linky se používá příslušné přerušení sériového kanálu číslo 3. V obsluze tohoto přerušení se data ukládají do vyrovnávací paměti velikosti 4 kByte. Dále uvádím výpis funkce obsluhující přerušení. //*********************************** void USART3_IRQHandler (void) { unsigned int IIR; IIR = USART3->SR; if (IIR & USART_FLAG_RXNE) { USART3->SR &= ~USART_FLAG_RXNE; unsigned char Znak=USART3->DR; RXBuf[pKon++]=Znak; pKon &= 4095; }
// read interrupt // clear interrupt
}
Znaky z vyrovnávací paměti se dále zpracovávají stavovým automatem, který se volá funkcí TickUart3(). Dále je uveden výpis této funkce. void TickUart3 (void) { static unsigned char DataOldL,DataOldH; while (pZac!=pKon) { unsigned char Znak =
RXBuf[pZac++];
56
pZac&=4095; switch (Chn.Stav) { case rStart: { if (Znak=='$') { Chn.Sum=Znak; Chn.Stav=rNode; } break; } case rNode: { if (Znak==Chn.Node) { Chn.Stav=rAinc; Chn.Sum+=Znak; } else { KonecError(Znak); } } break; case rAinc : { if (((Znak>='0')&&(Znak<='9'))||((Znak>='A')&&(Znak<='Z'))) { Chn.Ainc=Znak; Chn.Sum+=Znak; Chn.Stav=rTyp; Chn.Ptr=0; DataOldH=0; DataOldL=0; } else { KonecError(Znak); } } break; case rTyp: { if (((Znak>='0')&&(Znak<='9'))||((Znak>='A')&&(Znak<='Z'))) { Chn.Typ=Znak; Chn.Sum+=Znak; Chn.Stav=rDataH; } else { KonecError(Znak); } } break; case rDataH: { if (((Znak>='0')&&(Znak<='9'))||((Znak>='A')&&(Znak<='F'))) { Chn.Sum+=Znak; DataOldH=Znak; if (Znak>'9') Znak-=7; Znak-='0'; Chn.Buff[Chn.Ptr]=Znak<<4; Chn.Stav=rDataL; } else { if (Znak==13) { Chn.Stav=rKon; Chn.Sum-=DataOldH; Chn.Sum-=DataOldL; } else
57
{ KonecError(Znak); } } } break; case rDataL: { if (((Znak>='0')&&(Znak<='9'))||((Znak>='A')&&(Znak<='F'))) { Chn.Stav=rDataH; DataOldL=Znak; Chn.Sum+=Znak; if (Znak>'9') Znak-=7; Znak-='0'; Chn.Buff[Chn.Ptr++]+=Znak; if (Chn.Ptr>=ChnMaxData) KonecError(Znak); } else { KonecError(Znak); } } break; case rKon: { } break; default: Chn.Stav=rStart; break; } } }
4.2.3 Hlavní smyčka programu Po spuštění mikrokontroléru se nejdříve provedou počáteční nastavení všech periferií a procesů. Potom se začne cyklicky vykonávat nekonečná smyčka, ve které se volají funkce reprezentující jednotlivé procesy. Ačkoliv zde není použit žádný operační systém, je docíleno chování podobného operačnímu systému s kooperativním multitaskingem (současným prováděním úloh). int main(void) { init_leds(); Debprintf("******************Start **** \r"); init_timer(); init_interrupt(); SysTick_Config(SystemCoreClock / 1000); StepConfig(); ServaInit(); USART3_Config(); SystemCoreClockUpdate(); Debprintf("# FProc=%d.%03d Mhz\r",SystemCoreClock/1000000,SystemCoreClock%1000000); ADC_Config(); Debprintf("1\r"); ADC_SoftwareStartConv(ADC1); while (1) { TickUart3(); TickAd(); TickRS(); TickTlac(); } return 0; }
58
5
Testování a změny
Při praktických testech se projevila nedostatečná přesnost polohování. Tento problém se skládá z řady příčin. Lze ho rozdělit do dvou hlavních skupin: elektrické a mechanické. Mechanika stroje má řadu výrobních nepřesností, průhybů a vůlí. Také pohybující se hmoty jsou příliš vysoké. Z elektrických je asi největší problém s chybou v řadiči A3986.
5.1 Test linearity a přesnosti Pro tento test byl zvolen magnetický senzor polohy AS5311. Tento senzor má dostatečné parametry pro vyhodnocení odchylek polohy při řízení krokovým motorem bez zpětné vazby. 5.1.1 Způsob testování Na stroj byly připevněny čtyřhranné tyče s nalepenou magnetickou páskou a na protější pohyblivou část byl připevněn jezdec. Ve firmware CPU desky byl vytvořen program, který velmi pomalu projíždí téměř celou dráhu jednotlivých os tam a zpět, při tom přes ladící rozhraní posílá data s číslem kroku a sejmutou vzdáleností ze senzoru polohy. V PC se data ukládají do textového souboru k dalšímu zpracování. 5.1.2 Analýza FFT Data byla zobrazena v grafu, který vyjadřuje závislost odchylky polohy na čísle kroku. Z tohoto grafu lze zjistit maximální odchylky polohy a průběh odchylky v jednotlivých částech dráhy. Těžko lze z něj ale zjistit příčinu odchylky. Pro usnadnění zjištění příčin odchylek byla data analyzována s použitím transformace FFT. Vliv jednotlivých faktorů lze pak posoudit podle frekvence a amplitudy. Zjišťování z frekvence znamená přepočítat frekvenci na periodu a následně rozměr. Za tím účelem byl graf FFT upraven na netypickou podobu, kdy na vodorovné ose není frekvence ale mechanická perioda v milimetrech. To umožňuje přímo podle mechanických rozměrů určit příčinu a velikost odchylky. Příklad: řemenice má obvod 54 mm, proto čáru na 54 mm způsobuje házení této řemenice a amplituda bude vyosení řemenice.
59
5.1.3 Výsledky
400
300
odchylka[um]
200
100
0
-100
-200
-300 0
100
200
300 pozice[mm]
400
500
600
Obrázek 44 - graf závislosti odchylky na pozici osy x [11]
Na tomto obrázku jsou vidět odchylky na dráze délky zhruba 600 mm. Vrchní křivka je v kladném směru a spodní je návrat zpět. Projevuje se zde periodická odchylka, která vypadá zhruba jako sinusový signál. Drobnější odchylky vypadají jako šum, ale následným zpracováním FFT je lze také rozlišit. Postupné stoupání křivky je odchylka rozteče řemene od teoretické rozteče (3 mm). Rozdíl mezi horní a dolní křivkou je hystereze při změně směru.
60
70
60
odchylka[um]
50
40
30
20
10
0
0
10
20
30
40 perioda[m m]
50
60
70
80
Obrázek 45 - analýza FFT osy x širší měrítko [11]
Zde je viditelný vrchol na 54 mm. Tato hodnota odpovídá obvodu řemenice. To znamená, že řemenice má vyosení. Velikost vyosení lze vypočítat z amplitudy 70 m.
61
4
3.5
3
odchylka[um]
2.5
2
1.5
1
0.5
0
0
0.5
1
1.5 perioda[m m]
2
2.5
3
Obrázek 46 - osa x užší meřítko [11]
Zde je asi nejzajímavější detail grafu. Při postupu zprava, na 3 mm je poměrně nevýrazný vrchol odpovídající roztečí zubů řemene. Na 2,378 mm je vrchol, pro který zatím není vysvětlení. Další vrcholy 2 mm a 1 mm odpovídají rozteči magnetických pólů senzoru polohy a jsou pravděpodobně způsobeny nelinearitou senzoru. Mezi 2 a 1 mm je ještě jeden vrchol s pozicí 1,08 mm a ten odpovídá počtu zubů na rotoru 54 mm/50 = 1,08 mm, je způsoben nedokonalostí sinusového průběhu proudu. Totéž platí o vrcholu 0,54 mm, který je polovinou z 1,08 mm. Dále ještě následují hodnoty 0,27 mm, 0,135 mm, 0,677 mm, které též pocházejí z tohoto zdroje. Vliv jednotlivých odchylek není nijak významný. Pouze v případě shody maxim v periodách, několika odchylek současně, jejich součet může být významný.
62
100
90
80
70
odchylka[um]
60
50
40
30
20
10
0
0
0.2
0.4
0.6 perioda[m m]
0.8
1
Obrázek 47 - ukázka vlivu velkého zkreslení sinusového průběhu proudu [11]
Na tomto obrázku je detail grafu pro řadič s A3986 před odstraněním chyby v průběhu proudu. Projevuje se nejvíce na ¼ rozteče zubů rotoru což je 1,08 mm/4 = 0,27 mm. Se zmenšeným vlivem to pokračuje na dalších vyšších harmonických složkách. Amplituda je téměř 0,1 mm což už velmi významně ovlivňuje přesnost stroje.
5.2 Test rychlosti Testování rychlosti bylo pojato praktickým způsobem. Byla vybrána jednoduchá deska, kde jsou pouze dva typy součástek v celkovém počtu 10 součástek na desce. Desky jsou panelizovány na 5x 20. Celkové množství součástek je tedy 1 000. Při osazování musela být snížena maximální rychlost na 50 % z důvodu kmitání stroje a nespolehlivé funkce zásobníku. Přesto byl osazovací čas 1 hodina a 15 minut. To znamená výkon 800 součástek za hodinu.
63
5.3 Popis změn ve verzi 2 na základě výsledků testu 5.3.1 Odstranění problému s řadičem A3986 Řadič A3986 bohužel obsahuje chybu, která znehodnocuje kvalitu mikrokrokování. Je to zřejmé z předchozího rozboru grafu FFT. Problém spočívá v tom, že řadič není schopen na motoru s malým odporem vinutí při velkém napájecím napětí regulovat malý proud, který je nutný pro dodržení přesného sinusového průběhu proudu. Z důvodu rychlosti nelze výrazně snížit napájecí napětí. Také použití motoru s větším odporem by výrazně snížilo rychlost. Následující zapojení sice mírně sníží výsledné napětí pro motor o přibližně 4,5 V, ale téměř zcela odstraní zkreslení průběhu proudu. Nevýhodou je mírné snížení napětí a vývin tepla, které se musí odvést. Výsledek je opět zřejmý z předchozích grafů.
Obrázek 48 – upravené zapojení motorů [11]
5.3.2 Zpětnovazební řízení s lineárním snímačem polohy Na základě výsledků testů bylo rozhodnuto lineární snímač polohy na stroji ponechat a použit ho k zavedení zpětné vazby polohy.
64
6
Závěr a další kroky
6.1 Splnění cílů Cíl se podařilo splnit, několik typů desek plošných spojů již bylo osazeno. Dosažený výkon překračuje požadavky zadání. Během provozu byla však zjištěna řada problémů a nedostatků, které bude třeba vyřešit. Většina se týká mechanické konstrukce, která nebyla tématem této práce. Uváděny jsou zejména proto, že je důležitý celkový výsledek. Mechanická konstrukce i elektrické pohony se vzájemně ovlivňují. Problémy mechanické konstrukce:
Nespolehlivý chod zásobníků součástek a odvíjení krycí pásky.
Poddimenzované lineární vedení (vzniká průhyb => nepřesnost)
Příliš velká vůle v lineárních ložiscích (nepřesnost)
Otvor řemenice není vyvrtán přesně (cyklická chyba polohování). Odstraněno zpětnovazebním řízením s lineárním odměřováním polohy.
Příliš velká hmotnost pohybujících se částí (vibrace a přetížení pohonů při rozjezdu a brzdění)
Problémy pohonů:
Nelinearita a hystereze mikro krokování (nepřesnost polohy). Toto je již odstraněno úpravou ovladače krokového motoru a zpětnovazebním řízením.
Velké nároky na počty kabelů v kabelových řetězech.
6.2 Předpokládaná další verze Na základě výše uvedených skutečnosti bylo rozhodnuto o vývoji třetí verze, v které bude upravena mechanická konstrukce i pohony. Třetí verze vznikne přestavbou původního stroje. Komunikace mezi jednotlivými moduly bude probíhat na sběrnici CAN a vylepšený typ ovladače krokového motoru zajistí jemnější mikro krokování. Základní modul bude rozdělen na dva propojené pouze napájením a CAN sběrnicí. Druhý modul bude umístěn na pojízdném ramenu. Také ovladače krokových motorů os X a Y budou připojeny přes CAN a umístěny budou přímo u motorů.
65
Původní ovladač krokových motorů používal integrovaný obvod A3986. Při testování bylo zjištěno, že obsahuje chybu. Nedokázal nastavit dostatečně malý proud při mikrokrokování. To způsobilo nelinearitu pohybu. Nový ovladač je již vyvinut, ale zatím nepoužit. Obsahuje řadič DRV8711 od výrobce Texas Instruments. Další uvažovaný řadič k otestování by mohl být L6480 od výrobce ST Microelektronic.
66
7
Citovaná literatura
[1] Pohonná technika. asynchronní motor. [Online] [Citace: 16. 5 2015.] dostupné z http://www.pohonnatechnika.cz/skola/motory/asynchronni-motor. [2] Emotor.cz. Synchronní elektromotor třífázový. emotor.cz. [Online] [Citace: 30. 1 2015.] dostupné z http://www.emotor.cz/synchronni-elektromotor-trifazovy.htm. [3] Elektrika.info. Princip stejnosměrných motorů. Elektrika.cz. [Online] [Citace: 30. 1 2015.] dostupné na http://elektrika.cz/data/clanky/princip-stejnosmernych-motoru. [4] ATMEL. Application Note AVR492. [Online] [Citace: 16. 5 2015.] dostupné z www.gaw.ru/pdf/Atmel/app/avr/AVR492.pdf. [5] VŠB - Technická univerzita Ostrava. Akční členy. [Online] [Citace: 30. 1 2015.] dostupné na http://eautomatizace.vsb.cz/ebooks/ridici_systemy_akcni_cleny/Akc_el.html. [6] NOVÁK, P . Mobilní roboty : pohony, senzory ,řízení. 1. vyd. Praha : Bentechnická literatura, 2005. ISBN 80-7300-141-1. Krokový motor, s. 41-69. [7] Pohonná technika. Princip -linearní motor. [Online] [Citace: 30. 1 2015.] dostupné na http://www.pohonnatechnika.cz/skola/motory/linearni-motor. [8] VŠB - Technická univerzita Ostrava. Struktury s KM řízení. Studijní opory. [Online] [Citace: 17. 5 2015.] dostupné z http://homen.vsb.cz/~hav278/Mechatronicke_systemy/Studijni_opory/Struktury_s_ KM_rizeni.pdf. [9] ALLEGRO microsystems. A3986: Dual Full-Bridge MOSFET Driver with Microstepping Translator. [Online] [Citace: 16. 5 2015.] dostupné z www.allegromicro.com/~/media/Files/Datasheets/A3986-Datasheet.ashx. [10] Pelikan model. Poradna - serva. [Online] [Citace: 27. 1 2015.] dostupné z http://www.pelikandaniel.com/?sec=page&id=22. [11] Vlastní. [12] Wikipedie. RS-232. cs.wikipedia.org. [Online] [Citace: 30. 1 2015.] dostupné z http://cs.wikipedia.org/wiki/RS-232. 67
[13] POLÁK, Karel. Elektrorevue. Sběrnice CAN. [Online] [Citace: 16. 5 2015.] dostupné z www.elektrorerevue.cz/clanky/03031/index.html. [14] RIPKA, P.; ĎAĎO, S; KREIDL, M.; NOVÁK, J. Senzory a převodníky: skripta . 1. vyd. Praha : nakladatelství ČVUT, 2005. ISBN 80-01-03123-3. [15] Austriamicrosystem. AS5311_Datasheet_EN_v6. AS5311 - High Resolution Linear Position Sensor – Hall IC - ams. [Online] [Citace: 17. 5 2015.] dostupné z http://ams.com/eng/content/download/17954/325059/15366. [16] RW e.t.c. Firemní dokumentace . [17] ST Microelectronic. STM32F407 datasheet rev. 4. [Online] [Citace: 30. 1 2015.] dostupné z www.st.com/web/en/resource/technical/document/datasheet/DM00037051.pdf. [18] Texas Instruments. datasheet TPS5430. http://www.ti.com/lit/gpn/tps5430. [Online] [Citace: 19. 5 2015.] dostupné z http://www.ti.com/lit/gpn/tps5430. [19] Texas instruments. SN65HVD256 datasheet. CAN Transceivers. [Online] [Citace: 17. 5 2015.] dostupné z http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65hvd25 6&fileType=pdf. [20] ST Microelectronics. datasheet STM32F103X8. STM32F103C8 Mainstream Performance line, ARM Cortex-M3 MCU with 64 Kbytes Flash, 72 MHz CPU, motor control, USB and CAN - STMicroelectronics. [Online] [Citace: 17. 5 2015.] dostupné z http://www.st.com/st-webui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf. [21] Texas instruments. LP3985 datasheet. Single Chanell LDO. [Online] [Citace: 17. 5 2015.] dostupné z http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=lp3985&fil eType=pdf. [22] ATMEL. AtTmega8 datasheet. megaAVR MCUs. [Online] [Citace: 19. 5 2015.] dostupné z http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontrollerATmega8_L_datasheet.pdf.
68
[23] D. W. Jones. Control of Stepping Motors. [Online] [Citace: 17. 5 2015.] dostupné z http://homepage.cs.uiowa.edu/~jones/step/. [24] ALLEGRO microsystems. A4988: DMOS Microstepping Driver with Translator and Overcurrent Protection. [Online] [Citace: 17. 5 2015.] dostupné z http://www.allegromicro.com/~/media/Files/Datasheets/A4988-Datasheet.ashx. [25] freescale. MPX2050 datasheet. Pressure Sensor, 10V, 0/50kPa SOP 8. [Online] [Citace: 17. 5 2015.] dostupné z http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPXx2050. [26] ATMEL. Application Note AVR446, rev 8017A-AVR-06/06. [Online] [Citace: 30. 1 2015.] dostupné z www.atmel.com/images/doc8017.pdf.
69
8
Seznam zkratek
ARM
(Advanced RISC Machine) architektura procesorů
AVR
(?) 8bitový RISC mikropočítač od firmy Atmel.
CAN
(Controller Area Network) sériová sběrnice navržená firmou Bosch.
CPU
(Central Processor Unit) centrální procesorová jednotka.
EC
(Electronically Commutated) elektronická komutace.
EEPROM (Electrically Erasable Programmable Read-Only Memory) je statická, energeticky nezávislá a elektricky mazatelná paměť. FFT
(Fast Fourier Transform) rychlá Fourierova transformace.
FLASH
(?) elektricky programovatelná paměť s libovolným přístupem.
I2C
(Inter-Integrated Circuit) počítačová sériová sběrnice typu multi-master vyvinutá firmou Philips.
ISP
(In System Programming) programování přímo v aplikaci.
JTAG
(Joint Test Action Group) testovací a programovací rozhraní.
LDO
(Low-Dropout) lineární regulátor s malým úbytkem napětí.
MAC
(Media Access Control) jednotka řízení přístupu k médiu pro sběrnici Ethernet
MCU
(Microcontroller Unit) jednočipový počítač.
MII
(media-independent interface) rozhraní pro připojení Ethernet PHY.
MOSFET
(Metal Oxide Semiconductor Field Effect Transistor) polem řízený transistor.
PC
(Personal Computer) osobní počítač.
PHY
(physical layer) integrovaný obvod fyzické vrstvy sběrnice Ethernet.
PWM
(Pulse Width Modulation) pulzně šířková modulace.
RAM
(Random-Access Memory) paměť s libovolným výběrem
RISC
(Reduced Instruction Set Computing) procesor s redukovanou sadou instrukcí.
70
RTC
(Real-Time Clock) hodiny reálného času
SMD
(Surface Mount Device) součástka pro povrchovou montáž plošných spojů
SPI
(Serial Peripheral Interface) synchronní sériové rozhraní periferií.
SSI
(Synchronous Serial Interface) synchronní sériové rozhraní.
SWD
(Serial Wire Debug) dvoudrátové sériové ladicí rozhraní.
TSSOP
(thin-shrink small outline package) obdélníkové pouzdro s vývody ve dvou řadách
TTL
(Transistor-Transistor-Logic) tranzistorově-tranzistorová logika.
USART
(Universal Synchronous / Asynchronous Receiver and Transmitter). Univerzální sériové rozhraní.
USB
(Universal Serial Bus) univerzální sériová sběrnice.
71
9
Seznam obrázků
Obrázek 1 - princip činnosti asynchronního motoru [1] ................................................. 11 Obrázek 2 - synchronní motor [2]................................................................................... 12 Obrázek 3 - stejnosměrný motor [3] ............................................................................... 13 Obrázek 4 - princip motoru s elektronickým komutátorem [4] ...................................... 14 Obrázek 5 - krokový motor reluktanční [5] .................................................................... 14 Obrázek 6 - krokový motor s permanentními magnety [5] ............................................ 15 Obrázek 7 - hybridní krokový motor [6] ........................................................................ 15 Obrázek 8 - lineární krokový motor [7] .......................................................................... 16 Obrázek 9 - průběhy proudu při čtyřtaktním řízení [8] .................................................. 17 Obrázek 10 - průběhy proudu při osmitaktním řízení [8] ............................................... 17 Obrázek 11 - průběh proudu při mikrokrokování [9] ..................................................... 18 Obrázek 12 - konstrukce modelářského servopohonu [10] ............................................ 19 Obrázek 13 - servo signál [11] ........................................................................................ 19 Obrázek 14 - přenos znaku s kódem 75 [12] .................................................................. 20 Obrázek 15 - příklad fyzické vrstvy CAN [13] .............................................................. 21 Obrázek 16 - fyzické uspořádání sítě dle ISO 11898 [13] .............................................. 21 Obrázek 17 - datová zpráva CAN 2.0A [13] .................................................................. 22 Obrázek 18 - inkrementální optický snímač polohy [14] ............................................... 23 Obrázek 19 - induktosyn [14] ......................................................................................... 24 Obrázek 20 - magnetický senzor polohy [15] ................................................................. 24 Obrázek 21 - celkový pohled na stroj [16] ..................................................................... 25 Obrázek 22 - pojízdné rameno osy Y [16] ...................................................................... 25 Obrázek 23 - rozvaděč vzduchu [16] .............................................................................. 26 Obrázek 24 - vozík osy Z [16] ....................................................................................... 26 Obrázek 25 - blokové schéma [11] ................................................................................. 30
72
Obrázek 26 - blokové schéma mikrokontroléru STM32F407 [17] ................................ 33 Obrázek 27 - typické zapojení SN65HVD256 pro 3,3 V MCU [18] ............................. 36 Obrázek 28 - princip činnosti obvodu AS5311 [15] ....................................................... 37 Obrázek 29 - čtení polohy [15] ....................................................................................... 39 Obrázek 30 - čtení intenzity magnetického pole [15] ..................................................... 39 Obrázek 31 - blokové schéma mikrokontroléru STM32F103 [19] ................................ 40 Obrázek 32 - základní zapojení LP3985 [20] ................................................................. 41 Obrázek 33 - princip PWM modulátoru s konstantní dobou vypnutí [21] ..................... 42 Obrázek 34 - základní časové průběhy modulátoru PWM [21] ..................................... 43 Obrázek 35 - rozšířený PWM modulátor s řízením strmosti zániku proudu [22] .......... 43 Obrázek 36 - ukázka chybně použitého režimu pomalého zániku proudu [22] ............. 44 Obrázek 37 - graf proudu při použití kombinovaného režimu zániku proudu [22] ........ 44 Obrázek 38 - základní zapojení A3986 [9] ..................................................................... 45 Obrázek 39 - tlakový senzor MPX2050 [23] .................................................................. 47 Obrázek 40 - úhel natočení, rychlost a zrychlení při lineární rampě [24] ...................... 49 Obrázek 41 - využití CAN sběrnice daty o poloze [11] ................................................. 51 Obrázek 42 - vliv rušení na signály CAN-H a CAN-L [11] ........................................... 52 Obrázek 43 - detail jednoho bitu CAN sběrnice [11] ..................................................... 52 Obrázek 44 - graf závislosti odchylky na pozici osy x [11] ........................................... 60 Obrázek 45 - analýza FFT osy x širší měrítko [11] ........................................................ 61 Obrázek 46 - osa x užší meřítko [11] .............................................................................. 62 Obrázek 47 - ukázka vlivu velkého zkreslení sinusového průběhu proudu [11] ............ 63 Obrázek 48 - upravené zapojení motorů [11] ................................................................. 64
73
D
C
B
A
X4
int SRV1 SRV2 int REF1 AI2 REF4
GND
R30
R3 10K
1
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
X1
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50
C28 100n
1
GND
T1 BC817
BOOT0
R31 3K3
GND
R37 1K
1 2 3
X12
GND
DO2i
GND
int= pouzito interne v kitu 2
GND
C46 100n
1K
1K
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
X2
GND
3V3
R47
R45
1 2 3
X19
GND
1 2 3
GND X13
DO1i
6V
R51 470
6V
R7 470
6V
R48 470
AI2
SRV3
SRV1
SRV2
GND GND KIT STM32F407 3V3 VCC #RST 3V3 int VCC PH0 AI1 PC14 int PE6 C50 TLAK DBGB PE4 100n AO1 DBGA PE2 int int PE0 REF3 GND PB8 REF5 BOOT0 int (BOOT1) int PB6 DI2 Q1 PB4 DI4 STEP5 PD7 DO2 vyjmout R50 Konflikt PD5 SRV3 RSTD4 PD3 TXD3 DIR4 PD1 DIR STEP3 PC12 SCK TXD4 PC10 MOSI int PA14 MISO int PA10 RCLK o STEP2 PA8 o RSTD1 PC8 DIR1 PC6
BOOTi
R38 3K3
3V3
GND
GND 1K
R36
R35 1K
AI1
1 2 3
12V X15
GND
R10 3K3
3V3
AI2i
GND
GND VCC
RXD4 BOOTi TXD4 #RST
AO1
C27 100n
PC0 PC2 PA0 PA2 PA4 PA6 PC4 PB0 PB2 PE8 PE10 PE12 PE14 PB10 PB12 PB14 PD8 PD10 PD12 PD14
1 2 3 4 5 6 7 8 9 10
X16
1K
AI1i
R9 3K3
R8 10K
GND 1K R34
C17 100n
GND
TLAK
RXD3
GND
3K3
DI2i DI1i REF1i REF2i REF3i REF4i REF5i
PC3 PA1 PA3 PA5 PA7 PC5 PB1
GND 3V3 GND
GND VCC
DIR
TXD3
R2
GND
GND GND
AI2i AI1i DI4i DI3i
VPUMPo DO2i DO1i
GND
SVETLO1o SVETLO2o VENTo
GND
DI1 GND DI3 PE9 DO1 PE11 SRV4 PE13 REF2 PE15 RXD3 PB11 VPUMP PB13 VENT PB15 SVETLO2 PD9 SVETLO1 PD11 o PD13 int PD15
1 2 3 4 5 6 7 8 9 10
26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
X11
3 2
Q1 Q2 R50
R49
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50
DO2
DO1
1K
1K
1 2 3 4 5 6 7 8 9 10 STEP1
X17
SVETLO1
1 2 3 4
3K3
R12
GND
T7
4
C18 100n
DI4i
SVETLO1o
R43 3K3
4
R41 3K3
12V
VPUMPo
R39 3K3
12V
STEP2
DIR2
ERR RSTD2
PB7 PB5 PB3 PD6 PD4 PD2 PD0 PC11 PA15 PA13 PA9 PC9 PC7
3
X8 1 2 3 4 5 6 7 8 9 10
R26 10K
C23 100n
3V3
4
A4 2 Datum: Rev: Soubor: TestStm32F4.Sch
12V
12V
GND
C24 100n
REF3
C20 100n
REF4
List 2 z
Revise:
VCC 3V3 GND 6V 12V
2 4
R27 10K
REF2i
R19 10K
GND
3V3
3V3
C25 100n
REF2
GND
GND
C21 100n
REF1
GND
VCC 3V3 GND 6V 12V
DBGA DBGB
3K3
3V3 R23
3K3
R15
T8 IRF7240
DIR5 STEP5
1 2 3 4
X7
GND
100n
ERR RSTD5
VCC C9
U_Zdroj Zdroj.Sch
1 2 3 4 5 6 7 8 9 10
X10
T3 IRF7240
REF1i
SVETLO2o
R44 3K3
4
R42 3K3
VENTo
R40 3K3
GND
3K3
3V3 R22
3K3
R14
GND
GND
R33 3K3
DIR4 STEP4
4
GND
100n
ERR RSTD4
VCC C6
RIZENI OSAZOVACKY
GND
Rozmer:
Nazev:
3V3
REF3i
R18 10K
C19 100n
REF5
REF4i
DI4
GND
1 2 3 4 5 6 7 8 9 10
T9
T5
X9
GND
BCR512 SVETLO2 1
GND
3K3
R21
33K
R13
R17 1K
T6 IRF7240
GNDX18
2 1
BCR512 1
GND
DIR3 STEP3
GND
100n
ERR RSTD3
VCC C5
T2 IRF7240 VENT
GND
C2 100n
GND
R32 3K3
1 2 3 4 5 6 7 8 9 10
DI3
X5
3 VCC
3V3 3V3 GND RSTD5 R20 Q2 DI2i DI2 Konflikt C22 REF5i DIR5 3K3 100n STEP4 Konflikt R24 RSTD3 10K R25 DIR3 10K 3V3 GND RXD4 R28 RSTD2 DI1i DI1 int C26 int R29 3K3 100n DIR2 10K STEP1 GND GND 3V3
R16 10K
DI3i
BCR512 1
GND
T4
3V3
ERR 3K3 RSTD1 R1 DIR1
GND
C1 100n
GND
VCC
BCR512 VPUMP 1
1 2 3
X20
X3
GND
GND
VCC
6V
R52 470
GND VCC 3V3 PH1 PC15 ERR PC13 PE5 PE3 int PE1 int PB9 int
SRV4
GND
Display
SCK MOSI MISO RCLK
VCC
X14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
3 2 3 2
1 2 3 5 6 7 8 1 2 3 5 6 7 8
3 2
2
3 2
1 2 3 5 6 7 8 1 2 3 5 6 7 8
1
D
C
B
A
10 Přílohy
10.1 Schéma základní desky verze 1
74
75
D
C
B
A
3V3
12V
6V
12V
6V
VCC
VCC
3V3
GND
GND
1
1
GND
R4 3K3
C14 100n GND
12V
GND
R11 3K3
C3 100n GND
12V
4
7
4
7
VCC
GND
2
FB
VIN
TPS5430
FB
VIN
GND
U8
U1
C7 100n
3
10K
R46
15K
R5
8
GND
IN
GND
SW
BC
2 4
8
GND
C37
GND
C4 100n
GND
C16 100n
100uT/10
C8 100n
D1 MBRS140
47uH
1 C13 10n L1
GND
OUT SUBS
D4 MBRS140
47uH
L2
1 C11 10n
U6 LM1117MPX 3.3
GND
SW
BC
TPS5430(TPS5410,LM2675-ADJ)
2
NC NC 2 3 NC NC 2 3
ON/OFF GND GND 5 9 6 ON/OFF GND GND 5 9 6
GND 1
C12
C10 100n
C15
1G/16
GND
6V
GND
3V3
100uT/10
GND
VCC
C29
3
1G/16
GND
3
GND
2G2/16
A4 1 Datum: Soubor: Zdroj.Sch
Rozmer:
Nazev: Zdroje
R6 22R C30
Rev:
GND
12V
GND
2
SK54
List 1 z
Revise:
2u2
C35
D15
4
1 2
X6
GND
4
D
C
B
A
10.2 Osazení základní desky verze 1
76
D
C
B
97 98 1 2 3 4 5 38
DIR1
STEP1
STM32F407VE
13 14 15 16
GND
1
3V3
C56 100n
GND
C52 100n
3V3
C45 100n
GND
3V3 C47 100n
GND
3V3
GND
C54 100n GND
C46 100n
1 2 R RE
D DE
GND
B
A
2
R55 3K3
7
6
VCCR30 3K3
C50 100n GND
3V3
ADM483 U3
RXD1 VCC
C49 100n GND
4 3
C48 100n
3V3
R54
R53
GND
VCC
LEDZije
1K
1K R47
R45 DO1 DO2
10
10
3K3
R18
TXD3/D13/PD8 RXD3/D14/PD9 D15/PD10 CTS3/#CL/A16/PD11 RTS3/T4C1/ALE/A17/T4C1/PD12 T4C2/A18/PD13 T4C3/D0/PD14 T4C4/D1/PD15
C1RX/D2/PD0 C1TX/D3/PD1 T3ETR/RXD5/PD2 CTS2/FMSCCLK/PD3 RTS2/#OE/PD4 TXD2/#WE/PD5 RXD2/#WAIT/PD6 #E1/#CE2/PD7
T3C3/T8C3/PC8 T3C4/MC02/T8C4/SDA3/PC9 TXD3/SCK3/TXD4/PC10 RXD3/RXD4/MISO3/PC11 TXD5/MOSI3/PC12 TAMP1/TAMP2/RTC_TS/PC13 $
CRX1/T4C3/T10C1/SCL1/PB8 CTX1/T4C4/T11C1/SDA1/PB9 SCL2/TXD3/T2C3/SCK2/PB10 SDA2/RXD3/T2C4/RMIITXEN/PB11 T1BKIN/#SS2/SMBAI2/CK3/CRX2/RMIITXD0/PB12 T1C1N/SCK2/CTS3/CTX2/RMIITXD1/PB13 T1C2N/MISO2/RTS3/T12C1/T8C2N/PB14 T1C3N/MOSI2/T8C3N/T12C2/PB15
TXD1
GND
3V3
C55 100n GND
C53 100n Smer2 GND GND VCC VCC
PE8/D5/T1C1N PE9/D6/T1C1 PE10/D7/T1C2N PE11/D8/T1C2 PE12/D9/T1C3N PE13/D10/T1C3 PE14/D11/T1C4 PE15/D12/T1BKIN
PE0/T4ETR/BL0 PE1/BL1 PE2/A23/ PE3/A19 PE4/A20 PE5/A21/T9C1 PE6/A22/T9C2 PE7/D4/T1ETR
$ PC0/ADC10 $ PC1/ADC11/ETHMDC $ PC2/ADC12/MISO2/ $ PC3/ADC13/MOSI2/ $ PC4/ADC14/RMIIRX0/ $ PC5/ADC15/RMIIRX1 PC6/T3C1/T8C1/TXD6/ PC7/T3C2/T8C2/RXD6
PA8/CK1/MCO1/T1C1/SCL3/ PA9/TXD1/T1C2/SMBA3/ PA10/RXD1/T1C3 PA11/CTS1/T1C4/CRX1/ PA12/RTS1/T1ETR/C1TX/ PA13/TMS/SWDIO PA14/TCK/SWCLK PA15/TDI/T2C1ETR/SS1/SS3
$ PA0/CTS2/ADC0/WKP/T2C1ETR/T5C1/T8ETR/TXD4 T1C2N/T8C2N/T3C3/ADC8/PB0 $ $ PA1/RTS2/ADC1/T2C2/RXD4/RMIICLK/T5C2/T2C2 T1C3N/T8C3N/T3C4/ADC9/PB1 $ $ PA2/TXD2/ADC2/T5C3/T9C1/T2C2/MDIO BOOT1/PB2 $ PA3/RXD2/ADC3/T2C4/T5C4/T9C2 T2C2/SCK1/TRSWO/TDO/SCK3/SCK1/PB3 $ PA4/#SS1/#SS3/ADC4/CK2/DAC1 T3C1/MISO1/TRST/MISO3/PB4 $ PA5/SCK1/ADC5/T2C1ETR/T8C1N/DAC2 SMBAI1/T3C2/MOSI1/CRX2/EThPPS/MOSI3/PB5 $ PA6/MISO1/ADC6/T3C1/T8BKIN/T13C1/T1BKIN SCL1/T4C1/TXD1/CTX2/PB6 $ PA7/MOSI1/ADC7/T3C2/T8C1N/T14C1/T1C1N/RMIICRS SDA1/T4C2/RXD1/#NL/PB7
Reserva (Display,klavesnice...) X14 1 VCC 2 3 4 SCK 3V3 5 MOSI 6 MISO 7 C51 RCLK 8 100n CSX 9 DAUX 10 GND 11 VCC 12
SRV1 SRV2
SRV4
X37 SRV3
39 40 41 42 43 44 45 46
15 16 17 18 33 34 63 64
AI1 TLAK AI2 CERR CSX DAUX QA QB
RSTD
67 68 69 70 71 72 76 77
DO1 TXD1 RXD1 REF2 REF1 SWDIO SWCLK DI4
X36
X34
X33
X31
A
23 24 25 26 29 30 31 32
TXD4 RXD4 AUX1 AUX2 STEP SCK MOSI MISO
GND
GND VCC
12VX
LED
D2
1 2 3 4
X2
1 2
1 2
GND
SS2 Smer2 3V3 SVETLO1 GND VENT DI3 R17 X38 3K3 VPUMP DI2 SVETLO2 SS2
55 56 57 58 59 60 61 62
R58 1K
AI2
X21
X17
2
MISO2
GND
5
GND
C28 100n
1K
6
1
R3 10K
RXD4
1 2 3
GND
X8
3
GND
12V
SO
SI
SCK
#CS
X22
1 2 3
GND VCC
GND
GND
#WP
3V3
C17 100n
GND
GND
TLAK
R35 1K
AI1
2 3 4 5 6
1K C27 100n
GND
R9 3K3
R8 10K
GND
R34
RST BOOT
VCC 3V3 GND 12V 12VX
A4 2 Datum: Soubor: Cpu.Sch
Rev:
List 2 z
Revise:
GND
1 2 3
12V X15
GND
1 2 3
2 4
6V
R50
R49
1K
1K
DBGA DBGB
VCC 3V3 DIR GND 6V 12V 12VX RST BOOT
QA QB
GND
GND
1 2 3 4
X7
REF1 REF2 REF3 REF4 REF5 DI1 DI4 DI2 DI3 CERR
1 2 3
GND
1 2 3 4
VCC X23
GND
3V3
DIR
3V3
R1
3K3
GND
X20
STEP1
DIR1
ERR RSTD
VCC C1 100n
R52 470
1 2 3 4 5 6 7 8 9 10
X3
REF1 REF2 REF3 REF4 REF5 DI1 DI4 DI2 DI3 SLOPE/ERR
SRV4
U_Zdroj Zdroj.Sch
12V X11
VCC 3V3 GND 6V 12V 12VX
4
GND
VPUMP SVETLO1 SVETLO2 VENT VCC 3V3 GND 12V 12VX CRX CTX
GND U_InOut InOut.Sch
6V
1 2 3
X19
STEP4
DIR4
ERR RSTD
GND R51 470
1 2 3 4 5 6 7 8 9 10
VENT SVETLO2 VPUMP SVETLO1
SRV3
GND
X9
VCC C34 100n
RIZENI OSAZOVACKY Rozmer:
Nazev:
7
3
GND
CRX 3K3 CTX 3K3 3K3 VCC X18 3K3 1
R10 3K3
3V3
1 2 3
X13
STEP3
DIR3
ERR RSTD
VCC C33 100n
U4 25LC160B-I/SN
#HOLD
GND
6V
RXD3 BOOT TXD3 RST
R37 R39 R36 R56 R66 R67 3K3 3K3 R68 R69 3K3 3K3 AUX1 AUX2 STEP AUT 3V3
1 2 3 4 5 6 7 8 9 10
R7 470
X16 3V3
1 2 3 4 5 6 7 8 9 10
SRV2
STEP2
DIR2
ERR RSTD
GND X12
GND
3K3
MOSI2
R57
1 2 3 4 5 6 7 8 9 10
GND
SCK2
X35 C9 100n C42 100n C43 100n C44 100n
GND VCC
DIR
TXD4
DI1 DIR4 ERR DBGA DBGB
R2
REF4 REF3
1 2 3 4 5 6 7 8 9 10
6V
R48 470
81 82 83 84 85 86 87 88
X4
SRV1
GND
REF5 DO2 TXD3 RXD3 DI3
X10 SCK2 MISO2 MOSI2
DIR2 STEP2 LEDZije
STEP4 DIR3 CRX CTX STEP3
RCLK AUT
65 66 78 79 80 7
95 96 47 48 51 52 53 54
35 36 37 89 90 91 92 93 STEP DRIVER 2
C2 100n
STEP DRIVER 3
X5
3 VCC
STEP DRIVER 4
2
485 zasobníky
SERVO PWM 8 VCC GND 4
STEP DRIVER 1
U2A
8 VCC GND 5
DEBUG Q encoder
1
D
C
B
A
10.3 Schéma základní desky verze 2
77
78
D
C
B
X30
3 2 1
X27
3 2 1
R26 10K
GND
R60 10K
R27 10K
R19 10K GND
SVETLO1
VPUMP
3V3
3K3
3V3 R22
3K3
R14
3V3
3K3
3V3 R23
3K3
R15
T4
R59 3K3
4
R32 3K3
REF1 C21 100n
REF4
GND
C24 100n
GND
REF3 C20 100n
GND
REF2 C25 100n
GND
1
T7
GND
GND
BCR512 1
BCR512 1
3
2
12VX
1 2 3
3 2 1
X29
3 2 1
X26
R43 3K3
4
R41 3K3
GND
R16 10K
GND
R29 10K
33K
R13
R61 1K
3V3
3K3
3V3 R12
3K3 R24 10K
R20
3V3
3K3
R28
X25
X24
T6 IRF7240
T2 IRF7240
12VX
5 6 7 8
1 2 3
5 6 7 8
GND
VENT
GND
SVETLO2
GND
GND
C19 100n
GND
C18 100n
GND
C22 100n
GND
C26 100n
DI4
2 1
X28
DI3
DI2
DI1
T5
2
GND
T9
R40 3K3
4
R33 3K3
C36 100n
3V3
12VX
12VX
12VX
12V
3V3
VCC
GND
12VX
12V
3V3
VCC
GND
T8 IRF7240
T3 IRF7240
REF5 C23 100n GND
R44 3K3
4
R42 3K3
3K3 R25 10K
R21
GND
3V3
GND
GND
BCR512 1
BCR512 1
2
3 2
A
3
2
3 2 1 3 2 1
3 2
1 2 3 5 6 7 8 1 2 3 5 6 7 8
3
C38 100n GND
3V3
3
4
5
1
RXD
REF
TXD
VCC
GND
CANL
CANH
R62 1K
A4 2 Datum: Soubor: InOut.Sch
Rozmer:
Rev:
2
10
4
4
C40 VCC
X32
OVLADACI CAN
1 2 3 4
L3 10uH
GND
100n
C41
100n
R63 120
GND
GND
10
List 2 z
Revise:
R65
R64
VSTUPY A VYSTUPY
6
7
U9
SN65HVD266/256
SLOPE/ERR
Nazev:
CRX
CTX
C39 100n GND
VCC
3 VCC GND 2
1
SLOP 8
D
C
B
A
79
D
C
B
A
3
4
7
FB
VIN
IN
GND
1
4
7
FB
VIN
TPS5430
GND
OUT SUBS
2 4
GND
GND
U8
U1
10K
R46
15K
R5
GND
SW
BC
8
C10 100n
8
GND
D1 MBRS140
47uH
L1
1 C13 10n
GND
3V3
GND
D4 MBRS140
47uH
L2
1 C11 10n
C37
100uT/10
C8 100n
GND
SW
BC
TPS5430(TPS5410,LM2675-ADJ)
U6 LM1117MPX 3.3
R4 3K3
C14 100n
C7 100n
GND
12V
VCC
GND
R11 3K3
C3 100n
GND
12V
12VX
6V
12V
12V
12VX
6V
3V3
VCC
VCC
3V3
GND
GND
1
GND
1
NC NC
2 3
NC NC
2 3
ON/OFF GND GND
5 9 6
ON/OFF GND GND
5 9 6
GND
C16 100n
GND
C4 100n
C12
1G/16
1G/16
C29
GND
2
C15
GND
6V
100uT/10
GND
VCC
2
GND
R6 22R
BOOT
1
R38 3K3
3V3 R31 3K3
3
GND
T1 BC817
3
3 2
A4 1 Datum: Soubor: Zdroj.Sch
Rozmer:
ZDROJ
2G2/16
Rev:
49 73
94
13
C30
GND
12V
9 12
C5 2u2/>5 GND
X1 12Mhz
C6 2u2/>5
22P
22P
GND
C32
Nazev:
GND
GND
C31
DIR
8
#RST
GND
List 1 z
Revise:
SK54 C35 2u2/100
D15
4
GND
2
10 27 74 99 20
1 2
3V3
RST
GND
21 22 11 28 50 75 100 19
6
14
X6
12VX
VSS VSS VSS VSS VSSA STM32F407VE
VCAP1 VCAP2
$ BOOT0
VR+ VDDA PC15/OSC32O VDD VDD OSCIN VDD VDD VDD VDD OSCOUT
PC14/OSC32I VBAT
U2B
4
D
C
B
A
10.4 Osazení základní desky verze 2
80
D
C
B
A
Programovani+DBG
1
GND
3 2
1
BYPASS
LP3985-3.3
ON/#OFF GND
U4 IN
GND
T1 BC817
44
6
5
4
3
10 11 12 13 14 15 16 17 29 30 31 32 33 34 37 38
OUT
X2 12Mhz
IN1
TXD1 RXD1 CRD CTD
LEDZije
R5 3K3
22P
22P
VCC
1
R6 3K3
C6 100n
GND
VCC
BOOT
C4
C3
X1
1 2 3 4 5 6
3V3
GND
GND
TXD1 RXD1 BOOT RST GND 3V3
TXD2
(DBG pujde pres RXD1 a TXD)
R1 3K3
3V3
3
2
C11 100n
GND
4
5
GND
X4
C7
STM32F103C8T6
BOOT
OSCOUT
OSCIN
PC15/OSC32O
PC14/OSC32I
GND
X5
GND 10u/6
3V3
GND
X6
2
GND
X7
VSS VSS VSS VSSA
VBAT VDDA VDD VDD VDD
PC 13/TAMP-RTC #RST
PA0/WKUP/CTS2/ADC0/T2C1/T2ETR T3C3/ADC8/PB0 PA1/RTS2/ADC1/T2C2 T3C4/ADC9/PB1 PA2/TXD2/ADC2/T2C3 BOOT1/PB2 PA3/RXD2/ADC3/T2C4T2C2/SCK1/TRSWO/TDO/PB3 PA4/SS1/ADC4/CK2 T3C1/MISO1/TRST/PB4 PA5/SCK1/ADC5 SMBAI1/T3C2/MOSI1/PB5 PA6/MISO1/ADC6/T3C1 SCL1/T4C1/TXD1/PB6 PA7/MOSI1/ADC7/T3C2 SDA1/T4C2/RXD1/PB7 PA8/CK1/MCO T4C3/SCL1/PB8 PA9/TXD1 T4C4/SDA1/PB9 PA10/RXD1 SCL2/TXD3/T2C3/PB10 PA11/CTS1 SDA2/RXD3/T2C4/PB11 PA12/RTS1 SS2/SMBAI2/CK3/PB12 PA13/TMS/SWDIO SCK2/CTS2/PB13 PA14/TCK/SWCLK MISO2/RTS3/PB14 PA15/TDI/T2C1/T2ETR/SS1 MOSI2/PB15
U1
2
23 35 47 8
1 9 24 36 48
2 7
18 19 20 39 40 41 42 43 45 46 21 22 25 26 27 28 GND
GND
GND
1 2 3 4 5 6 7 8 9 10
3V3
RST
SLOPE
IN0
SS2
MISO2
C1 100n
AS5311
NC MagInc MagDec A B NC INDEX VSS Prog NC
U3
IN1
GND
3V3
SCK2
C2 100n
GND 20 19 18 17 16 15 14 13 12 11
SS2 SCK2 MISO2
VCC 3V3X
3
GND
0R
R8
C8 100n GND
1K5
R2
Date: File:
A4
Size
Title
GND
GND
CANL
CANH
C5 100uT/6
R7 10K
6
7
U2
GND
VCC
16.5.2015 i:\ppp\..\Odmer.Sch
Number
R4 10
R3 10
GND
GND
C40
4
81
4
Sheet of Drawn By:
SN65HVD266/256/265/255 (256)
RXD
REF
TXD
SLOPE
4
5
1
VCC
LEDZije
ODMEROVANI
C9 4.7u/6
3V3X
CRD
CTD
LED 2mA
D1
3V3X
C12 100n
3V3
VCC
1 2
X8
GND
R10 10K
3V3
GND
100n
C10
3V3
IN0
NC VDD50 VDD33 NC NC PWM #CS CLK DO NC
1 2
R9 10K X9
3V3
GND
3V3
GND
3
3 VCC GND 2
SLOP 8
1
Revision
VCC
V1.1
1 2 3 4
L3 10uH
GND
100n
C41
100n
X3
D
C
B
A
10.5 Schéma odměřování polohy
10.6 Osazení desky odměřování
82
D
C
B
A
6 5 4 3 2 1
MOSI MISO SCK RSTP
C19 100n
3K3
12 13 14 15 16 17
21
18
20
8
7
29
1
GND
C1 4u7
GND
VCC
LED
LED D1
VCC
RXD/PD0 TXD/PD1 INT0/PD2 INT1/PD3 TO/XCKT0/PD4 T1/PD5 AIN0/PD6 AIN1/PD7
ATMEGA8 SMD
PB0/ICP1 PB1/OC1A PB2//SS/OC1B PB3/MOSI/OC2 PB4/MISO PB5/SCK
AGND
AVCC
AREF
X2/PB7
X1/PB6
ADC0/PC0 ADC1/PC1 ADC2/PC2 ADC3/PC3 SDA/ADC4/PC4 SCL/ADC5/PC5 ADC6 ADC7
GND
R10 3K3
30 31 32 1 2 9 10 11
23 24 25 26 27 28 19 22
R9 3K3
UN MS1 PFD2 PFD1 REFI SR
GND
LED2
ERR LED1
RSTD RSTDI
UN
10K
R8
VCC
ERR
10K R7
C21 100n
BAT46
D10
REFI
R5 33K
48V
GND
GND
STEP
DIR
RSTDI
GND
VCC C2 100n
D11
1 2 3 4 5 6 7 8 9 10
X10
X1
PC6/RESET
U4
GND
R1
X6
STEP DIR
GND
VCC
22p
GND
VCC
GND
C18
22p
18.432Mhz C17 RSTP
1K
R6
1K
R2
VCC
LED2
LED1
I=URef/(8R)=0.25/R R=0.25/I
X5
Programovani
VCC 25 21
GND
VCC
2
1 2 3 4
X7
GND 10K(8K2)
R13
SR
RSTD
GND
PFD1 PFD2
VCC
MS1
23
18
22
19
31 27
28 29
C16 1u/50
A3986
U2
GL1B S1B GH1B C1B
48V
C9 100n
100n C10
C11
C25 100n
C8 100n
C7 100n
100n
GND
1n
100
83
3
Driver A3986
C13
R15 10R R16
IRFR024N 2A D13 1N4148
3
10R
3
GND
T2
X2 D3 SK56
D5
GND
R20 0.1R
48V
GND
SK56
D6 SK56
R4 0.1R
D8 SK56
X3
D7
SK56
D2 D4 SK56 SK56
100
R19
R3 0.1R
1n GND
10R
T4 3
IRFR024N 1A 1N4148
3
T3
IRFR024N
IRFR024N T1
1N4148
R14
D12
C14
R18
D15
10R
R17
D14 1N4148
10R
R23
3 10R
1N4148
1N4148
1N4148
D18
10R
4
IRFR024N
1B T8 IRFR024N R25 3
R24 10R
3
D19
IRFR024N
2B T6 D17 1N4148
R22
3
T5 D16
4
T7
IRFR024N
GND
R21 0.1R
SK56
D9
48V
ORG * * Size: A4 Number:* Revision:1.1 * Date: 19.12.2014 Time: 15:00:58 Sheet 1 of 1 * File: I:\ppp\aaRWZdroje\altium\CNC\A3986NEW\Documents\DrvA3986.sch Title
GND
3
C20 220u/50 GND
48V
10uT/16
C12 1u/50 GND
C6
GND
48V
35 36 37 38
33 32
1 2 3 4
15 14 13 12
16 17
11 10 9 8
C24 100n GND
48V
GL2B S2B GH2B C2B
LSS2 SENSE2
C2A GH2A S2A GL2A
C23 100n GND
48V
GND
C1A GH1A S1A GL1A
VREG
GND
6
C5 1u/50 GND
48V
LSS1 SENSE1
100n
48V C4
GND
48V
C22 100n GND
48V
OSC
SR
#RST
#ENAB
PFD1 PFD2
MS1 MS2
STEP DIR
VCC REF
C15 100n GND
VCC
C3 10n STEP 26 GND DIR 30
REF
2 1
48V PO1 4A
X4 GND
2
7 VBB GND 20
2 1 2 1
2 1 2
1 2 1
2 1 2 1
1 2 2 1 2 1
1
D
C
B
A
10.7 Schéma ovladače krokového motoru
10.8 Osazení ovladače krokového motoru
84
D
C
B
1
GND
C19 1u/16
3
5
SHDN
ERR
12V
8
7
6
2
GND
LP2951ACM
VTAP
SENSE
OUT
1
U9
FB
IN GND 4
GND
R54 2K2
R52 12K
C2 220u/16
2
GND
R45 100K
10V
2
100n
C6
GND
10V
3
OUT-
OUT+
VDD GND
GND
1
4
2
GND
Tlakomer
C13 100n
R9 1K
R7 1K
100n C7
GND
330
R2
1K
R3
8
3
2
1
10V
GND
AD623
6
U4 5
1K
C8 100n
C12 100n
85
3
4
GND
10V
4
GND
1 2 3
12V X2
10K
R4 1K
GND
GND
R8
C5 STRED GND 100n
R1
Size: A4 Number:1 Revision:1 Date: 19.12.2014 Time: 14:56:17 Sheet 1 of 1 File: I:\ppp\aaRWZdroje\altium\CNC\TlakOsazovacka\dokumenty\Tlakomer.SCH
Title
C10 1n
U2 MPX2050
3
7 4
A
1
D
C
B
A
10.9 Schéma modulu měření tlaku
10.10 Osazení modulu měření tlaku
86
10.11 Modul STM32F4 discovery rozměry
87
10.12 Obsah přiloženého CD
Soubor s touto prací ve formátu pdf.
Katalogové listy použitých součástek.
Zdrojové texty programů.
Podklady pro výrobu desek plošných spojů.
88