Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

tank 2010/02/17 13:16 tank 2010/08/13 21:34 aktuální
Řádek 6: Řádek 6:
===== Úvod ===== ===== Úvod =====
Po dvou složitějších robotech ([[Eurobot2008]] a [[Robot2]]) jsem se rozhodl postavit si vozítko malé a jednoduché. Volba padla na plastový tančík, který byl ovládaný dvěma tužkovými monočlánky AA - podobných hraček se dá v hračkářstvích, na půdách nebo v bazarech sehnat plno. Další nabízejí na Internetu (například na [[http://shop.snailinstruments.com/index.php?main_page=product_info&cPath=77&products_id=313|Snailinstruments.cz]] jich několik je - navíc podvozek nemusí být nutně pásový, stačí i dvě hnací kolečka a jedno otočné). Po dvou složitějších robotech ([[Eurobot2008]] a [[Robot2]]) jsem se rozhodl postavit si vozítko malé a jednoduché. Volba padla na plastový tančík, který byl ovládaný dvěma tužkovými monočlánky AA - podobných hraček se dá v hračkářstvích, na půdách nebo v bazarech sehnat plno. Další nabízejí na Internetu (například na [[http://shop.snailinstruments.com/index.php?main_page=product_info&cPath=77&products_id=313|Snailinstruments.cz]] jich několik je - navíc podvozek nemusí být nutně pásový, stačí i dvě hnací kolečka a jedno otočné).
-Pásový (diferenciální) podvozek je pro malého robotka jako dělaný například proto, že se umí otočit na místě. Robotek může být řízen mobilním telefonem pomocí technologie Bluetooth, což mi darováním Bluetoth modulu [[http://pier.own.cz/dokumenty/OEMSPA310_datasheet.pdf|OEMSPA310]] výrobce ConnectBlue umožnila firma [[http://spezial.cz|Spezial Electronic]] - tímto bych jí chtěl ještě jednou poděkovat.+Pásový (diferenciální) podvozek je pro malého robotka jako dělaný například proto, že se umí otočit na místě. Robotek může být řízen mobilním telefonem pomocí technologie Bluetooth díky modulu [[http://pier.own.cz/dokumenty/OEMSPA310_datasheet.pdf|OEMSPA310]].
-{{http://temp.adamh.cz/robot-tank/fotka.jpg?400x290}} +{{http://dir.adamh.cz/robot-tank/fotka.jpg?400x290}} 
-{{http://temp.adamh.cz/robot-tank/foto/09042009733.jpg?400x290}}+{{http://dir.adamh.cz/robot-tank/foto/09042009733.jpg?400x290}}
===== Elektronika ===== ===== Elektronika =====
Řádek 21: Řádek 21:
  * **H-můstek L293D** pro spínání dvou motorů - maximálně 0,5 A (umožňuje měnit směr a řízení pomocí pulzně-šířkové moduleace - PWM). Při větších proudech se poměrně dost zahřívá, pro klid duše je dobré jej doplnit chladičem (chladič pro DIP16 - například v GM je to korunová položa). Ten pak stačí přilepit například vteřinovým lepidlem. Dobré je si předtím poznačit, kde se na obvodu nachází pin č. 1 - klasický prolis je totiž chladičem zakryt.   * **H-můstek L293D** pro spínání dvou motorů - maximálně 0,5 A (umožňuje měnit směr a řízení pomocí pulzně-šířkové moduleace - PWM). Při větších proudech se poměrně dost zahřívá, pro klid duše je dobré jej doplnit chladičem (chladič pro DIP16 - například v GM je to korunová položa). Ten pak stačí přilepit například vteřinovým lepidlem. Dobré je si předtím poznačit, kde se na obvodu nachází pin č. 1 - klasický prolis je totiž chladičem zakryt.
-Soubory nakreslené v programu Eagle si můžete stáhnout [[http://lib.adamh.cz/tank/board.zip|zde]]. Stisknutím tlačítka //Ratsnest// Eagle vykreslí rolitou měď (GND) pod H-můstkem, která pomáhá integrovaný obvod uchladit.+Soubory nakreslené v programu Eagle si můžete stáhnout [[http://dir.adamh.cz/robot-tank/sources/board.zip|zde]]. Stisknutím tlačítka //Ratsnest// Eagle vykreslí rolitou měď (GND) pod H-můstkem, která pomáhá integrovaný obvod uchladit.
-{{http://lib.adamh.cz/tank/schematic.png?750x400}}+{{http://dir.adamh.cz/robot-tank/sources/schematic.png?750x400}}
==== Popis konektorů ==== ==== Popis konektorů ====
-{{http://lib.adamh.cz/tank/connectors.png}}+{{http://dir.adamh.cz/robot-tank/sources/connectors.png}}
  * pokud je //JUMPER// zkratován, jsou motory napájeny 5 V přímo z desky. Pokud ne, je napájen z konektoru //MOTOR SUPPLY//.   * pokud je //JUMPER// zkratován, jsou motory napájeny 5 V přímo z desky. Pokud ne, je napájen z konektoru //MOTOR SUPPLY//.
  * konektor //UART// slouží k vyvedení sériového kanálu  TTL úrovních, například pro připojení Bluetooth modulu.   * konektor //UART// slouží k vyvedení sériového kanálu  TTL úrovních, například pro připojení Bluetooth modulu.
Řádek 63: Řádek 63:
Pokud jste v oblasti jednočipů začítečníky, doporučuji navštívit stránku [[http://robotika.cz/guide/blink/cs|Blikáme LED diodou]], která vysvětluje, co je to jednočip, jak funguje a jak jej naprogramovat pomocí jednoduchého programátoru do paralelního portu, který se zkládá z několika odporů a kusu kablelu. Jednotlivé piny kablíku (je jich celkem pět) můžete osadit dutinkami, které jsem popsal výše, samostatně, nebo je sloučit do dvou konektorů: //RESET|GND// a //MOSI|MISO|SCK//. Pokud jste v oblasti jednočipů začítečníky, doporučuji navštívit stránku [[http://robotika.cz/guide/blink/cs|Blikáme LED diodou]], která vysvětluje, co je to jednočip, jak funguje a jak jej naprogramovat pomocí jednoduchého programátoru do paralelního portu, který se zkládá z několika odporů a kusu kablelu. Jednotlivé piny kablíku (je jich celkem pět) můžete osadit dutinkami, které jsem popsal výše, samostatně, nebo je sloučit do dvou konektorů: //RESET|GND// a //MOSI|MISO|SCK//.
-ATmega48 má interní oscilátor nastaven na 8 MHz, není tedy třeba nic nastavovat (zrušení osminásobné děličky je řešeno v programu) a stačí nahrát hex soubor. Ten si i s kompletními zdrojovými kódy v jazyce C (AVR-LIBC) můžete stáhnout [[http://lib.adamh.cz/tank/avr-sources.zip|zde]].+ATmega48 má interní oscilátor nastaven na 8 MHz, není tedy třeba nic nastavovat (zrušení osminásobné děličky je řešeno v programu) a stačí nahrát hex soubor. Ten si i s kompletními zdrojovými kódy v jazyce C (AVR-LIBC) můžete stáhnout [[http://dir.adamh.cz/robot-tank/sources/avr-sources.zip|zde]].
==== Seznam součástek ==== ==== Seznam součástek ====
Řádek 91: Řádek 91:
===== Bluetooth ===== ===== Bluetooth =====
-{{http://lib.adamh.cz/tank/bluetooth.png?250x200}}+{{http://dir.adamh.cz/robot-tank/sources/bluetooth.png?250x200}}
-Aby šel tančík řídit z počítače nebo mobilního telefonu bezdrátově, rozhodl jsem se pro použití Bluetooth modulu, konkrétně [[http://www.connectblue.com/products/bluetooth-products/oem-modules/oemspa310/|OEMSPA310]], vyráběného firmou [[http://www.connectblue.se/|ConnectBlue]] a dodávaného firmou [[http://spezial.cz|Spezial Electronic]]. Firmě Spezial Electronic bych tímto za darování modulu chtěl poděkovat.+Aby šel tančík řídit z počítače nebo mobilního telefonu bezdrátově, rozhodl jsem se pro použití Bluetooth modulu, konkrétně [[http://www.connectblue.com/products/bluetooth-products/oem-modules/oemspa310/|OEMSPA310]], vyráběného firmou [[http://www.connectblue.se/|ConnectBlue]]. Bluetooth modul poskytl dodavatel pro Českou republiku, firma [[http://spezial.cz|Spezial Electronic]].
-Modul jsem si nechal nastavit na komunikaci //9600 bd 8N1// (9600 kbps, 8 datových bitů, jeden stop bit, bez parity) a povolení nastavování přes bluetooth přímo firmou Spezial, doma jsem proto nemusel stahovat speciální konfigurační program. Připojení k modulu je možno realizovat buď připájením přímo na desku plošných spojů, použitím speciálního konektoru, nebo přímým připájením kablíků k vybraným pinům - to je znázorněno na horním obrázku. Po připájení jsem nakrimpoval dva konektory - jeden na pár //Rx// a //Tx//, druhý na //Vcc// a //GND//. Modul vyžaduje napájení od 3-6 V, proto je možné připojit napájecí kablík přímo k desce. Místo, kde jsou kablíky připájeny, jsem přelepil izolační páskou, aby případný tah za kablíky nepůsobil na pájený spoj - ten by byl velice náchylný na zlomení nebo vytrhnutí. Modul lze připevnit dvěma šroubky M2, v tanku je schován v prostoru pod hlavní deskou.+ 
 +**Modul je potřeba správně nastavit.** O nastavení jsem požádal firmu Spezial Electronic, k nastavení doma totiž potřebujete speciální program a převodník: 
 + 
 +  * 8N1 (8 datových bitů, 1 stop bit, bez parity) 
 +  * Bez HW flow control (RTS/CTS) 
 +  * Rychlost 9600 kbps 
 +  * Configuration Over Air (povolení nastavení Bluetooth modulu bezdrátově) 
 + 
 +Připojení k modulu je možno realizovat buď připájením přímo na desku plošných spojů, použitím speciálního konektoru, nebo přímým připájením kablíků k vybraným pinům - to je znázorněno na horním obrázku. Po připájení jsem nakrimpoval dva konektory - jeden na pár //Rx// a //Tx//, druhý na //Vcc// a //GND//. Modul vyžaduje napájení od 3-6 V, proto je možné připojit napájecí kablík přímo k desce. Místo, kde jsou kablíky připájeny, jsem přelepil izolační páskou, aby případný tah za kablíky nepůsobil na pájený spoj - ten by byl velice náchylný na zlomení nebo vytrhnutí. Modul lze připevnit dvěma šroubky M2, v tanku je schován v prostoru pod hlavní deskou.
Řádek 113: Řádek 121:
Nejdříve je potřeba ve správci bluetooth zařízení spárovat bluetooth modul s počítačem. Systém pak oznámí, jaké číslo portu bude zařízení používat (u mě je to COM9). Pro řízení byla napsaána jednoduchá aplikace v Delphi (vývojové prosředí Delphi 7 personal edition, které je zdarma). Aplikace se připojí k sériovému portu a posílá příkazy - lze buď klikat na tlačítka nebo použít šipky na klávesnici. Pro zastavení je použita šipka dolů. Nejdříve je potřeba ve správci bluetooth zařízení spárovat bluetooth modul s počítačem. Systém pak oznámí, jaké číslo portu bude zařízení používat (u mě je to COM9). Pro řízení byla napsaána jednoduchá aplikace v Delphi (vývojové prosředí Delphi 7 personal edition, které je zdarma). Aplikace se připojí k sériovému portu a posílá příkazy - lze buď klikat na tlačítka nebo použít šipky na klávesnici. Pro zastavení je použita šipka dolů.
-{{http://lib.adamh.cz/tank/tank-control.png}}+{{http://dir.adamh.cz/robot-tank/sources/tank-control.png}}
Pro ladění má aplikace jednoduchou konzoli, díky které můžeme posílat/přijímat příkazy - například //SS// pro zastavení. Je zde hlavně pro vyplnění místa a kvůli ladění :-) Pro ladění má aplikace jednoduchou konzoli, díky které můžeme posílat/přijímat příkazy - například //SS// pro zastavení. Je zde hlavně pro vyplnění místa a kvůli ladění :-)
-Aplikace je volně ke stažení jako [[http://lib.adamh.cz/tank/TankControl.exe|TankControl.exe]] nebo jako [[http://lib.adamh.cz/tank/tank-control.zip|ZIP archív se zdrojovými kódy]]. Pro upravování zdrojových kódů a kompilaci je potřeba knihovna [[http://www.ararat.cz/synapse/files/synaser.zip|synaser]] (soubory *.pas stačí nakopírovat do library adresáře Delphi), více o knihovně v [[http://casopis.programator.cz/r-art.php?clanek=115|článku na programator.cz]].+Aplikace je volně ke stažení jako [[http://dir.adamh.cz/robot-tank/sources/TankControl.exe|TankControl.exe]] nebo jako [[http://dir.adamh.cz/robot-tank/sources/tank-control.zip|ZIP archív se zdrojovými kódy]]. Pro upravování zdrojových kódů a kompilaci je potřeba knihovna [[http://www.ararat.cz/synapse/files/synaser.zip|synaser]] (soubory *.pas stačí nakopírovat do library adresáře Delphi), více o knihovně v [[http://casopis.programator.cz/r-art.php?clanek=115|článku na programator.cz]].
Lidé, kteří z trucu nebo ze záliby v příkazové řádce používají nějaký minoritní operační systém postavný na Linuxu, by aplikaci měli spustit pomocí programu //wine// (zatím netestováno). Lidé, kteří z trucu nebo ze záliby v příkazové řádce používají nějaký minoritní operační systém postavný na Linuxu, by aplikaci měli spustit pomocí programu //wine// (zatím netestováno).
Řádek 133: Řádek 141:
  * 3 - doprava (točí se pouze jeden motor)   * 3 - doprava (točí se pouze jeden motor)
-{{http://lib.adamh.cz/tank/j2me-tank-control.png}}+{{http://dir.adamh.cz/robot-tank/sources/j2me-tank-control.png}}
-Aplikace je napsána (a naklikána) ve výjovovém prostředí Netbeans 6.5, které je rovněž volně ke stažení. Zatím není odzkoušena na jiných telefonech, než na symbianových Nokiích (s60 3rd ed.) - například N78. Ke stažení jsou jak [[http://lib.adamh.cz/tank/BluetoothApplication.zip|zdrojové kódy]], tak i [[http://lib.adamh.cz/tank/BluetoothApplication.jar|JAR]] a [[http://lib.adamh.cz/tank/BluetoothApplication.jad|JAD]] soubory.+Aplikace je napsána (a naklikána) ve výjovovém prostředí Netbeans 6.5, které je rovněž volně ke stažení. Zatím není odzkoušena na jiných telefonech, než na symbianových Nokiích (s60 3rd ed.) - například N78. Ke stažení jsou jak [[http://dir.adamh.cz/robot-tank/sources/BluetoothApplication.zip|zdrojové kódy]], tak i [[http://dir.adamh.cz/robot-tank/sources/BluetoothApplication.jar|JAR]] a [[http://dir.adamh.cz/robot-tank/sources/BluetoothApplication.jad|JAD]] soubory.
Řádek 169: Řádek 177:
Následující obrázky poskytl Miroslav Kubánek: Následující obrázky poskytl Miroslav Kubánek:
-{{http://temp.adamh.cz/robot-tank/foto/miroslav_kubanek/tancik1.jpg?400x300}} +{{http://dir.adamh.cz/robot-tank/foto/miroslav_kubanek/tancik1.jpg?400x300}} 
-{{http://temp.adamh.cz/robot-tank/foto/miroslav_kubanek/tancik2.jpg?400x300}}+{{http://dir.adamh.cz/robot-tank/foto/miroslav_kubanek/tancik2.jpg?400x300}} 
 + 
 +Jiří Škvára se rozhodl pro bezpásovou variantu se dvěma kolečky, původní desku vylepšil a svého robota doplnil o autonomní chování s využitím pěkně zpracovaných dotykových čidel:
 +{{http://dir.adamh.cz/robot-tank/foto/jiri_skvara/jirka1.jpg?400x300}}
 +{{http://dir.adamh.cz/robot-tank/foto/jiri_skvara/jirka2.jpg?400x300}}
===== Možná vylepšení ===== ===== Možná vylepšení =====
Řádek 188: Řádek 200:
===== Odkazy ===== ===== Odkazy =====
-  * **Schémata, ovládací program:** http://lib.adamh.cz/tank +  * **Schémata, ovládací program, fotografie:** http://dir.adamh.cz/robot-tank
-  * **Další fotografie:** http://temp.adamh.cz/robot-tank/+
  * Firma Spezial Electronic (dodavatel bluetooth modulů ConnectBlue): http://www.spezial.cz   * Firma Spezial Electronic (dodavatel bluetooth modulů ConnectBlue): http://www.spezial.cz
Řádek 196: Řádek 207:
  * Článek na Pandatronu: http://pandatron.cz/?740&robot_ovladany_pres_bluetooth   * Článek na Pandatronu: http://pandatron.cz/?740&robot_ovladany_pres_bluetooth
-  * Článek na mém blogu: http://blog.adamh.cz/index.php?clanek=elektrotechnika/100-tancik-ovladany-bluetoothem 
  * **Robot BlueBot:** http://knowhow.adamh.cz/BlueBot/   * **Robot BlueBot:** http://knowhow.adamh.cz/BlueBot/
 
tank.1266408987.txt.gz · Poslední úprava: 2010/02/17 13:16 autor: adamh
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

© 2008-2010 Adam Heinrich, adamh.cz, adam@adamh.cz