Ultrasonic Ranging Module on STM32F4



Podobne dokumenty
Wykład 2. Interfejsy I 2 C, OneWire, I 2 S

INSTRUKCJA OBS UGI

Tester pilotów 315/433/868 MHz

Sterownik Silnika Krokowego GS 600

Tester pilotów 315/433/868 MHz MHz

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

EC1000 KATALOG SYSTEMÓW STEROWANIA

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

PX319. Driver LED 1x2A/48V INSTRUKCJA OBSŁUGI

Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe.

Śrubka zamykająca Uchwyt ścienny Przycisk kontrolny Lampka kontrolna

KB-01. Sterownika silnika krokowego bipolarnego dwufazowego INSTRUKCJA OBSŁUGI. 9. Eksploatacja sterownika KB-01:

Type ETO2 Controller for ice and snow melting

ANALOGOWE UKŁADY SCALONE

Programator pamięci EEPROM

TESTERY BANKNOTÓW TSERTERY BANKNOTÓW.

na dostawę defektoskopu ultradźwiękowego z wyposażeniem

Radiowy miernik opadów Nr art Przekaz danych następuje na częstotliwości 433 MHz, bez konieczności instalowania przewodów.

ZL11ARM. Uniwersalna płyta bazowa

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

2.1 INFORMACJE OGÓLNE O SERII NX

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare)

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

Udoskonalona wentylacja komory suszenia

Spis zawartości Lp. Str. Zastosowanie Budowa wzmacniacza RS485 Dane techniczne Schemat elektryczny

Interfejs RS485-TTL KOD: INTR. v.1.0. Wydanie: 2 z dnia Zastępuje wydanie: 1 z dnia

Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych.

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

INSTRUKCJA OBSŁUGI PRZETWORNIK POMIAROWY POZIOMÓ W CIECZY MLEVEL-3

Systemy mikroprocesorowe - projekt

Zakres I Czytnik kodów kreskowych Nazwa i model oferowanego sprzętu

Defektoskopultradźwiękowy ECHOGRAPH Cyfrowy defektoskop ultradźwiękowy nowej generacji. Precyzyjne badania, łatwa obsługa

TYTUŁ IPS P przyrząd do badania imisji wg nowej metody pomiaru

Rys 2. Schemat obwodów wejściowo/wyjściowych urządzeń w magistrali I2C

DTR.ZL APLISENS PRODUKCJA PRZETWORNIKÓW CIŚNIENIA I APARATURY POMIAROWEJ INSTRUKCJA OBSŁUGI (DOKUMENTACJA TECHNICZNO-RUCHOWA)

Elementy cyfrowe i układy logiczne

INSTRUKCJA OBSŁUGI TERMOMETR CYFROWY TES-1312A

CD-W Przetwornik stężenia CO 2 do montażu naściennego. Cechy i Korzyści. Rysunek 1: Przetwornik stężenia CO 2 do montażu naściennego

Sterownik nagrzewnicy elektrycznej HE

INSTRUKCJA TERMOSTATU

CHEVROLET MYLINK. Krótki przewodnik

Badanie bezszczotkowego silnika prądu stałego z magnesami trwałymi (BLDCM)

Pomiar prędkości dźwięku w metalach

PL B1. Układ impulsowego wzmacniacza światłowodowego domieszkowanego jonami erbu z zabezpieczaniem laserowych diod pompujących

Systemy wbudowane Mikrokontrolery

INSTRUKCJA OBSŁUGI ELEKTRONICZNY MIERNIK REZYSTANCJI UZIEMIENIA DT-5300B

OŚWIETLENIE PRZESZKLONEJ KLATKI SCHODOWEJ

UNIWERSALNY PULPIT STEROWANIA

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

INSTRUKCJA OBSŁUGI MC-2810 CYFROWY SYSTEM GŁOŚNIKOWY 5.1 KANAŁÓW DO KINA DOMOWEGO

CYFROWY MIERNIK REZYSTANCJI UZIEMIENIA KRT 1520 INSTRUKCJA OBSŁUGI

