12.07.2015 Views

Kierunek: Specjalno悻: Robotyka (ARR) PRACA DYPLOMOWA ...

Kierunek: Specjalno悻: Robotyka (ARR) PRACA DYPLOMOWA ...

Kierunek: Specjalno悻: Robotyka (ARR) PRACA DYPLOMOWA ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Rozdziaª 2Zaªo»enia i cel pracyCelem niniejszej pracy jest realizacja stanowiska laboratoryjnego umo»liwiaj¡cego wizualizacj¦wskaza« dalmierza optycznego. Zadaniem stanowiska b¦dzie detekcja i lokalizacjaobiektów znajduj¡cych si¦ w obszarze skanowanym przez urz¡dzenie.W skªad stanowiska wchodzi¢ b¦d¡ nast¦puj¡ce elementy:• kolumna obrotowa,• ukªad pomiarowy z dalmierzem optycznym,• aplikacja graczna.Kolumna obrotowa ma mie¢ charakter uniwersalny, aby mo»na byªo zamontowa¢ naniej mo»liwie dowolne urz¡dzenie pomiarowe. Nale»y uwzgl¦dni¢ ograniczenia wynikaj¡cez konstrukcji mechanicznej, elektrycznej oraz sposobu implementacji danych zebranych zpomiarów wykonanych za pomoc¡ czujnika.Uniwersalno±¢ urz¡dzenia zwi¦ksza punkt mocowania, który powinien by¢ tak skonstruowany,»eby zapewni¢ mo»liwo±¢ monta»u innego sensora pomiarowego, np. sonaruultrad¹wi¦kowego.Do budowy kolumny obrotowej nale»y u»y¢ takich podzespoªów które zapewni¡ odpowiedniobrót sensora pomiarowego, wska»¡ aktualn¡ pozycj¦ obrotu, umo»liwi¡ pozycjonowanieurz¡dzenia pomiarowego oraz rejestracj¦ danych pomiarowych.Do realizacji powy»szej funkcjonalno±ci mo»na wykorzysta¢:• silnik krokowy,• przekªadni¦ z¦bat¡,• sterownik silnika krokowego z wªa±ciwym stopniem mocy,• enkoder inkrementalny,• sterownik z mikrokontrolerem,• wska¹nik laserowy.Od strony mechanicznej kolumna obrotowa powinna by¢ wyposa»ona w ogranicznikmechaniczny uniemo»liwiaj¡cy jej obrót o wi¦cej ni» 360 ◦ . Jednocze±nie nale»y umie±ci¢równie» na niej mikrowyª¡czniki zapewniaj¡ce odci¦cie dopªywu pr¡du do silnika przeduderzeniem w ogranicznik. W tej cz¦±ci nale»y rozwi¡za¢ problem procedury restartu


3.2 Dalmierze optyczne 7miejsca padania promienia ±wiatªa zmianie ulega rezystancja czujnika. Nast¦pnie odlegªo±¢od mierzonego obiektu przeliczana jest zgodnie z formuª¡ konwersji pozycji:I X2 − I X1I X2 + I X13.2.4 Przegl¡d dalmierzy optycznych= 2X AL X(3.1)Poni»szy przegl¡d opiera si¦ na zestawieniu produktów optycznych jednego producenta.S¡ to dalmierze optyczne rmy Sharp bardzo cz¦sto wykorzystywane do oczujnikowaniarobotów mobilnych. Czujniki te ciesz¡ si¦ du»¡ popularno±ci¡ ze wzgl¦du na nieskomplikowan¡budow¦ oraz przede wszyskim ªatwo±¢ implementacji w urz¡dzeniu docelowym.W przypadku urz¡dze« analogowych, ukªad taki wymaga jedynie podania napi¦cia zasilaniaoraz doprowadzenie sygnaªu wyj±ciowego do przetwornika A/C. Producent oferujezarówno wersje analogowe jak i cyfrowe sensorów optycznych. W przypadku czujnikówanalogowych warto±¢ napi¦cia zale»y od odlegªo±ci od obserwowanego przedmiotu. Zale»-no±¢ t¡ przedstawia wykres na rysunku (3.3).Rysunek 3.3: Zale»no±¢ napi¦cia od odlegªo±ci do obiektu [12].W przypadku cyfrowego czujnika zwracany jest stan wysoki lub niski napi¦cia na wyj-±ciu zale»nie od mierzonej odlegªo±ci od obiektu. W prezentowanym wykresie na rysunku(3.4) wida¢, »e punkt przeª¡czania stanu nast¦puje w odlegªo±ci 24 cm od mierzonegoobiektu.


3.2 Dalmierze optyczne 8Rysunek 3.4: Stan napi¦cia na wyj±ciu czujnika zale»nie od odlegªo±ci do obiektu [12].Sharp w swoim asortymencie czujników posiada wiele modeli zró»nicowanych ze wzgl¦duna zakres pomiarowy. Poni»sza ilustracja przedstawia gam¦ najpopularniejszych modeli:Rysunek 3.5: Zestawienie zasi¦gów pomiarowych dla poszczególnych modeli czujnikówrmy Sharp.Wybrane parametry techniczne czujnika Sharp GP2D120• Wariant pracy: nadawanie/odbiór,• Napi¦cie zasilania: 4,5 do 5,5 VDC,• Pobór pr¡du: 33 mA,• Wyj±cie analogowe,• Zakres pracy: 4 - 30 cm,• Czas odpowiedzi: 39 ms,


3.3 Dalmierze laserowe 9• Newielki wpªyw barwy obiektu na dokªadno±¢ pomiaru,• Mo»liwo±¢ pracy w zaciemnionym pomieszczeniu,• Šatwo±¢ implementacji na mikrokontrolerze.3.3 Dalmierze laserowe3.3.1 WprowadzenieDalmierze laserowe, zwane równie» lidarami (Light Detection and Ranging) ciesz¡ si¦du»ym zainteresowaniem. Znalazªy one zastosowanie w urz¡dzeniach geodezyjnych dopomiarów odlegªo±ci jak równie» w ±wiecie robotyki do systemów nawigacyjnych robotówmobilnych. Dotychczas na przeszkodzie szerokiego stosowania dalmierzy laserowychstaªa ich wysoka cena, si¦gaj¡ca kilkudziesi¦ciu tysi¦cy dolarów oraz bardzo du»a mocwi¡zki laserowej, co - w pomieszczeniach zamkni¦tych - uniemo»liwiaªo stosowanie ich wobecno±ci ludzi.3.3.2 Podstawowe wªasno±ci dalmierzy laserowychLaserowe czujniki odlegªo±ci maj¡ wiele zalet szczególnie w konfrontacji z systemami wizyjnymii dalmierzami ultrad¹wi¦kowymi, które s¡ znacznie ta«sze od urz¡dze« laserowych.W±ród zalet dalmierzy laserowych najwa»niejszymi s¡:• bardzo du»a rozdzielczo±¢, dokªadno±¢ i powtarzalno±¢ pomiarów,• bezpo±redni odczyt warto±ci mierzonej odlegªo±ci (za wyj¡tkiem urz¡dze« dziaªaj¡cychna zasadzie triangulacji) we wspóªrz¦dnych trójwymiarowych; obni»aj¡ si¦zatem koszty przetwarzania danych,• praca w warunkach sªabego o±wietlenia oraz eliminacja konieczno±ci odró»nianiacieni od rzeczywistych obiektów pomiarowych,• mo»liwo±¢ otrzymywania pªaskich obrazów intensywno±ci pomocnych przy korygowaniupomiaru odlegªo±ci,• pomiar pr¦dko±ci obiektów wykorzystuj¡c zjawisko Dopplera,• ró»ne sposoby pomiarów odlegªo±ci stwarzaj¡ warunki do stosowania ukªadów wielosensorycznychopartych na agregacji pomiarów uzyskanych ró»nymi metodami wcelu minimalizowania niedokªadno±ci pomiarów.Dalmierze laserowe posiadaj¡ równie» wady. Do najistotniejszych nale»y zaliczy¢:• dokªadno±¢ pomiaru w znacznym stopniu zale»y od rodzaju i poªo»enia powierzchni,od której odbija si¦ wi¡zka,• obiekty przezroczyste wykonane z materiaªów silnie rozpraszaj¡cych ±wiatªo oraz ogªadkich powierzchniach przy o±wietlaniu pod du»ym k¡tem mog¡ zosta¢ niezauwa-»one lub mog¡ nast¡pi¢ silne przekªamania w pomiarach,• znieksztaªcenia mog¡ powodowa¢ inne znajduj¡ce si¦ w pobli»u urz¡dzenia laserowe,• przy pomiarach dalmierzami niewielkiej mocy du»y wpªyw maj¡ zanieczyszczenialotne i opary,• lasery o du»ej mocy tworz¡ zagro»enie dla bezpiecze«stwa ludzkiego oka.


3.3 Dalmierze laserowe 103.3.3 Metody pomiaru odlegªo±ci w dalmierzach laserowychMetoda triangulacjiUkªad pomiarowy skªada si¦ z nadajnika - lasera oraz odbiornika - kamery CCD o nierównolegªychosiach i znanym poªo»eniu wzajemnym. Wi¡zka odbita od o±wietlanego obiektupojawia si¦ na obrazie intensywno±ci rejestrowanym przez kamer¦. Poªo»enie punktu onajwi¦kszej intensywno±ci okre±la mierzon¡ odlegªo±¢, która obliczana jest przy u»yciutwierdzenia sinusów dzi¦ki znajomo±ci geometrii przyrz¡du. Konieczno±¢ wyznaczaniapunktów o najwi¦kszej intensywno±ci oraz przeprowadzanie przelicze« odlegªo±ci wi¡»¡si¦ z du»ym kosztem urz¡dze« zdolnych do oblicze« w czasie rzeczywistym. Z powy»-sz¡ metod¡ mog¡ wi¡za¢ si¦ powa»ne bª¦dy w pomiarach, gdy» najwi¦ksza intensywno±¢wi¡zki odbitej zarejestrowanej na obrazie kamery mo»e pochodzi¢ z innego ¹ródªa ±wiatªalub reeksu ±wietlnego. Obraz wi¡zki odbitej mo»e równie» zosta¢ niezarejestrowany nakamerze ze wzgl¦du na poªo»enie kamery, w którym o±wietlany obraz jest niewidoczny.Metoda impulsowaWiele laserowych urz¡dze« do pomiaru odlegªo±ci wykorzystuje metod¦ impulsow¡, któradziaªa na zasadzie pomiaru czasu propagacji wi¡zki pomi¦dzy nadajnikiem, o±wietlanymobiektem i odbiornikiem. Gdy emisja wi¡zki ±wietlnej ma charakter impulsowy mamydo czynienia z urz¡dzeniem klasy TOF (Time Of Flight). Impuls ±wietlny wysyªany jestw znanych chwilach czasu, a znajduj¡cy si¦ w pobli»u nadajnika odbiornik w postacifotodetektora rejestruje czas jego powrotu. Ró»nica czasów jest wprost proporcjonalnado mierzonej odlegªo±ci. Pr¦dko±¢ propagacji ±wiatªa wymusza bardzo du»¡ precyzj¦okre±lania czasu (rz¦du subnanosekundy przy odlegªo±ci 1 metra i niskiej rozdzielczo±ci)3i dokªadno±¢ wykrywania impulsów powrotnych.Metoda modulacji amplitudyModulacja amplitudowa (AMCW, amplitude modulated continuous wave ) jest obecnienajpopularniejsz¡ metod¡ pomiaru odlegªo±ci stosowan¡ w dalmierzach laserowych. Wpowy»szej metodzie czujnik odlegªo±ci generuje ci¡gª¡ emisj¦ laserow¡ o modulowanej sinusoidalnieamplitudzie. Mierzony sygnaª r jest proporcjonalny do ró»nicy faz ∆φ sygnaªunadawanego i odbieranego:r = ∆φ · λm(3.2)4πgdzie λ m oznacza dªugo±¢ fali modulacji. Wskazania przyrz¡du s¡ jednoznaczne tylko wzakresie odlegªo±ci nie wi¦kszej ni» λm 2Rysunek 3.6: Pomiar za pomoc¡ metody AMCW.


3.3 Dalmierze laserowe 11Zalet¡ metody modulacji amplitudy jest jednoczesny pomiar intensywno±ci jako amplitudyodbieranego sygnaªu, który wygl¡da podobnie do tego uzyskanego kamer¡ monochromatyczn¡,jednak nie zawiera cieni i nie zale»y od o±wietlenia zewn¦trznego. Obrazintensywno±ci, którego geometria jest zgodna z geometri¡ obrazu odlegªo±ci, wykorzystujesi¦ do korekcji pomiaru odlegªo±ci.Metoda modulacji cz¦stotliwo±ciMetoda modulacji cz¦stotliwo±ci (FMCW, frequency modulated continuous wave ) polegana generowaniu emisji ci¡gªej modulowanej sygnaªem okresowym zmieniaj¡cym cz¦stotliwo±¢no±n¡ liniowo powy»ej i poni»ej cz¦stotliwo±ci ±redniej. Opó¹nienie czasowe proluczestotliwo±ciowego sygnaªu odbieranego jest proporcjonalne do mierzonej odlegªo±ci roraz do ró»nicy cz¦stotliwo±ci nadawanej f e i odbieranej f r .gdzie:r = c · f b /(f m · 4∆f), (3.3)f b = |f e − f r |, (3.4)c - pr¦dko±¢ ±wiatªa,f m - cz¦stotliwo±¢ modulacji,∆f - ró»nica najwi¦kszej i najmniejszej cz¦stotliwo±ci przebiegu modulowanego.Stosunek f b /f m odpowiada liczbie modów interferencyjnych N sygnaªów pojawiaj¡cychsi¦ w ci¡gu jednego okresu modulacji. Zliczaj¡c mody rosn¡cym N + i malej¡cym N −fragmentom prolu modulacji otrzymujemy zale»no±¢ na odlegªo±¢ r, która wynosi:cr = (N − + N + )4∆f(3.5)Rysunek 3.7: Pomiar za pomoc¡ metody FMCW.Zalet¡ metody FMCW w stosunku do AMCW jest jednoznaczno±¢ pojedynczego pomiarudªugo±ci. Metoda ta nie jest tak popularna jak modulacja amplitudowa ze wzgl¦duna trudno±¢ w sterowaniu cz¦stotliwo±ci¡ diody laserowej.3.3.4 Przegl¡d dalmierzy laserowychSkaner laserowy LMS-200 rmy SICKLMS 200 to bezdotykowy laserowy system pomiarowy umo»liwiaj¡cy skanowanie otoczeniaw dwóch wymiarach (radar laserowy). Urz¡dzenie zostaªo zaprojektowane do u»ytkuw pomieszczeniach. Do typowych zastosowa« ukªadów LMS 200 nale»¡ pomiary obiektów,okre±lanie poªo»enia oraz monitorowanie obszarów.


3.4 Dalmierze ultrad¹wi¦kowe 12Parametry techniczne urz¡dzeniazakres pomiarowy: 10 mrozdzielczo±¢: 0, 25 ok¡t skanowania (poziomy): 100 ocz¦stotliwo±¢ pracy: 75 HzRysunek 3.8: Parametry i wygl¡d skanera laserowego LSM-200 rmy SICK.Skaner laserowy FF-SE rmy HoneywellProdukt rmy Honeywell to równie» bezdotykowy laserowy system pomiarowy. Urz¡dzenieto ª¡czy w sobie zasady dziaªania lasera oraz radaru, skanuj¡c zdeniowane strefywokóª niebezpiecznych maszyn oraz poruszaj¡cych si¦ urz¡dze«. Zostaªy one zaprojektowanedo u»ytku w pomieszczeniach w zakresie bezpiecze«stwa przemysªowego.Parametry techniczne urz¡dzeniazasilanie: 24VDCzakres pomiarowy: 6 mrozdzielczo±¢: 70 mmk¡t skanowania (poziomy): 300 oczas reakcji: 280 msRysunek 3.9: Parametry i wygl¡d skanera laserowego FF-SE rmy Honeywell.3.4 Dalmierze ultrad¹wi¦kowe3.4.1 WprowadzenieDalmierze ultrad¹wi¦kowe, nazywane SONAR ami (ang. Sound Navigation and Ranging;nawigacja i wyznaczanie odlegªo±ci za pomoc¡ d¹wi¦ku) jak równie» przetwornikamiultrad¹wi¦kowymi, dziaªaj¡ na zasadzie wykorzystywania wªasno±ci odbijania si¦fali d¹wi¦kowych. Na tej samej zasadzie dziaªa echosonda, która w technice morskiejsªu»y do wykrywania przeszkód podwodnych i okr¦tów oraz aparat ultrasonograczny(USG) wykorzystywany w medycynie.3.4.2 Fale ultrad¹wi¦kowe podstawowe wªasno±ciFale ultrad¹wi¦kowe s¡ falami mechanicznymi o wysokiej cz¦stotliwo±ci, zbyt wysokiej, abybyªy sªyszalne dla czªowieka. Zakres cz¦stotliwo±ci wynosi od 20 kHz do 10 GHz. Podstawow¡cech¡ ultrad¹wi¦ków jest odbijanie si¦ od wi¦kszo±ci przedmiotów znajduj¡cychsi¦ w naszym otoczeniu. Poniewa» dªugo±¢ fali ultrad¹wi¦kowej jest rz¦du milimetrów,powoduje to jej odbijanie od obiektów porównywalnych lub wi¦kszych od dªugo±ci faliultrad¹wi¦kowej.


