Mobik. Miniaturowy sterownik robota mobilnego

Mobik. Miniaturowy sterownik robota mobilnego
Pobierz PDF Download icon
Robotyka cieszy się niesłabnąca popularnością. Jak grzyby po deszczu pojawiają się fabryczne rozwiązania sterowników zgodnych z Arduino np.: platforma Romeo. Opisywany sterownik oparty o mikrokontroler AVR umożliwia łatwe i szybkie rozpoczęcie prac nad robotem mobilnym, ograniczając czas poświęcony na opracowanie płytki sterownika i pozwala na skupienie się nad rozwiązaniami programowymi. Rekomendacje: uniwersalny sterownik, który przyda się entuzjastom robotyki, ale może być też bazą do wykonywania innych urządzeń.

Schemat ideowy Mobika pokazano na rysunku 1. Sekcja PWR, zasilacz układu, współpracuje z baterią lub akumulatorem. Napięcie zasilania poprzez wyłącznik PWR i bezpiecznik polimerowy FS1 (jego wartości można dobrać w zależności od przewidzianego przez peryferia poboru prądu) doprowadzone jest do bloku stabilizatorów. Układ jest zabezpieczony przed odwrotnym dołączeniem zasilania i przed przepięciami diodą transil o napięciu znamionowym 10 V. Napięcie baterii VBAT jest używane do zasilania układów drivera silnika UM oraz jest doprowadzone do wyjść PWM i OUT Mobika. Układ stabilizatora LDO U1 dostarcza napięcia 3,3 V do zasilania procesora oraz peryferiów. Układ U2 dostarcza napięcia 5 V koniecznego do zasilania dalmierzy HCSR04 i GP2. Dzielnik rezystancyjny RS1/2 oraz kondensator filtrujący CS stanowią obwód pomiaru napięcia akumulatora. Wydzielone napięcie jest doprowadzone do wejścia ADC7 procesora. Wartości dzielnika można dobrać w zależności od zastosowanego napięcia VBAT w celu zwiększenia dokładności odczytu.

Podstawowe informacje:

  • Mikrokontroler ATmega328P, napięcie zasilania z 3,3 V, częstotliwość oscylatora 16 MHz.
  • Zasilanie z akumulatora 7,2 V lub zestawu baterii, z bezpiecznikiem polimerowym i wyłącznikiem zasilania, dopuszczalne napięcie zasilania 5,5...10 V DC.
  • Pomiar napięcia akumulatora/baterii.
  • Wbudowane stabilizatory 5 V i 3,3 V do zasilania układów peryferyjnych.
  • Wbudowany sterownik dwóch silników komutatorowych lub jednego krokowego oparty o układ drivera DRV8833 z monitorowaniem stanów awaryjnych napędów.
  • Dwa wyjścia o zwiększonej obciążalności typu otwarty dren, jedno z możliwością PWM, z diodami zabezpieczającymi, np.: do sterowanie diod LED, elektromagnesów, serw itp.
  • Wyjścia wyprowadzone na złącza SIP3 standardu Arduino Bricks, umożliwiające wykorzystanie peryferiów zgodnych z Arduino (zasilanie VBAT).
  • Wbudowana 3-klawiszowa klawiatura analogowa.
  • Wbudowany odbiornik podczerwieni TSOP.
  • Wejście dla popularnego dalmierza ultradźwiękowego typu HCSR-04.
  • Wejście dla dalmierza podczerwieni SHARP GP2.
  • Dwa porty analogowe dowolnego zastosowania (standard 3,3 V, złącze standardu Arduino Bricks).
  • Dwa porty cyfrowe (I/O) dowolnego zastosowania (standard 3,3 V, złącze standardu Arduino Bricks).
  • Dioda sygnalizacyjna LED.
  • Złącze interfejsu I²C w standardzie Arduino, zgodne z 3,3 V (lub alternatywne dwa piny analogowe/ cyfrowe), do dołączenia np. opisywanych w EP modułów RTC, ekspandera IO, LCD.
  • Złącze UART w standardzie Arduino, zgodne z 3,3V (lub alternatywne dwa piny cyfrowe), do współpracy z Bluetooth, USB, Xbee.
  • Złącze ISP, Atmel 6-pin.
  • Niewielkie wymiary płytki 62 mm×35 mm.
  • Możliwe po wgraniu bootloaddera i zastosowaniu przejściówki USB/RS np.: FT230 używanie w środowisku Arduino w trybie zgodności z Arduino Nano.