ENES Magnesy Paweł i Tomasz Zientek Sp. k.

CZYTNIK ZBLIŻENIOWY RFID-UR80D

STEROWNIKI NANO-PLC NA PRZYKŁADZIE STEROWNIKA LOGO!

INSTRUKCJA OBSŁUGI STEROWNIK PASZOCIĄGU DALTEC 1001

Kurs obsªugi interfejsu I2C.

Budowa stanowiska laboratoryjnego do wyznaczenia Apertury Numerycznej światłowodu, charakterystyki źródeł oraz detektorów światła.

PAKOWARKA PRÓŻNIOWA VAC-10 DT, VAC-20 DT, VAC-20 DT L, VAC-20 DT L 2A VAC-40 DT, VAC-63 DT, VAC-100 DT

Przekaźniki czasowe H/44. Przekaźniki czasowe. Przekaźnik czasowy opóźnienie załączania EN 61810

Detektor przenośny typ GD-7

Ćwiczenie: "Ruch harmoniczny i fale"

WIELOFUNKCYJNY SAMOCHÓD REVOLTA OPRACOWANY WEDŁUG MODELU DZIAŁALNOŚCI TECHNICZNEJ

Przepływomierz MFM 1.0 Nr produktu

yoyo ver. 6.0

raceboard-s Szybki start

ABB i-bus KNX Czujnik pogody, natynkowy WES/A 3.1, 2CDG120046R0011

Układ Automatyki Rezerwowania Wyłączników LRW-H5

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

TABLICA SYNOPTYCZNA CA-64 PTSA

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

M-200 REJESTRATOR DANYCH

Elementy podłączeniowe.

Spis procedur i programów

Wprowadzenie elementów bezobsługowego systemu parkingowego przy ul. Wigury w Piekarach Śląskich.

ul. Wierzbicka Radom MIKROTELEFON MONTERSKI DR-700 Instrukcja obsługi

Laboratorium z Konwersji Energii. Ogniwo fotowoltaiczne

Generator obrazu transakcji fiskalnych, FG-40

Załącznik Szczegółowy opis przedmiotu zamówienia na CZĘŚĆ II

Mini stacja MP3 5w1 z Bluetoothem, radiem, zegarem, głośnikiem

BCS Manager Instrukcja Obsługi

digilux 1.0 I N S T R U K C J A O B S Ł U G I

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA

Instrukcja obsługi. Sterownik ścienny KJR10B/DP

PRZEPISY KLASYFIKACJI I BUDOWY STATKÓW MORSKICH

Pojazd podstawowy AT. łączników w automatycznych. Wymaganie to nie dotyczy następuj. łączników. w: - od akumulatora do układu zimnego startu i wyłą

CYFROWY WYŚWIETLACZ POŁOŻENIA TNP 10

Wyposażenie multimedialne

ROZDZIAŁ 1 Instrukcja obsługi GRAND HAND VIEW III

INFORMATOR TECHNICZNY GE FANUC. Rezerwacja w sterownikach programowalnych GE Fanuc. Standby Redundancy najprostszy system rezerwacji

Systemy akwizycji i transmisji sygnałów

CYFRYZACJA TELEWIZJI

Parametry wymagane. Tak. Podać. Tak. Tak/Nie. Tak/Nie. Tak. Tak. Tak. Proszę podać. Tak. Proszę podać. Tak. Proszę podać

Komunikacja sterownika z rodziny Micro800 z Falownikiem PowerFlex40 przy pomocy sieci DeviceNet.

LABORATORIUM STEROWANIE SILNIKA KROKOWEGO

Wielofunkcyjny zadajnik temperatury

Siemens IO-Link. Smart TIA integration of sensors and actuators

ELEKTROTRZYMACZE KARTA KATALOGOWA