3.4 Dalmierze ultrad¹wi¦kowe 13Pole akustyczne wytwarzane przez przetwornik nie jest równomierne. Pole ultrad¹wi¦kowemo»na podzieli¢ na dwie strefy: Frensela zwan¡ polem bliskim oraz Frauenhoferanazywan¡ polem dalekim.Rysunek 3.10: Przybli»ony ksztaªt pola ultrad¹wi¦kowego.W stree Frensela najcz¦±ciej pracuj¡ urz¡dzenia wykorzystywane w medycynie np.ultrasonograf. Strefa bliska charakteryzuje si¦ nierównomiernym rozkªadem ci±nienia, cowynika z interferencji elementarnych fal kulistych, docieraj¡cych do okre±lonego miejscaz ró»nych punktów, z ró»n¡ faz¡. Pole ultrad¹wi¦kowe w tej stree jest w przybli»eniucylindryczne. Zasi¦g pola bliskiego okre±la poªo»enie ostatniego maksimum ci±nieniaakustycznego w osi ¹ródªa i wynosi:l 0∼ D 2= (3.6)4λgdzie: D - ±rednica ¹ródªa fal akustycznych,λ - dªugo±¢ emitowanej fali.Zmienny rozkªad ci±nienia akustycznego w polu bliskim powoduje, »e równie» rozkªadnat¦»enia fali w ró»nych punktach pola jest ró»ny. Na rysunku (3.11) przedstawiono zale»-no±¢ nat¦»enia fali ultrad¹wi¦kowej w polu bliskim i dalekim. W polu dalekim caªkowitenat¦»enie zmienia si¦ zgodnie z charakterystyk¡ kierunkow¡, dla fali kulistej jak 1 .r 2Rysunek 3.11: Rozkªad nat¦»enia fali ultrad¹wi¦kowej w zale»no±ci od odlegªo±ci w polubliskim i dalekim.W stree Frauenhofera ró»nica faz dochodz¡cych fal elementarnych jest tak maªa, »eskutki interferencji s¡ niezauwa»alne, a wi¡zka ultrad¹wi¦kowa rozszerza si¦ i przybieraksztaªt sto»ka.Parametrem okre±laj¡cym geometryczny ksztaªt pola akustycznego i jego przestrzennyrozkªad jest charakterystyka kierunkowa, która jest zale»na od stosunku wymiarów ¹ródªado dªugo±ci promieniowanej fali oraz od ksztaªtu ¹ródªa. Rozwarto±¢ wi¡zki ultrad¹wi¦kowejw polu dalekim dla pªaskiego przetwornika koªowego drgaj¡cego tªokowo zale»y odstosunku λ i wyra»ona jest wzorem:D


3.4 Dalmierze ultrad¹wi¦kowe 14sin β 1\2 ≈ 1, 22 λ Dgdzie k¡t sin β 1\2 okre±la szeroko±¢ poªówkow¡ charakterystyki kierunkowej wi¡zki.(3.7)Rysunek 3.12: Przybli»ona charakterystyka kierunkowa przetwornika drgaj¡cego tªokowo(D > λ).3.4.3 Podstawowe wªasno±ci dalmierzy ultrad¹wi¦kowychSonary ultrad¹wi¦kowe s¡ przetwornikami elektromechanicznymi, za pomoc¡ których mo-»emy wytwarza¢ mechaniczne fale d¹wi¦kowe. Mog¡ dziaªa¢ w obu kierunkach, jednocze-±nie nadawa¢ sygnaª, jak równie» odbiera¢ echo sygnaªu odbitego. Odbiór nast¦puje poupªywie czasu, potrzebnego do ustania drga« membrany, które powstaj¡ w czasie nadawania.Po tym okresie nadajnik staje si¦ odbiornikiem.• Zalety sonarów ultrad¹wi¦kowych: prosta budowa ukªadów elektronicznych zastosowanych w sonarach, du»a niezawodno±¢ przetwornika, niski koszt w porównaniu z systemem wizyjnym czy dalmierzem laserowyn, niezale»no±¢ od warunków o±wietlenia, niska wra»liwo±¢ na zmiany ci±nienia powietrza, prosta informacja otrzymana z sensorów w postaci amplitudy, cz¦stotliwo±ci,czasu przeplotu fali.• Wady sonarów ultrad¹wi¦kowych: stosunkowo du»a szeroko±¢ wi¡zki ultrad¹wi¦kowej, co utrudnia lokalizacj¦ obiektuwewn¡trz wi¡zki, wpªyw temperatury na pr¦dko±¢ fali ultrad¹wi¦kowej, rozdzielczo±¢ sonarów silnie zale»y od cz¦stotliwo±ci, wraz ze zwi¦kszeniem cz¦stotliwo±ci uzyskujemy lepsz¡ kierunkowo±¢, lecz tracimyna zasi¦gu sonaru, gdy» ro±nie tªumienie ultrad¹wi¦ków, istnienie strefy nieczuªo±ci, w której sonar nie dokona pomiarów, zjawisko przesªuchu polegaj¡ce na wzajemnym zagªuszaniu si¦ sonarów, absorbowanie fali na mi¦kkich powierzchniach.


3.4 Dalmierze ultrad¹wi¦kowe 153.4.4 Metody pomiaru odlegªo±ci w dalmierzach ultrad¹wi¦kowychAby zmierzy¢ odlegªo±¢ od przeszkody, nale»y zmierzy¢ czas, jaki upªywa od wysªaniasygnaªu ultrad¹wi¦kowego przez nadajnik a» do odebrania powracaj¡cego echa przez odbiornik.Poniewa» pr¦dko±¢ d¹wi¦ku w powietrzu jest staªa (zale»y w niewielkim stopniuod temperatury oraz ci±nienia atmosferycznego), a czas jest mierzalny to obliczenie odlegªo±cisprowadza si¦ do nast¦puj¡cego wzoru:S = V t2gdzie,S - odlegªo±¢ mierzonaV - pr¦dko±¢ rozchodzenia si¦ d¹wi¦ku w powietrzu (343m/s)t - czas od wysªania do odebrania odbitego sygnaªu.(3.8)Rysunek 3.13: Metoda pomiaru odlegªo±ci dalmierzem ultrad¹wi¦kowym.3.4.5 Przegl¡d sonarów ultrad¹wi¦kowychPrzetwornik Polaroid serii 8000Przetwornik ten wykorzystywany jest w robotach mobilnych do zastosowa« w pomieszczeniachzamkni¦tych. Sonar pracuje zarówno jako nadajnik i odbiornik.Najwa»niejsze parametry przetwornika:konstrukcja: otwartawariant pracy: nadawanie/odbiórczuªo±¢: −42dBcz¦stotliwo±¢ nominalna: od 47 do 65kHzzasi¦g minimalny: 0, 15mzasi¦g maksymalny: 15mrozdzielczo±¢: 1%szeroko±¢ wi¡zki: 12 ozakres temperaturowy: od −30 o C do +70 o CRysunek 3.14: Parametry oraz wygl¡d przetwornika ultrad¹wi¦kowego Polaroid serii 8000.


3.4 Dalmierze ultrad¹wi¦kowe 16Rysunek 3.15: Charakterystyka kierunkowa przetwornika Polaroid serii 8000.Przetwornik Murata MA40B7Przetwornik rmy Murata jest kolejnym znanym produktem zawieraj¡cym ukªady ultrad¹wi¦kowewykorzystywane w urz¡dzeniach mobilnych. Sonar ten jest przetwornikiemultrad¹wi¦kowym pracuj¡cym jako nadajnik i emiter.Najwa»niejsze parametry przetwornika:konstrukcja: otwartawariant pracy: nadawanie/odbiórczuªo±¢: −45dB(0dB = 10V pp)cz¦stotliwo±¢ nominalna: 40kHzzasi¦g minimalny: 0, 2mzasi¦g maksymalny: 4mrozdzielczo±¢: 9mmpojemno±¢: 2000pFszeroko±¢ wi¡zki: 44 oRysunek 3.16: Wygl¡d przetwornika Murata MA40B7.Rysunek 3.17: Charakterystyka kierunkowa przetwornika Murata MA40B7.


3.4 Dalmierze ultrad¹wi¦kowe 17Sonar ultrad¹wi¦kowy MA80A1 rmy MURATASonar ten jest przetwornikiem ultrad¹wi¦kowym pracuj¡cym jako nadajnik i emiter. Nale»ydo grupy przetworników o wysokiej cz¦stotliwo±ci.Najwa»niejsze parametry przetwornika:konstrukcja: otwarta,czujnik wysokiej cz¦stotliwo±ciwariant pracy: nadawanie/odbiórczuªo±¢: −47dB(0dB = 18V pp)cz¦stotliwo±¢ nominalna: 75 ± 5kHzzasi¦g minimalny: 0, 5mzasi¦g maksymalny: 5mrozdzielczo±¢: 4mmszeroko±¢ wi¡zki: 9 ozakres temperaturowy: od −10 o C do +60 o CRysunek 3.18: Wygl¡d dalmierza ultrad¹wi¦kowego Murata MA80A1.Rysunek 3.19: Charakterystyka kierunkowa przetwornika Murata MA80A1.


3.4 Dalmierze ultrad¹wi¦kowe 18SICK UM30-15111Czujniki ultrad¹wi¦kowe Sick s¡ stosowane do wykrywania obiektów oraz detekcji poziomówcieczy przezroczystych i nieprzezroczystych. Mog¡ by¢ wykorzystane w ±rodowiskachgdzie, ze wzgl¦du na znaczne zanieczyszczenia, nie jest mo»liwe zastosowanie czujnikówoptycznych. Czujniki posiadaj¡ automatyczn¡ kompensacj¦ wpªywu temperatury na dokªadno±¢pomiaru w zakresie od −20 o C do +50 o C.Najwa»niejsze parametry przetwornika:konstrukcja: otwarta,czujnik wysokiej cz¦stotliwo±ciwariant pracy: nadawanie/odbiórdokªadno±¢: 2%cz¦stotliwo±¢ nominalna: 80kHzzasi¦g minimalny: 800mmzasi¦g maksymalny: 6000mmrozdzielczo±¢: 1mmzakres temperaturowy: od −20 o C do +70 o CRysunek 3.20: Wygl¡d dalmierza ultrad¹wi¦kowego SICK UM30-15111


Rozdziaª 4Opis stanowiska dalmierza4.1 WprowadzenieZaprojektowane stanowisko laboratoryjne dalmierza optycznego skªada si¦ z dwóch moduªów:• moduª obrotowej gªowicy,• moduª pomiarowy z czujnikiem optycznym.Baz¡ stanowiska laboratoryjnego jest ukªad mechaniczny stanowi¡cy moduª z kolumn¡obrotow¡, na szczycie której zamontowany jest moduª z dalmierzem optycznym. Stanowiskozarz¡dzane jest poprzez dedykowane oprogramowanie uruchamiane na komputerzestacjonarnym i komunikuj¡ce si¦ z urz¡dzeniem za pomoc¡ sterownika wyposa»onego winterfejs szeregowy. Poni»szy rozdziaª zawiera szczegóªowy opis zaprojektowanej gªowicyobrotowej wraz z elementami wchodz¡cymi w jej skªad.4.2 Moduª gªowicy obrotowejZaprojektowana gªowica obrotowa stanowi jednostk¦ nap¦dow¡ stanowiska pomiarowego,której zadaniem jest pozycjonowanie i sterowanie zainstalowanym moduªem pomiarowym.Urz¡dzenia wykonawcze zamkni¦te s¡ w metalowej obudowie, której projekt przedstawiarysunek (4.1).Rysunek 4.1: Projekt obudowy moduªu z obrotow¡ gªowic¡.


4.2 Moduª gªowicy obrotowej 21zakupiony w zestawie. W zaªo»eniach projektu nie byªo wymogu budowy wªasnegosterownika silnika, tak wi¦c gotowe rozwi¡zanie upro±ciªo realizacj¦ gªowicy obrotowejoraz skróciªo czas jej wykonania. Obrót silnika odbywa si¦ poprzez podawaniesygnaªu taktuj¡cego na odpowiedni pin sterownika, który wymusza wªa±ciw¡ warto±¢pr¡du w uzwojeniu silnika niezale»nie od warto±ci napi¦cia zasilania.4. Przekªadnia z¦bata 2GN50K,Zastosowana przekªadnia zapewnia kolumnie obrotowej odpowiedni moment. Prze-1ªo»enie przekªadni zwi¦ksza rozdzielczo±¢ pozycjonowania kolumny obrotowej50oraz zapewnia odpowiedni¡ pªynno±¢ ruchu obrotowego kolumny.5. Enkoder Lika C80,Zastosowanie enkodera daje mo»liwo±¢ odczytu aktualnej pozycji gªowicy obrotowej.Zaªo»eniem projektowym byªo uzyskanie dokªadno±ci pozycjonowania na poziomie0, 2 o . Zakupiony enkoder zapewnia dokªadno±¢ znacznie lepsz¡, gdy» umo»liwia odczyt2048 impulsów/obrót na ka»dej z czterech linii sygnaªowych, co w przeliczeniuna k¡t daje dokªadno±¢ pozycjonowania 0,045 stopnia.6. Sterownik z mikrokontrolerem Motorola MC9S12A64CFU.Poprzez sterownik odbywa si¦ komunikacja z komputerem klasy PC, sterowanie gªowic¡pomiarow¡ oraz dokonywanie pomiarów. Jednostk¡ centraln¡ sterownika jestmikrokontroler MC9S12A64CFU rmy Freescale Semiconductor. Procesor zapewniazaªo»enia projektowe, posiada odpowiedni¡ ilo±¢ peryferii do obsªugi wszystkichkomponentów stanowiska. Ponadto, poprzez interfejs uruchomieniowy BDM (BackgroundDebug Mode) umo»liwia wgrywanie i testowanie oprogramowania bezpo±redniona systemie docelowym. Instrukcj¦ wykonania sprz¦towego debuggera mo»nabezpªatnie pobra¢ ze strony producenta, który zapewnia równie» dost¦p do darmowego,bardzo rozbudowanego ±rodowiska programistycznego CodeWarrior w wersjiEvaluation.4.2.1 Silnik krokowyDo projektu wykorzystany zostaª dwufazowy silnik krokowy z serii SH5618M1208 rmyNanotec.Gªowne parametry silnika to:• podziaª kroku co 1, 8 o ,• moment maksymalny 60Ncm,• pr¡d uzwojenia równy 1, 2A,• bipolarne wyprowadzenia,• o± silnika 6, 35mm.Rysunek 4.3: Wygl¡d oraz parametry silnika SH5618M1208.


4.2 Moduª gªowicy obrotowej 224.2.2 Przekªadnia z¦bataZamontowany silnik krokowy posiada podziaª kroku co 1, 8 o . Dodatkowo poprzez zastosowanysterownik silnika krokowego mo»na sterowa¢ podziaªem mikrokroku a» do 1 kroku.8Na tym nie ko«czy si¦ precyzja pozycjonowania kolumny obrotowej. Ukªad ten wyposa-»ony zostaª w przekªadni¦ planetarn¡ 2GN50K z przeªo»eniem 1 co umo»liwia otrzymanie5010000 kroków na jeden peªny obrót silnika bez zastosowania podziaªu mikrokrokowego.Rysunek 4.4: Wygl¡d przekªadni z¦batej 2GN50K.4.2.3 Zasilacz niestabilizowanyUrz¡dzenie zasilane jest zasilaczem niestabilizowanym serii ZN 200-L. Zasilacz ten jestdedykowany do silników krokowych, gdy» wyposa»ony jest w du»e kondensatory elektrolityczne,pozwalaj¡ce na odebranie energii podczas hamowania silnika krokowego, niepowoduj¡c znacznego wzrostu napi¦cia na wyj±ciu zasilacza.Podstawowe wªasno±ci zasilacza:• napi¦cie wyj±ciowe 30 VDC,• moc zasilacza 100 W,• transformator toroidalny o du»ej sprawno±ci i maªym rozproszeniu pola magnetycznego,• mostek prostowniczy o du»ej obci¡»alno±ci,• pr¡d znamionowy 4 A,• kondensatory odbieraj¡ce energi¦ podczas hamowania silnika.Rysunek 4.5: Wygl¡d zasilacza ZN 200-L.


4.2 Moduª gªowicy obrotowej 234.2.4 Sterownik silnika krokowegoDo wspóªpracy z dwufazowym bipolarnym silnikiem krokowym z serii SH5618 zostaª wykorzystanysterownik SMC 62. Umo»liwia on precyzyjne pozycjonowanie silnika poprzezprac¦ z podziaªem mikrokrokowym. Za jego pomoc¡ mo»na uzyska¢ 1600 kroków na jedenobrót silnika. Sterownik standardowo wyposa»ony jest w kondensator odbieraj¡cyenergi¦ powstaª¡ podczas hamowania silnika. Powy»sze zabezpieczenie znajduje si¦ tak»ena wyposa»eniu opisanego w poprzednim podrozdziale zasilacza ZN 200-L. Gªówne cechysterownika SMC 62 to:• scalony stopie« mocy,• napi¦cie pracy od 18 do 30 VDC,• mikrokrok z podziaªem do 1/8,• wysoki pr¡d znamionowy 2 A,• chroniony temperaturowo i nadnapi¦ciowo,• cz¦stotliwo±¢ czopowania 20kHz,• miniaturowe wymiary,• radiator z wentylatorem,• listwa zaciskowa z sygnaªami do silnika oraz sygnaªami steruj¡cymi.Rysynki (4.6 i 4.7) przedstawiaj¡ wygl¡d sterownika silnika krokowego oraz wyprowadzeniasygnaªów umieszczonych na listwach sygnaªowych.Rysunek 4.6: Wygl¡d sterownika silnika krokowego SMC 62.Standardowo sterownik posiada gniazdo do zª¡cza sygnaªowego w postaci miniaturowegozª¡cza ze stykami zaciskanymi na przewodach. Umo»liwia to bªyskawiczne podª¡czeniesterownika do komputera lub innych urz¡dze«. Szczegóªowy opis sygnaªów znajdujesi¦ na rysunku (4.8).


4.2 Moduª gªowicy obrotowej 24Rysunek 4.7: Schemat sterownika SMC 62 - widok od góry wraz z listwami sygnaªowymi.4.2.5 EnkoderRysunek 4.8: Tabela z sygnaªami steruj¡cymi sterownika SMC 62.Kolejnym komponentem urz¡dzenia jest enkoder z serii C80 rmy Lika. Jest on niezb¦dnydo okre±lania pozycji oraz precyzyjnego pozycjonowania ukªadu pomiarowego poprzezzlicznie impulsów odpowiadaj¡cych ruchowi obrotowemu. Enkoder zamontowny jest naosi przekªadni z¦batej poprzez specjalnie zaprojektowan¡ przedªu»k¦ osi.Parametry enkodera:• enkoder inkrementalny,• napi¦cie zasilania 5 − 30 V DC,• rozdzielczo±¢ do 2048 impulsów na obrót,• maksymalna pr¦dko±¢ 6000 obr/min,• indeks zerowy.Rysunek 4.9: Parametry oraz wygl¡d enkodera C80.