PWM, OUT to wyjścia cyfrowe typu otwarty dren ze zwiększoną obciążalnością. Są to wyjścia sterujące dla większych obciążeń. Jako drivery zastosowano nowoczesne tranzystory MOSFET (QP1/2) typu IRLML0060 o niewielkiej rezystancji załączonego kanału, umożliwiające przełączanie znacznych prądów bez wielkich strat mocy.

Tabela 1. Sygnały sterujące układem DRV8833

KBD to 3-klawiszowa analogowa klawiatura SK1/3, dołączona do portu ADC6. Ułatwia ona testowanie oprogramowania robota. IREC jest odbiornikiem podczerwieni wyposażonym w filtr zasilania. Ze względu na współdzielenie pinu MOSI podczas programowania jest konieczne odłączenie podczas programowania zwory IR. W przeciwnym wypadku programowanie nie zostanie rozpoczęte.

UDS_SENSOR jest zasilany z napięcia 5 V. Złącze UDS umożliwia bezpośrednią współpracę z dalmierzem ultradźwiękowym typu HCSR-04. LUS, CUS filtrują zasilanie dalmierza, dzielnik RUS1/2 dopasowuje wyjściowy sygnał ECHO w standardzie 5 V do zakresu 3,3 V procesora. Wyjście TRIG, jest zgodne z TTL i może być bezproblemowo sterowane napięciem 3,3 V. Podłączenie do czujnika jest wykonywane standardowym przewodem SIP4 1:1.

Rysunek 1. Schemat ideowy Mobika

IRDS_SENSOR jest zasilany napięciem 5 V. Złącze IDS umożliwia bezpośrednią współprace z dalmierzami podczerwieni SHARP typu GP2. LIS,CIS1 zapewnia filtrowanie zasilania. RIS/CID2 zapewnia filtrowanie analogowego sygnału wyjściowego czujnika. Ze względu na wyjściowy sygnał nie przekraczający 3,3 V nie są konieczne żadne dodatkowe układy dopasowujące. Ze względu na znaczny i impulsowy pobór prądu istotne jest skrócenie przewodów GP2 do minimum. Podłączenie SIP3 1:1.

Blok DC MOTOR DRIVER jest przeznaczony do sterowania silnikami prądu stałego. Wykonano go w oparciu o układy scalone DRV8833. Pojedynczy układ zawiera dwa mostki H z zabezpieczeniami oraz umożliwia dwukierunkowe sterowanie z użyciem sygnału PWM dwoma niezależnymi silnikami o średnim prądzie obciążenia 1,5 A. Struktura wewnętrzna układu jest pokazana na rysunku 2.

Próg zabezpieczenia nadprądowego ustalono za pomocą rezystory RM1/2 na wartość 1 A. Rezystancję oporników wyznacza się ze wzoru Is=0,2V/RMx. Sygnał na wyjściu nFAULT (typu otwarty dren z rezystorem podciągającym RM3) informuje o stanie awaryjnym układu. Jest ono dołączone do wejścia INT0 i może wywoływać obsługę przerwania niemaskowanego. Wejścia sterujące M11...M22 są doprowadzone do PWM(OCxx) procesora i sterują pracą mostka zgodnie z tabelą prawdy zamieszczoną w tabeli 1.

Rysunek 2. Struktura wewnętrzna DRV8833 (za notą TI SLVSAR1B)

Układ umożliwia sterowanie PWM, poprzez doprowadzenie sygnału modulowanego do jednego z wejść INx, w zależności od stanu drugiego wyjścia, możliwy jest wybór trybu hamowania, dla stanu 0 wybieg, dla 1 hamowanie. Szczegółowe informacje dostępne są w nocie DRV8833.

