Dokumentace k semestrálnímu projektu předmětu Základy robotiky
Řídící jednotka pro 2D plotter
Autoři:
Petr Sauer Jiří Sliž Vladimír Střítevský
Vedoucí práce:
Ing. Vlastimil Kříž
Řídící jednotka pro 2D plotter
Obsah 1 Zadání...............................................................................................................................................3 2 Popis plotteru HP7440......................................................................................................................3 3 Řídící jednotka..................................................................................................................................4 3.1 Schéma zapojení řídící jednotky...............................................................................................4 3.1.1 Popis zapojení řídící jednotky...........................................................................................5 3.1.1.1 Návrh tranzistorového spínače..................................................................................5 3.1.2 DPS a osazovací plán........................................................................................................6 3.2 Schéma zapojení převodníku USB/RS232...............................................................................6 3.2.1 Popis zapojení...................................................................................................................6 3.2.2 DPS a osazovací plán........................................................................................................7 3.3 Software řídící jednotky............................................................................................................7 3.4 PIC16F874 ...............................................................................................................................8 3.4.1 Čítače/časovače.................................................................................................................8 3.4.2 Modul PWM.....................................................................................................................8 3.4.3 Modul USART..................................................................................................................9 4 Ovládací program.............................................................................................................................9 4.1 Screen ovládacího programu....................................................................................................9 4.2 Nápověda k ovládacímu programu.........................................................................................10 5 Závěr...............................................................................................................................................13 Literatura............................................................................................................................................14
1
Řídící jednotka pro 2D plotter
Seznam obrázků Obr. 1: Fotka plotteru bez krytu...........................................................................................................3 Obr. 2: Schéma zapojení řídící jednotky..............................................................................................4 Obr. 3: Spínání cívky............................................................................................................................5 Obr. 4: DPS řídící desky.......................................................................................................................6 Obr. 5: Osazovací plán řídící desky......................................................................................................6 Obr. 6: Schéma zapojení USB/RS232..................................................................................................6 Obr. 7: DPS USB/RS232......................................................................................................................7 Obr. 8: Osazovací plán USB/RS232.....................................................................................................7 Obr. 9: Blokové schéma PWM modulu................................................................................................8 Obr. 10: Průběh PWM..........................................................................................................................8 Obr. 11: Screen ovládacího programu..................................................................................................9 Obr. 12: Screen z Eaglu......................................................................................................................10 Obr. 13: Screen z CAM procesoru......................................................................................................11 Obr. 14: Screen ovládacího programu................................................................................................12 Obr. 15: Screen ovládacího programu 2.............................................................................................13
2
1 Zadání
Řídící jednotka pro 2D plotter
1 Zadání Sestavte HW modul s mikropočítačem, který bude tvořit řídící jednotku plotteru HP7440. Vytvořte PC program pro komunikaci s takto vzniklou tiskárnou přes USB. Zařízení bude schopno kreslit na desky plošných spojů. Podklady pro tisk budou soubory exportované z programu Eagle ve formátu HPGL.
2 Popis plotteru HP7440 Je to zapisovací plotter od firmy HP, který je schopen kreslit na plochu velikosti A4 až A3 pomocí fixek, nebo jiných nástrojů. V našem případě máme k dispozici pouze mechanickou část tohoto plotteru, tedy kostru a mechanizmus pro posuv papíru v ose Y a posuv nástroje v ose X. Pohyb v osách X, Y provádí stejnosměrné motory s připojenými inkrementálními opsickými snímači natočení.
Obr. 1: Fotka plotteru bez krytu
3
3 Řídící jednotka
Řídící jednotka pro 2D plotter
3 Řídící jednotka Jádrem naší řídící jednotky je mikropočítač PIC16F874 od firmy Microchip. Je to jednočipový osmibitový mikropočítač architektury RISC. Pro řízení otáček a směru motorů jsme použili dvojtý integrovaný H můstek v obvodu L298. Pro komunikaci s počítačem je použito rozhraní RS232. Aby bylo možno připojit plotter k PC přes rozhraní USB, je k řídící jednotce připojen převodník USB/RS232 s obvodem FT232RL firmy FTDI (Future Technology Devices International ).
3.1 Schéma zapojení řídící jednotky
Obr. 2: Schéma zapojení řídící jednotky
4
3 Řídící jednotka
3.1.1
Řídící jednotka pro 2D plotter
Popis zapojení řídící jednotky
V zapojení jsou použity 2 druhy napájení. Pro napájení motorů a cívky pohybující násrojem je přes gratz (U1) usměrněno napětí 20V, to je také filtrováno kondenzátorem (C3). Pro zbytek zařízení je použito napájení 5V, které je získáno z USB. V pravo je vidět trojice jumper lišt pro připojení enkodérů(JP1, JP2) a pro připojení převodníku USB/RS232 (JP3). K mikropočítači (IC2) je připojen krystal 20MHz(Q1) a pro lepší stabilizaci frekvence jsou zapojeny od krystalu k zemi 2 kondenzátory (C1, C2). Jumpery (JP4) pak slouží k sériovému programování mikropočítače. Námi zatím nepoužité piny mikropočítače byly vyvedeny na jumpery(JP5). Obvod L298(IC1) má přivodeno dvojí napájení, 5V pro řízení logickými úrovněmi a 20V pro pohyb motorů. L298 (IC1) je připojený k mikropočítači (IC2) čtyřmi piny pro řízení směru, nebo zastavení motoru(INPUT1-4) a dvěma piny kde je přiveden signál PWM pro regulaci otáčk motorů (PWM1,2). Pro spínání cívky, která pohybuje nástrojem, byl navržen tranzistorový spínač. 3.1.1.1 Návrh tranzistorového spínače
Proud cívkou ze známého napětí a změřeného odporu cívky. U 20V R L =51,9 Ω → I L= = =385,4 mA= I C R L 51,9 Ω h FE tranzistoru BD139−16 je 250 I B =5⋅( I C /h FE )=5⋅(385,4 /250)=7,708 mA≈8mA Napětí na R2: U R2 =5−0,7=4,3 V A R2 pak vypočteme: U 4,3 R2 = R2 = =537,5 Ω ≈680 Ω I B 0,008 Nakonec R3 zvolíme stejný, pak: 0,7 4,3 I R3= =1,03 mA I R2= =6,32 mA 680 680 Skutečný proud do báze je: I B =6,32−1,03=5,29 mA Obr. 3: Spínání cívky ten stačí protože 0,00529⋅250=1,3225 Ic je více jak trojnásobek původního, to zajistí bezproblémové spínání.
5
3 Řídící jednotka
3.1.2
Řídící jednotka pro 2D plotter
DPS a osazovací plán
Obr. 4: DPS řídící desky Obr. 5: Osazovací plán řídící desky DPS byla navržena tak aby bylo jednoduché připojit již vyvedené konektory z plotteru.
3.2 Schéma zapojení převodníku USB/RS232
Obr. 6: Schéma zapojení USB/RS232
3.2.1
Popis zapojení
Toto zapojení vychází z dokumentace od výrobce, bez větších změn. LED1 a LED2 slouží k signalizaci datového toku sériové linky TXD a RXD.
6
3 Řídící jednotka
3.2.2
Řídící jednotka pro 2D plotter
DPS a osazovací plán Zobrazeno v dvojnásobné velikosti.
Obr. 7: DPS USB/RS232
Obr. 8: Osazovací plán USB/RS232
3.3 Software řídící jednotky Program mikropočítače je psán v jazyku C. Hlavní smyčka je rozdělena na 3 stavy. První, stav 0, je nastaven při spuštění a v něm je očekáváno připojení k PC, v řídícím programu se stiskne tlačítko Connect, tím se odešle řetězec "CONECTX" ('X' vždy ukončuje řetězec), mikropočítač jej přijme, také odešle a nastaví stav 1. Ve stavu 1 se přijímají příkazy trojího typu. Příkaz "UX" znamená zvednutí nástroje (up), příkaz "DX" slonění nástroje (down) a poslední příkaz má tvar "Asouřadnice xZsouřadnice yZX" kde jsou za prvním rozlišovacím znakem ('A') relativní souřadnice posunu nástroje oddělené pomocí 'Z' a ukončeno je to opět 'X'. Vždy po přijetí příkazu se tento provede a po jeho provedení se nastaví stav 2, kde se každých 20ms odesílá do PC informace o tom že je příkaz vykonán a čeká se na reakce PC.
7
3 Řídící jednotka
Řídící jednotka pro 2D plotter
3.4 PIC16F874 Popsány zde budou periferie mikropočítače, které byly použity v tomto projektu. PIC16F874 je jednočipový osmibitový mikropočítač architektury RISC. Maximální frekvence oscilátoru je 20MHz, ten jsme také použili, doba vykonání jedné instrukce je tedy 200ns. Použity byly všechny tři čítače/časovače které jsou k dispozici, dva 16ti a jeden 8mi bitový. Dále je využíván modul USART, tedy modul sériového rozhraní pro komunikaci s PC a pro řízení rychlosti modul PWM.
3.4.1
Čítače/časovače
Mikropočítač obsahuje 3 čítače/časovače, z nichž dva mají externí vstup. Tyto jsou požity pro čítání pulzů z inkrementálních enkodérů motorů. Jeden z těchto čítačů TMR1 je 16ti bitový, takže má dostatečnou kapacitu. Druhý je pouze 8mi bitový, takže je nutné užít přerušení při přetečení a zde pak přičítat k vnitřní proměnné hodnotu 255. Třetí čítač je využíván modulem PWM.
3.4.2
Modul PWM
Mikropočítač je vybaven dvěma moduly PWM, ten je spojen s moduly komparátorů, které v našem projektu nejsou zapotřebí. Na Obr. 9 je vidět blokové schéma modulu PWM1, druhý modul je shodný. V režimu PWM je na výstupu CPP(pin mikropočítače) přítomen pulsně šířkové modulovaný signál s rozlišením až 10 bitů. Příslušný bit registru TRISC musí být vynulován, aby vývod CCP byl nastaven jako výstupní. Výstup PWM je v pravidelných intevrvalech nastavován do stavu log.1. Perioda tohoto nastavování odpovídá základní opakovací frekvenci PWM. K nulování výstupu dochází podle hodnoty uložené v registru periody. Situace je znázorněna na Obr. 10.
Obr. 9: Blokové schéma PWM modulu
Obr. 10: Průběh PWM 8
3 Řídící jednotka
3.4.3
Řídící jednotka pro 2D plotter
Modul USART
Adresovatelný univerzální synchronní asynchronní přijímač vysílač USART je jedním ze dvou sériových komunikačních portů mikropočítače. USART bývá rovněž někdy označován zkratkou SCI (sériový komunikační interface). USART může být konfigurován jako plně obousměrný (duplexní) asynchronní komunikační port připojitelný například k portu COM osobního počítače. Druhá možnost konfigurace modulu USART je poloduplexní synchronní port pro připojení k periferním zařízením jako jsou externí AD převodníky, paměti nebo další integrované obvody. V našem případě je užit pro komunikaci s PC. Rychlost komunikace je 9600 bps.
4 Ovládací program Ovládací program je psaný v C++ s podporou windows CLI. Jsou zde vytvořeny dvě třídy, jedna (Item) obsahuje informace o jednom příkazu a druhá (CHpgl) tvoří z první třídy (Item) lineární seznam, pomocí kterého se jak zobrazuje DPS tak tiskne. Komunikace probíhá pomocí řetězců, jak bylo popsáno u řídící jednotky.
4.1 Screen ovládacího programu
Obr. 11: Screen ovládacího programu
9
4 Ovládací program
Řídící jednotka pro 2D plotter
4.2 Nápověda k ovládacímu programu Ovládací program umožňuje zobrazení následující uživatelské nápovědy: Nápověda k Exportu dat plošných spojů z programu Eagle do plotteru. (Nápovědu zavřete opětovným kliknutím na tlačítko Help) Jak exportovat data z programu Eagle? (zde) Jak načíst soubor vyexportovaný z programu Eagle? (zde) Jak Vytisknout načtený soubor v programu HPGL.exe ? (zde) 1.Nejprve je potřeba správně uložit data přes CAM processor. • Jedna varianta je vyobrazena na obrázku kliknutím na zakroužkovanou ikonku s popiskem CAM v horním panelu nástrojů. • Druhá varianta, jak spustit CAM processor je postupným klikáním přes File ->CAM processor
Obr. 12: Screen z Eaglu
10
4 Ovládací program
Řídící jednotka pro 2D plotter
Tím se nám otevře okno pro nastavení vyexportování našeho plošného spoje zde je potřeba nastavit: • Výstup (Output) o Device : HPGL ( formát v němž budeme exportovat data) o Scale: 1 o File: nastavíme místo uložení, a název souboru s příponou .out (‘deska.out‘) • Tloušťku fixy (Pen) o Záleží na zvolení tloušťky fixy (čáry). V našem případě to bude 0.7mm Diameter : 0.7mm(standard) • Style o Zde zaškrtneme to, co nám bude nejvíce vyhovovat. V našem případě je to pos.Coord . • Nastavení vrstev, které chceme, aby se vykreslili. o V našem případě vrstvy Top, Pads, Vias, Dimension • Nakonec vše uložíme tlačítkem Process Job. Nyní můžeme ukončit veškerou činnost Eaglu.
Obr. 13: Screen z CAM procesoru
11
4 Ovládací program
Řídící jednotka pro 2D plotter
2. Zapněte program HPGL.exe • • •
Open HPGL o Klikněte na tlačítko Open HPGL a nastavte cestu k uloženému souboru, v našem případě deska.out Rotace o Toto tlačítko slouží k otočení navržené plošné desky o 90° Centr o Slouží k umístění plošného spoje na střed papíru
Tento program nám umožňuje provést si vizuální kontrolu vlastním okem. Můžete si pomocí kolečka plošný spoj zvětšit a pomocí kláves „WSAD“ posouvat. To nemá vliv vytištění plošného spoje.
Obr. 14: Screen ovládacího programu
12
4 Ovládací program
Řídící jednotka pro 2D plotter
3. Zprovoznění komunikace mezi programem a plotterem. Nejprve musíme vybrat správný port. Výběr provádíme v okénku vlevo. Následně potvrdíme tlačítkem connect, nad tlačítkem se zobrazí nápis „CONECTED“. Pokud plotter není připojen, nebo je nějaká chyba s komunikací, zobrazí se „CONECTION FAILED!“. Pokud je připojení v pořádku, tak stačí stisknout Print a zahájí se tisk. Po skončení se vypíše „Prind done“. Uživatel může také tisk předčasně ukončit tlačítkem Stop.
Obr. 15: Screen ovládacího programu 2
5 Závěr Úspěšně jsme navrhli řídící jednotku k plotteru dle zadání. Vytvořili jsme ovládací program do PC, který umí načíst soubor formátu hpgl, zobrazit tento soubor a hlavně odeslat jej postupně po příkazech plotteru pomocí sériové linky. V ovládacím programu lze také DPS přiblížit, otočit o 90° a nastavit offset. Tisk probíhá s přesností 0.1 mm, této přesnosti je dosaženo při kreslení buď pouze jedním, či druhým motorem, tedy navzájem kolmých čar. Přesnost při kreslení šikmich čar je horší, protože se nám zatím nepodařilo vyregulovat zasekávání motoru.
13
Literatura
Řídící jednotka pro 2D plotter
Literatura [1] PEROUTKA, Oldřich. Mikrokontroléry PIC16F87X a důležité rozdíly mezi řadou PIC16F87X a PIC16F87XA. 1. vyd. Praha: BEN - technická literatura, 2005, 255 s. ISBN 80-7300-139-X. [2] MICROCHIP. PIC16F87X Data Sheet. Dostupné z: http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf [3] MATOUŠEK, David. USB prakticky. 1. vyd. Praha: BEN - technická literatura, 2003, 270 s. ISBN 80-7300-103-9. [4] HANÁK, Ján. C /CLI - Začínáme programovat. Vyd. 1. Brno: Artax, 2009, 370 s. ISBN 978-80-87017-04-3. Dostupné z: http://download.microsoft.com/download/8/0/E/80E9ED8D-F63F-4912-A5B8A1CFB186571D/Zaciname_programovat_v_Cpp_CLI.pdf
14