4.2 Moduª gªowicy obrotowej 254.2.6 Sterownik z mikrokontrolerem MC9S12A64CFUSterownik opracowany zostaª mi¦dzy innymi do komunikacji urz¡dzenia pomiarowego zkomputerem klasy PC, na którym po zainstalowaniu aplikacji mo»na sterowa¢ stanowiskiemoraz rejestrowa¢ wyniki pomiarów. Sterownik wyposa»ony jest w mikrokontroleroprogramowany mi¦dzy innymi w instrukcje steruj¡ce prac¡ silnika krokowego. Jednostk¦centraln¡ sterownika stanowi mikrokontroler Motorola z rodziny HCS12 produkowanyprzez rm¦ Freescale Semiconductor. Mikrokontroler wraz z elementami towarzysz¡cymiosadzony jest na pªytce uniwersalnej opracowanej przez dr. M. Wnuka oraz mgr. M. Kabaª¦[2]. Wygl¡d pªytki z mikroprocesorem MC9S12A64CFU przedstawia rysunek (4.10).Rysunek 4.10: Moduª z mikrokontrolerem MC9S12A64CFU.Zadania realizowane przez sterownik:1. komunikacja z komputerem typu PC,2. sterowanie silnikiem krokowym poprzez wysyªanie sekwencji sygnaªów steruj¡cychdo sterownika silnika krokowego,3. obsªuga gªowicy pomiarowej wyposa»onej w dalmierz optyczny,4. rejestracja impulsów z enkodera (zapami¦tywanie pozycji),5. obsªuga wska¹nika laserowego.Rysunek 4.11: Wygl¡d sterownika z mikrokontrolerem MC9S12A64CFU.


4.3 Moduª z dalmierzem optycznym 264.3 Moduª z dalmierzem optycznymModuª wyposa»ony zostaª w dwa sensory pomiarowe z rodziny Sharp. Konstrukcja kolumnyobrotowej pozwala monta» innych konstrukcji pomiarowych. Urz¡dzenie przystosowanejest do obsªugi sensorów analogowych. S¡ to czujniki, których sygnaª wyj±ciowyjest sygnaªem analogowym. Wtedy nale»y zadba¢ o odpowiedni¡ obsªug¦ sygnaªu analogowego,tak aby byª on odpowiednio interpretowany i przekªadaª si¦ na rzeczywistewarto±ci mierzone.W module z dalmierzem optycznym wykorzystane zostaªy nast¦puj¡ce czujniki:• Sharp GP2D120 - czujnik o zakresie pomiarowym od 4 do 30 cm,• Sharp GP2D12 - sensor o zakresie pomiarów wynosz¡cym od 10 do 80 cm.Dodatkowym elementem zainstalowanym w module jest wska¹nik laserowy, maj¡cy zazadanie pozycjonowanie moduªu, tak aby wskazywaª obiekt, do którego b¦dzie mierzonaodlegªo±¢.Wygl¡d moduªu przedstawia rysunek (4.12)Rysunek 4.12: Moduª z dalmierzem optycznym.Projekt moduªu zostaª wykonany zgodnie z rysunkiem (??) zamieszczonym w dodatkuA, na stronie 48. Konstrukcja obudowy zasadniczo skªada si¦ z trzech elementów:1. Ukªad mocowania moduªu do osi kolumny obrotowej,2. Pªytka mocowania sensorów optycznych oraz wska¹nika,3. Dekielek maskuj¡cy czujniki wraz z ich okablowaniem.


4.4 Obsªuga urz¡dze« peryferyjnych przez mikrokontroler 274.4 Obsªuga urz¡dze« peryferyjnych przez mikrokontrolerPoni»szy rozdziaª przedstawia opis wykorzystania zasobów mikrokontrolera do obsªugikomponentów stanowiska dalmierza. Schemat (4.13) przedstawia sposób podª¡czeniaurz¡dze« peryferyjnych.Rysunek 4.13: Schemat poª¡cze« peryferiów.EnkoderLinie sygnaªów enkodera podpi¦to pod port P mikrokontrolera. Poszczególne bity portuodpowiadaj¡ odpowiedniemu sygnaªowi z enkodera, tak wi¦c:• Bit 1 odpowiada sygnaªowi ¯B,• Bit 2 odpowiada sygnaªowi Ā,• Bit 3 odpowiada sygnaªowi ¯0,• Bit 4 odpowiada sygnaªowi 0,• Bit 5 odpowiada sygnaªowi B,• Bit 7 odpowiada sygnaªowi A.Piny portu P u»ywane dla sygnaªów z enkodera skongurowane s¡ jako wej±ciowe oraz¹ródªo przerwa«. Przerwanie od portu P wyzwalane jest zboczem narastaj¡cym.


4.4 Obsªuga urz¡dze« peryferyjnych przez mikrokontroler 28Sterownik silnika krokowegoSygnaªy sterownika silnika krokowego podpi¦te s¡ do mikrokontrolera nast¦puj¡co:• Sygnaª taktowania silnika (CLK) do portu P bit 0,• Sygnaª zaª¡czania silnika (EN) do portu B bit 7,• Sygnaª kierunku obrotu silnikiem (DIR) do portu B bit 5.Bit 0 portu P skongurowany jest jako PWM (Pulse Width Modulation) zapewniaj¡cmodulacj¦ szeroko±ci impulsu w celu odpowiedniego taktowania uzwoje« silnika. Wykorzystywaneprzez sterownik porty B ustawione s¡ jako porty wyj±ciowe.Kra«cówki optyczneKra«cówki optyczne peªni¡ rol¦ zabezpieczaj¡c¡ przed wykonaniem peªnego obrotu przezplatform¦ obrotow¡. W ten sposób chroni¡ przed zerwaniem przewodów doprowadzonychdo moduªu pomiarowego z dalmierzami optycznymi.Sygnaª z kra«cówek optycznych zostaª podpi¦ty na bit 1 portu E, na którym realizowanajest obsªuga przerwania IRQ. W celu zapewnienia poprawnej pracy kra«cówekoraz reakcji mikrokontrolera na osi¡gni¦cie pozycji granicznej, nale»aªo zapewni¢ wy»szypriorytet obsªugi przerwania pochodz¡cego od kra«cówki nad tym, pochodz¡cym z portuP. Z faktu, »e na danym mikrokontrolerze nie ma mo»liwo±ci deniowania priorytetówprzerwa« od portu P, wykluczono mo»liwo±¢ obsªugi kra«cówki na powy»szym porcie.Przerwanie IRQ ma wy»szy priorytet, co zapewnia nam pierwsze«sto jego obsªugi.Przerwanie od Portu E wyzwalane jest stanem, a nie zboczem, jak to miaªo miejsce wprzypadku portu P. Informacja osi¡gni¦cia pozycji na danej kra«cówce dostarczana jestdo portu PB6 w przypadku kra«cówki prawej, a portu PB4 w sytuacji znajdowaniasi¦ urz¡dzenia na kra«cówce lewej. Informacja ta jest niezb¦dna dla procesora do przeprowadzeniaodpowiedniej reakcji na ten stan. Informacja o osi¡gni¦ciu którejkolwiek zkra«cówek traa za po±rednictwem ukªadu scalonego PC74HC132T (ukªad bramek logicznychNAND) na port PE1. Wyzwolone stanem przerwanie jest nast¦pnie obsªugiwaneprzez mikrokontroler. Schemat ideowy kra«cówek przedstawia rysunek (A.2).Kra«cówka mechanicznaDodatkowo urz¡dzenie wyposa»one zostaªo w kra«cówk¦ mechaniczn¡ stycznik, którapeªni identyczn¡ funkcj¦ jak kra«cówki optyczne. Inny jest sposób realizacji obsªugikra«cówki. W przypadku kra«cówki mechanicznej nie ma podª¡czenia jej sygnaªu domikrokontrolera. Funkcjonowanie kra«cówki oparte jest na konstrukcji mechaniczno elektrycznej. W warunkach codziennej pracy urz¡dzenia pomiarowego nigdy nie powinnodoj±¢ do jej wª¡czenia.W sytuacji, gdy mikrokontroler przestaje poprawnie wykonywa¢ wgrany program, ajednocze±nie podtrzymany jest sygnaª zaª¡czania silnika oraz sygnaª jego taktowania (silniksi¦ kr¦ci), kra«cówki optyczne zawodz¡. W konsekwencji platforma obrotowa mijapozycj¦ ko«cow¡ zdeterminowan¡ przez kra«cówk¦ optyczn¡ i dochodzi do zaª¡czeniaznajduj¡cej si¦ za ni¡ kra«cówki mechanicznej. Zaª¡czenie przeª¡cznika powoduje wymuszeniestanu wysokiego na linii EN sterownika silnika co poci¡ga za sob¡ wyª¡czenie silnika.W celu umo»liwienia opuszczenia skrajnej pozycji bez konieczno±ci otwierania obudowyurz¡dzenia, na zewn¡trz obudowy dodano stycznik znosz¡cy poprzednio wymuszony stanwysoki sygnaªu EN.


4.4 Obsªuga urz¡dze« peryferyjnych przez mikrokontroler 29W przypadku osi¡gni¦cia kra«cówki mechanicznej nale»y pami¦ta¢ o tym, aby w celuopuszczenia kra«cówki ustawi¢ przeciwny kierunek obrotu platformy ni» ten, który spowodowaªosi¡gni¦cie ogranicznika. W przeciwnym razie dojdzie do mechanicznego uszkodzeniakra«cówki. Schemat ideowy kra«cówki znajduje si¦ na rysunku (A.2).SensoryPlatforma umo»liwia podª¡cznie dwóch sensorów analogowych. Sygnaªy wyj±ciowe sensorówpodª¡czone s¡ do przetwornika analogowo cyfrowego (A/C) do portów PAD0 orazPAD1. Poziom napi¦cia odniesienia dla przetwornika A/C dostosowany zostaª do zainstalowanychsensorów optycznych. Ustawiona warto±¢ napi¦cia referencyjnego wynosi od0 do 3V. Realizacja zaª¡czania sensorów odbywa si¦ na portach PB1 dla jednego sensoraoraz PB3 dla drugiego. Do czujników doprowadzone jest na staªe napi¦cie zasilania 5V, natomiastich uruchomienie odbywa si¦ poprzez zaª¡czanie masy. Maksymalny pobór pr¡duprzez sensory ograniczany jest przez wydajno±¢ pr¡dow¡ u»ytych tranzystorów zaª¡czaj¡-cych masy sensorów. W celu przetworzenia danych analogowych na cyfrowe wykorzystanowbudowany w mikrokontroler przetwornik A/C. Ustawiono typ pracy z rozdzielczo±ci¡ 10bitów. Bª¡d pomiaru wynosi zatem 3 V czyli w zaokr¡gleniu 0,003V.1024Wska¹nik laserowyZaª¡czanie wska¹nika odbywa si¦ programowo i zrealizowane jest na takiej samej zasadziejak zaª¡czanie sensorów. Do tego celu wykorzystano sygnaª z portu B bit 2. Dowska¹nika doprowadzone jest staªe napi¦cie 5V, a zwarcie do masy odbywa si¦ poprzeztranzystor zaª¡czaj¡cy.Ukªad zasilaniaDo realizacji zasilania komponentów urz¡dzenia wykorzystano dwa napi¦cia:• niestabilizowane napi¦cie 36V,• stabilizowane napi¦cie 5V.Niestabilizowane napi¦cie otrzymujemy z zasilacza niestabilizowanego ZN200L. Powy»szezasilanie dostarcza napi¦cie zasilania dla sterownika silnika krokowego, który bezpo±redniozasila silnik krokowy.Pozostaªe komponenty wymagaj¡ce stabilnego napi¦cia zasilane s¡ napi¦ciem 5V. Napi¦cie5V uzyskano poprzez przetwornic¦ napi¦cia staªego (AM3N2405SZ ), której maksymalneobci¡»enie wynosi 800mA.


Rozdziaª 5Opis aplikacji steruj¡cej prac¡dalmierza5.1 Opis aplikacji sterownika z mikrokontroleremAplikacja na mikrokontroler HC9S12A64CFU napisana zostaªa w j¦zyku C. Jako ±rodowiskoprogramistyczne wykorzystany zostaª pakiet CodeWarrior w wersji 4.6 rmy FreescaleSemiconductor. Jest to kompleksowe narz¦dzie programistyczne przeznaczone doprogramowania kontrolerów z rodziny Freescale HC12. Wygl¡d tego pakietu zostaª przedstawionyna rysunku (5.1).Rysunek 5.1: Wygl¡d pakietu programistycznego CodeWarrior 4.6.W skªad pakietu wchodz¡ mi¦dzy innymi nast¦puj¡ce komponenty:• Rozbudowany zarz¡dca projektem,• kompilator C/C + + zoptymalizowany dla HCS12 CPU,• Linker,• Debugger z opcj¡ BDM (mo»liwo±¢ debuggowania w ukªadzie docelowym),• Processor Expert - narz¦dzie umo»liwiaj¡ce ustawienie urz¡dze« peryferyjnych orazmetod ich obsªugi,• Symulator stanów wej±¢/ wyj±¢.


5.1 Opis aplikacji sterownika z mikrokontrolerem 315.1.1 Architektura oprogramowaniaMo»na wyró»ni¢ dwa rodzaje zdarze« obsªugiwanych przez mikrokontroler: zdarzeniakrytyczne czasowo oraz zdarzenia niekrytyczne czasowo. Zdarzenia krytyczne czasowo s¡zdarzeniami wymagaj¡cymi natychmiastowej reakcji i obsªugi w jak najkrótszym czasie.Zdarzenia czasowo krytyczne realizowane s¡ w obsªudze przerwa«. Natomiast na potrzebyobsªugi zdarze« czasowo niekrytycznych zostaªa opracowana kolejka zdarze«.Powy»sza konstrukcja umo»liwia odpowiedni¡ implementacj¦ algorytmów realizacji zada«pod k¡tem optymalizacji czasu obsªugi poszczególnych zdarze«. W sytuacji wyst¡pieniazdarzenia czasowo krytycznego nast¦puje wyzwolenie przerwania, w którym dochodzido obsªugi zdarzenia. W przypadku zdarzenia niewymagaj¡cego natychmiastowej obsªugi,nast¦puje dodanie jego do kolejki zdarze« z minimalnym zestawem informacji potrzebnychdo pó¹niejszejszego jego wykonania. Ide¡ takiego post¦powania jest mo»liwo±¢ realizacjizada« niekrytycznych w momentach, kiedy mikrokontroler nie jest obci¡»ony.Kolejka zdarze« jest kolejk¡ typu FIFO (First In First Out). Oparta jest na buforzecyklicznym. Bufor cykliczny jest tablic¡, która w czasie zapisu do niej mo»e ulecprzepeªnieniu. Fakt ten spowoduje nadpisywanie danych pocz¡wszy od tych zapisanychnajwcze±niej. Tablica bufora posiada dwa wska¹niki. Jeden wskazuje na miejsce w tablicydo dodawania nowych zdarze«, drugi natomiast pokazuje miejsce w tabeli, z któregonale»y zdj¡¢ zadanie do wykonania. Rozmiar bufora zostaª empirycznie zadeklarowany wtaki sposób, aby w czasie dziaªania aplikacji nie ulegaª przepeªnieniu.W aplikacji zrealizowano obsªug¦ nast¦puj¡cych przerwa«:1. przerwanie od portu P przerwanie od enkodera,2. przerwanie IRQ od kra«cówek optycznych,3. przerwanie od SCI przerwanie od nadajnika lub odbiornika portu szeregowego,4. przerwanie od timera.Przerwanie od portu PPrzerwanie od portu P obsªuguje zdarzenie czasowo krytyczne. Najwi¦ksza liczba przerwa«pochodzi od enkodera. Wynika to z faktu generowania przerwania przy ka»dymskoku enkodera. Przy du»ych pr¦dko±ciach platformy obrotowej obsªuga zdarzenia odenkodera potra zaj¡¢ mikrokontrolerowi du»o czasu, tak wi¦c nale»y zadba¢ o jak najszybszejej wykonanie. Zdarzenie generowane od enkodera wymaga analizy sygnaªów poszczególnychlinii enkodera. Badanie sekwencji wyst¦powania po sobie sygnaªów daje informacj¦odno±nie kierunku obrotu platformy. Reakcj¡ na te informacje jest odpowiedniainkrementacja b¡d¹ dekrementacja licznika enkodera. W tej samej obsªudze przerwaniadokonywane jest porównanie licznika enkodera z pozycj¡ zadan¡ i wywoªanie odpowiedniegozachowania takiego jak zatrzymanie silnika na danej pozycji i wykonanie pomiarówdo przetwornika A/C.