Sercem układu jest mikrokontroler U3 zasilany z napięcia 3,3 V i współpracujący z oscylatorem kwarcowym XTAL1 o częstotliwości 16 MHz. Do złącza RSDI doprowadzone są sygnały UART dla zapewnienia komunikacji szeregowej i dla konwertera przy programowaniu z bootloaderem. Magistrala I²C jest doprowadzona do złącza I²CA23 i umożliwia współpracę z zewnętrznymi modułami z interfejsem I²C np. RTC, ekspander I/O itp., zgodnymi z 3.3 V. Dioda świecąca może być użyta do sygnalizowania pracy Mobika. Domyślnie sygnalizuje ona załączenie napięcia zasilającego.

Kondensator C9 filtruje napięcia odniesienia dla przetwornika A/D (konieczne jest uwzględnienie w programie sterującym). Kondensatory C10 i C13 oraz dławik L1 zapewniają dodatkowe filtrowanie zasilania części analogowej procesora. Do złącz AI0/1 są doprowadzone wejścia przetwornika ADC0/ADC1 mikrokontrolera. Złącza DI0/1 to wejścia cyfrowe, chociaż po zmianie tryby pracy jest możliwe ich wykorzystanie jako wyjść cyfrowych. Złącza umożliwiają zasilanie podłączonych układów napięciem 3,3 V.

Montaż

Rysunek 3. Schemat montażowy płytki głównej Mobika

Mobik jest zmontowany na dwustronnej płytce drukowanej, której schemat montażowy pokazano na rysunku 3. Montaż nie wymaga opisu, jedynie należy pamiętać o przylutowaniu pada termicznego DRV8833. Gotowy, zmontowany moduł pokazano na fotografii 4.

Akcesoria dodatkowe

Jako uzupełnienie opracowano trzy czujniki pomocne w realizacji platformy mobilnej.

Fotografia 4. Wygląd zmontowanej płytki głównej Mobika

Pierwszy z nich – IDS, to optyczny (pracujący w zakresie podczerwieni), dwustanowy czujnik odległości zbudowany w oparciu o popularny detektor typu GP2Y0D810 produkowany przez firmę Sharp. Schemat układu pokazano na rysunku 5. Czujnik wykrywa przeszkodę w odległości ok. 100 mm (wersja 805 w odległości 5 cm) mierząc od czoła. Wyjście może być bezpośrednio podłączone do cyfrowych wejść Mobika. Czujnik zamontowany jest na małej płytce drukowanej – jej schemat montażowy pokazano na rysunku 6.

Drugim czujnikiem jest ILFS. Zaprojektowano go jako cyfrowy, optyczny (pracujący w podczerwieni) czujnik linii. Schemat czujnika IFLS pokazano na rysunku 7.

Rysunek 5. Schemat ideowy podczerwonego czujnika odległości IDS

Do jego budowy zastosowano transoptor odbiciowy typu QRD1114 oraz komparator wykonany w oparciu o układ scalony U1 typu MAX9031. Rezystor R1 ogranicza prąd oświetlacza, natomiast rezystor R2 zasila wyjście QRD typu otwarty kolektor. Potencjometr RV1 umożliwia dobór progu przełączenia, rezystor R5 ustala szerokość pętli histerezy. Czujnik jest dołączany do wejścia cyfrowego Mobika. Schemat montażowy czujnika zamieszczono na rysunku 8.

Ostatnim z proponowanych czujników jest ILFS – analogowy, optyczny (pracujący w podczerwieni) czujnik linii. Na tej samej płytce drukowanej jest możliwe zmontowanie analogowego czujnika linii. W wypadku czujnika analogowego nie montujemy układu U1, rezystorów R3, R4 i RV1. Rezystor R5 zastępujemy zworą SMD. Na wyjściu dostępny jest sygnał analogowy zależny od ilości światła oświetlacza odbitego od podłoża. Czujnik współpracuje z analogowym wejściem Mobika umożliwiając ocenę kontrastu, co daje możliwość realizację dokładniejszej oceny śledzenia. Zestaw trzech lub linijki złożonej z większej ilości czujników umożliwia bardzo dokładne śledzenie linii i opracowanie algorytmu dokładniejszego sterowania.