II. Wykaz przyrządów: Defektoskop ultradźwiękowy DI60, głowica do fal podłużnych, głowica do fal poprzecznych, suwmiarka (wypożyczyć w pok.

Bojszowy, dnia r. Znak sprawy: GZOZ/P1/2010 WYJAŚNIENIE TREŚCI SIWZ

Transkrypt:

Sławomir Węgrzyn V rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy Ultrasonic Ranging Module on STM32F4 Obsługa ultradźwiękowego ź czujnika odległości na mikrokontrolerze STM32f4 Keywords: cortex m4 lcd ultrasonic ranging module Słowa kluczowe: stm32 cortex m4 lcd czujnik odległości 1. Ultradźwiękowy czujnik odległości HC-SR04 1.1. Opis Do pomiaru odległości wykorzystany został moduł HC-SR04. Jest to ultradźwiękowy czujnik umożliwiający pomiary odległości w zakresie od 2 do 400cm. Zasilany jest napięciem 5V DC, pobór prądu wynosi około 15mA. Posiada on cztery piny, dwa zasilające, oraz dwa do wyzwolenia pomiaru. Jego zaletą jest skuteczne tłumienie tła i pewnie wykrywanie obiektów niezależnie od rodzaju powierzchni. Pomiary są niezależne od typu materiału, światła, koloru i środowiska. Rysunek 1 Czujnik odległości HC-SR04 1.2. Zasada działania Pomiar polega na podaniu na wejście Trig impulsu napięciowego w stanie wysokim przez czas 10µs, który inicjuje 8 cykli fali ultradźwiękowej o częstotliwości 40kHz. Rysunek 2 Procedura pomiarowa

Fala po odbiciu od napotkanej przeszkody wraca do czujnika. Na wyjściu Echo dostajemy sygnał wysoki (5V), którego długość jest proporcjonalna do odległości. Producent zaleca aby minimalny odstęp między kolejnymi pomiarami wynosił 60ms. Rysunek 3 Zasada działania Wiedząc, że prędkość dźwięku w powietrzu wynosi 340m/s, można łatwo obliczyć, że fala dźwiękowa pokonuje 1cm w czasie 29µs. Wobec tego, możemy wyznaczyć prosty wzór, służący do przeliczenia czasu trwania impulsu na odległość: 1.3. Wykorzystanie Czujniki ultradźwiękowe ź znajdują zastosowanie w różnych dziedzinach życia. Bardzo dobrze sprawdzają ą się ę przy pomiarach poziomu zapełnienia zbiorników, głównie cieczami przeźroczystymi, roczystymi, a przede wszystkim w środowiskach gdzie ze względu na znaczne zabrudzenie nie jest możliwe zastosowanie czujników optycznych. Coraz częściej zastępują ą czujniki pojemnościowe i optoelektroniczne na liniach produkcyjnych, gdzie badane obiekty wykonane są ą z nietypowych materiałów (np. przeźroczyste szkło). Przykłady wykorzystania: Pomiar odległości Czujniki parkowania Alarmy samochodowe Roboty Linie produkcyjne Pomiar poziomu zapełnienia Rysunek 4 Przykłady wykorzystania

2. Mikrokontroler STM32F429 2.1. Parametry oraz możliwości Obsługa czujnika została wykonana na płytce ewaluacyjnej STM32F429 Discovery. Rysunek 5 Płytka Discovery mikrokontrolera STM32F429 Urządzenie wyposarzone jest w następujące komponenty: Mikrokontroler STM32F429: 32-bit rdzeń ARM Cortex-M4, fx=180mhz 2 MB pamięci Flash, 256 kb pamięci RAM Trzy 12-bitowe przetworniki A/C Dwa 12-bitowe przetworniki C/A Jednostka zmiennoprzecinkowa FPU Jednostka sygnałowa DSP Kontroler danych DMA

Moduł STM32F429-Discovery 64 Mbits pamięci SDRAM Wyświetlacz dotykowy LCD TFT 2.4 320x240 6 diod LED 3-osiowy żyroskop Dwa przyciski Układ zasilania z USB, +5V na 3.3V Debuger ST-Link/V2 2.2. Wyświetlacz LCD Parametry wyświetlacza: Rozdzielczość 240x320 px, 262K kolorów Przekątna 2.4 Sterowanie SPI (Serial Peripheral Interface) Obsługa za pomocą biblioteki ILI9341 Panel dotykowy obsługiwany dzięki STMPE811 Interfejs I2C Standard Peripherals Library Wyświetlacz sterowany jest za pomocą interfejsu SPI (Szeregowy Interfej Urządzeń Peryferyjnych) Jest to jeden z najczęściej używanych interfejsów komunikacyj- Rysunek 6 Wyświetlacz LCD nych pomiędzy systemami mikroprocesorowymi a układami peryferyjnymi takimi jak: przetworniki ADC/DAC, pamięci flash, karty SD, wyświetlacze. Komunikacja odbywa się synchronicznie za pomocą 3 lini: MOSI - (ang. Master Output Slave Input) - dane dla układu peryferyjnego MISO - (ang. Master Input Slave Output) - dane z układu peryferyjnego SCLK - (ang. Serial CLocK) - sygnał zegarowy (taktujący) 4 linia służy do aktywacji urządzenia. Rysunek 7 Przykład podłączenia urządzeń za pomocą interfejsu SPI Panel dotykowy obsługiwany jest z wykorzystaniem szeregowej, dwukierunkowej magistrali I 2 C. Składa się z dwóch dwukierunkowych linii: lini danych oraz lini zegara. Transmisja odbywa się ę szeregowo i synchroniczne.

Biblioteki SPI i I2c zostały wykorzystane z Standard Peripherals Library - jest to kompletny pakiet, składający się ze sterowników oraz zestawów przykładów dla wszystkich standardowych urządzeń peryferyjnych mikrokontrolera STM32F4xx. 3. Obsługa Czujnika HC-SR04 3.1. Obsługa czujnika oraz podłączenie Do wyzwolenia pomiaru, w przerwaniu obsługiwanym przez Timer 7, generowany jest impuls o czasie trwania 10µ µs. Następnie podawany jest na końcówkę ę PD3, która podłączona jest do pinu Trig. Do pomiaru czasu trwania impulsu na wyjściu Echo wykorzystany został Timer2. Timer inicjowany jest przez podanie sygnału na końcówke PA0, która jest ustawiona jako wejscie alternatywne. Następnie w przerwaniu zliczany jest czas trwania impulsu powrotnego. Czas trwania przeliczany jest na odległosć w cm, za pomocą prostego wzoru podanego wcześniej. odleglosc=(float)(hcsr04.delay_us)*(float)(hcsr04_ =(float)(hcsr04.delay_us)*(float)(hcsr04_wart_2_cm); HCSR04.delay_us czas trwania impulsu powrotnego w HCSR04_WART_2_CM = 0.017 = czas, w którym fala przebywa 2cm Rysunek 8 Podłączenie czujnika to płytki Discovery

3.2. Ustawienie portów wejść i wyjść Funkcja służąca do ustawienia pinu PD3 jako wyjście, oraz PA0 jako wejście alternatywne inicjujące Timer2. void HCSR04_InitIO(void) GPIO_InitTypeDef GPIO_InitStructure; // Trigger-Pin RCC_AHB1PeriphClockCmd(HCSR04_TRIGGER_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIOD->BSRRH = GPIO_Pin_3; // Echo-Pin RCC_AHB1PeriphClockCmd(HCSR04_ECHO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode PIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_TIM2); 3.3. Uruchomienie Timerów Częstotliwość sygnału wejściowego do Timera7 wynosi Prescaler ustawiamy na wartość 83, wiec czestotliwość TIM7 wynosi 1MHz. Aby uzyskać czas trwania impulsu 10 s, Period ustawiamy na wartość 9. Dzięki temu otrzymujemy okres występowania zdarzenia przepełnienia równy 10 s. Rysunek 9 Schemat blokowy

Funkcja służąca do uruchomienia timerów: void HCSR04_InitTIM(void) TIM_ICInitTypeDef TIM_ICInitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM7, ENABLE); TIM_Cmd(TIM7, DISABLE); TIM_TimeBaseStructure.TIM_Period=HCSR04_TIM7_PERIOD; TIM_TimeBaseStructure.TIM_Prescaler=HCSR04_TIM7_PRESCALE; TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM7, &TIM_TimeBaseStructure); TIM_ARRPreloadConfig(TIM7, ENABLE); //Timer 2 tryb pomiaru RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_PrescalerConfig(TIM2, HCSR04_TIM2_PRESCALE, TIM_PSCReloadMode_Immediate); TIM_ICInitStructure.TIM_Channel = TIM_Channel_1; TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling; TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM_ICInitStructure.TIM_ICFilter = 0x0; TIM_PWMIConfig(TIM2, &TIM_ICInitStructure); TIM_SelectInputTrigger(TIM2, TIM_TS_TI1FP1); TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset); TIM_SelectMasterSlaveMode(TIM2,TIM_MasterSlaveMode_Enable); 3.3. Uruchomienie sprzętowego kontrolera przerwań NVIC oraz funkcje przerwań void HCSR04_InitNVIC(void) NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE); NVIC_InitStructure.NVIC_IRQChannel = TIM7_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_ITConfig(TIM7,TIM_IT_Update,ENABLE);