5.1 Opis aplikacji sterownika z mikrokontrolerem 32Przerwanie IRQPrzerwanie IRQ zostaje wyzwolone stanem na porcie PE1 w sytuacji, gdy platformaosi¡gnie jedn¡ z kra«cówek optycznych. Obsªuga przerwania jest priorytetowa i posiadanajwy»szy priorytet. Gwarantuje to pewno±¢ obsªugi kra«cówki.Przerwanie od SCIPrzerwanie mo»e zosta¢ wywoªane dla nadajnika oraz odbiornika. W przypadku gdydo bufora odbiorczego przyszedª bajt, przerwanie uruchamia obsªug¦ dodania zdarzenia(RxByte) do kolejki zdarze« i zostanie odpowiednio obsªu»one w p¦tli programiu gªównego.Dane do nadawania przekazywane s¡ w trakcie osªugi odpowiednich zdarze« do buforacyklicznego (TxTab). Obsªuga nadawania polega na poruszaniu si¦ po p¦tli bufora nadawczegoi w sytuacji gdy w buforze znajduje si¦ bajt do nadania wª¡czane jest przerwanie odnadajnika. Po wysªaniu bajtu, sprawdzany jest kolejny element bufora nadawczego. Je±lis¡ dane do nadania to wyzwalane jest przerwanie. Je±li nie, przerwanie zostaje wyª¡czone.Przerwanie od TimeraPrzerwanie od timera sprzetowego uruchamiane jest co 5 ms. Timer ten wyzwala licznikiprogramowe opracowane do obsªugi bª¦dów. W aplikacji mikrokontrolera zaimplementowanoobsªug¦ nast¦puj¡cych timerów programowych:1. TIMER_MOTOR_TIMEOUT,Peªni rol¦ zabezpieczenia przed uszkodzeniem silnika w sytuacji, gdy silnik taktowanyjest wysok¡ cz¦stotliwo±ci¡, ale nie obraca si¦. Do takiego stanu mo»e doj±¢,gdy zale»y nam na starcie silnika z zadan¡ pr¦dko±ci¡, a silnik zycznie nie jest wstanie z niej wystartowa¢. Timer zaª¡czany jest zawsze, gdy wª¡czony jest silnik.Po upªywie zdeniowanego dla danego timera czasu, je±li nie nast¡piª obrót silnika,dochodzi do wyzwolenia przerwania od timera.2. TIMER_MOTOR_START,Timer peªni rol¦ zabezpieczenia przed nadmiernym wstecznym napi¦ciem jakie odkªadasi¦ przy wyhamowaniu silnika. Nale»y zapewni¢ niezb¦dny czas do wyhamowaniasilnika, a co za tym idzie wyªadowania kondensatorów odbieraj¡cych energi¦hamowania. Powy»sza sytuacja ma miejsce w przypadku generowania cz¦stej sekwencjistartów i zatrzyma«.3. TIMER_SENSOR0_READY,Zainstalowany sensor wymaga czasu rozruchowego, niezb¦dnego do prawidªowegoodczytu warto±ci jego wskaza«.4. TIMER_SENSOR1_READY,Adekwatnie do funkcji timera dla sensora0.5. TIMER_ZERO_STABLE,Timer wykorzystywany jest do stwierdzenia, czy w sytuacji osi¡gni¦cia pozycji zeroprzez kolumn¦ obrotow¡, faktycznie ukªad znajduje si¦ na powy»szej pozycji. Przydu»ych pr¦dko±ciach silnik nie jest w stanie zatrzyma¢ si¦ natychmiast, cz¦sto dochodzido dodatkowego przeskoku obrotu silnika.


5.1 Opis aplikacji sterownika z mikrokontrolerem 336. TIMER_ZERO_TIMEOUT,Timer zaª¡czany jest od momentu startu poszukiwania fakycznej pozycji zera, takjak zostaªo to opisane w punkcie powy»ej. Jest zabezpieczeniem przed zap¦tleniemsi¦ w szukaniu pozycji zerowej.Timer systemowy skongurowany zostaª tak, aby wyzwalaª przerwanie co 0, 5ms.Wyzwolone przerwanie uruchamia liczniki dekrementacyjne timerów obsªugi urz¡-dze«. W sytuacji, gdy licznik konkretnego z timerów zostanie wyzerowany, nast¦pujewstawienie do kolejki zdarze« zdarzenia od tego timera.5.1.2 Dziaªanie p¦tli gªównej programuZrealizowana na mikrokontrolerze architektura aplikacji znacznie upro±ciªa logik¦ niesko«-czonej p¦tli gªównej funkcji Main(). Program gªówny skªada si¦ zasadniczo z 2 sekcji:• sekcja inicjalizuj¡ca,• p¦tla gªówna programu, w której odbywa si¦ obsªuga zdarze« pobieranych z kolejkizdarze«.Rysunek 5.2: Schemat blokowy dziaªania p¦tli gªównej programu.


5.1 Opis aplikacji sterownika z mikrokontrolerem 345.1.3 Implementacja metody rozp¦dzania silnikaW konstrukcji ukªadu obracaj¡cego platform¦ wykorzystano silnik krokowy wraz z przekªadni¡.Silnik poª¡czony jest z mikrokontrolerem poprzez dedykowany sterownik, umo»liwiaj¡cykierunku obrotu (stan logiczny sygnaªu DIR,) jak i pr¦dko±ci obrotowej (przebiegprostok¡tny sygnaªu CLK - gdzie cz¦stotliwo±¢ jest wprost proporcjonalna do szybko-±ci obrotowej silnika). Dodatkowym uªatwieniem jest mo»liwo±¢ wª¡czania/wyª¡czaniasterownika (stan logiczny sygnaªu EN), co poci¡ga za sob¡ równie» wyª¡czenie silnika.Sygnaªy sterownika silnika krokowego zostaªy opisane na rysunku (4.8).Aby silnik krokowy mógª osi¡ga¢ du»e pr¦dko±ci, konieczne jest jego wst¦pne rozp¦dzanie.W prezentowanej konstrukcji zaªo»ono, »e pr¦dko±¢ minimalna zapewni obrót silnikao k¡t równy 0, 1 o w czasie 1s, za± pr¦dko±¢ maksymaln¡ ustalono na poziomie 46, 75deg/s.Aby zapewni¢ dobre warunki pracy silnika, starano si¦ zlinearyzowa¢ przyrost pr¦dko±ciw czasie. W tym celu zostaªa stworzona tabela, w której obok danej pr¦dko±ci o pewnymindeksie, zapisano na staªe k¡t, jaki ma zosta¢ osi¡gni¦ty przy u»yciu tej»e pr¦dko±ci,zanim wykorzystana b¦dzie pr¦dko±¢ o indeksie wi¦kszym o 1.Efekt linearyzacji zostaª w peªni osi¡gni¦ty dla pr¦dko±ci wi¦kszej od indeksu równego10 (8deg/s). W przypadku ni»szych pr¦dko±ci obrotowych zale»no±¢ nie jest liniowa, coprzedstawiono na poni»szym rysunku (5.3).Rysunek 5.3: Wykres przyrostu pr¦dko±ci k¡towej w czasie.Urz¡dzenie umo»liwa obrót platformy albo z pr¦dko±ci¡ staª¡, albo z opcj¡ rozp¦dzaniaoraz hamowania.Praca z pr¦dko±ci¡ staª¡, poza faktem i» maksymalna pr¦dko±¢ v_native z jak¡ silnikbezpiecznie startuje zostaªa dobrana eksperymentalnie, nie wymaga komentarza. U»ytkownikmo»e ustali¢ dowoln¡ pr¦dko±¢ do 8 o /s.W przypadku ustawienia pr¦dko±ci z rozp¦dzaniem silnika, zdeniowano warto±¢ pr¦dko±ciminimalnej v_min oraz pr¦dko±ci maksymalnej v_max. Silnik rozpoczyna prac¦ zpr¦dko±ci¡ v_min. Je±li pr¦dko±¢ jest mniejsza od pr¦dko±ci maksymalnej oraz je±li ró»-nica k¡ta bie»¡cego i poªowy k¡ta docelowego jest wi¦ksza od staªej zadeklarowanej dlapr¦dko±ci, z któr¡ kr¦ci si¦ platforma, pr¦dko±¢ obrotu jest zwi¦kszana do pr¦dko±ci oindeksie wi¦kszym o 1. Nast¦pnie sprawdzane jest, czy ró»nica pomi¦dzy k¡tem bie»¡-cym a k¡tem docelowym jest mniejsza ni» k¡t potrzebny do stopniowego wyhamowania


5.1 Opis aplikacji sterownika z mikrokontrolerem 35platformy do pr¦dko±ci v_min.W celu zmniejszenia ilo±ci wymaganych oblicze« do tablicy pr¦dko±ci wprowadzono dodatkow¡kolumn¦, w której znajduj¡ si¦ sumy k¡tów dla wszystkich pr¦dko±ci mniejszychlub równych pr¦dko±ci której dotyczy zapis.Przy zaªo»eniu, »e odlegªo±¢ k¡towa jest wystarczaj¡c¡ na obsªug¦ rozp¦dzania i wyhamowaniasilnika, wykres zale»no±ci szybko±ci obrotu od czasu b¦dzie miaª charaktertrapezu równoramiennego. Natomiast gdy docelowa odlegªo±¢ k¡towa jest zbyt maªa abysi¦ rozp¦dzi¢ do pr¦dko±ci maksymalnej i dokonywa¢ obrotu z ustalon¡ pr¦dko±cia, wykresten przyjmie form¦ trójk¡ta równoramiennego.Rysunek 5.4: Tabela pr¦dko±ci i k¡tów obrotu dla poszczególnych czasów.


5.1 Opis aplikacji sterownika z mikrokontrolerem 365.1.4 Kalibracja czujników optycznych SharpWykorzystane w pracy czujniki odlegªo±ci posiadaj¡ nieliniowe charakterystyki odlegªo±ciod warto±ci napi¦cia. Rysunki (5.5) przedstawiaj¡ t¡ zale»no±¢.Rysunek 5.5: Charakterystyki napi¦ciowoodlegªo±ciowe czujników Sharp GP2D12 orazGP2D120.Algorytm pomiaru odlegªo±ci wymaga stworzenia funkcji, która konwertuje otrzymanenapi¦cie wyj±ciowe na warto±¢ odlegªo±ci. W celu ªatwej implementacji oraz przeliczaniaprocedury konwersji napi¦cia na dystans przez procesor, nale»y zlinearyzowa¢ funkcj¦ charakterystykinapi¦ciowo-odlegªo±ciowej. Liniow¡ aproksymacj¦ przeprowadza si¦ poprzezprzeksztaªcenie warto±ci osi rz¦dnych zgodnie ze wzorem (5.1):gdzie:R - zmierzony dystans,k - staªa zale»na od modelu sensora.1R + k(5.1)Dla sensora GP2D120 warto±¢ wspóªczynnika k = 0, 42,dla czujnika GP2D12 wspóªczynnik k = 4, 0.Przeksztaªcone wykresy przedstawiaj¡ rysunki (5.6).Rysunek 5.6: Przeksztaªcone charakterystyki czujników Sharp GP2D12 oraz GP2D120.


5.1 Opis aplikacji sterownika z mikrokontrolerem 37Kolejnym krokiem jest wyznaczenie aproksymacji liniowej tak przeksztaªconych charakterystyk.Ogólne równanie prostej przedstawia wzór:y = a · x + b (5.2)Po podstawieniu za x warto±ci napi¦cia oraz zale»no±ci ze wzoru (5.1) za y otrzymujemy:1R + k = a · V + b (5.3)Po doprowadzeniu do postaci odlegªo±ci R otrzymujemy ostatecznie wzór:1R =a · V + b − k (5.4)Dla dalmierza GP2D120 liniowa aproksymacja funkcji konwersji napi¦cia na dystanswyra»a si¦ wzorem:10000R =− 0, 42 (5.5)2, 0 · V + 0, 7Dla dalmierza GP2D12 liniowa aproksymacja funkcji konwersji napi¦cia na dystansprzedstawia wzór:R =10000− 4, 0 (5.6)0, 9 · V + 5, 0


5.2 Opis aplikacji steruj¡cej stanowiskiem z komputera PC 385.2 Opis aplikacji steruj¡cej stanowiskiem z komputeraPCNazwa aplikacji ESELDO jest zªo»eniem od nazwy Stanowiska Laboratoryjnego DalmierzaOptycznego. Aplikacja zostaªa wykonana w ±rodowisku Linux w j¦zyku C + + zwykorzystaniem biblioteki gracznej Qt w wersji 4.23. Do celów programistycznych za±rodowisko programistyczno projektowe posªu»yªo narz¦dzie KDevelop. Graczny interfejsu»ytkownika (GUI) zostaª stworzony przy u»yciu QtDesignera.Aplikacja umo»liwia sterowanie stanowiskiem pomiarowym za po±rednictwem komputeraklasy PC. Umo»liwia tak»e dokonanie pomiarów za pomoc¡ doª¡czonego moduªudalmierza optycznego. Otrzymane wyniki pomiarów s¡ wizualizowane na mapie otoczeniaodzwierciedlaj¡cego rzeczywiste ±rodowisko wokóª stanowiska pomiarowego.Program ESELDO posiada nast¦puj¡ce opcje obsªugi urz¡dzenia pomiarowego:1. Sterowanie obrotem kolumny do zadanego k¡ta,2. Sterowanie pr¦dko±ci¡ obrotow¡ kolumny, opcja:• Pracy z pr¦dko±ci¡ staª¡,• Trybu pracy z rozp¦dzaniem i hamowaniem silnika,• Z wyborem nastawienia pr¦dko±ci obrotowej kolumny.3. Zaª¡czanie i wyª¡czanie sensorów pomiarowych oraz wska¹nika laserowego,4. Tryby pomiaru:(a) Pomiar pojedynczy (tryb single),(b) Pomiar krokowy (tryb StepByStep), umo»liwiaj¡cy dokonanie pomiaru co zadan¡warto±¢ obrotu gªowicy,(c) Pomiar ci¡gªy (tryb Continuous), zbieraj¡cy pomiary co zadany k¡t (wi¦kszyod 1,5 stopnia) w trybie jednoczesnego obrotu,5. Mo»liwo±c zapisania otrzymanej mapy otoczenia do pliku gracznego,6. Zapis wyników pomiarów do pliku tekstowego.Na potrzeby aplikacji ESELDO stworzono nast¦puj¡ce klasy:• Serial obsªuga portu szeregowego, ustawienie parametrów niezb¦dnych do nawi¡-zania poª¡czenia, udost¦pnia metody odczytu i zapisu danych z i do portu.• Communication w¡tek komunikacyjny, umo»liwia komunikacj¦ 2 niezale»nych procesówprzy wykorzystaniu 2 potoków: jeden potok odpowiedzialny jest za procesobsªugi danych odczytanych z portu szeregowego i przekazanie ich do klasy model,drugi potok zwi¡zany jest z procesem przekazania i nadania danych z klasy modeldo urz¡dzenia.• Model przechowuje dane odebrane do wizualizacji, oraz dane do nadania.GUI aplikacjiod±wie»ane jest w bierz¡ce dane z modelu poprzez wywolanie metody update().• Scene budowa sceny, inicjalizacja parametórw sceny,wizualizacja elementów sceny,obsªuga zdarze« zwi¡zanych z mysz¡ komputerow¡,rysowanie mapy na bazie pomimarów.


5.2 Opis aplikacji steruj¡cej stanowiskiem z komputera PC 39• MainWindow GUI aplikacji, pobiera dane z klasy Model do prezentacji i od±wie»ascen¦, interakcja mi¦dzy urz¡dzeniem a u»ytkownikiem.• AppSetings - ustawienia parametrów sceny, barwy, grubo±ci lini, wielko±ci czcionek,wizualizacja legendy, okre±lanie obszarów sceny.Rysunek 5.7: Diagram sekwencji klas programu ESELDO.W¡tek komunikacji obsªuguje 2 potoki. W klasie Conmmunication zadeklarowanezostaªy deskryptory nadawczy writeset oraz odbiorczy readset. Proces obsªugi komunikacjimi¦dzy potokami realizuje metoda run(). W metodzie tej poprzez wywoªaniesystemowe select() sprawdzane jest, czy w deskryptorze readset nie ma znaków dost¦pnychdo czytania oraz sprawdzeny jest deskryptor writeset w celu zapisu danych donadania.Proces odczytu i nadawania danych do portu szeregowego realizuj¡ odpowiednio funkcjeSerialRead() i SerialWrite(). Dane czytane z urz¡dzenia obsªugiwane s¡ przezmetod¦ processReply(). Funkcja ta analizuje przychodz¡c¡ ramk¦ danych i dekomponujej¡ do zdarzenia (CreateEvent()), którego obsªuga powoduje przekazanie parametrówzdarzenia do klasy Model. Poprzez metode update() nastepuje od±wie»enie scenyz aktualnie przekazanymi do Modelu parametrami.Gdy z poziomu GUI aplikacji zostanie wysªane zdarzenie (send(), ask()), parametryjego przekazywane s¡ do klasy Model. Nast¦pnie potok zwi¡zany z obsªug¡ procesunadawania do urz¡dzenia rejestruje, »e s¡ dane do nadania (select() dla deskryptora readsetw¡tku konunikacji). Za pomoca metod createGet() oraz createSet() budowanajest ramka danych do nadania do urz¡dzenia. Funkcja WriteCommand() wysyªa danedo potoku nadanczego do urz¡dzenia. Metoda SerialWrite() przesyªa dane poprzez portszeregowy do urz¡dzenia pomiarowego.


Rozdziaª 6Wyniki eksperymentówRysunek (6.1) przedstawia wygl¡d jednego ze stanowiska, na którym dokonywno bada«pomiarowych.Rysunek 6.1: Wygl¡d stanowiska, na którym dokonywano eksperymentów.


6.1 Skanowanie otoczenia stanowiska pomiarowego 416.1 Skanowanie otoczenia stanowiska pomiarowegoEtap eksperymentów niezb¦dny jest do przeprowadzenia oceny urz¡dzenia pomiarowego,tak aby stwierdzi¢ poprawno±¢ w jego dziaªaniu, a w razie sytuacji problemowych zwróci¢na nie uwag¦ i opisa¢ we wnioskach. W celu przeprowadzenia pomiarów nale»aªo zbudowa¢scen¦ podlegaj¡c¡ obserwacji przez dalmierz optyczny. Dlatego zostaªy przygotowanebiaªe kartony ró»nej wielko±ci. Powy»sze kartony posªu»yªy do budowy sceny zgodnie zzaª¡czonym rysunkiem (6.2).Rysunek 6.2: Wygl¡d sceny wykorzystanej do eksperymentów.Zadbano równie» o odpowiednie na±wietlenie sceny, co w przypadku czujników optycznychSharp nie jest parametrem krytycznym i niezb¦dnym. Eksperyment obejmuje zwizualizowaniemapy otoczenia, w którym znajduje si¦ stanowisko pomiarowe. Proces skanowaniaotoczenia przeprowadzony zostaª dla ka»dego z dalmierzy optycznych z u»yciemtrybu pomiaru StepByStep ze wzgl¦du na najwi¦ksz¡ dokªadno±¢ pomiarów. Do tego celuustawiono nast¦puj¡ce parametry sterowania platform¡ pomiarow¡(6.3).Rysunek 6.3: Parametry ustawie« aplikacji dla metody pomiarowej StepByStep.


6.2 Pomiar odlegªo±ci dalmierzami optycznymy 426.1.1 Wyniki eksperymentuW wyniku przeprowadzonego eksperymentu otrzymano nast¦puj¡ce mapy otoczenia: Rysunek(6.4) dla dalmierza SDF o zasi¦gu do 40 cm oraz rysunek (6.5) dla dalmierza LDFo zasi¦gu do 80 cm.Rysunek 6.4: Uzyskana mapa otoczenia dla metody pomiarowej StepByStep dla dalmierzaSDF.Rysunek 6.5: Uzyskana mapa otoczenia dla metody pomiarowej StepByStep dla dalmierzaLDF.6.2 Pomiar odlegªo±ci dalmierzami optycznymyPomiar wskaza« odlegªo±ci od obserwowanego obiektu przy wykorzystaniu dalmierzy dlanast¦puj¡cych odlegªo±ci od przedmiotu.• 2 cm (martwa strefa dla obu sensorów),• 10 cm,• 20 cm,


6.2 Pomiar odlegªo±ci dalmierzami optycznymy 43• 30 cm,• 40 cm,• 50 cm (strefa poza zakresem pomiarowym dalmierza SDF),• 60 cm,• 80 cm,• 100 cm (strefa poza zakresem pomiarowym dalmierza LDF).6.2.1 Wyniki pomiarów.Rysunek 6.6: Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 2 cm i 10 cmod przeszkody.Rysunek 6.7: Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 20 cm i 30 cmod przeszkody


6.2 Pomiar odlegªo±ci dalmierzami optycznymy 44Rysunek 6.8: Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 40 cm i 50 cmod przeszkody.Rysunek 6.9: Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 80 cm i 100 cmod przeszkody.Rysunek 6.10: Tabela z wynikami pomiarów odlegªo±ci.


6.3 Wpªyw metody pomiarowej na wyniki pomiarów 456.3 Wpªyw metody pomiarowej na wyniki pomiarówBadanie wpªywu metody pomiarowej na dokªadno±¢ uzyskiwanych odlegªo±ci od mierzonegoobiektu na przykªadzie dalmierza LDF.Staªe ustawienia pomiarowe dla powy»szego do±wiadczenia:• Staªa pr¦dko±¢ obrotu gªowic¡,• Zakres skanowania od −20 o do +20 o ,• Zebranie pomiarów co 2 o .6.3.1 Metoda pomiaru StepByStepRysunek 6.11: Wizualizacja pomiarów odlegªo±ci metod¡ StepByStep.Rysunek 6.12: Tabela z wynikami pomiarów odlegªo±ci dla metody StepByStep.


6.4 Uwagi i wnioski z przeprowadzonych eksperymentów 466.3.2 Metoda pomiaru Continuous.Rysunek 6.13: Wizualizacja pomiarów odlegªo±ci metod¡ Continuous.Rysunek 6.14: Tabela z wynikami pomiarów odlegªo±ci dla metody Continuous.6.4 Uwagi i wnioski z przeprowadzonych eksperymentówZ przeprowadzonych eksperymentów wynika, »e otrzymane mapy otoczenia dla pomiarówwykonanych dalmierzami optycznymi pokrywaj¡ si¦ z rzeczywistym stanem obserwowanychobiektów, patrz rysunki (6.4) oraz (6.5). Ponadto zauwa»y¢ mo»na lepsz¡ dokªadno±¢pomiaru dokonywan¡ za pomoc¡ czujnika SDF, czyli sensora krótszego zasi¦gu.


Rozdziaª 7PodsumowanieEfektem niniejszej pracy jest powstanie stanowiska laboratoryjnego z dalmierzem optycznym,którego gªówn¡ konstrukcj¦ stanowi moduª gªowicy obrotowej. Projekt miaª na celuwykonanie urz¡dzenia wielofunkcyjnego. Uniwersalno±¢ urz¡dzenia udaªo si¦ uzyska¢ poprzezzastosowanie podzespoªów ªatwo dost¦pnych na rynku, takich jak silnik krokowy,przekªadnia planetarna, sterownik silnika krokowego, zasilacz, enkoder. Zadaniem stworzonejgªowicy jest sterowanie za po±rednictwem aplikacji komputerowej moduªem pomiarowym.Do powy»szego projektu zostaª wykonany moduª pomiarowy oparty o dwapopularne dalmierze optyczne. Do tak wykonanego stanowiska laboratoryjnego dostarczonazostaªa w rozdziale 6 propozycja ¢wiczenia laboratoryjnego oraz przeprowadzonezostaªy eksperymenty maj¡ce na celu sprawdzenie poprawno±ci dziaªania stanowiska.Podczas realizacji projektu napotkano na wiele trudno±ci, zwi¡zanych zarówno z realizacj¡mechniczn¡ jak i elektroniczn¡ urz¡dzenia pomiarowego. W czasie budowy urz¡-dzenia niejednokrotnie dochodziªo do zmiany koncepcji rozwi¡zania. Elementem, którymo»na byªoby poprawi¢ jest pªytka sterownika z mikrokontrolerem. Jest to pªytka uniwersalna,gdzie poª¡czenia elementów wykonano drutem krosowniczym. W przyszªo±cimo»na zast¡pi¢ j¡ pªytk¡ drukowan¡ z uwzgl¦dnieniem separacji szybkozmiennych sygnaªówcyfrowych od sygnaªów analogowych sensora. Ponadto mo»na te» dopracowa¢konstrukcj¦ mechaniczn¡ kra«cówki optycznej. Obecne rozwi¡zanie zostaªo zapo»yczonez myszy komputerowej i ogranicza k¡t obrotu platformy do 160 stopni.Jednym z problemów byª samoistny reset oprogramowania mikrokontrolera. Nad znalezieniemprzyczyny sp¦dzono kilka dni. Przyczyn¡ okazaªo si¦ indukowanie sygnaªu resetuzª¡cza BDM w sytuacji du»ej ilo±ci transmisji dokonywanej przy podª¡czeniu komputeraz urz¡dzeniem poprzez zª¡cze DB-25. Spowodowane jest to umieszczeniem przewodówinterfejsu BDM i transmisji danych we wspólnej wi¡zce okablowania. ›eby niedochodziªo do takiego stanu, nale»y pami¦ta¢, aby do zestawienia poª¡czenia komputeraze stanowiskiem pomiarowym, u»ywa¢ zª¡cza BD-9.Wyniki pomiarów z czujników optycznych cechuj¡ si¦ du»ym rozrzutem warto±ci. Faktten prawdopodobnie wynika z niewystarczaj¡cego odizolowania okablowania sygnaªówczujników od przewodów silnika krokowego. Wpªyw silnika szczególnie widoczny jest przypomiarach z pracuj¡cym silnikiem.Stwierdzono równie», »e zainstalowana jednostka mikrokontrolera nie zapewnia wystarczaj¡cejpr¦dko±ci potrzebnej do konwersji danych z sensorów w przetworniku A/Cdokonanych w trybie pomiaru ci¡gªego.


Dodatek ASchematy elektroniczne komponentówstanowiska dalmierzyA.1 Schemat ideowy sterownika z mikrokontrolerem HC12Rysunek A.1: Schemat ideowy sterownika.


A.1 Schemat ideowy sterownika z mikrokontrolerem HC12 49Rysunek A.2: Schemat ideowy kra«cówek.


A.2 Schemat rozªo»enia elementów i zª¡czy na pªytce sterownika 50A.2 Schemat rozªo»enia elementów i zª¡czy na pªytcesterownikaRysunek A.3: Schemat rozªo»enia elementów na pªytce sterownika.


A.3 Galeria stanowiska 51A.3 Galeria stanowiskaRysunek A.4: Wygl¡d urz¡dzenia pomiarowego przód.


A.3 Galeria stanowiska 52Rysunek A.5: Wygl¡d urz¡dzenia pomiarowego tyª.


A.3 Galeria stanowiska 53Rysunek A.6: Widok wn¦trza kolumny obrotowej.


A.3 Galeria stanowiska 54Rysunek A.7: Moduª z czujnikami pomiarowymi.Rysunek A.8: Wygl¡d okablowania do sterowania i programowania urz¡dzenia.


A.3 Galeria stanowiska 55Rysunek A.9: Wygl¡d interfejsu BDM do programowania urz¡dzenia.Rysunek A.10: Wygl¡d przykªadowego stanowiska pomiarowego.


Dodatek BProtokóª komunikacji sterownikastanowiska dalmierzyB.1 WprowadzenieKomunikacja zestawiona jest pomi¦dzy komputerem klasy PC a sterownikiem z mikrokontoleremHC12. Komputer klasy PC peªni rol¦ urz¡dzenia nadrz¦dnego - master, natomiaststerownik z mikrokontrolerem HC12 jest urz¡dzeniem typu slave. Komunikacja odbywasi¦ na zasadzie idei zapyta« i odpowiedzi. Urz¡dzenie nadrz¦dne wyst¦puje w roli odpytuj¡cego,wysyªaj¡c polecenia do sterownika, który realizuje odpowiednie polecenia orazprzesyªa komunikaty zwrotne.B.2 Interfejs komunikacjiW warstwie zycznej sterownik wykorzystuje ª¡cze RS232. Parametry transmisji s¡ nast¦puj¡ce:• pr¦dko±¢ transmisji 9600 bps,• 8 bitów danych,• brak bitu parzysto±ci/nieparzysto±ci,• 1 bit stopu,• brak sterownia przepªywem.B.3 Ramka protokoªu transmisjiZdeniowana ramka protokoªu transmisji oparta jest na ramce binarnej. Budowa pakieturozpoczyna si¦ od jednobajtowego nagªówka ramki zdeniowanego na staªe (0xA5) i jednobajtowegoidentykatora protokoªu (0x01). Kolejnymi elementami ramki s¡ jej dªugo±¢(1 bajt), ramka danych (2-5 bajtów) oraz na ko«cu ramki 1 lub 2 bajtowa suma kontrolnaCRC. Dªugo±¢ ramki wyliczana jest z ramki danych, czyli wykluczaj¡c nagªówek ramki iidentykator protkokoªu.


B.3 Ramka protokoªu transmisji 57Ramka danych zostaªa zdeniowana na rysunku (B.2). Skªada si¦ z identykatoraramki danych (1 bajt), jednobajtowej komendy oraz jedno- lub dwubajtowego bloku danych.Rysunek B.1: Denicja ramki protokoªu transmisji.Poni»ej opisano budow¦ ramki protokoªu transmisji:• FRH Nagªówek ramki 0xA5,• PID Identykator protokoªu 0x01,• LEN Dªugo±¢ ramki = F ID LEN +CMD LEN +DAT A_LSB LEN +DAT A_MSB LEN ,• FID Identykator ramki danych,• CMD Komenda,• DATA Dane,• CLSB Suma kontrolna CRC − 16 LSB (najmniej znacz¡cy bajt),• CMSB Suma kontrolna CRC − 16 MSB (najbardziej znacz¡cy bajt).B.3.1Ramka danychBlok danych zdeniowano na potrzeby tworzenia instrukcji steruj¡cych, zapyta« i komunikatówbª¦dów. Rodzaj przesyªanej komendy jednoznacznie deniuje jednobajtowyblok CMD. Blok ten poprzedzony jest denicj¡ identykatora ramki danych FID, którazawiera argument jednoznacznie okre±laj¡cy, jakiego zdarzenia dotyczy wygenerowanaramka. Struktur¦ ramki danych przedstawia rysunek (B.2).Rysunek B.2: Denicja ramki danych.• FID Identykator ramki danych,• CMD Komenda obsªugi polecenia, zdeniowanego w identykatorze ramki,• DATA Blok danych, w przypadku danych 2 bajtowych DATA_LSB - bajt danychnajmniej znacz¡cych, DATA_MSB - bajt danych najbardziej znacz¡cych.


B.4 Identykator ramki danych - FID 58B.4 Identykator ramki danych - FIDJednobajtowy blok FID identykuje zdarzenie, które wymaga obsªugi przez mikrokontroler.W poni»szej tabeli (B.1) zestawiono zbiór wszystkich identykatorów ramki.Identykator Warto±¢ Atrybut Liczba bajtów Min warto±¢ Max warto±¢FI_RSVD 0x00 - 0 FI_DYNAMIC_SPEED 0x01 RW 1 0 1FI_TURN_SPEED 0x02 RW 1 0 12FI_TURN_SPEED_MIN 0x03 RW 1 0 12FI_TURN_SPEED_MAX 0x04 RW 1 0 49FI_LIMITER_LEFT 0x05 R 1 FI_LIMITER_RIGHT 0x06 R 1 FI_ENCODER_COUNTER 0x07 RW 2 -1000 +1000FI_CURRENT_ANGLE 0x08 R 2 FI_ATD1_RAW_VALUE 0x09 R 2 FI_ATD0_RAW_VALUE 0x0A R 2 FI_TURN_STOP 0x0B W 0 FI_TA 0x0C W 2 -3600 +3600FI_TTA 0x0D W 2 -1800 +1800FI_LASER_ON 0x0E RW 1 0 1FI_MC_FZL 0x0F W 0 FI_MC_FZR 0x10 W 0 FI_SENSOR1_ON 0x11 RW 1 0 1FI_SENSOR0_ON 0x12 RW 1 0 1FI_CONT_MENSUR_RES 0x13 RW 1 15 255FI_TA_MENSUR 0x14 W 2 -3600 +3600FI_TTA_MENSUR 0x15 W 2 -1800 +1800Tablica B.1: Identykator ramki danych - FID.B.4.1Opis poszczególnych identykatorów ramki danych• FI_RSVD - komenda nie do u»ycia,• FI_DYNAMIC_SPEED - polecenie sterowania pr¦dko±ci¡ silnika z rozp¦dzaniem ihamowaniem,• FI_TURN_SPEED - ustawienie zadanej, staªej pr¦dko±ci silnika,• FI_TURN_SPEED_MIN - ustawienie zadanej, minimalnej pr¦dko±ci pracy silnika,• FI_TURN_SPEED_MAX - ustawienie pr¦dko±ci maksymalnej dla obrotu silnika,• FI_LIMITER_LEFT - komenda obsªugi kra«cówki lewej,• FI_LIMITER_RIGHT - obsªuga kra«cówki prawej,


B.4 Identykator ramki danych - FID 59• FI_ENCODER_COUNTER - argument dla odczytu licznika kroków z enkodera,• FI_CURRENT_ANGLE - komenda odczytu k¡ta bie»¡cego,• FI_ATD0_RAW_VALUE - odczyt warto±ci z przetwornika A/C 0 zebranej z sensorapomiarowego,• FI_ATD1_RAW_VALUE - odczyt warto±ci z przetwornika A/C 1,• FI_TURN_STOP - polecenie zatrzymania silnika,• FI_TA - komenda obrotu silnika o zadany k¡t,• FI_TTA - instrukcja obrotu silnika do zadanego k¡ta,• FI_LASER_ON - zaª¡czanie wska»nika laserowego• FI_MC_FZL - komenda znalezienia pozycji zerowej silnika, osi¡gni¦cie punktu zerowegoz jego lewej strony,• FI_MC_FZR - polecenie znalezienia pozycji zero, osi¡gni¦cie punktu zerowego zjego prawej strony,• FI_SENSOR0_ON - komenda zaª¡czenia sensora dªu»szego zasi¦gu,• FI_SENSOR1_ON - komenda zaª¡czenia sensora krótszego zasi¦gu,• FI_CONT_MENSUR_RES - polecenie dla ustawienia rozdzielczo±ci pomiaru ci¡-gªego, ustawienie kroku pomiaru,• FI_TA_MENSUR - instrukcja obrotu silnikiem o k¡t z jednoczesnym dokonywaniempomiarów sensora,• FI_TTA_MENSUR - polecenie obrotu silnika do k¡ta z równoczesnym dokonywaniempomiarów sensora.


B.5 Identykator polece« - CMD 60B.5 Identykator polece« - CMDJak ju» zostaªo wspomniane powy»ej, identykator ramki danych okre±la zdarzenie wymagaj¡ceobsªugi. Danemu identykatorowi zdarzenia towarzyszy argument w postacipolecenia (CMD). Argument ten decyduje o obsªudze danego zdarzenia. Na przykªad:Dla identykatora ramki FI_TURN_SPEED (ustawienie pracy silnika z zadan¡ pr¦dko-±ci¡) mo»na przypisa¢ komendy typu ustaw (SET) warto±¢ pr¦dko±ci na x. Po obsªudzetak zbudowanej ramki przez jednostk¦ wykonawcz¡, wysyªany jest komunikat zwrotny zpotwierdzeniem (ACK) wykonania zadania (DONE) lub jego niewykonaniem (NDONE).W sytuacji niewykonania zadania dodatkowo otrzymamy identykator bª¦du deniuj¡cyprzyczyn¦ problemu.Identykator Warto±¢ OpisGET 0x01 pobierz warto±¢SET 0x02 ustaw warto±¢REPLY 0x04 odpowied¹DONE 0x10 odp - wykonaneNDONE 0x20 odp - niewykonaneACK 0x40 potwierdzenie odbioruNACK 0x80 brak potwierdzeniaTablica B.2: Identykator polece« - CMD.B.6 Identykator bª¦du FR_ERROR komendy NACKObsªuga bª¦dów realizowana jest za pomoc¡ identykatorów FR_ERROR.Identykator Warto±¢ OpisFERR_OK 0x00 ramka poprawnaFERR_FTS 0x01 ramka za krótka dªugo±¢ ramki niepoprawnaFERR_UF 0x02 niezidentykowana ramkaFERR_UC 0x03 niezidentykowana komendaFERR_NOB 0x04 bª¦dna liczba bajtów w ramce SETFERR_CNA 0x05 polecenie niedozwoloneFERR_PR 0x06 parametr znajduje si¦ poza dozwolonym zasi¦giemFERR_CPNA 0x07 niedozwolona zmiana parametruFERR_MO 0x08 niedozwolone polecenie, gdy» silnik jest wª¡czonyFERR_SNR 0x09 niedozwolone polecenie, gdy» sensor nie jest gotowyFERR_MIN_MAX_SPEED 0x0A pr¦dko±¢ maksymalna silnika mniejsza od minimalnejTablica B.3: Identykator bª¦du - FR_ERROR.


