POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI Kierunek: Specjalno± : Automatyka i Robotyka (AIR) Robotyka (ARR) PROJEKT IN YNIERSKI Sterownik do planarnego pozycjonera translacyjnego Control unit for a planar translation table Autor: Marcin Krajewski Prowadz cy projekt: dr in». Marek Wnuk PWr, I-6 Ocena projektu: WROCŠAW 2014
Spis tre±ci 1 Wst p 3 1.1 Cel i zakres projektu.............................. 3 1.2 Motywacja.................................... 3 1.3 Zaªo»enia projektowe.............................. 3 1.4 G-code...................................... 4 2 Projekt urz dzenia 5 2.1 Ogólna koncepcja dziaªania.......................... 5 2.2 Dobrane elementy i ich charakterystyki.................... 6 2.2.1 Moduª z mikrokontrolerem....................... 6 2.2.2 Sterownik silnika krokowego...................... 8 2.2.3 Silniki krokowe............................. 11 2.2.4 Moduª z gniazdem kart SD....................... 11 2.2.5 Wy±wietlacz alfanumeryczny...................... 12 2.2.6 Klawiatura............................... 14 2.2.7 Transformator i regulatory napi................... 15 2.3 Wykorzystywane narz dzia........................... 15 2.3.1 Wykonywanie schematów i prototypów obwodów drukowanych... 15 2.3.2 Tworzenie oprogramowania dla mikrokontrolera........... 16 2.4 Wykonane ukªady elektroniczne........................ 16 2.4.1 Nakªadka poª czeniowa......................... 16 2.4.2 Sterownik silnika............................ 20 2.4.3 Sekcja zasilania............................. 21 2.5 Zªo»enie elementów projektu.......................... 24 3 Konguracja peryferiów w ±rodowisku CodeWarrior 25 3.1 Czytnik kart SD................................. 25 3.2 Wy±wietlacz alfanumeryczny LCD....................... 29 3.3 Sterowniki silników............................... 30 3.4 Klawiatura.................................... 32 4 Podsumowanie projektu 33 4.1 Propozycja dalszych prac............................ 33 A Ukªady elektroniczne 35 A.1 Schematy ideowe................................ 36 A.2 Wzory pªytek drukowanych........................... 39 A.3 Schematy monta»owe.............................. 42 A.4 Zdj cia prototypów............................... 45
2 SPIS TRE CI A.5 Listy elementów................................. 48 B Przykªadowy G-code wraz z opisem 51 Bibliograa 51
Rozdziaª 1 Wst p 1.1 Cel i zakres projektu Celem pracy jest zaprojektowanie i uruchomienie sterownika do planarnego pozycjonera translacyjnego. Przy jego pomocy b dzie mo»na niezale»nie porusza dwoma silnikami krokowymi. Caªo± sterowana b dzie za pomoc G-code. Dzi ki wy±wietlaniu nazwy i parametrów wykonywanej komendy, u»ytkownik zyska informacje na temat aktualnej fazy wykonywanego procesu pozycjonowania. Dane do sterowania b d pobierane z zewn trznego no±nika, co pozwoli na podanie bardzo du»ej liczby komend steruj cych. Projekt zakªada wykonanie: nakªadki na moduª mikrokontrolera grupuj cej odpowiednio wyj±cia i wyj±cia pod wzgl dem przeznaczenia portów, stworzenie dwóch pªytek z moduªami steruj cymi silnikami krokowymi, stworzenie pªytki zasilaj cej z niezb dnymi zakresami napi. 1.2 Motywacja Motywacj tworzenia projektu jest ch gª bszego zapoznania si z aplikacj steruj c silnikami krokowymi, które s szeroko stosowane w pozycjonowaniu obiektów. Mo»emy si z nimi spotka w ogromnej ilo±ci urz dze«, od drukarek, nap dów DVD, po zawory mechaniczne stosowane w przemy±le. Dzi ki niewysokiej cenie znajduj zastosowanie w ogromnej wi kszo±ci ploterów i mini-frezarek konstruowanych przez amatorów-hobbystów. Prostota sterowania i maªe bª dy pozycjonowania, które nie kumuluj si, pozwalaj osi - gn zadowalaj ce efekty przy zachowaniu niskich kosztów uruchamiania aplikacji. Nie bez znaczenia jest równie» ich bezawaryjna praca, gdy» jedynym znacz co zu»ywaj - cym si elementem s ªo»yska, co zapewnia bezobsªugow prac przez dªugi okres czasu. Wszystkie te zalety powoduj,»e warto zainteresowa si tego typu nap dami, poszerzy zakres wiedzy na temat ich sterowania i dziaªania. 1.3 Zaªo»enia projektowe Zaªo»enia dotycz ce projektu: obsªuga dwóch silników krokowych o ª cznym pr dzie do 6A,
4 1. Wst p informacja zwrotna dla u»ytkownika w postaci wy±wietlania 3 komend (poprzedniej, aktualnej, nast pnej) na wy±wietlaczu alfanumerycznym LCD, wykonywane komendy musz pochodzi z zewn trznego no±nika pami ci - karty SD, klawiatura pozwalaj ca na komunikacj ze sterownikiem, uwzgl dnienie mikrokroków (minimum 8 na pojedynczy krok silnika), zasilanie z gniazda sieciowego 230VAC. 1.4 G-code Jest to znormalizowany sposób zapisu polece«stosowanych w przemy±le na potrzeby obrabiarek sterowanych numerycznie. Jego celem jest okre±lenie wspóªrz dnych przejazdu narz dzi podczas obróbki np.: stali we frezarkach CNC. Gªównym zaªo»eniem j zyka jest zapis ±cie»ki w postaci wspóªrz dnych kartezja«skich w ukªadzie obrabiarki. Okre±lenie parametrów przejazdu takich jak pr dko± dojazdu szybkiego, pr dko± dojazdu roboczego. Wprowadza si ró»ne polecenia steruj ce maj ce na celu obsªug dodatkowych urz dze«pomocniczych takich jak ukªady doprowadzania chªodziwa, automatyczne zaciskanie uchwytów mocuj cych obrabiany przedmiot czy przeno±ników ta±mowych wiórów, uruchamianie obrotów wrzeciona i wiele innych funkcji [8].
Rozdziaª 2 Projekt urz dzenia 2.1 Ogólna koncepcja dziaªania Generujemy» dane wspóªrz dne, dla sterownika przy pomocy pygerber2gcode[1], aplikacji dost pnej na licencji open source. Przenosimy tak wygenerowany plik na kart pami ci SD pod wybran nazw. Po wsuni ciu karty pami ci do czytnika kart SD sterownika, rozpoczyna si wczytywanie komend steruj cych. Domy±lnie sterownik znajduje si w trybie Auto. Po naci±ni ciu przycisku Start/Stop uruchamiany jest proces pozycjonowania. Wª czane s 2 silniki krokowe, które realizuj zadan we wspóªrz dnych ±cie»k. Na ekranie wy±wietlacza alfanumerycznego u»ytkownik obserwuje proces pozycjonowania, który jest przedstawiany przy pomocy czterech linii. Pierwszej informuj cej o statusie sterownika Auto lub Manual oraz trzech linii komend steruj cych. W razie konieczno±ci zatrzymania procesu u»ytkownik u»ywa kolejny raz przycisku Start/Stop. Poprzez przytrzymanie przycisku Start/Stop przez 3 sekundy, proces pozycjonowania jest uruchamiany od pocz tku. Mo»liwe jest równie» r czne sterowanie osiami silników poprzez zmian trybu na Manual dost pnym przyciskiem Mode. Sterowanie poszczególnymi silnikami odbywa si poprzez ich wybór przyciskiem Axis oraz pulsacyjnym wybieraniem kierunku poprzez przyciski Left - przeciwnie do ruchu wskazówek zegara i Right - zgodnie z ruchem wskazówek zegara. Podczas korzystania z trybu Manual, mo»na zmienia zakres ilo±ci kroków silnika na jeden impuls przez u»ycie przycisku Start/Stop, który w takim przypadku przyjmuje opcje Speed. Caªy sterownik ma moduªow budow, na któr skªadaj si nast puj ce elementy: nakªadka poª czeniowa z mikrokontrolerem, dwa moduªy - sterowniki silników, moduª gniazda kart SD, moduª z wy±wietlaczem alfanumerycznym LCD, klawiatura z pi cioma przyciskami, pªytka zasilaj ca.
6 2. Projekt urz dzenia 2.2 Dobrane elementy i ich charakterystyki 2.2.1 Moduª z mikrokontrolerem Dla potrzeb projektu zostaª wybrany moduª Freescale FRDM KL25Z[6], ze wzgl du na odpowiedni liczb wyprowadze«i nisk cen. Pªytka z mikrokontrolerem cechuje si kompaktow struktur w ksztaªcie prostok ta o zaokr glonych naro»nikach. Pozwala to na ªatwy dost p do wyprowadzonych zª czy. Moduª jest zgodny z systemem wyprowadze«arduino, co jest dodatkow zalet ze wzgl du na ªatwy dost p do tego typu nakªadek rozszerzaj cych. Pozwala w prosty sposób tworzy wªasne pªytki przyª czane do odpowiednich zª czy, zgodnie ze schematem wyprowadze«arduino. Rysunek 2.1 Pªytka Freescale FRDM KL25Z [6] Cz stotliwo± zegara zastosowanego mikrokontrolera pozwala na odpowiednio szybk obsªug wy±wietlacza i doª czonych rozszerze«w postaci sterowników silników oraz czytania zawarto±ci kart SD. Pªytka ma nast puj ce wªasno±ci: ARM Cortex-M0+ o taktowaniu do 48Mhz, 128 KB ash, 16 KB SRAM, interfejs debugowania OpenSDA, ªatwy dost p do MCU I/O, slider pojemno±ciowy, mo»liwo± programowania poprzez wgrywanie odpowiednio skompilowanych modu- ªów poprzez interfejs przypominaj cy urz dzenie typu pendrive, trójkolorowy LED, akcelerometr MMA8451Q. Cz ± z dost pnych mo»liwo±ci pozostaje niewykorzystana ze wzgl du na zaªo»enia projektowe, ale warto zwróci na nie uwag, gdy» mog by przydatne podczas próby rozszerzania mo»liwo±ci projektowanego sterownika. Przykªadowo, diody LED mog sªu»y do sygnalizowania odczytu z karty SD lub jako informacja o starcie/pauzie procesu pozycjonowania. Tabela 2.1 oraz Tabela 2.2 przedstawiaja opis zª czy moduªu Freescale FRDM KL25Z.
2.2. Dobrane elementy i ich charakterystyki 7 Rysunek 2.2 Graczne przedstawienie rozmieszczenia wyprowadze«zaczerpni te z dokumentacji producenta. [6] J1 Funkcja Nazwa Nr styku Nr styku Nazwa Funkcja - PTA1 2 1 PTC7 SPI0_MISO - PTA2 4 3 PTC0 DIR_1 DIR_2 PTD4 6 5 PTC3 STCK_1 RST_1, RST_2 PTA12 8 7 PTC4 SPI0_PCS0 - PTA4 10 9 PTC5 SPI0_SCK STCK_2 PTA5 12 11 PTC6 SPIO_MOSI FLAG_2 PTC8 14 13 PTC10 FLAG_1 SYNC_2 PTC9 16 15 PTC11 SYNC_1 J2 Funkcja Nazwa Nr styku Nr styku Nazwa Funkcja SW1 PTA13 2 1 PTC12 Wolne wyprowadzenie SW5 PTD5 4 3 PTC13 Wolne wyprowadzenie SW2 PTD0 6 5 PTC16 Wolne wyprowadzenie SW4 PTD2 8 7 PTC17 Wolne wyprowadzenie SW3 PTD3 10 9 PTA16 Wolne wyprowadzenie Wolne wyprowadzenie PTD1 12 11 PTA17 Wolne wyprowadzenie Wolne wyprowadzenie GND 14 13 PTE31 Wolne wyprowadzenie Wolne wyprowadzenie VREFH 16 15 NC Wolne wyprowadzenie Wolne wyprowadzenie PTE0 18 17 PTD6 Wolne wyprowadzenie Wolne wyprowadzenie PTE1 20 19 PTD7 Wolne wyprowadzenie Tabela. 2.1 Zª cze J1, J2 moduªu FRDM KL25Z
8 2. Projekt urz dzenia J10 Funkcja Nazwa Nr styku Nr styku Nazwa Funkcja E1 PTE30 11 12 PTC1 RS - PTE29 9 10 PTC2 E2 - PTE23 7 8 PTB3 DB4 - PTE22 5 6 PTB2 DB5 - PTE21 3 4 PTB1 DB6 - PTE20 1 2 PTB0 DB7 J9 Funkcja Nazwa Nr styku Nr styku Nazwa Funkcja - PTE5 15 16 P5-9V_VIN Wej±cie +5VDC SPI1_PCS0 PTE4 13 14 GND Wej±cie GND SPI1_MISO PTE3 11 12 GND Wej±cie GND SPI1_SCK PTE2 9 10 P5V_USB - - PTB11 7 8 P3V3 Wej±cie +3.3VDC - PTB10 5 6 RESET/PTA20 - - PTB9 3 4 P3V3 Wej±cie +3.3VDC - PTB8 1 2 SDA_PTD5 - Tabela. 2.2 Zª cze J10, J9 moduªu FRDM KL25Z 2.2.2 Sterownik silnika krokowego Sterownik silnika oparty jest na ukªadzie scalonym L6474 rmy STMicroelectronics[10]. Zastosowanie takiego rozwi zania byªo spowodowane ªatw dost pno±ci oraz odpowiednimi dla celów projektu parametrami ukªadu. L6740 jest cz ±ci serii sterowników silników krokowych stworzonych przez STMicroelectronics. Nale»y do serii easyspin, która przeznaczona jest do tworzenia podstawowych aplikacji sterowania. Ukªad wspóªpracuje z poziomami logicznymi zarówno 3.3V jak i 5V. Obsªugiwany poziom jest wybierany poprzez doprowadzenie odpowiedniego napi cia na wyprowadzenie VDD. Podstawowe parametry sterownika przedstawione s w poni»szej tabeli: Parametr Warto± Napi cie zasilania silnika 8-45V Maksymalny pr d silnika 3A RMS Pr d szczytowy silnika 7A Maksymalny podziaª na mikro kroki 1/16 Interfejs dla potrzeb konguracji SPI Tabela. 2.3 Opis podstawowych parametrów ukªadu L6474
2.2. Dobrane elementy i ich charakterystyki 9 Konguracja parametrów odbywa si przez interfejs SPI, którym s przesyªane mi dzy innymi takie parametry jak: maksymalny pr d wyj±ciowy, tryb mikrokrokowy, podziaª od 1 do 1/16, wybór sygnaªu taktowania: wewn trzny lub zewn trzny oscylator, próg wykrywania przeci»enia pr dowego. Inkrementacja kolejnych mikrokroków odbywa si poprzez wykrywanie zbocza narastaj cego na wyprowadzenie STCK. Kierunek obrotu silnika jest uzale»niony od poziomu logicznego sygnaªu podawanego na wyprowadzenie DIR 1. Dla H - do przodu, L - wstecz. Rysunek 2.3 Driver L6474 [10] 1 w dokumentacji dostarczonej przez producenta to wyprowadzenie jest bª dnie oznaczone jako SW, dotyczy to ilustracji "Figure 3. POWERSO36 pin connection (top view)"
10 2. Projekt urz dzenia Nazwa Nr wyprowadzenia Nr wyprowadzenia Nazwa PGND 1 36 OUT2A OUT1A 2 35 OUT2A OUT1A 3 34 VSA VSA 4 33 VSA VSA 5 32 STCK STBYEST 6 31 FLAG DIR 7 30 CS ADCIN 8 29 BUSY\SYNC VREG 9 28 DGND OSCIN 10 27 SDI OSCOUT 11 26 CK AGND 12 25 SDO CP 13 24 VDD VBOOT 14 23 VSB VSB 15 22 VSB VSB 16 21 OUT2B OUT1B 17 20 OUT2B OUT1B 18 19 PGND Tabela. 2.4 Opis wyprowadze«ukªadu L6474
2.2. Dobrane elementy i ich charakterystyki 11 2.2.3 Silniki krokowe Na potrzeby projektu zostaªy zakupione dwa silniki krokowe bipolarne z 8 wyprowadzeniami. Ze wzgl du na liczb wyprowadze«, mo»na je podª czy na kilka sposobów. Dla zachowania bezpiecznych warto±ci pªyn cego pr du wybrano podª czenie szeregowe. Rysunek 2.4 Schemat wyprowadze«silnika [3] Numer wyprowadzenia Nazwa wyprowadzenia Kolor przewodu silnika Opis sterownik_silnika.p1 1 OUT1B RED (czerwony) Uzwojenie B 2 OUT2B BLK (czarny) Uzwojenie B' 3 OUT1A WHT (biaªy) Uzwojenie A 4 OUT1A GRN (zielony) Uzwojenie A' Pozostaªe przewody Przewód Przewód Opis YEL (»óªty) BLU (niebieski) Poª czone ze sob ORG (pomara«czowy) BRN (br zowy) Poª czone ze sob Tabela. 2.5 Opis podª czenia silnika krokowego w sposób szeregowy do sterownika silnika 2.2.4 Moduª z gniazdem kart SD W calu czytania danych z karty SD zostaª wybrany prosty moduª z wyprowadzeniami odpowiednich sygnaªów. Rysunek 2.5 Moduª z gniazdem kart SD
12 2. Projekt urz dzenia Numer wyprowadzenia Symbol Opis 1, 2 GND Masa ukªadu 3, 4 +3.3 Zasilanie logiki +3.3V 5, 6 +5 Zasilanie +5V (pªytka zawiera konwerter napi cia na +3.3V) 7, 8 CS Wybór ukªadu 9, 10 MOSI Dane dla ukªadu peryferyjnego 11, 12 SCK Sygnaª zegarowy 13, 14 MISO Dane z ukªadu peryferyjnego 15, 16 GND Masa ukªadu Tabela. 2.6 Opis wyprowadze«zª cza gniazda kart SD 2.2.5 Wy±wietlacz alfanumeryczny Wybrano wy±wietlacz alfanumeryczny LCD 4x40 znaków, poniewa» jego rozmiar pozwala na wygodne wy±wietlanie 4 linii dªugiego tekstu. Jest niezb dne do obrazowania kilku kolejnych, wykonywanych przez sterownik, polece«. Znaki s na tyle du»e,»e ich odczytywanie nie nastr cza»adnych problemów nawet z wi kszej odlegªo±ci. Rozwa»ane Rysunek 2.6 Wy±wietlacz alfanumeryczny LCD 4x40 znaków [4] byªy równie» inne wy±wietlacze, w tym graczne. Mniejsze wy±wietlacze alfanumeryczne nie pozwalaªy na wy±wietlenie wystarczaj co dªugich linii tekstu. Co prawda mo»na by- ªoby je przewija, ale jest to niezbyt wygodne w odczycie, szczególnie podczas ogl dania dynamicznie zmieniaj cych si wspóªrz dnych. Kolejn propozycj byªy du»e wy±wietlacze graczne. Jednak ich cena i du»e wymagania co do mocy obliczeniowej przes dziªy o wyborze zastosowanego rozwi zania. Wy±wietlacz przedstawiony na zdj ciu 2.6 cechuje si przedstawionym w tabeli 2.7 rozkªadem wyprowadze«.
2.2. Dobrane elementy i ich charakterystyki 13 Numer wyprowadzenia Symbol Opis 1 VSS Masa ukªadów logicznych 2 VDD Zasilanie ukªadów logicznych 3 V 0 Zasilanie dla sterownika LCD 4 RS Wybór rejestru 5 R/W Wybór zapis/odczyt 6 E1 Sygnaª aktywacji dla kontrolera nr 1 7 E2 Sygnaª aktywacji dla kontrolera nr 2 8-15 DB0-DB7 Linie danych 16 NC Brak poª czenia 17 LEDA Zasilanie dla pod±wietlania(+) 18 LEDK Zasilanie dla pod±wietlania(-) Tabela. 2.7 Opis wyprowadze«zª cza wy±wietlacza LCD Wybrany wy±wietlacz ze wzgl du na ograniczenia kontrolera LSI zgodnego z KS0066[9] jest podzielony na dwie sekcje. Ka»da z nich jest aktywowana osobn lini E. Niektóre operacje mo»na wykonywa przy jednoczesnym u»ywaniu obu linii. Tak operacj jest przykªadowo kasowanie zawarto±ci ekranu, lub jej od±wie»enie. Pozostaªe operacje takie jak zapis nale»y wykonywa dla ka»dej linii osobno, chyba»e chcemy otrzyma na obu sekcjach te same znaki. Linie zorganizowane s w kolejno±ci 1, 2 - E1, 3, 4 - E2. Nale»y równie» zwróci uwag,»e wedªug noty katalogowej wy±wietlacz jest zasilany przez napi cie +5V. Dlatego do jego u»ycia wraz z moduªem FRDM KL25Z potrzebny jest konwerter poziomów logicznych. Do tego projektu wybrano gotowy moduª z ukªadem TXB0108[12]. Moduª charakteryzuje si nast puj cym schematem wyprowadze«: Nazwa wyprowadzenia Nr wyprowadzenia Nr wyprowadzenia Nazwa wyprowadzenia VCCA 1 2 VCCB A1 3 4 B1 A2 5 6 B2 A3 7 8 B3 A4 9 10 B4 A5 11 12 B5 A6 13 14 B6 A7 15 16 B7 A8 17 18 B8 OE 19 20 GND Tabela. 2.8 Opis wyprowadze«moduªu TXB0108
14 2. Projekt urz dzenia Rysunek 2.7 Moduª z ukªadem TXB0108 [2] 2.2.6 Klawiatura W projekcie zastosowano klawiatur z pi cioma przyciskami, która pozwala na realizacj kilku podstawowych zada«takich jak: wª czenie i wyª czenie procesu pozycjonowania przyciskiem Start/Stop (SW5), zmiana trybu pozycjonowania pomi dzy automatycznym i r cznym przyciskiem Mode (SW1), wybór osi podczas pracy w trybie r cznym przyciskiem Axis (SW3), obrotem o jedn jednostk na impuls przyciskami Left (SW2) - przeciwnie do ruchu wskazówek zegara i przyciskiem Right (SW4) - zgodnie z ruchem wskazówek zegara. Rysunek 2.8 Klawiatura z pi cioma przyciskami
2.3. Wykorzystywane narz dzia 15 Nr styku Nazwa styku Opis Poª czenie do mikrokontrolera 1 LED2 Zasilanie diody LED Niepodª czone 2 LED2 Zasilanie diody LED Niepodª czone 3 SW3 Trzeci przycisk PTD3 4 SW4 Czwarty przycisk PTD2 5 SW2 Drugi przycisk PTD0 6 SW5 Pi ty przycisk PTD5 7 SW1 Pierwszy przycisk PTA13 8 SW5 Pi ty przycisk - 9 NC Niepodª czony - 10 COMMON Masa ukªadu pªtyka_poª czeniowa.k2.1 +3.3V Tabela. 2.9 Opis wyprowadze«moduªu klawiatury 2.2.7 Transformator i regulatory napi Na potrzeby projektu zostaªy wybrane niezb dne ¹ródªa zasilania. Zastosowanie dwóch transformatorów: transformator toroidalny 2x28VAC, 2x3.57A[7] do zasilania silników 2, transformator sieciowy 9VAC, 1.5A do zasilania elektroniki. 3. Dla potrzeb zasilania ukªadów +3.3V zastosowano stabilizator napi cia rmy National Semiconductor LM1117[13]. Cechuje go wydajno± pr dowa do 800mA, co w zupeªno±ci zaspokaja potrzeby zastosowanych w projekcie ukªadów. Ukªad nie wymaga komponentów zewn trznych, ale zalecane jest montowanie dwóch kondensatorów tantalowych. Jeden przy VIN i jeden do VOUT. Do zasilania wy±wietlacza LCD (cz ± logiczna i pod±wietlanie) wymagany jest napi cie +5V oraz pr d na poziomie ok. 500mA. Z tego samego ¹ródªa zasilany jest moduª z mikrokontrolerem. Zastosowano popularny stabilizator napi LM7805[5], ze wzgl du na wystarczaj co dobre parametry pr dowe i ªatw dost pno± elementu. Zasilany ukªad nie wymaga bardzo stabilnego zasilania, dlatego przedstawione rozwi zanie jest (wedªug autora) najlepsze. 2.3 Wykorzystywane narz dzia 2.3.1 Wykonywanie schematów i prototypów obwodów drukowanych Schematy i mozaiki obwodów drukowanych zostaªy wykonane w programie KiCad. Wybór ten byª podyktowany sposobem licencjonowania programu - open source. Program ma intuicyjny interfejs u»ytkownika, pozwala na szybkie tworzenie i ªatw edycj elementów bibliotecznych. Niestety wad okazaªa si ograniczona liczba obudów ukªadów, dlatego konieczne byªo ich r czne tworzenie. Nie byªo to trudne, ale wymagaªo po±wi cenia dodatkowego czasu. 2 Podczas uruchamiania urz dzenia okazaªo si,»e wymagane s tylko pojedyncze kondensatory po 4700µF. 3 Z powodu braku transformatora dla zasilania elektroniki zastosowano zasilacz sieciowy 12VDC.
16 2. Projekt urz dzenia 2.3.2 Tworzenie oprogramowania dla mikrokontrolera Oprogramowanie steruj ce dla mikrokontrolera byªo tworzone przy pomocy zintegrowanego ±rodowiska programistycznego CodeWarrior Development Studio. Wybór programu byª podyktowany wcze±niejszymi do±wiadczeniami zwi zanymi z tym pakietem. Dzi ki ªatwej konguracji podstawowych peryferiów poprzez proste menu mo»na znacz co przyspieszy powstawanie prototypowego oprogramowania. Nie trzeba zagª bia si w dokumentacje, gdy» mamy dost p do gracznego schematu mikrokontrolera wraz z nazwami i alternatywnymi funkcjami wyprowadze«. Dzi ki tym udogodnieniom pisanie prostych aplikacji jest znacznie ªatwiejsze. Nie bez znaczenia jest dost pno± dodatkowych moduªów pozwalaj cych szybko obsªu»y dodatkowe urz dzenia, takie jak wy±wietlacze LCD i karty pami ci SD. 2.4 Wykonane ukªady elektroniczne 2.4.1 Nakªadka poª czeniowa Nakªadka poª czeniowa zostaªa utworzona w celu wygodnego poª czenia reszty elementów z moduªem mikrokontrolera. Wyprowadzenia zostaªy umiejscowione w taki sposób, aby bez trudno±ci zlokalizowa odpowiednie gniazdo na schemacie, a nast pnie dobra orientacj wtyku. Poª czenia pomi dzy moduªami s realizowane kablami ta±mowymi z odpowiednimi wtykami. Schemat blokowy caªo±ci przedstawiono na rysunku 2.13. Rysunek 2.9 Rozkªad wej± i wyj± na dolnej stronie
2.4. Wykonane ukªady elektroniczne 17 Nr wyj±cia Opis Poª czenie do mikrokontrolera P9 1 DIR_1 PTC0 2 RST_1 PTA12 3 STCK_1 PTC3 4 FLAG_1 PTC10 5 SYNC_1 PTC11 P10 1 DIR_2 PTD4 2 RST_2 PTA12 3 STCK_2 PTA5 4 FLAG_2 PTC8 5 SYNC_2 PTC9 P7 1 SPI0_PCS0 PTC4 2 SPI0_SCK PTC5 3 SPI0_MISO PTC7 4 SDI sterownik_silnika.p8.sdo 5 GND GND P8 1 SPI0_PCS0 PTC4 2 SPI0_SCK PTC5 3 SDO sterownik_silnika.p7.sdi 4 MOSI PTC6 5 GND GND P8 1,2 Zworka ustawiona - 1 silnik, brak - 2 silniki Tabela. 2.10 Nakªadka poª czeniowa - strona dolna, obsªuga silników Nr wyj±cia Opis K1 1-3 +5VDC K2 1-3 +3.3VDC K3 1-3 GND K4 1-3 GND Tabela. 2.11 Nakªadka poª czeniowa - strona dolna, dodatkowe wyj±cia zasilania
18 2. Projekt urz dzenia Poª czenie Opis Nr styku Nr styku Opis Poª czenie do mikrokontrolerkontrolera do mikro- P6 GND VSS 1 2 VDD +5V RV1 - potencjometr V_0 3 4 RS PTC1 GND RW 5 6 E1 PTE30 PTC2 E2 7 8 DB0 GND GND DB1 9 10 DB2 GND GND DB3 11 12 DB4 PTB3 PTB2 BD5 13 14 DB6 PTB1 PTB0 DB7 15 16 Niepodª czone - P15.2 LEDA(+) 17 18 LEDK(-) GND Tabela. 2.12 Nakªadka poª czeniowa - strona dolna, zª cze LCD Nr wyj±cia Opis P15 1, 2 Zworka uruchamiaj ca pod±wietlanie panelu LCD Tabela. 2.13 Nakªadka poª czeniowa - strona dolna, zª cze LCD Nr wyj±cia Opis Poª czenie do mikrokontrolera P3 1 GND GND 2 +3.3VDC +3.3V 3 Niepodª czone - 4 CS PTE4 5 MOSI PTE1 6 SCK PTE2 7 MISO PTE3 8 GND GND Tabela. 2.14 Nakªadka poª czeniowa - strona dolna, zª cze moduªu z gniazdem SD
2.4. Wykonane ukªady elektroniczne 19 U»ycie Opis Nr styku Nr styku Opis U»ycie SW1 PTA13 2 1 PTC12 Wolne zª cze SW5 PTD5 4 3 PTC13 Wolne zª cze SW2 PTD0 6 4 PTC16 Wolne zª cze SW4 PTD2 8 7 PTC17 Wolne zª cze SW3 PTD3 10 9 PTA16 Wolne zª cze Wolne zª cze PTD1 12 11 PTA17 Wolne zª cze Wolne zª cze GND 14 13 PTE31 Wolne zª cze Wolne zª cze VREFH 16 15 NC Wolne zª cze Wolne zª cze PTE0 18 17 PTD6 Wolne zª cze Wolne zª cze PTE1 20 19 PTD7 Wolne zª cze Tabela. 2.15 Nakªadka poª czeniowa - strona dolna, wolne zª cze (dodatkowe sygnaªy u»yteczne przy rozbudowie projektu) Rysunek 2.10 Rozkªad wej± i wyj± na górnej stronie Nr wej±cia Opis P17 1 Wej±cie +5VDC 2 Wej±cie GND P18 1 Wej±cie +3.3VDC 2 Wej±cie GND Tabela. 2.16 Wej±cia zasilania dla pªytki poª czeniowej
20 2. Projekt urz dzenia 2.4.2 Sterownik silnika Sterownik silnika jest oparty na ukªadzie L6474. Podczas projektowania tego ukªadu brana byªa pod uwag du»a temperatura podczas pracy. Dlatego te» pªytka posiada rozlegªe pole masy na wolnej przestrzeni, aby jak najlepiej oddawa ciepªo do otoczenia. Takie rozwi zanie zapewnia odpowiednie chªodzenie w zakresie pracy sterownika. Rysunek 2.11 Rozkªad wej± i wyj± na pªytce sterownika silnika Nr wej±cia Opis +40V,1 1 Wej±cie GND 2 Wej±cie +40VDC Tabela. 2.17 Wej±cia zasilania dla pªytki poª czeniowej
2.4. Wykonane ukªady elektroniczne 21 Nr wej±cia Opis P1 1 Uzwojenie A 2 Uzwojenie A' 3 Uzwojenie B 4 Uzwojenie B' Tabela. 2.18 Wyj±cia zasilania dla silnika Nr wej±cia Opis Poª czenie do mikrokontrolera P2 1 OSCOUT - 2 OSCIN - 3 ADCIN - 4 AGND - P3 1 DIR PTC0, PTA4 2 STBYRST PTA12, PTA12 3 STCK PTC3, PTA5 4 FLAG PTC10, PTC8 5 BUSY/SYNC PTC11, PTC9 P4 1 CS PTC4, PTC4 2 CK PTC5, PTC5 3 SDO PTC7, P7.SDI 4 SDI P8.SDO, PTC6 5 DGND GND, GND P5 1 Wyj±cie 3.3VDC Tabela. 2.19 Sygnaªy steruj ce dla silnika 2.4.3 Sekcja zasilania W stosowanych ukªadach wykorzystywane s ró»ne napi cia zasilania. Z tego wzgl du konieczne byªo stworzenie pªytki drukowanej z odpowiednimi elementami zasilaj cymi. Na przedstawionym schemacie 2.12 widzimy rozkªad poszczególnych zª czy.
22 2. Projekt urz dzenia Rysunek 2.12 Rozkªad wej± i wyj± moduªu zasilaj cego Nr wej±cia Opis P1 1 Wej±cie uzwojenia wtórnego A 2 Wej±cie uzwojenia wtórnego A' P2 1 Wej±cie uzwojenia wtórnego B 2 Wej±cie uzwojenia wtórnego B' P5 1 Wej±cie uzwojenia pierwotnego dla +40V 2 Wej±cie uzwojenia pierwotnego dla +40V P6 1 Wej±cie uzwojenia wtórnego +9V 2 Wej±cie uzwojenia wtórnego +9V P3 1 Wej±cie uzwojenia pierwotnego dla +9V 2 Wej±cie uzwojenia pierwotnego dla +9V P4 1 Wej±cie 230VAC 2 Wej±cie 230VAC Tabela. 2.20 Wej±cia dla sekcji zasilania
2.4. Wykonane ukªady elektroniczne 23 Nr wyj±cia Opis P7 1 +40VDC (A) 2 GND P8 1 +40VDC (B) 2 GND P10 1 +5VDC 2 GND P9 1 +3.3VDC 2 GND Tabela. 2.21 Wyj±cia sekcji zasilania
24 2. Projekt urz dzenia 2.5 Zªo»enie elementów projektu Rysunek 2.13 Schemat blokowy z poª czeniami kablowymi pomi dzy moduªami
Rozdziaª 3 Konguracja peryferiów w ±rodowisku CodeWarrior Dost p do szerokiej palety komponentów w programie pozwoliª szybko uruchomi aplikacj. Wi kszo± z u»ytych bibliotek zostaªa zaczerpni ta z otwartych kodów ¹ródªowych [11]. 3.1 Czytnik kart SD Rysunek 3.1 Elementy niezb dne do czytania zawarto±ci kart SD Rysunek 3.1 przedstawia zaznaczone kropkami komponenty niezb dne do prawidªowej pracy czytnika kart SD. Cpu - gªówny komponent zawieraj cy mi dzy innymi ustawienia taktowania procesora oraz podstawow jego konguracj, SM1:SPIMaster_LDD - sterownik komunikuj cy si przy pomocy interfejsu SPI, zawiera konguracj portów, pr dko±ci itd.,
26 3. Konguracja peryferiów w ±rodowisku CodeWarrior WAIT1:Wait - komponent pozwalaj cy odczeka zadany czas, TIMEOUT1 - komponent pilnuj cy, czy zadana operacja, przykªadowo odczyt nie trwa zbyt dªugo, TmDt1:GenericTimeDate - generuje dat i czas, które s niezb dne do zapisu danych na kartach pami ci w systemie plików FAT, SD1:SD_Card - sterownik niskiego poziomu komunikuj cy si z kart SD, FAT1:FAT_FileSystem - komponent udost pniaj cy podstawowe operacje wysokiego poziomu na systemie plików FAT, TU1:TimerUnit_LDD - sterownik odmierzaj cy czas co 10ms, TI1:TimerInt_LDD - sterownik generuj cy przerwania co zadany czas. Po dodaniu do projektu wy»ej wymienionych komponentów nale»y zmieni kilka ustawie«domy±lnych. Rysunek 3.2 Ustawienie sterownika SPI
3.1. Czytnik kart SD 27 Nale»y ustawi wyprowadzenia do komunikacji przez interfejs SPI. W tym oknie nale»y ustawi - Chip select na 0. Trzeba doda równie» 2 pr dko±ci komunikacji do listy. Rysunek 3.3 Ustawienie TMOUT Ustawi - Counter tick period na 10ms. Rysunek 3.4 Ustawienie SD_Card Nale»y ustawi wyprowadzenia dla sygnaªu wyboru urz dzenia, gdy» zostaª wcze±niej wyª czony w konguracji sterownika SPI.
28 3. Konguracja peryferiów w ±rodowisku CodeWarrior Rysunek 3.5 Ustawienie portu SS dla SD_Card
3.2. Wy±wietlacz alfanumeryczny LCD 29 3.2 Wy±wietlacz alfanumeryczny LCD Korzystaj c z odpowiedniego komponentu konguracja wy±wietlacza LCD nie sprawia»adnej trudno±ci. Wystarczy ustawi wyj±cia oraz wej±cia z których korzystamy i zastosowa odpowiednio gotowe prototypy funkcji. Rysunek 3.6 Ustawienia wy±wietlacza LCD W gªównych ustawieniach, które wida na rysunku 3.7 nale»y poda liczb znaków i linii, które mo»e wy±wietla nasz LCD. Nast pnie w naszym przypadku trzeba wyª czy lini R/W, gdy» z niej nie korzystamy. Zaleca si ustawienie czasu oczekiwania na pisanie do urz dzenia na okoªo 500us. Nale»y równie» wyª czy linie DB0-DB3, gdy» korzystamy z trybu 4-bitowego. Przy dodawaniu komponentu zostaniemy poproszeni o dodanie WAIT2, gdy» ju» istnieje taki komponent. Podczas dodawania drugiego komponentu LCD nale»y podczas wyboru portów wybra opcj Pin Sharing Enabled. Jedyn ró»nic jest wybór innego portu dla sygnaªu Enabled. Rysunek 3.7 Ustawienia wy±wietlacza LCD ci g dalszy
30 3. Konguracja peryferiów w ±rodowisku CodeWarrior 3.3 Sterowniki silników W celu uruchomienia silników nale»y posªu»y si interfejsem SPI. Po konguracji wyj± tak jak przy czytaniu kart SD dla konguracji SPI1 nale»y wysªa do silników 16- bitowe sªowo ustawiaj ce pr dko± na» dan warto±. Nast pnie nale»y przesªa kolejne 16 bitów, które aktywuj silniki, komendy przedstawiono w tabeli 3.1. Kod komendy 0x0909 0x1414 0xB8B8 0xA8A8 Funkcja Procedura przekazywania parametru - maksymalny pr d Warto± przekazywanego parametru - maksymalny pr d Start zasilania silnika Stop zasilania silnika Tabela. 3.1 Podstawowe polecenia konguracyjne Do obsªugi silników konieczne s nast puj ce elementy przedstawione na rysunku 3.8. Rysunek 3.8 Funkcje dost pne dla interfejsu SPI silników Ustawiamy interfejs komunikacyjny SPI zgodnie z rysunkiem 3.9.
3.3. Sterowniki silników 31 Rysunek 3.9 Ustawienia interfejsu SPI Nale»y pami ta,»e przed wysªaniem rozkazów poprzez SPI nale»y uruchomi kontrolery ustawiaj c wyj±cie STBY na poziom wysoki. Dopiero po tym momencie mo»na przyst pi do konguracji sterowników. Kolejnym u»ytecznym wyj±ciem jest DIR, które steruje kierunkiem obrotów silnika. Inkrementacje kroków silnika wykonujemy poprzez podanie stanu wysokiego na wej±cie STCK sterownika. Dodajemy wymagane porty tak jak na rysunku 3.10. Opis u»ytych portów jest dost pny w tabeli 2.19. Rysunek 3.10 Wymagane do sterowania porty dla sterowników silników Ustawiamy kierunek wszystkich dodanych portów na wyj±ciowy tak, jak na rysunku 3.11.
32 3. Konguracja peryferiów w ±rodowisku CodeWarrior Rysunek 3.11 Ustawienie portów wyj±ciowych 3.4 Klawiatura Do uruchomienia klawiatury nale»y doda 5 komponentów BitIO, które s wyszczególnione na rysunku 3.12. Rysunek 3.12 Elementy odpowiedzialne za obsªug przycisków Nast pnie nale»y skongurowa ka»dy komponent jako wej±cie. Przykªad na rysunku 3.13 Rysunek 3.13 Przykªadowa konguracja BitIO
Rozdziaª 4 Podsumowanie projektu W trakcje projektu udaªo si zaprojektowa i uruchomi sterownik poprzez dobór odpowiednich urz dze«oraz wykonanie potrzebnych moduªów. Oprogramowanie posiada ograniczon funkcjonalno± spowodowan przez brak interpretera G-code. Niestety podczas projektu pªytka z mikrokontrolerem ulegªa zniszczeniu ze wzgl du na bª dne pod- ª czenie zasilania, a konieczno± oczekiwania na now uniemo»liwiªa post p prac w tym zakresie. Powstaªa nakªadka na moduª z mikrokontrolerem grupuj ca odpowiednio wej±cia i wyj±cia pod wzgl dem przeznaczenia portów. Stworzono dwie pªytki oparte na sterowniku L6474, które pozwalaj na kontrolowanie silników krokowych z podziaªem kroku na 16 mikrokroków i pr dzie 3A na silnik. Powstaªa równie» pªytka zasilaj ca caªy sterownik o odpowiedniej wydajno±ci pr dowej i zakresie napi. Skongurowano mikrokontroler do pracy ze sterownikami silników. Uruchomiono odczyt z kart pami ci SD, wy±wietlacz alfanumeryczny LCD oraz wst pnie oprogramowano reakcje na poszczególne przyciski klawiatury. Powstaªa aplikacja do r cznej pracy ze sterownikiem, która pozwala na demonstracj dziaªania nap dów oraz wy±wietlacza. 4.1 Propozycja dalszych prac W ramach dalszych prac sugeruje si dokona nast puj cych modykacji i rozszerze«. Niektóre z nich wprowadzaj powa»ne zmiany: poszerzy sterowanie o kolejny silnik dla trzeciej osi, co pozwoli to na stworzenie czego± na ksztaªt plotera, doda do projektu du» klawiatur, co pozwoli na zwi kszenie dost pnych operatorowi funkcji, poszerzy oprogramowanie o mo»liwo± edycji kodu na karcie SD, co pozwoli na ewentualne poprawki w ±cie»ce, umo»liwi równie» pisanie krótkich programów r cznie, zmieni wy±wietlacz na graczny, co pozwoli na prezentacje wi kszej liczby linii kodu i jego ªatwiejsz modykacj. Projekt mo»na dalej rozwija zarówno sprz towo jaki i programowo. Pozwala na to moduª mikrokontrolera. Wszelkie zmiany musz uwzgl dnia dost pne zasoby. Przykªadowo, dodanie kolejnego silnika wymaga ponownej oceny dost pnej mocy zastosowanego zasilacza.
Dodatek A Ukªady elektroniczne
36 A. Ukªady elektroniczne A.1 Schematy ideowe Rysunek A.1 Schemat nakªadki poª czeniowej
A.1. Schematy ideowe 37 Rysunek A.2 Schemat sterownika silnika
38 A. Ukªady elektroniczne Rysunek A.3 Schemat sekcji zasilania
A.2. Wzory pªytek drukowanych 39 A.2 Wzory pªytek drukowanych Rysunek A.4 Wzór nakªadki poª czeniowej, warstwa górna Rysunek A.5 Wzór nakªadki poª czeniowej, warstwa dolna
40 A. Ukªady elektroniczne Rysunek A.6 Wzór pªytki sterownika silnika, warstwa górna Rysunek A.7 Wzór pªytki sterownika silnika, warstwa dolna
A.2. Wzory pªytek drukowanych 41 Rysunek A.8 Wzór moduªu zasilaj cego, warstwa dolna (pªytka jednostronna)
42 A. Ukªady elektroniczne A.3 Schematy monta»owe z gory.png Rysunek A.9 Schemat monta»owy pªytki poª czeniowej, warstwa górna Rysunek A.10 Schemat monta»owy pªytki poª czeniowej, warstwa dolna
A.3. Schematy monta»owe 43 Rysunek A.11 Schemat monta»owy sterownika silnika, warstwa górna Rysunek A.12 Schemat monta»owy sterownika silnika, warstwa dolna
44 A. Ukªady elektroniczne Rysunek A.13 Schemat monta»owy sekcji zasilania
A.4. Zdj cia prototypów 45 A.4 Zdj cia prototypów Rysunek A.14 Nakªadka poª czeniowa, widok z góry Rysunek A.15 Nakªadka poª czeniowa, widok z doªu
46 A. Ukªady elektroniczne Rysunek A.16 Pªytka ze sterownikiem silnika krokowego, widok z góry Rysunek A.17 Pªytka ze sterownikiem silnika krokowego, widok z doªu
A.4. Zdj cia prototypów 47 Rysunek A.18 Moduª zasilaj cy, widok z góry Rysunek A.19 Moduª zasilaj cy, widok z doªu