void TIM2_IRQHandler(void) uint32_t start,stop; if(tim_getitstatus(tim2, TIM_IT_CC1) == SET) TIM_ClearITPendingBit(TIM2, TIM_IT_CC1); start=tim_getcapture1(tim2); stop=tim_getcapture2(tim2); HCSR04.delay_us=start-stop; stop; HCSR04.t2_akt_time++; void TIM7_IRQHandler(void) if (TIM_GetITStatus(TIM7, TIM_IT_Update)!= RESET) TIM_ClearITPendingBit(TIM7, TIM_IT_Update); HCSR04.t7_akt_time+=10; 4. Prezentacja działania urządzenia 4.1. Pomiar powierzchni oraz kubatury pomieszczeń Zaprezentowany układ może być przydatny przy obliczaniu powierzchni oraz kubatury pomieszczeń. Aby dokonać ć pomiaru przykładamy czujnik do jednej ze ścian i naciskamy przycisk Pomiar. W programie zostanie zapisana wartość pomiaru. Następnie powtarzamy czynność dla drugiej ściany. Na wyświetlaczu automatycznie pokazana zostanie obliczona wartość powierzchni. Aby uzyskać objętość wykonujemy trzeci pomiar. Rysunek 10 Przykład działania programu

4.1. Czujnik parkowania Układ możemy ż też ż wykorzystać jako czujnik parkowania. Jego zasada działania opiera się na tej samej zasadzie jak opisane powyżej, czyli na metodzie pomiaru czasu powrotu echa fali ultradźwiękowej emitowanej przez czujnik. Sensory pracują jednocześnie jako nadajniki i odbiorniki fal emitowanych przez nie i odbitych od przeszkody. Odległość od przeszkody jest obliczana na podstawie czasu powrotu odbitej fali do sensora. Na wyświetlaczu wietlaczu odległość podawana jest liczbowo, oraz wyświetlana wietlana jest graficznie za pomocą paska, który zmienia swój kolor, im bliżej przeszkody się znajdujemy. Układ może zostać wyposażony ony w buzzer, który sygnałem dźwiękowym będzie sygnalizował odległość krytyczną. Rysunek 11Przykład działania czujnika parkowania 5. Podsumowanie Zastosowanie przetworników ultradźwiękowych umożliwia uzyskanie w miarę dokładnych wyników pomiaru odległości w stosunkowo prostym układzie. Ich największą zaletą jest bardzo dobry stosunek ceny do jakości. Nie wykazują także szkodliwego oddziaływania na człowieka. Jednak pomiar w zakresie małych jak i bardzo dużych odległości obarczony jest błędem. Następną z wad jest także mały zasięg.