Rysunek 6. Schemat montażowy podczerwonego czujnika odległości IDS

Dla ułatwienia stosowania, wszystkie czujniki zamontowane są na płytkach drukowanych o jednakowym wymiarach i identycznym sposobie mocowania. Zmontowane czujniki przestawia fotografia 9.

Teraz pozostaje tylko… konfiguracja czujników i oprogramowanie robota. Tylko...

Wykaz elementów

Płytka główna Mobika
Rezystory: (SMD 0805)
R3, R9: 2,2 kΩ
R6, RM3, RS2, RUS2: 22 kΩ
RIS: 1 kΩ
RK1…RK3, RUS1: 10 kΩ
RM1, RM2: 0,22 Ω (SMD 1206)
RS1: 100 kΩ

Rysunek 7. Schemat ideowy podczerwonego czujnika linii ILFS

Kondensatory:
C9, C10, C13, CID2, CM1, CS5: 0,1 μF (SMD 805)
C11, C12: 22 pF (SMD 0805)
CES1: 47 μF/10 V (kondensator tantalowy SMD)
CI, CIS1, CS1...CS4, CUS: 10 μF (SMD 1206)
CM2: 2,2 μF (SMD 0805)
CM3: 10 μF (SMD 0805)
IRR: TSOP34836 (odbiornik podczerwieni 3,3 V)

Półprzewodniki:
DP1, DP2: S1J (dioda uniwersalna SMD)
DZS1: P6SMB10 (transil 10 V)
LD1: dioda LED SMD
U3: ATmega3328 (TQFP32)
UM: DRV8833PWPR (HTSSOP16)
US1: LM1117-3.3 (SOT-223)
US2: LM1117-5.0 (SOT-223)
QP1, QP2: IRLML0060PBF (SOT-23)

Rysunek 8. Schemat montażowy podczerwonego czujnika linii ILFS

Inne:
AI0, AI1, DI0, DI1, OUT, PWM, IDS: złącze SIP3, raster 2,54 mm, proste
FS1: bezpiecznik polimerowy 2A
IRV, BAT1, VBAT2, M1, M2: złącze SIP2, raster 2,54, proste
ISP: złącze IDC6 proste
L1, LIS, LUS, FBI: 1 mH (dławik SMD, 0805)
LM1: 1 mH/2 A (dławik SMD mocy)
PWR: SL19121 (wyłącznik suwakowy)
RSDI23, UDS, I2CA23, UDS: złącze SIP4, raster 2,54 mm, proste
SK1...SK3: SW6x3 (mikroprzełacznik zwierny 6 mm×3 mm)
XTAL1: rezonator kwarcowy 16 MHz (HC49S)

Czujnik IDS
R1: 4,3 Ω (SMD, 0805)
C1: 0,1 μF (SMD, 0805)
C2: 10 μF (SMD, 0805)
IDS: GP2Y0D810 (czujnik odległości 810/805, zależnie od odległości detekcji 10/5 cm)
J1: złącze SIP3, proste

Fotografia 9. Wygląd zmontowanych czujników IFD oraz ILFS w wersjach analogowej i cyfrowej

Czujnik ILFS
R1: 180 Ω (SMD 0805)
R2: 22 kΩ (SMD 0805)
R3*: 1 kΩ (SMD 0805)
R4, R5*: 100 kΩ (SMD 0805)
RV1*: 50 kΩ (potencjometr montażowy TS53)
C1: 100 nF (SMD 0805)
IS1: QRD1114 (transoptor odbiciowy)
J1: złącze SIP3, proste, raster 2,54 mm
U1*: MAX9031AUK (SOT-23-5)
* elementy montować w zależności od wersji czujnika (cyfrowy/analogowy, opis w tekście), R5: dobrać dla histerezy

Dodatkowe materiały na CD/FTP:

ftp://ep.com.pl, user: 13621, pass: 175brjf7

Adam Tatuś, EP

Artykuł ukazał się w
Styczeń 2013
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów