SNÍMAČ S ČIPEM MPU6050 - II
Vágner Vlastimil
Jelikož mi čip MPU6050 zůstal delší dobu zapůjčený pro další pokusy viz první článek zde na webu SNÍMAČ S ČIPEM MPU6050, došlo k úpravě původního programu k přímému zobrazení náklonu ve stupních v osách X, Y, Z, zobrazení zrychlení včetně zobrazení teploty čipu na monitoru PC. Přípravek tedy pouze převodník I2C se připojuje na sériový port počítače nebo může být použita redukce USB/COM. Převodník muže být použit pro inspiraci při vlastním návrhu převodníku na I2C. Stejně tak i ten kdo programuje si určitě napíše svůj vlastní program dle svých potřeb přímo pod Windows k tomuto převodníku pokud ho bude chtít používat.
Popis přípravku
Přípravek pro komunikaci I2C jehož zapojení je na obrázku č.01 je napájen zdrojem napětí 5V schéma zapojení zdroje napájecího napětí je na obrázku č.02, jako zdroj napětí 5V je použit stabilizátor 78L05 vstupní napětí je možné v rozsahu 8 – 12VDC. Uvedené zapojení převodníku I2C používám pro všechny moduly které využívají komunikační sběrnici I2C, pro použití uvedeného modulu s čipem MPU6050 byl vyroben převodník s napětím 3.3V na straně I2C pro linky SDA a SCL. Napětí z výstupních linek DTR, RTS počítače stabilizují použité ZENEROVY DIODY 3V3 na napětí 3.3V z důvodu že čip MPU6050 na modulu používá napájecí napětí 3.3V. Počítač pro převodník I2C využívá výstupní signály RTS – (SCL), DTR – (SDA) a pro načítání hodnot z linky I2C využívá vstupní linku CTS. Logické úrovně při vysílání modulu MPU6050 na lince I2C SDA ovládají bázi tranzistoru a tento pak na vstupní linku CTS přivádí logické úrovně napětí „H“, „L“, které jsou již zpracovávány v počítači programem.
Modul s čipem
MPU6050 na I2C
Použitý hotový modul s čipem MPU6050 je napájen napětím 5V které je poté na modulu sníženo na hodnotu 3.3V toto napětí již napájí vlastní čip MPU6050 současně je přivedeno i na komunikační linky SCL, SDA přes zdvihací rezistory 4K7, stejná hodnota rezistoru 4K7 je použita i pro připojení záporného napájecího napětí na vstup označený AD0 přímo na desce hotového modulu. (Vstup AD0 čipu MPU6050 je současně vyveden na pin osazené svorkovnice na DPS). Tím je nastavena základní adresa čipu MPU6050 na hodnotu 104, pokud by pin svorkovnice na hotovém modulu MPU6050 označený AD0 byl připojený na kladné napájecí +3.3V byla by základní adresa čipu MPU6050 nastavena na hodnotu 105. Adresa pro zápis do čipu MPU6050 při adrese AD0 připojené na záporné napájecí napětí je 208, adresa pro čtení z čipu MPU6050 při adrese AD0 připojené na záporné napájecí napětí je 209. V případě že by vstup AD0 byl připojen na kladné napájecí napětí +3.3V byla by adresa pro zápis do čipu MPU6050 210 a adresa pro čtení z čipu MPU6050 211. Vlastní komunikace s čipem MPU6050 začíná po inicializaci čipu kde se v inicializaci zadávají hodnoty do registrů, volba je dle požadované činnosti čipu. Podrobný popis čipu MPU6050 a čipu MPU6000 (tento čip komunikuje po sběrnici SPI) je uvedený v DATASHEETU „PS-MPU-6000A“, podrobný popis a význam registrů čipu MPU6050 a čipu MPU6000 je uvedený v DATASHEETU „RM-MPU-6000A“. Oba DATASHEETY jsou dostupné na stránkách výrobce čipu nebo na internetu.
SCHÉMA ZAPOJENÍ PŘEVODNÍKU COM - I2C
SCHÉMA ZAPOJENÍ NAPÁJECÍHO ZDROJE
POPIS PROGRAMU
Program je napsán v TURBOPASCALU uložený je v adresáři PROGRAM a má název uhel.exe, program jde spustit na počítačích s OS DOS, WINDOWS5/98, na počítačích s OS WINDOWS 2000, WINDOWS NT, WINDOWS XP, WINDOWS 7 jde spustit POUZE Z PŘÍKAZOVÉ ŘÁDKY POKUD JSOU UVEDENÉ OS ŘÁDNĚ NAINSTALOVÁNY VE 32-BITOVÉ VERZI. Na počítačích s OS NAINSTALOVANÝM V 64-BITOVÉ VERZI SE PROGRAM NESPUSTÍ.
Popis programu UHEL.EXE program načítá hodnoty registrů AKCELEROMETRU které přepočítá na stupně a zobrazí na monitoru současně načítá hodnoty registrů teploty TEMP_OUT_H + TEMP-OUT_L a ze součtu vypočítá teplotu. Zobrazená teplota na monitoru je teplota čipu při přiložení palce „OPATRNĚ“ na čip, se na monitoru začne zobrazovat teplota která se zvyšuje při teplotě 33°C ukončíme ohřev čipu palcem!.
Po spuštění programu UHEL.EXE zvolíme port kde je připojený převodník I2C s MPU6050 volbu provádíme stiskem klávesy s číslicí 1 až 4 stiskem klávesy s číslicí 1 volíme port COM1 stejně se volí jiný sériový port COM, nebo sériový port pomocí redukce USB/COM. Po volbě portu se na monitoru zobrazí ZADEJ ADRESU MPU zde zadáváme adresu podle toho jak je připojený vstup čipu AD0 pokud je připojený na záporný napájecí pól pomocí osazeného rezistoru 4K7 zadáme hodnotu 104 a stiskneme klávesu ENTER. Po této volbě se již zobrazí volba „ ZVOL NACITANI UHLU OSY “ volbu osy volíme stiskem klávesy s písmenem „X“, „Y“, „Z“ po navolení osy se již na monitoru zobrazuje úhel náklonu v ose, zrychlení v ose a teplota. Volbu nové osy provedeme stiskem klávesy MEZERNÍK a poté provedeme novou volbu osy, PROGRAM UKONČÍME STISKEM KLÁVESY „ESC“. Znovu zdůrazňuji že jde pouze o ukázkový program načítání z čipu MPU6050 počítačem, je mnoho jiných programů k tomuto načítání hodnot z čipu MPU6050 pomocí počítače.
Hodně zábavy při programování a pokusech!
použité prameny :
DATASHEET K POPISU ČIPU : „PS-MPU-6000A“
DATASHEET K POPISU REGISTRŮ : „RM-MPU-6000A“
Vágner Vlastimil
Požitý čip s MPU6050
Hotový převodník I2C
Připravený MPU6050 s PC připojení pomocí USB/COM OS WINDOWS 7 STARTÉR
Zadání adresy pro čip MPU6050 adresa 104 použité PC USB/COM WINDOWS 7
NÁKLON V OSE „X“
ODEČTENÁ HODNOTA
NÁKLON V OSE „X“
ODEČTENÁ HODNOTA
NÁKLON V OSE „Z“
ODEČTENÁ HODNOTA
NÁKLON V OSE „Z“
ODEČTENÁ HODNOTA
NÁKLON V OSE „Y“
ODEČTENÁ HODNOTA
NÁKLON V OSE „Y“
ODEČTENÁ HODNOTA
Vágner Vlastimil