B.8 Odpowiedzi polece« SET i GET dla zdarzenia (FID) 61B.7 Identykator bª¦du ERROR_CODE komendy NDONEIdentykator Warto±¢ OpisNDONE_OK 0x00 ramka poprawnaNDONE_MO 0x01 bª¡d silnikaNDONE_LL 0x02 osi¡gni¦cie lewej kra«cówkiNDONE_RL 0x03 osi¡gni¦cie prawej kra«cówkiNDONE_EE 0x04 bª¡d enkodera, nie mo»na znale¹¢ pozycji 0NDONE_ZNS 0x05 bª¡d znalezienia zera stabilnegoNDONE_LE 0x06 bª¡d kra«cówki optycznejTablica B.4: Identykator bª¦du komendy NDONE.B.8 Odpowiedzi polece« SET i GET dla zdarzenia (FID)FI_DYNAMIC_SPEEDCMD Odpowied¹ 1 Odpowied¹ 2 Bª¡dSET ACK NACK FERR_MOGET REPLY Tablica B.5: Odpowiedzi dla ramkiFI_DYNAMIC_SPEED.FI_TURN_SPEEDCMD Odpowied¹ 1 Odpowied¹ 2 Bª¡dSET ACK NACK FERR_MOGET REPLY Tablica B.6: Odpowiedzi dla ramkiFI_TURN_SPEED.


B.8 Odpowiedzi polece« SET i GET dla zdarzenia (FID) 62FI_TURN_SPEED_MINCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_MONACK FERR_MIN_MAX_SPEEDGET REPLY Tablica B.7: Odpowiedzi dla ramkiFI_TURN_SPEED_MIN.FI_TURN_SPEED_MAXCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_MONACK FERR_MIN_MAX_SPEEDGET REPLY Tablica B.8: Odpowiedzi dla ramkiFI_TURN_SPEED_MAX.FI_LIMITER_LEFTCMD Odpowied¹1 Odpowied¹2 Bª¡dGET REPLY Tablica B.9: Odpowiedzi dla ramkiFI_LIMITER_LEFT.FI_LIMITER_RIGHTCMD Odpowied¹1 Odpowied¹2 Bª¡dGET REPLY Tablica B.10: Odpowiedzi dla ramkiFI_LIMITER_RIGHT.


B.8 Odpowiedzi polece« SET i GET dla zdarzenia (FID) 63FI_ENCODER_COUNTERCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_PRNACK FERR_MOGET REPLY Tablica B.11: Odpowiedzi dla ramkiFI_ENCODER_COUNTER.FI_CURRENT_ANGLECMD Odpowied¹1 Odpowied¹2 Bª¡dGET REPLY Tablica B.12: Odpowiedzi dla ramkiFI_CURRENT_ANGLE.FI_ATD0_RAW_VALUECMD Odpowied¹1 Odpowied¹2 Bª¡dGET REPLY NACK FERR_SNRNACK FERR_MOTablica B.13: Odpowiedzi dla ramkiFI_ATD0_RAW_VALUE.FI_ATD1_RAW_VALUECMD Odpowied¹1 Odpowied¹2 Bª¡dGET REPLY NACK FERR_SNRNACK FERR_MOTablica B.14: Odpowiedzi dla ramkiFI_ATD1_RAW_VALUE.


B.8 Odpowiedzi polece« SET i GET dla zdarzenia (FID) 64FI_TURN_STOPCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK Tablica B.15: Odpowiedzi dla ramki FI_TURN_STOP.FI_TACMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK DONE ACK NDONE NDONE_MOACK NDONE NDONE_RLACK NDONE NDONE_LLACK NDONE NDONE_EENACK FERR_MOTablica B.16: Odpowiedzi dla ramki FI_TA.FI_TTACMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK DONE ACK NDONE NDONE_MOACK NDONE NDONE_RLACK NDONE NDONE_LLACK NDONE NDONE_EENACK FERR_MOTablica B.17: Odpowiedzi dla ramki FI_TTA.FI_LASER_ONCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_PRGET REPLY Tablica B.18: Odpowiedzi dla ramki FI_LASER_ON.


B.8 Odpowiedzi polece« SET i GET dla zdarzenia (FID) 65FI_MC_FZLCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK DONE ACK NDONE NDONE_MOACK NDONE NDONE_RLACK NDONE NDONE_LLACK NDONE NDONE_EENACK FERR_MOTablica B.19: Odpowiedzi dla ramki FI_MC_FZL.FI_MC_FZRCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK DONE ACK NDONE NDONE_MOACK NDONE NDONE_RLACK NDONE NDONE_LLACK NDONE NDONE_EENACK FERR_MOTablica B.20: Odpowiedzi dla ramki FI_MC_FZR.FI_SENSOR0_ONCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_PRGET REPLY Tablica B.21: Odpowiedzi dla ramkiFI_SENSOR0_ON.FI_SENSOR1_ONCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_PRGET REPLY Tablica B.22: Odpowiedzi dla ramkiFI_SENSOR1_ON.


B.9 Wygl¡d ramek dla poszczególnych komend 66FI_CONT_MENSUR_RESCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK NACK FERR_MOGET REPLY Tablica B.23: Odpowiedzi dla ramkiFI_CONT_MENSUR_RES.FI_TA_MENSURCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK DONE ACK NDONE NDONE_MOACK NDONE NDONE_RLACK NDONE NDONE_LLACK NDONE NDONE_EENACK FERR_MOTablica B.24: Odpowiedzi dla ramki FI_TA_MENSUR.FI_TTA_MENSURCMD Odpowied¹1 Odpowied¹2 Bª¡dSET ACK DONE ACK NDONE NDONE_MOACK NDONE NDONE_RLACK NDONE NDONE_LLACK NDONE NDONE_EENACK FERR_MOTablica B.25: Odpowiedzi dla ramkiFI_TTA_MENSUR.B.9 Wygl¡d ramek dla poszczególnych komendRysunek B.3: Ramka dla komendy GET.Rysunek B.4: Ramka dla komendy SET_BYTE.


B.9 Wygl¡d ramek dla poszczególnych komend 67Rysunek B.5: Ramka dla komendy SET_WORD.Rysunek B.6: Ramka dla komendy REPLY.Rysunek B.7: Ramka dla komendy DONE.Rysunek B.8: Ramka dla komendy NDONE.Rysunek B.9: Ramka dla komendy ACK.Rysunek B.10: Ramka dla komendy NACK.


Dodatek CInstrukcja obsªugi aplikacji ESELDOC.1 GUI AplikacjiRysunek (C.1) przedstawia wygl¡d gracznego interfejsu aplikacji ESELDO. Aplikacjaskªada si¦ z nast¦puj¡cych obszarów funkcyjnych:1. Menu,2. Mapa otoczenia,3. Zakªadki sterownia i pomiaru,4. Regulacja pracy silnika, zaª¡czanie urz¡dze«.Rysunek C.1: Wygl¡d GUI aplikacji.Poni»sze rozdziaªy przedstawiaj¡ dokªadny opis oraz funkcjonalno±¢ poszczególnychzakªadek i obszarów roboczych.


C.2 Pasek Menu 69C.2 Pasek MenuPasek Menu zawiera nast¦puj¡ce funkcje:• Zapis sceny do pliku,• Czyszczenie mapy otoczenia,• Konguracja portów oraz ustawienia parametrów mapy,• Informacje o programie.Map¦ otoczenia mo»na zapisa¢ do formatów gracznych takich jak bmp, jpeg, png orazeps. Ustawienia parametrów sceny zostan¡ omówione w rozdziale dotycz¡cym wizualizacjimapy otoczenia.C.3 Mapa otoczeniaWizualizacja mapy otoczenia skªada si¦ z pier±cieni oraz promieni wizualizuj¡cych odpowiednioodlegªo±ci oraz k¡ty. W centrum mapy znajduje si¦ obiekt symbolizuj¡cy czujnikpomiarowy. Zamontowana strzaªka symbolizuje rzeczywisty kierunek obrotu sensora.Ikona czujnika obraca si¦ zawsze wraz z obrotem platformy. Mapa od±wie»ana jest nabie»¡co zarówno po zmianie pozycji jak i zebraniu punktu pomiarowego.C.3.1Funkcjonalno±¢ mapy otoczeniaMap¦ otoczenia mo»na dowolnie skalowa¢ poprzez przybli»anie b¡d¹ oddalanie sceny zapomoc¡ przesuwania przycisku scroll. Dodatkowo mo»na j¡ tak»e obraca¢ w prawo lubw lewo poprzez odpowiedni ruch przyciskiem scroll z jednocze±nie wci±ni¦tym dowolnymklawiszem myszki.Rysunek C.2: Wizualizacja mapy otoczenia - opcje rotate oraz zoomWizualizowana mapa otoczenia posiada równie» legend¦, na której ró»nymi koloramizaznaczono sensory. Na pier±cieniach wizualizuj¡cych k¡ty znajduj¡ si¦ tak»e przedziaªyzakresów pomiarowych odpowiednich czujników. Oznaczono je lini¡ przerywan¡. Opcjamiwyboru kolorów sensorów, widokiem legendy, widokiem pier±cieni zasi¦gów pomiarowych


C.4 Zakªadka metody dokonywania pomiaru oraz pozycjonowanie stanowiska 70sensorów oraz zakresem skali mapy mo»na dowolnie zarz¡dza¢ z menu ustawie« mapyotoczenia. Rysunek (C.3) przedstawia wszystkie opcje dost¦pne na zakªadce ustawie«mapy.Rysunek C.3: Zakªadka ustawie« dla mapy otoczenia.C.4 Zakªadka metody dokonywania pomiaru oraz pozycjonowaniestanowiskaAplikacja zaª¡czona do stanowiska dalmierza optycznego umo»liwia trzy metody pomiaruodlegªo±ci oraz dwie metody sterowania prac¡ silnikiem, który pozycjonuje moduª z czujnikamipomiarowymi.Realizacj¦ powy»szych funkcji mo»na dokona¢ za po±rednictwem jednej z trzech zakªadek.Poni»ej zamieszczono wygl¡d poszczególnych zakªadek wraz z opisem funkcjonalnym.1. Zakªadka Single - opcja pojedynczego obrotu gªowicy do zadanego k¡ta z mo»liwo-±ci¡ dokonania jednego pomiaru odlegªo±ci,Rysunek C.4: Zakªadka Single - pojedynczy obrót gªowicy oraz pomiar.


C.4 Zakªadka metody dokonywania pomiaru oraz pozycjonowanie stanowiska 71Grupa Motion Control - sterowanie gªowic¡ obrotow¡.(a) Current - okienko z aktualn¡ pozycj¡ gªowicy pomiarowej,(b) Destination - pole z warto±ci¡ k¡ta obrotu gªowicy,(c) Start - przycisk wykonania obrotu silnikiem z zadanymi parametrami,(d) Stop - zatrzymanie obrotu silnika,(e) Zero - przycisk z funkcj¡ powrotu gªowicy obrotowej do punktu zero.Measurment Control - dokonywanie pomiarów z sensorów.(a)LDF - warto±¢ dokonanego pomiaru za pomoc¡ sensora dªu»szego zasi¦gu,(b) SDF - warto±¢ pomiaru uzyskanego z sensora krótszego zasi¦gu,(c) GET - przycisk wykonania pomiaru poszczególnym sensorem.2. Zakªadka StepByStep - opcja obrotu gªowicy do zadanego k¡ta wraz z mo»liwo±ci¡dokonania pomiaru co zadany krok,Rysunek C.5: Zakªadka StepByStep - obrót gªowicy oraz pomiar co zadany krok.Grupa Motion Control - sterowanie gªowic¡ obrotow¡.(a) Current - okienko z aktualn¡ pozycj¡ gªowicy pomiarowej,(b) Destination - pole z warto±ci¡ k¡ta obrotu gªowicy,(c) Step - warto±¢ kroku, co który odbywa si¦ odczytanie pomiarów z sensorów,(d) Start - przycisk wykonania obrotu silnikiem z zadanymi parametrami,(e) Stop - zatrzymanie obrotu silnika,(f) Zero - przycisk z funkcj¡ powrotu gªowicy obrotowej do punktu zeroGrupa Results - opcje wy±wietlania i zapisywania wyników pomiarów odlegªo±ci.(a) Results - pole tekstowe z pomiarami z sensorów (linia zawiera nast¦puj¡cedane: k¡t pomiaru, odlegªo±¢ z sensora SDF, odlegªo±¢ z sensora LDF),(b) Save txt - opcja zapisu wyników pomiarów do pliku tekstowego,(c) Clear - czyszczenie pola tekstowego z wynikami.


C.5 Zmiana trybów pracy silnika i zaª¡czanie sensorów 723. Zakªadka Continous - opcja obrotu gªowicy do zadanego k¡ta z dokonaniem pomiaruw czasie wykonywania obrotu, Powy»sz¡ opcj¦ pomiaru stosuje si¦, gdy dokonaniepomiaru odbywa si¦ co najmniej co 1, 5 o . W celu uzyskania pomiarów comniejsz¡ warto±¢ kroku nale»y zastosowa¢ opcje pomiaru z zakªadki 2.Rysunek C.6: Zakªadka Continous - pojedynczy obrót gªowicy oraz pomiar.Grupa Motion Control - sterowanie gªowic¡ obrotow¡ z jednoczesnym odczytemwskaza« sensorów.(a) Current - okienko z aktualn¡ pozycj¡ gªowicy pomiarowej,(b) Destination - pole z warto±ci¡ k¡ta obrotu gªowicy,(c) Start - przycisk wykonania obrotu silnikiem z zadanymi parametrami,(d) Stop - zatrzymanie obrotu silnika,(e) Zero - przycisk z funkcj¡ powrotu gªowicy obrotowej do punktu zero,Grupa Results - opcje wy±wietlania i zapisywania wyników pomiarów odlegªo±ci.(a) Results - pole tekstowe z pomiarami z sensorów (linia zawiera nastepuj¡cedane: k¡t pomiaru, odlegªo±¢ z sensora SDF, odlegªo±¢ z sensora LDF),(b) Save txt - opcja zapisu wyników pomiarów do pliku tekstowego,(c) Clear - czyszczenie pola tekstowego z wynikami.C.5 Zmiana trybów pracy silnika i zaª¡czanie sensorówRysunek (C.7) przedstawia zakªadk¦ zmiany nast¦puj¡cych parametrów pracy silnika:1. speed min - pr¦dko±¢ minimalna, z jak¡ startuje silnik,2. speed max - pr¦dko±¢ maksymalna, do jakiej mo»e rozp¦dzi¢ si¦ silnik,3. speed native - pr¦dko±¢ staªa - silnik pracuje bez rozp¦dzania i wyhamowywania.Jednostk¡ zakresów pr¦dko±ci jest [ deg ]. Opcje pr¦dko±ci minimalnej i maksymalnejsecwykorzystywane s¡, gdy silnik pracuje w trybie z rozp¦dzaniem i hamowaniem. Abywª¡czy¢ powy»szy tryb pracy silnika nale»y zaznaczy¢ opcj¦ dynamic speed.Poni»ej parametrów zmiany pr¦dko±ci silnika, umieszczono kontrolki zaª¡czania sensoróworaz wª¡cznik wska¹nika laserowego. Symbolika ikon jest nast¦puj¡ca:


C.6 Przykªad realizacji pomiaru StepByStep 73Rysunek C.7: Zakªadka ustawie« pr¦dko±ci silnika oraz zaª¡czania sensorów.• LDF - Wª¡cz/Wyª¡cz czujnik dªugiego zasi¦gu,• SDF - Wª¡cz/Wyª¡cz czujnik krótkiego zasi¦gu,• LED - Wª¡cz/Wyª¡cz wska¹nik laserowy.C.6 Przykªad realizacji pomiaru StepByStepPoni»szy przykªad przedstawia scenariusz pomiaru StepByStep. Metoda pomiaru polegana obracaniu gªowicy pomiarowej o zadany k¡t oraz na dokonaniu pomiaru po uzyskaniuka»dego z kroków, a» do momentu osi¡gni¦cia pozycji ko«cowej.Aby wykona¢ pomiar nale»y post¦powa¢ zgodnie z poni»szymi krokami:1. Ustawi¢ pozycj¦ sensora, aby obserwowaª zadany obiekt,• W tym celu nale»y wª¡czy¢ wska¹nik laserowy - opcja LED,• Obserwuj¡c ±lad wska¹nika obraca¢ kolumn¦ do pozycji, a» ±lad wska¹nikaosi¡gnie obserwowany obiekt,• Realizacja obrotu odbywa si¦ na zakªadce Single, gdzie w pole Destinationnale»y poda¢ k¡t do którego zmierza gªowica, aby obserwowa¢ obiekt,• Wcisn¡¢ przycisk Start - silnik wystartuje,• Wcisn¡¢ przycisk Stop aby zatrzyma¢ gªowic¦, gdy wska¹nik wskazuje naobiekt,2. Przej±¢ na zakªadk¦ StepByStep,3. Ustawi¢ parametry pr¦dko±ci gªowicy:• Pr¦dko±¢ minimaln¡ ustawi¢ na x,• Pr¦dko±¢ maksymaln¡ ustawi¢ na y,• Pr¦dko±¢ native pozostawi¢ bez zmian - u»ywana przy pracy urz¡dzenia zestaª¡ pr¦dko±ci¡,4. Wª¡czy¢ opcj¦ dynamic speed aby umo»liwi¢ rozp¦dzanie i hamowanie silnika,5. Zaª¡czy¢ wybrany czujnik odlegªo±ci: np. LDF - czujnik dªu»szego zasi¦gu,6. Wyª¡czy¢ wska¹nik laserowy, aby nie wprowadzaª zakªóce« w pomiarach czujnikaodlegªo±ci,


C.6 Przykªad realizacji pomiaru StepByStep 74Rysunek C.8: Parametry pozycjonowania gªowicy na zadanym obiekcie.Rysunek C.9: Ustawienia pr¦dko±ci silnika, zaª¡czanie sensorów i wska¹nika laserowego.


C.6 Przykªad realizacji pomiaru StepByStep 757. Zada¢ maksymaln¡ pozycj¦ obrotu gªowicy pomiarowej - Destination = 150, cooznacza obrót silnika do momentu uzyskania k¡ta 150 stopni,8. Zada¢ krok, co który ma zosta¢ wykonany pomiar odlegªo±ci - Step = 5, oznacza tozatrzymanie silnika co 5 stopni i wykonanie pojedynczego pomiaru, po czym nast¦pujedalszy ruch obrotowy gªowicy do momentu osi¡gni¦cia pozycji Destination.


