Uživatelské nástroje

Nástroje pro tento web


cs:labduino

Rozdíly

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

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Poslední revizeObě strany příští revize
cs:labduino [2015/04/19 15:34] – [LABduino ports mapping] kaklcs:labduino [2022/01/28 18:20] – [Připojení na USB] kaklik
Řádek 15: Řádek 15:
 Konstrukci s LABduinem, lze programovat klasickym nastrojem [[http://arduino.cc/en/Main/Software|Volne dostupnym ke stazeni]]. Arduino IDE je však nástroj vytvořený přímo pro Arduino a neliberálně nepodporuje některé další vlastnosti Arduino klonů. Je proto vhodnější používat vývojové prostředí Wiring, které obsahuje přímo nastavení pro MLAB konstrukci.  Konstrukci s LABduinem, lze programovat klasickym nastrojem [[http://arduino.cc/en/Main/Software|Volne dostupnym ke stazeni]]. Arduino IDE je však nástroj vytvořený přímo pro Arduino a neliberálně nepodporuje některé další vlastnosti Arduino klonů. Je proto vhodnější používat vývojové prostředí Wiring, které obsahuje přímo nastavení pro MLAB konstrukci. 
  
 +  sudo apt-get install arduino
 ==== Wiring ==== ==== Wiring ====
  
Řádek 50: Řádek 51:
   ant run    ant run 
  
 +===== LABduino Duemilanove =====
  
-===== LABduino UNO =====+Tato realizace arduina je stejná jako Arduino Duemilanove, které využívá mikrokontrolér ATmega328P. 
  
-Tato realizace arduina je stejná jako Arduino UNO, které využívá mikrokontrolér ATmega328P.  +Klasicky se LABduino skládá ze dvou modulů [[cs:usb232r|USB232R01B]] a [[cs:atmegatq32|ATmegaTQ3201A]] osazený mikroprocesorem ATmega328 tak že signály TXD a RXD se přivedou kablíky na RX a TX (křížené spojení) a řídící signál RTS# od modulu USB232R01B se přivede na jumper označený jako boot (aktivuje bootloader). 
- +
-Klasicky se LABduino skládá ze dvou modulů [[cs:usb232r|USB232R01B]] a [[cs:atmegatq32|ATmegaTQ3201A]] osazený mikroprocesorem ATmega328 tak že signály TXD a RXD se přivedou kablíky na RX a TX (křížené spojení) a řídící signál DTR# od modulu USB232R01B se přivede na jumper označený jako boot (aktivuje bootloader). +
 Napájení modulu ATmegaTQ3201A je obvykle řešeno přímo z USB (připojením napájecího kablíku).   Napájení modulu ATmegaTQ3201A je obvykle řešeno přímo z USB (připojením napájecího kablíku).  
  
Řádek 62: Řádek 62:
 V této konfiguraci tedy hardwarově odpovídá Arduinu Duemilanove s ATmega328. Na rozdíl od nových verzí Arduina však pro komunikaci s USB nepoužívá ATmega s firmwarem emulujícím sériovou linku, ale převodník [[http://www.ftdichip.com/Products/ICs/FT232R.htm|FT232]] v modulu [[cs:usb232r|USB232R01B]] je tak odolnější proti závadě vzniklé poškozením firmwaru v MCU, který umožňuje komunikaci přes USB. V této konfiguraci tedy hardwarově odpovídá Arduinu Duemilanove s ATmega328. Na rozdíl od nových verzí Arduina však pro komunikaci s USB nepoužívá ATmega s firmwarem emulujícím sériovou linku, ale převodník [[http://www.ftdichip.com/Products/ICs/FT232R.htm|FT232]] v modulu [[cs:usb232r|USB232R01B]] je tak odolnější proti závadě vzniklé poškozením firmwaru v MCU, který umožňuje komunikaci přes USB.
  
-===== LABduino interconnection ===== +==== Nahrani bootloaderu ====
-USB232R01B/USB +5V => ATmega8DIL01A/POWER (We have to use standard MLAB power cord 5V or we can interconnect only GND if the design is self-powered.)+
  
-ATmega8DIL01A/PD0 => USB232R01B/TXD+Vybraný firmware lze nahrát do mikroprocesoru programátorem  [[cs:atprogispusb|ATprogISPUSB02A]] v [[https://github.com/MLAB-project/LABduino/tree/master/SW/bootloader|repositáři]] MLABu je k dispozici nahrávací skript a bootloader kompatibilní s Arduino Duemilanove.  Doporučujeme jej použít k nahrání firmware místo nástroje přímo v Arduinu IDE nebo Wiringu.  
  
-ATmega8DIL01A/PD1 => USB232R01B/RXD+=== Linux ===
  
-ATmega8DIL01A/PC6 => USB232R01B/RTS# +Instalace avrdude 
- +  sudo apt-get install avrdude
-ATmega8DIL01A/PB5 => Some LED should be connected here. +
- +
-USB232R01B/VCCIO SEL We have to select 3.3 V or 5 V by design. +
- +
-===== LABduino ports mapping ===== +
- +
-^Aruino ^ATmega8DIL01A ^Note ^ +
-|D0 |RXD |PD0, if you disconnect USB232R01B| +
-|D1 |TXD |PD1, if you disconnect USB232R01B| +
-|D2 |PD2| Digital I/Os.| +
-|D3/PWM |PD3|:::| +
-|D4 |PD4|:::| +
-|D5/PWM |PD5|:::| +
-|D6/PWM |PD6|:::| +
-|D7 |PD7|:::| +
-|D8 |PB0|:::| +
-|D9/PWM |PB1|:::| +
-|D10/PWM |PB2|:::| +
-|D11/PWM |PB3|:::| +
-|D12 |PB4|:::| +
-|D13 |PB5|:::| +
-|A0 |PC0 |Analog inputs.| +
-|A1 |PC1 |:::| +
-|A2 |PC2 |:::| +
-|A3 |PC3 |:::| +
-|A4 |PC4 |:::| +
-|A5 |PC5 |:::| +
- +
-==== Firmware Bootloader ==== +
- +
-Vybraný firmware lze nahrát do mikroprocesoru programátorem  [[cs:atprogispusb|ATprogISPUSB02A]] v [[http://www.mlab.cz/Web/Downloads.cs.html|SVN repositáři]] MLABu je k dispozici nahrávací skript (svnMLAB/Designs/LABduino/SW/bootloader/flash.sh) a firmware kompatibilní s Arduino Duemilanove.  Je doporučeno jej použít k nahrání firmware místo nástroje přímo v Arduinu IDE nebo Wiringu.  +
  
 Nahrávací skript spustíme například následovně:  Nahrávací skript spustíme například následovně: 
Řádek 134: Řádek 102:
 K fungování skriptu je potřeba mít nainstalovanou správnou verzi programu avrdude. Podrobnosti viz [[cs:avr_programming]]. K fungování skriptu je potřeba mít nainstalovanou správnou verzi programu avrdude. Podrobnosti viz [[cs:avr_programming]].
  
-==== Příklady použití ====+=== Windows === 
 + 
 +Příklad pro modul ATmegaTQ3201A s procesorem ATmega328P a 16MHz krystalem 
 +  - Bootloader je umístěn v [[https://github.com/MLAB-project/LABduino/tree/master/SW/bootloader|MLAB repozitáři]]. 
 +  - K nahrání do procesoru je možné využít program [[http://sourceforge.net/projects/winavr/|AVRdude]] 
 +    - Návod [[http://www.ladyada.net/learn/avr/setup-win.html| na instalaci]] 
 +    - [[ http://www.ladyada.net/learn/avr/avrdude.html| Návod k použití avrdude]] 
 +  - Nahrání bootloaderu se provede v operačním systému Windows programem AVRdude přes příkazový řádek. 
 +  - Nejprve je dobré zjistit, že se AVRdude nainstaloval dobře. Stačí v příkazové řádce napsat avrdude a stisknout enter. Na obrazovce se zobrazí options. 
 +  - K nahrání je potřeba modul ATprogISPUSB02A propojit s modulem ATmegTQ3201A (napájení a ISP kabel). 
 +  - Nejprve se musí nastavit pojistky procesoru. V příkazové je potřeba zadat tento příkaz: 
 +    - ''avrdude -F -p atmega328P -P COM17 -c stk500v2 -B 50 -v -U efuse:w:0x05:m -U lfuse:w:0xff:m -U hfuse:w:0xda:m'' 
 +    - Na místo COM17 je potřeba doplnit aktuální port v daném počítači. Možno dohledat ve správci zařízení ve WIN. 
 +  - Druhým příkazem je potřeba nahrát ATmegaBOOT_168_atmega328.hex 
 +    - ''avrdude -F -p atmega328P -P COM17 -c stk500v2 -B 50 -U flash:w:ATmegaBOOT_168_atmega328.hex:a'' 
 +    - Příkaz je potřeba zadávat v příkazové řádce ve složce, kde je ATmegaBOOT_168_atmega328.hex uložen.  
 +  - Následně by se měl bootloader nahrát do procesoru a proběhne kontrola zápisu. 
 +  - Nyní stačí modul ATmegaTQ3201A propojit s modulem USB232R01B a je LABduino připraveno. 
 + 
 +=== Připojení na USB === 
 + 
 +''USB232R01B/RXD => ATmegaTQ3201A/PD1'' 
 + 
 +''USB232R01B/TXD => ATmegaTQ3201A/PD0'' 
 + 
 +''USB232R01B/RTS# => ATmegaTQ3201A/boot'' 
 + 
 +''USB232R01B/VCCIO SEL => 5V'' 
 + 
 + 
 +===== Arduino porty na LABduinu ===== 
 + 
 +^Arduino ^ATmega8DIL01A ^Note ^ 
 +|D0 |RXD |PD0, if you disconnect USB232R01B| 
 +|D1 |TXD |PD1, if you disconnect USB232R01B| 
 +|D2 |PD2| Digital I/Os.| 
 +|D3/PWM |PD3|:::| 
 +|D4 |PD4|:::| 
 +|D5/PWM |PD5|:::| 
 +|D6/PWM |PD6|:::| 
 +|D7 |PD7|:::| 
 +|D8 |PB0|:::| 
 +|D9/PWM |PB1|:::| 
 +|D10/PWM |PB2|:::| 
 +|D11/PWM |PB3|:::| 
 +|D12 |PB4|:::| 
 +|D13 |PB5|:::| 
 +|A0 |PC0 |Analog inputs.| 
 +|A1 |PC1 |:::| 
 +|A2 |PC2 |:::| 
 +|A3 |PC3 |:::| 
 +|A4 |PC4 |:::| 
 +|A5 |PC5 |:::| 
 + 
 + 
 +===== LABduino MightyCore ===== 
 +Realizace s procesorem ATmega1284P. [[https://github.com/MCUdude/MightyCore|Označení vývodů a postup instalace do Arduino IDE]] 
 +  
 + 
 +====== Příklad zapojení LABduino a LCD ====== 
 + 
 +Jednoduchý příklad zapojení modulů [[cs:lcd2l4p|LCD2L4P02A]], ATmegaTQ3201A a USB232R01B. 
 + 
 +=== Propojení modulů === 
 + 
 +== Napájení == 
 + 
 +''USB232R01B/POWER OUT => ATmegaTQ3201A/POWER'' 
 + 
 +''ATmegaTQ3201A/POWER => LCD2L4P02A/POWER'' 
 + 
 +== LCD display == 
 + 
 +''LCD2L4P02A/RS => ATmegaTQ3201A/PB4'' 
 + 
 +''LCD2L4P02A/RW => ATmegaTQ3201A/J4'' 
 + 
 +''LCD2L4P02A/E => ATmegaTQ3201A/PB3'' 
 + 
 +''LCD2L4P02A/D0 => ATmegaTQ3201A/PD5'' 
 + 
 +''LCD2L4P02A/D1 => ATmegaTQ3201A/PD4'' 
 + 
 +''LCD2L4P02A/D2 => ATmegaTQ3201A/PD3'' 
 + 
 +''LCD2L4P02A/D3 => ATmegaTQ3201A/PD2'' 
 + 
 +== Pípák == 
 + 
 +''LCD2L4P02A/BEEP => ATmegaTQ3201A/PB0'' 
 + 
 +== Tlačítka == 
 + 
 +''LCD2L4P02A/S1 => ATmegaTQ3201A/PB1'' 
 + 
 +''LCD2L4P02A/S2 => ATmegaTQ3201A/PB2'' 
 + 
 +''LCD2L4P02A/S3 => ATmegaTQ3201A/PD6'' 
 + 
 +''LCD2L4P02A/S4 => ATmegaTQ3201A/PD7'' 
 + 
 +''LCD2L4P02A/J9 => osadit všechny jumpery'' 
 + 
 +''LCD2L4P02A/CONTRAST SELECT => jumper smerem k trimru'' 
 + 
 +== Interface to PC == 
 + 
 +''USB232R01B/RX => ATmegaTQ3201A/PD1'' 
 + 
 +''USB232R01B/TX => ATmegaTQ3201A/PD0'' 
 + 
 +''USB232R01B/RTS# => ATmegaTQ3201A/boot'' 
 + 
 +''USB232R01B/VCCIO SEL => 5V'' 
 + 
 +=== Program === 
 + 
 +[[http://www.mlab.cz/WebSVN/filedetails.php?repname=MLAB&path=%2FDesigns%2FLABduino%2FSW%2Fdemos%2FHelloMLAB%2FHelloMLAB.ino|Code Example]] 
 + 
 +===== Dalsi příklady použití =====
  
   * [[cs:spectrograph|Spektrograf]] - elektronika pro spektrograf využívající LABduino.   * [[cs:spectrograph|Spektrograf]] - elektronika pro spektrograf využívající LABduino.
   * [[cs:luxmetrsd|Luxmetr]] - Přístroj pro měření intenzity osvětlení za znamenající údaje na SD kartu.   * [[cs:luxmetrsd|Luxmetr]] - Přístroj pro měření intenzity osvětlení za znamenající údaje na SD kartu.
   * [[cs:aws]] - Vyčítání meteorologických čidel s binárními nebo analogovými výstupy.   * [[cs:aws]] - Vyčítání meteorologických čidel s binárními nebo analogovými výstupy.
- +
 ===== Labduino - Mega 2560 ===== ===== Labduino - Mega 2560 =====
  
cs/labduino.txt · Poslední úprava: 2023/12/21 16:43 autor: kaklik