Dodatek DPrzykªadowa instrukcja ¢wiczenialaboratoryjnegoD.1 Cel ¢wiczeniaCelem ¢wiczenia jest zapoznanie studenta z zasad¡ dziaªania czujników optycznych, przedstawieniemkluczowych parametrów powy»szych sensorów, ukazanie ró»nych metod dokonaniapomiaru oraz zbadanie ich wpªywu na dokªadno±¢ wyników pomiarów.D.2 Podstawy teoretyczneStanowisko laboratoryjne dalmierza optycznego wyposa»one zostaªo w dwa czujniki optyczneSharp o ró»nych zakresach pomiarowych.1. Sharp GP2D120 jest to czujnik mniejszego zasi¦gu (3 - 40 cm),2. Sharp GP2D12 jest sensorem o dªu»szym zasi¦gu (10 - 80 cm).Dalmierze zainstalowane s¡ na gªowicy obrotowej, co umo»liwia zmian¦ ich pozycji wcelu zbadania przestrzeni znajduj¡cej si¦ w zasi¦gu pomiarowym danego czujnika odlegªo±ci.Sterowanie i pomiary odbywaj¡ si¦ przy u»yciu aplikacji ESELDO.Zamieszczone sensory maj¡ zbli»on¡ do siebie budow¦ i parametry techniczne orazcechuj¡ si¦ tak¡ sam¡ metod¡ pomiaru odlegªo±ci. Nadajnik czujnika wysyªa ±wiatªopodczerwone, które po odbiciu od napotkanego obiektu, powraca do obiornika i padana matryc¦ ±wiatªoczuª¡ pod k¡tem zale»nym od odlegªo±ci od obiektu. Matryca jestwyposa»eniem czujnika PSD (Position Sensitive Detector ). Budowa czujnika PSD zostaªaomówiona w podrozdziale 3.2.2 a zasada jego dziaªania w kolejnym podrozdziale 3.2.3 nastronie 6. Oba czujniki posiadaj¡ wyj±cie analogowe. Uzyskiwana na wyj±ciu czujnikawarto±¢ napi¦cia ±ci±le przekªada si¦ na mierzon¡ odlegªo±¢ od obiektu. Zale»no±¢ t¡pokazuje rysunek (D.1).


D.3 Obsªuga stanowiska 77Rysunek D.1: Zale»no±¢ napi¦cia od odlegªo±ci do obiektu [12].D.3 Obsªuga stanowiskaPrzed rozpocz¦ciem ¢wiczenia nale»y zapozna¢ si¦ z zasad¡ dziaªania kolumny obrotowejwraz z zainstalowanym dalmierzem. Sprawdzi¢ niezb¦dne poª¡czenia oraz zaznajomi¢ si¦z zasad¡ bezpiecznego u»ytkowania urz¡dzenia. W tym celu nale»y przeczyta¢ poni»szeinformacje.Stanowisko laboratoryjne zasilane jest napi¦ciem sieciowym 220V. Na obudowie zainstalowanyjest wª¡cznik zasilania. W celu uruchomienia urz¡dzenia nale»y go wª¡czy¢ istanowisko jest ju» gotowe do dziaªania. Komunikacja urz¡dzenia pomiarowego z komputeremodbywa si¦ za pomoc¡ aplikacji ESELDO. Nale»y upewni¢ si¦, czy stanowiskopodª¡czone jest poprzez zª¡cze com (DB-9) zainsalowane na obudowie z komputerem zapomoc¡ kabla komunikacyjnego. Na obudow¦ wyprowadzone jest dodatkowe zª¡cze (DB-25), które oprócz mo»liwo±ci komunikacji stanowiska z komputerem umo»liwia podª¡czenieurz¡dzenia BDM (Background Debug Mode), sªu»¡ce do programowania i debuggowaniamikrokontrolera sterownika w ukªadzie docelowym. Nale»y pami¦ta¢, »eby nigdy niewkªada¢ »adnych przedmiotów do wolnych zª¡czy komunikacyjnych.Obrotowa platforma posiada zabezpieczenia przed wykonaniem wi¦cej ni» peªnegoobrotu. W rzeczywisto±ci warto±¢ k¡ta obrotu jest jeszcze mniejsza i uwarunkowana jestprzez konstukcj¦ mechaniczn¡ kra«cówek. Platforma umo»liwia obrót o k¡t + 160 stopni.−Konstrukcja kra«cówek opisana jest w rozdziale 4.4. W tym miejscu nale»y wspomnie¢o podwójnym zapezpieczeniu przed przekr¦ceniem sie kolumny obrotowej. W urz¡dzeniuznajduj¡ si¦ dwie kra«cówki elektroniczne (kra«cówka lewa oraz prawa) obsªugiwane przezmikrokontroler oraz kra«cówka mechaniczna zwana kra«cówk¡ ostatniej szansy.


D.4 Zadania do wykonania 78Jak nazwa mo»e sugerowa¢ jest to kra«cówka mechaniczna maj¡ca zastosowanie wsytuacji, gdy awarii ulegnie wersja elektroniczna. Jej dziaªanie opiera si¦ na konstrukcjimechanicznej. Na osi obrotowej zainstalowano hamulec uderzaj¡cy w wyª¡cznik mechanicznyodcinaj¡cy zasilanie silnika. Aby ponownie ustawi¢ zerow¡ pozycj¦ kolumny, nale»yprzy równoczesnym trzymaniu wci±ni¦tego czerwonego przycisku znajduj¡cego sie naobudowie uruchomi¢ tryb obrotu sinika.D.3.1Instrukcja obsªugi programu ESELDOProgram ESELDO jest narz¦dziem sªu»¡cym do zarz¡dzania urz¡dzeniem pomiarowym zkomputera klasy PC. Poni»szy rysunek (D.2) przedstawia wygl¡d aplikacji.Rysunek D.2: Zale»no±¢ napi¦cia od odlegªo±ci do obiektu.Opis wszystkich funkcji oraz instrukcja sterowania urz¡dzeniem pomiarowym za pomoc¡niniejszej aplikacji znajduje si¦ w dodatku C na stronie 68.D.4 Zadania do wykonaniaD.4.1Zapoznanie si¦ ze sterowaniem stanowiskiem pomiarowymCelem poni»szego ¢wiczenia laboratoryjnego jest zapoznanie si¦ ze stanowiskiem laboratoryjnymdalmierzy optycznych. ‚wiczenie obejmuje mi¦dzy innymi budow¦ sceny, naktórej dokonane zostan¡ eksperymenty. Kolejnym krokiem b¦dzie zapoznanie si¦ z aplikacj¡steruj¡c¡ gªowic¡ obrotow¡ oraz ze sposobem zbierania wyników pomiarów.


D.4 Zadania do wykonania 79Przebieg ¢wiczenia:1. Budowa sceny wedªug schematu zamieszczonego na rysunku (D.3)Rysunek D.3: Wygl¡d sceny wykorzystanej do eksperymentów.2. Przeprowadzi¢ skanowanie otoczenia w trybie pomiaru StepByStep, W tym celunale»y w programie ESELDO przej±¢ do zakªadki StepByStep. Nast¦pnie ustawi¢wszystkie parametry tak jak to przedstawiono na rysunku (D.4)Rysunek D.4: Parametry ustawie« aplikacji dla metody pomiarowej StepByStep.


D.4 Zadania do wykonania 803. Nale»y uruchomi¢ skanowanie otoczenia poprzez naci±ni¦cie przycisku START,4. Otrzymane wyniki zarejetrowane na mapie otoczenia nale»y zapisa¢ do pliku gra-cznego,5. Wyniki z okna Result zapisa¢ do pliku,6. Porówna¢ uzyskane wyniki z rzeczywistym wygl¡dem sceny z rysunku (D.3).D.4.2Wyznaczanie obszaru roboczego dalmierzy optycznychW celu okre±lenia obszaru prawidªowej pracy czujników optycznych nale»y wykona¢ pomiarwskaza« odlegªo±ci od obserwowanego obiektu.1. Nale»y dokona¢ pomiarów wzgl¦dem jednego obiektu znajduj¡cego si¦ w obszarzeroboczym stanowiska laboratoryjnego. Sposób ustawienia skanowanego obiektu prezentujerysunek (D.5)Rysunek D.5: Wygl¡d sceny wykorzystanej do eksperymentów.2. Dla dalmierza o krótszym zasi¦gu SDF nale»y wykona¢ pomiary w nast¦puj¡cychodlegªo±ciach od obserwowanego przedmiotu:• 2 cm,• 10 cm,• 20 cm,• 30 cm,• 50 cm.


D.4 Zadania do wykonania 813. Dla dalmierza o wi¦kszym zasi¦gu LDF nale»y wykona¢ pomiary w nast¦puj¡cychodlegªo±ciach od obserwowanego przedmiotu:• 2 cm,• 10 cm,• 50 cm,• 80 cm,• 100 cm.4. Przykªad ustawienia parametrów programu dla powy»szego do±wiadczenia zawierarysunek (D.6),Rysunek D.6: Parametry ustawie« aplikacji dla wyznaczania obszaru roboczego czujnika.5. Na podstawie zgromadzonych wyników nale»y okre±li¢ przedziaªy prawidªowej pracylaboratoryjnych dalmierzy. Otrzymane rezultaty nale»y porówna¢ w warto±ciamikatalogowymi czujników optycznych.D.4.3Wpªyw metody pomiarowej na wyniki pomiarówBadanie wpªywu metody pomiarowej na dokªadno±¢ uzyskiwanych odlegªo±ci od mierzonegoobiektu na przykªadzie dalmierza LDF.1. Nale»y ustawi¢ staªe ustawienia pomiarowe:• Staªa pr¦dko±¢ obrotu gªowic¡,• Zakres skanowania od −40 do +40 o ,• Zebranie pomiarów co 0, 2 o .


D.5 Uwagi i wnioski z przebiegu ¢wiczenia laboratoryjnego 822. Metoda pomiaru StepByStep,Pomiarów metod¡ StepByStep nale»y dokona¢ dla nast¦puj¡cych parametrów:Rysunek D.7: Parametry ustawie« aplikacji dla wyznaczania obszaru roboczego czujnika.3. Metoda pomiaru Continuous,Pomiarów metod¡ Continuous nale»y dokona¢ dla nast¦puj¡cych parametrów:Rysunek D.8: Parametry ustawie« aplikacji dla wyznaczania obszaru roboczego czujnika.D.5 Uwagi i wnioski z przebiegu ¢wiczenia laboratoryjnego


Dodatek EDodatkowe opisy, schematyE.1 Rysunki techniczne konstrukcji mechanicznejRysunek E.1: Górna pokrywa obudowy.


E.1 Rysunki techniczne konstrukcji mechanicznej 84Rysunek E.2: Kontrukcja obudowy dalmierzy opytcznych - przód obudowy.


E.1 Rysunki techniczne konstrukcji mechanicznej 85Rysunek E.3: Kontrukcja obudowy dalmierzy opytcznych - tyª obudowy.


E.1 Rysunki techniczne konstrukcji mechanicznej 86Rysunek E.4: Konstrukcja mocowania ukªadu nap¦dowego.


E.1 Rysunki techniczne konstrukcji mechanicznej 87Rysunek E.5: Konstrukcja mocowania obudowy moduªu dalmierzy.


E.1 Rysunki techniczne konstrukcji mechanicznej 88Rysunek E.6: Konstrukcja ±cianki czoªowej obudowy moduªu dalmierzy.


E.2 Zª¡cza 89E.2 Zª¡czaPIN KOLOR SYGNAL1 czerwony +5VDC2 czarny GNDTablica E.1: Zª¡cze Z1 - sygnaªy zasilania ukªadu sterownika.PIN KOLOR SYGNAL1 niebieski +5VDC2 czarny GND3 zielony XIRQ4 br¡zowy K15 »óªty K2Tablica E.2: Zª¡cze Z2 - sygnaªy kra«cówek optycznych.Rysunek E.7: Opis zª¡cz Z3 i Z4 moduªu mikrokontrolera HC12.


E.2 Zª¡cza 90PIN KOLOR SYGNAL1 niebieski +5VDC2 czarny GND3 zielony XIRQ4 br¡zowy K15 »óªty K26Tablica E.3: Zª¡cze Z5 - sygnaªy BDM mikrokontrolera HC12.PIN KOLOR SYGNAL1 niebieski +5VDC2 czarny GND3 zielony XIRQ4 br¡zowy K15 »óªty K26Tablica E.4: Zª¡cze Z6 - sygnaªy RS232 mikrokontrolera HC12.


E.2 Zª¡cza 91PIN KOLOR SYGNAL1 niebieski Tx2 czerwony Rx3 czarny GNDTablica E.5: Zª¡cze Z7 - sygnaªy komunikacji szeregowej RS232.PIN KOLOR SYGNAL1 niebieski Tx2 czerwony Rx3 czarny GNDTablica E.6: Zª¡cze Z8 - sygnaªy komunikacji szeregowej RS232.PIN KOLOR SYGNAL1 zielony K12 br¡zowy GND3 »óªty K2Tablica E.7: Zª¡cze Z9 - sygnaªy kra«cowki mechanicznej.PIN KOLOR SYGNAL1 czerwony CLK2 niebieski EN3 czarny DIR4 biaªy GND5 zielony RETablica E.8: Zª¡cze Z10 - sygnaªy do sterownika silnika krokowego SMC62.PIN KOLOR SYGNAL1 niebieski +5VDC2 zielony GND S13 »óªty Vout S14 pomara«czowy GND S25 czerwony Vout S26 br¡zowy GND LEDTablica E.9: Zª¡cze Z11 - sygnaªy sensorów pomiarowych.PIN KOLOR SYGNAL1 - brak2 »óªty A3 zielony B4 biaªy 05 czerwony +5VDC6 czarny GND7 szary Ā8 pomara«czowy ¯B9 niebieski ¯010 szary ekranTablica E.10: Zª¡cze Z12 - sygnaªy z enkodera.


E.2 Zª¡cza 92PIN KOLOR SYGNAL1 czerwony A2 czarny Ā3 zielony B4 »óªty ¯BTablica E.11: Zª¡cze Z13 - sygnaªy do silnika krokowego.PIN KOLOR SYGNAL1 biaªy GND2 zielony RE3 czerwony CLK4 czarny DIR5 niebieski EN6 czarny -36VDC7 czerwony +36VDCTablica E.12: Zª¡cze Z14 - sygnaªy sterownika SMC62.PIN KOLOR SYGNAL1 niebieski 220V2 br¡zowy 220V3 »óªty GNDTablica E.13: Zª¡cze Z15 - gniazdo zasilania wej±ciowego zasilacza.PIN KOLOR SYGNAL1 czerwony +36V2 czerwony +36V3 czarny GND4 czarny GNDTablica E.14: Zª¡cze Z16 - gniazdo zasilania wyj±ciowego zasilacza.PIN KOLOR SYGNAL1 niebieski 220V2 »óªty GND3 br¡zowy 220VTablica E.15: Zª¡cze Z17 - gniazdo zasilania sieciowego.


E.2 Zª¡cza 93PIN KOLOR SYGNAL1 niebieski +5VDC2 zielony GND S13 »óªty Vout S14 pomara«czowy GND S25 czerwony Vout S26 br¡zowy GND LEDTablica E.16: Wtyk W1 - gniazdo m¦skie na obudownie z sygnaªami z sensorów.PIN KOLOR SYGNAL1 czerwony +5VDC2 czarny GND S13 »óªty Vout S14 czarny GND S25 »óªty Vout S26 czarny GND LEDTablica E.17: Wtyk W1 - gniazdo »e«skie na obudownie z sygnaªami z sensorów.PIN KOLOR SYGNAL1 czerwony +5VDC2 czarny GND S13 »óªty Vout S14 czarny GND S25 »óªty Vout S26 czarny GND LEDTablica E.18: Wtyk W2 - gniazdo BDM do mikrokontrolera HC12.PIN KOLOR SYGNAL2 czerwony Rx3 niebieski Tx5 czarny GNDTablica E.19: Gniazdo G1 - gniazdo portu szeregowego DB9.PIN KOLOR SYGNAL2 niebieski Tx3 czerwony Rx7 czarny GND8 czarny +5VDC zewn¦trzne10 »óªty BGKD11 czerwony +5VDC12 niebieski RESET13 czarny GNDTablica E.20: Gniazdo G2 - gniazdo portu szeregowego DB25.


E.3 Kable komunikacyjne 94E.3 Kable komunikacyjneNa obudowie urz¡dzenia pomiarowego wyprowadzono dwa porty komunikacji szeregowej:• gniazdo DB-9,• gniazdo DB-25.Poprzez gniazdo DB-9 istnieje tylko mo»liwo±¢ komunikacji stanowiska pomiarowegoz komputerem. Do powy»szej komunikacji nale»y zastosowa¢ kabel typu null modem.Rysunek (E.8) zawiera schemat poª¡czenia przewodów oraz rodzaj zastosowanych gniazd.Rysunek E.8: Schemat poª¡czenia przewodów kabla null modem do gniazda DB-9.Gniazdo DB-25 dodatkowo oprócz mo»liwo±ci komunikacji komputera z urz¡dzeniemposiada wyprowadzenia interfejsu BDM (Background Debug Mode), które umo»liwia komunikacj¦z mikrokontrolerem MC9S12A64, wgrywanie nowego oprogramowania, czy te»debugowanie, zmian¦ kodu bezpo±rednio w ukªadzie docelowym.Rysunek E.9: Schemat poª¡czenia kabla do gniazda DB-25.


E.4 Wykaz elementów elektronicznych 95E.4 Wykaz elementów elektronicznychLiczba Warto±¢ Oznaczenie na schemacieRezystory5 1k R3, R4, R5, R6, R73 10k R1, R8, R12, R132 20k R9, R101 820 R111 10M R2Kondensatory2 22p C1, C75 1µ C8, C9, C10, C11, C126 10n C2, C4, C5, C6, C13, C142 1000µ C3, C181 240p C152 100n C16, C171 47µ C19Tranzystory7 BC337 T2, T3, T4, T5, T6, t7, T8Rezonatory1 8 MHz Q1Diody1 Dioda 3,0 V D14 Fotodiody D2, D3, D4, D5Póªprzewodniki2 max232N IC1, IC21 PC74HC132T IC41 AM3N-2405SZ DC1Tablica E.21: Wykaz elementów elektronicznych.


Bibliograa[1] Dubrawski A., Sawwa R., Laserowe trójwymiarowe czujniki odlegªo±ci w nawigacjiruchomych robotów, Prace Naukowe ICT Pwr, Wrocªaw 1996[2] Kabaªa M., Wnuk M., Moduª mikrokontrolera HC9S12A64, Raport ICT Pwr, Wroclaw,2004[3] HCS12 Serial Communications Interface (SCI), Block Guide V02.04, Motorola Inc.,2001[4] MC9S12A128, Device Guide V01.00, Motorola Inc., 2002[5] BDLC, Block User Guide V01.04, Motorola Inc., 2002[6] Distance measurements in all of their varieties, Product Information, SICK, 2005[7] ATD_10B8C, Block User Guide V02.05, Motorola Inc., 2002[8] PIM_9A128, Block Guide V01.01, Motorola Inc., 2002[9] PWM_8B8C, Block User Guide V01.16, Motorola Inc., 2002[10] VREG, Block User Guide V01.01, Motorola Inc., 2001[11] Martin D. Adams, Member, IEEE, Coaxial Range Measurement, Current Trends forMobile Robotic Applications, February 2002[12] Sharp GP2D12 Analog Distance Sensor, General Description, Parallax Inc., June2005[13] Measuring Distance with the Sharp GP2D12 and GP2D120 Distance Sensors, uM-FPU Application Note 4, Micromega Corporation, 2005[14] Using a Sharp GP2D12 Infrared Ranger with BasicX, Basic Express ApplicationNote, NetMedia, 2005[15] Serial Communications Interface (S12SCIV2), Block Description, Freescale Semiconductor,2005[16] Embedded C Using Codewarrior, HCS12 Family, Technological Arts[17] GP2D12/GP2D15, General Purpose Type Distance Measuring Distance[18] Quick Start for Beginners to Drive a Stepper Motor, Application Note, FreescaleSemiconductor, 2005[19] PSD (Position Sensitive Detectors), Selection Guide, Hamamatsu, 2005[20] HC(S)08 and HC(S)12, Build Tool Utilities Manual, Freescale Semiconductor, 2005


Spis rysunków3.1 Budowa matrycy czujnika PSD. . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Zasada dziaªania dalmierza optycznego - triangulacja optyczna. . . . . . . 63.3 Zale»no±¢ napi¦cia od odlegªo±ci do obiektu [12]. . . . . . . . . . . . . . . . 73.4 Stan napi¦cia na wyj±ciu czujnika zale»nie od odlegªo±ci do obiektu [12]. . . 83.5 Zestawienie zasi¦gów pomiarowych dla poszczególnych modeli czujnikówrmy Sharp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.6 Pomiar za pomoc¡ metody AMCW. . . . . . . . . . . . . . . . . . . . . . . 103.7 Pomiar za pomoc¡ metody FMCW. . . . . . . . . . . . . . . . . . . . . . . 113.8 Parametry i wygl¡d skanera laserowego LSM-200 rmy SICK. . . . . . . . 123.9 Parametry i wygl¡d skanera laserowego FF-SE rmy Honeywell. . . . . . . 123.10 Przybli»ony ksztaªt pola ultrad¹wi¦kowego. . . . . . . . . . . . . . . . . . . 133.11 Rozkªad nat¦»enia fali ultrad¹wi¦kowej w zale»no±ci od odlegªo±ci w polubliskim i dalekim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.12 Przybli»ona charakterystyka kierunkowa przetwornika drgaj¡cego tªokowo(D > λ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.13 Metoda pomiaru odlegªo±ci dalmierzem ultrad¹wi¦kowym. . . . . . . . . . 153.14 Parametry oraz wygl¡d przetwornika ultrad¹wi¦kowego Polaroid serii 8000. 153.15 Charakterystyka kierunkowa przetwornika Polaroid serii 8000. . . . . . . . 163.16 Wygl¡d przetwornika Murata MA40B7. . . . . . . . . . . . . . . . . . . . . 163.17 Charakterystyka kierunkowa przetwornika Murata MA40B7. . . . . . . . . 163.18 Wygl¡d dalmierza ultrad¹wi¦kowego Murata MA80A1. . . . . . . . . . . . 173.19 Charakterystyka kierunkowa przetwornika Murata MA80A1. . . . . . . . . 173.20 Wygl¡d dalmierza ultrad¹wi¦kowego SICK UM30-15111 . . . . . . . . . . . 184.1 Projekt obudowy moduªu z obrotow¡ gªowic¡. . . . . . . . . . . . . . . . . 194.2 Obudowa moduªu z obrotow¡ gªowic¡. . . . . . . . . . . . . . . . . . . . . 204.3 Wygl¡d oraz parametry silnika SH5618M1208. . . . . . . . . . . . . . . . . 214.4 Wygl¡d przekªadni z¦batej 2GN50K. . . . . . . . . . . . . . . . . . . . . . 224.5 Wygl¡d zasilacza ZN 200-L. . . . . . . . . . . . . . . . . . . . . . . . . . . 224.6 Wygl¡d sterownika silnika krokowego SMC 62. . . . . . . . . . . . . . . . . 234.7 Schemat sterownika SMC 62 - widok od góry wraz z listwami sygnaªowymi. 244.8 Tabela z sygnaªami steruj¡cymi sterownika SMC 62. . . . . . . . . . . . . . 244.9 Parametry oraz wygl¡d enkodera C80. . . . . . . . . . . . . . . . . . . . . 244.10 Moduª z mikrokontrolerem MC9S12A64CFU. . . . . . . . . . . . . . . . . 254.11 Wygl¡d sterownika z mikrokontrolerem MC9S12A64CFU. . . . . . . . . . . 254.12 Moduª z dalmierzem optycznym. . . . . . . . . . . . . . . . . . . . . . . . . 264.13 Schemat poª¡cze« peryferiów. . . . . . . . . . . . . . . . . . . . . . . . . . 275.1 Wygl¡d pakietu programistycznego CodeWarrior 4.6. . . . . . . . . . . . . 305.2 Schemat blokowy dziaªania p¦tli gªównej programu. . . . . . . . . . . . . . 33


SPIS RYSUNKÓWii5.3 Wykres przyrostu pr¦dko±ci k¡towej w czasie. . . . . . . . . . . . . . . . . 345.4 Tabela pr¦dko±ci i k¡tów obrotu dla poszczególnych czasów. . . . . . . . . 355.5 Charakterystyki napi¦ciowoodlegªo±ciowe czujników Sharp GP2D12 orazGP2D120. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.6 Przeksztaªcone charakterystyki czujników Sharp GP2D12 oraz GP2D120. . 365.7 Diagram sekwencji klas programu ESELDO. . . . . . . . . . . . . . . . . . 396.1 Wygl¡d stanowiska, na którym dokonywano eksperymentów. . . . . . . . . 406.2 Wygl¡d sceny wykorzystanej do eksperymentów. . . . . . . . . . . . . . . . 416.3 Parametry ustawie« aplikacji dla metody pomiarowej StepByStep. . . . . . 416.4 Uzyskana mapa otoczenia dla metody pomiarowej StepByStep dla dalmierzaSDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.5 Uzyskana mapa otoczenia dla metody pomiarowej StepByStep dla dalmierzaLDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.6 Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 2 cm i 10 cmod przeszkody. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.7 Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 20 cm i 30 cmod przeszkody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.8 Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 40 cm i 50 cmod przeszkody. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.9 Wizualizacja sceny dla pomiarów wykonanych na odlegªo±c 80 cm i 100 cmod przeszkody. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.10 Tabela z wynikami pomiarów odlegªo±ci. . . . . . . . . . . . . . . . . . . . 446.11 Wizualizacja pomiarów odlegªo±ci metod¡ StepByStep. . . . . . . . . . . . 456.12 Tabela z wynikami pomiarów odlegªo±ci dla metody StepByStep. . . . . . . 456.13 Wizualizacja pomiarów odlegªo±ci metod¡ Continuous. . . . . . . . . . . . 466.14 Tabela z wynikami pomiarów odlegªo±ci dla metody Continuous. . . . . . . 46A.1 Schemat ideowy sterownika. . . . . . . . . . . . . . . . . . . . . . . . . . . 48A.2 Schemat ideowy kra«cówek. . . . . . . . . . . . . . . . . . . . . . . . . . . 49A.3 Schemat rozªo»enia elementów na pªytce sterownika. . . . . . . . . . . . . . 50A.4 Wygl¡d urz¡dzenia pomiarowego przód. . . . . . . . . . . . . . . . . . . . 51A.5 Wygl¡d urz¡dzenia pomiarowego tyª. . . . . . . . . . . . . . . . . . . . . 52A.6 Widok wn¦trza kolumny obrotowej. . . . . . . . . . . . . . . . . . . . . . . 53A.7 Moduª z czujnikami pomiarowymi. . . . . . . . . . . . . . . . . . . . . . . 54A.8 Wygl¡d okablowania do sterowania i programowania urz¡dzenia. . . . . . . 54A.9 Wygl¡d interfejsu BDM do programowania urz¡dzenia. . . . . . . . . . . . 55A.10 Wygl¡d przykªadowego stanowiska pomiarowego. . . . . . . . . . . . . . . . 55B.1 Denicja ramki protokoªu transmisji. . . . . . . . . . . . . . . . . . . . . . 57B.2 Denicja ramki danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57B.3 Ramka dla komendy GET. . . . . . . . . . . . . . . . . . . . . . . . . . . . 66B.4 Ramka dla komendy SET_BYTE. . . . . . . . . . . . . . . . . . . . . . . 66B.5 Ramka dla komendy SET_WORD. . . . . . . . . . . . . . . . . . . . . . . 67B.6 Ramka dla komendy REPLY. . . . . . . . . . . . . . . . . . . . . . . . . . 67B.7 Ramka dla komendy DONE. . . . . . . . . . . . . . . . . . . . . . . . . . . 67B.8 Ramka dla komendy NDONE. . . . . . . . . . . . . . . . . . . . . . . . . . 67B.9 Ramka dla komendy ACK. . . . . . . . . . . . . . . . . . . . . . . . . . . . 67B.10 Ramka dla komendy NACK. . . . . . . . . . . . . . . . . . . . . . . . . . . 67C.1 Wygl¡d GUI aplikacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68


SPIS RYSUNKÓWiiiC.2 Wizualizacja mapy otoczenia - opcje rotate oraz zoom . . . . . . . . . . . . 69C.3 Zakªadka ustawie« dla mapy otoczenia. . . . . . . . . . . . . . . . . . . . . 70C.4 Zakªadka Single - pojedynczy obrót gªowicy oraz pomiar. . . . . . . . . . 70C.5 Zakªadka StepByStep - obrót gªowicy oraz pomiar co zadany krok. . . . . 71C.6 Zakªadka Continous - pojedynczy obrót gªowicy oraz pomiar. . . . . . . . . 72C.7 Zakªadka ustawie« pr¦dko±ci silnika oraz zaª¡czania sensorów. . . . . . . . 73C.8 Parametry pozycjonowania gªowicy na zadanym obiekcie. . . . . . . . . . . 74C.9 Ustawienia pr¦dko±ci silnika, zaª¡czanie sensorów i wska¹nika laserowego. . 74D.1 Zale»no±¢ napi¦cia od odlegªo±ci do obiektu [12]. . . . . . . . . . . . . . . . 77D.2 Zale»no±¢ napi¦cia od odlegªo±ci do obiektu. . . . . . . . . . . . . . . . . . 78D.3 Wygl¡d sceny wykorzystanej do eksperymentów. . . . . . . . . . . . . . . . 79D.4 Parametry ustawie« aplikacji dla metody pomiarowej StepByStep. . . . . . 79D.5 Wygl¡d sceny wykorzystanej do eksperymentów. . . . . . . . . . . . . . . . 80D.6 Parametry ustawie« aplikacji dla wyznaczania obszaru roboczego czujnika. 81D.7 Parametry ustawie« aplikacji dla wyznaczania obszaru roboczego czujnika. 82D.8 Parametry ustawie« aplikacji dla wyznaczania obszaru roboczego czujnika. 82E.1 Górna pokrywa obudowy. . . . . . . . . . . . . . . . . . . . . . . . . . . . 83E.2 Kontrukcja obudowy dalmierzy opytcznych - przód obudowy. . . . . . . . . 84E.3 Kontrukcja obudowy dalmierzy opytcznych - tyª obudowy. . . . . . . . . . 85E.4 Konstrukcja mocowania ukªadu nap¦dowego. . . . . . . . . . . . . . . . . . 86E.5 Konstrukcja mocowania obudowy moduªu dalmierzy. . . . . . . . . . . . . 87E.6 Konstrukcja ±cianki czoªowej obudowy moduªu dalmierzy. . . . . . . . . . . 88E.7 Opis zª¡cz Z3 i Z4 moduªu mikrokontrolera HC12. . . . . . . . . . . . . . . 89E.8 Schemat poª¡czenia przewodów kabla null modem do gniazda DB-9. . . . . 94E.9 Schemat poª¡czenia kabla do gniazda DB-25. . . . . . . . . . . . . . . . . . 94


Spis tablicB.1 Identykator ramki danych - FID. . . . . . . . . . . . . . . . . . . . . . . . 58B.2 Identykator polece« - CMD. . . . . . . . . . . . . . . . . . . . . . . . . . 60B.3 Identykator bª¦du - FR_ERROR. . . . . . . . . . . . . . . . . . . . . . . 60B.4 Identykator bª¦du komendy NDONE. . . . . . . . . . . . . . . . . . . . . 61B.5 Odpowiedzi dla ramki FI_DYNAMIC_SPEED. . . . . . . . . . . . . . . . 61B.6 Odpowiedzi dla ramki FI_TURN_SPEED. . . . . . . . . . . . . . . . . . 61B.7 Odpowiedzi dla ramki FI_TURN_SPEED_MIN. . . . . . . . . . . . . . . 62B.8 Odpowiedzi dla ramki FI_TURN_SPEED_MAX. . . . . . . . . . . . . . 62B.9 Odpowiedzi dla ramki FI_LIMITER_LEFT. . . . . . . . . . . . . . . . . 62B.10 Odpowiedzi dla ramki FI_LIMITER_RIGHT. . . . . . . . . . . . . . . . . 62B.11 Odpowiedzi dla ramki FI_ENCODER_COUNTER. . . . . . . . . . . . . 63B.12 Odpowiedzi dla ramki FI_CURRENT_ANGLE. . . . . . . . . . . . . . . 63B.13 Odpowiedzi dla ramki FI_ATD0_RAW_VALUE. . . . . . . . . . . . . . . 63B.14 Odpowiedzi dla ramki FI_ATD1_RAW_VALUE. . . . . . . . . . . . . . . 63B.15 Odpowiedzi dla ramki FI_TURN_STOP. . . . . . . . . . . . . . . . . . . 64B.16 Odpowiedzi dla ramki FI_TA. . . . . . . . . . . . . . . . . . . . . . . . . . 64B.17 Odpowiedzi dla ramki FI_TTA. . . . . . . . . . . . . . . . . . . . . . . . . 64B.18 Odpowiedzi dla ramki FI_LASER_ON. . . . . . . . . . . . . . . . . . . . 64B.19 Odpowiedzi dla ramki FI_MC_FZL. . . . . . . . . . . . . . . . . . . . . . 65B.20 Odpowiedzi dla ramki FI_MC_FZR. . . . . . . . . . . . . . . . . . . . . . 65B.21 Odpowiedzi dla ramki FI_SENSOR0_ON. . . . . . . . . . . . . . . . . . . 65B.22 Odpowiedzi dla ramki FI_SENSOR1_ON. . . . . . . . . . . . . . . . . . . 65B.23 Odpowiedzi dla ramki FI_CONT_MENSUR_RES. . . . . . . . . . . . . . 66B.24 Odpowiedzi dla ramki FI_TA_MENSUR. . . . . . . . . . . . . . . . . . . 66B.25 Odpowiedzi dla ramki FI_TTA_MENSUR. . . . . . . . . . . . . . . . . . 66E.1 Zª¡cze Z1 - sygnaªy zasilania ukªadu sterownika. . . . . . . . . . . . . . . . 89E.2 Zª¡cze Z2 - sygnaªy kra«cówek optycznych. . . . . . . . . . . . . . . . . . . 89E.3 Zª¡cze Z5 - sygnaªy BDM mikrokontrolera HC12. . . . . . . . . . . . . . . 90E.4 Zª¡cze Z6 - sygnaªy RS232 mikrokontrolera HC12. . . . . . . . . . . . . . . 90E.5 Zª¡cze Z7 - sygnaªy komunikacji szeregowej RS232. . . . . . . . . . . . . . 91E.6 Zª¡cze Z8 - sygnaªy komunikacji szeregowej RS232. . . . . . . . . . . . . . 91E.7 Zª¡cze Z9 - sygnaªy kra«cowki mechanicznej. . . . . . . . . . . . . . . . . . 91E.8 Zª¡cze Z10 - sygnaªy do sterownika silnika krokowego SMC62. . . . . . . . 91E.9 Zª¡cze Z11 - sygnaªy sensorów pomiarowych. . . . . . . . . . . . . . . . . . 91E.10 Zª¡cze Z12 - sygnaªy z enkodera. . . . . . . . . . . . . . . . . . . . . . . . 91E.11 Zª¡cze Z13 - sygnaªy do silnika krokowego. . . . . . . . . . . . . . . . . . . 92E.12 Zª¡cze Z14 - sygnaªy sterownika SMC62. . . . . . . . . . . . . . . . . . . . 92E.13 Zª¡cze Z15 - gniazdo zasilania wej±ciowego zasilacza. . . . . . . . . . . . . 92E.14 Zª¡cze Z16 - gniazdo zasilania wyj±ciowego zasilacza. . . . . . . . . . . . . 92


SPIS TABLICvE.15 Zª¡cze Z17 - gniazdo zasilania sieciowego. . . . . . . . . . . . . . . . . . . . 92E.16 Wtyk W1 - gniazdo m¦skie na obudownie z sygnaªami z sensorów. . . . . . 93E.17 Wtyk W1 - gniazdo »e«skie na obudownie z sygnaªami z sensorów. . . . . . 93E.18 Wtyk W2 - gniazdo BDM do mikrokontrolera HC12. . . . . . . . . . . . . 93E.19 Gniazdo G1 - gniazdo portu szeregowego DB9. . . . . . . . . . . . . . . . . 93E.20 Gniazdo G2 - gniazdo portu szeregowego DB25. . . . . . . . . . . . . . . . 93E.21 Wykaz elementów elektronicznych. . . . . . . . . . . . . . . . . . . . . . . . 95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!