Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2018:balancing-robot

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í revize Předchozí verze
Následující verze
Předchozí verze
2018:balancing-robot [2019/01/14 19:02]
Daniel Hubík [Kód]
2018:balancing-robot [2019/01/14 22:02] (aktuální)
Daniel Hubík [4) MCU]
Řádek 157: Řádek 157:
  
 </​code>​ </​code>​
 +
 +
 +Seznam důležitých komponentů v Processor expertu:
 +  * LED - pro debugovací účely
 +  * UART - pro komunikaci mezi PC a deskou
 +  * Piny UP, DOWN, LEFT, RIGHT - vstupy z Arduina
 +  * Bit1 a Bit2 - směr H-můstku
 +
 +{{:​2018:​balancer:​components.png?​400|}}
 +
  
  
Řádek 184: Řádek 194:
 Komunikace mezi arduinem a CC1101: SPI Komunikace mezi arduinem a CC1101: SPI
  
-Komunikace mezi Arduiem a deskou: jednoduchý přenos bitů přez piny. +Komunikace mezi Arduiem a deskou: jednoduchý přenos bitů přes piny. 
  
  
Řádek 192: Řádek 202:
  
 ==== 5) Testování ====  ==== 5) Testování ==== 
-I když byl H-můstek napájen z 9V baterie (která je ve specifikaci),​ nastal problém a přestal po chvilce fungovat. Pravděpodobně se spálil i když nic nezapáchalo či bylo horké. Naštěstí byly k dispozici tyto H-můstky 2. Tento můstek byl připojen na nižší napětí, než je specifikováno (5V z Arduino desky) ​a řízení fungovalo (všechny směry a oba motory). Poté byly připojeny všechny desky mezi sebou, pouze KL25Z byla napájena z USB. Motory se spínaly v závislosti na natočení desky (bohužel nebylo ještě pořízno video) - větší úhel než 0° zapnut jeden směr, menší úhel než 0° zapnut druhý směr (zatím není implementovaná PWM). Napájení bylo ponecháno a byly odpojeny řídící piny můstku. Bylo provedeno nahrátí nového kódu do desky. Po připojení pinů můstku do vývojové desky přestal můstek fungovat. Pouze LED diody na KL25Z změnily jas a LED dioda na H můstku zhasla. Poslední můstek byl zničen. ​+I když byl H-můstek napájen z 9V baterie (která je ve specifikaci),​ nastal problém a přestal po chvilce fungovat. Pravděpodobně se spálil i když nic nezapáchalo či bylo horké. Naštěstí byly k dispozici tyto H-můstky 2. Tento můstek byl připojen na nižší napětí a řízení fungovalo (všechny směry a oba motory). Poté byly připojeny všechny desky mezi sebou, pouze KL25Z byla napájena z USB. Motory se spínaly v závislosti na natočení desky (bohužel nebylo ještě pořízno video) - větší úhel než 0° zapnut jeden směr, menší úhel než 0° zapnut druhý směr (zatím není implementovaná PWM). Napájení bylo ponecháno a byly odpojeny řídící piny můstku. Bylo provedeno nahrátí nového kódu do desky. Po připojení pinů můstku do vývojové desky přestal můstek fungovat. Pouze LED diody na KL25Z změnily jas a LED dioda na H můstku zhasla. Poslední můstek byl zničen. ​
  
 Poté jsme přikročili k další části práce - vlastní napájecí zdroj pro vozítko. Kde nastal další problém, který ​ zabral spoustu času. Po připojení 9V baterie na pin Vin deska nijak nereagovala. Na videu lze vidět průběh napájecího napětí při připojené desce a při odpojené. Když byla připojená,​ napětí pokleslo z 9V na 8.72V a zobrazil se průběh jaký lze vidět na osciloskopu ve videu. Bohužel tento problém způsobil takové zpoždění,​ že projekt zůstal ve fázi testování. Poté jsme přikročili k další části práce - vlastní napájecí zdroj pro vozítko. Kde nastal další problém, který ​ zabral spoustu času. Po připojení 9V baterie na pin Vin deska nijak nereagovala. Na videu lze vidět průběh napájecího napětí při připojené desce a při odpojené. Když byla připojená,​ napětí pokleslo z 9V na 8.72V a zobrazil se průběh jaký lze vidět na osciloskopu ve videu. Bohužel tento problém způsobil takové zpoždění,​ že projekt zůstal ve fázi testování.
Řádek 204: Řádek 214:
 ---- ----
 ====  Závěr ====  ====  Závěr ==== 
-Při tvorbě ​projektu ​nastaly chyby, které znemožnily vytvoření finální verze a také videa zobrazujícího funkčnost. První problém nastal s H-můstkemkterý se spálil ​druhý problém nastal s napájením ​desky KL25ZI když jsme připojili 9V baterii na deskukterá podporuje maximálně 9V, deska nefungovalaPouze pokud bylo ivedeno napájení z USB. +projektu ​jsme získávali stabilizační parametry (z accelerometrumagnetometru ​gyroskopu) z přídavné ​desky pomocí komunikace I2CMezi deskami Arduina a CC1101 se používala komunikace SPI. Projekt byl tvořen ve vývojovém prostředí Codewarriorkde byl využit nástroj Processor ExpertDemonstrace funkčnosti úhlu natočení na šířce pulzu PWM lze pozorovat na iloženém videu. Šířka pulzu byla řízena PI regulátorem,​ jehož vstupem byly stabilizační parametry.
-Provedli jsme komunikaci pomocí sběrnic SPI a I2C+
  
-Byl pokus vytvořit vlastní H-můstek nejprve z diskrétnich tranzistorů BC337 a BC336, poté i s pomocí IGBT tranzistorů,​ ale nedostalo ​se funkčním vysledkům.  +Při tvorbě projektu nastaly chyby, které znemožnily vytvoření finální verze. První problém nastal s H-můstkem, který se pravděpodobně spálil a druhý problém nastal s napájením desky KL25Z. I když jsme připojili 9V baterii na desku, která podporuje maximálně 9V, deska nefungovala. Fungovala, pouze pokud bylo přivedeno napájení z USB. 
- +Byla snaha vytvořit vlastní H-můstek nejprve z diskrétnich tranzistorů BC337 a BC336, poté i s pomocí IGBT tranzistorů,​ ale nedosáhlo ​se funkčních vysledků. ​
-Na videu je demonstrace závislosti úhlu natočení na šířce PWM, která by se využila pro řízení motorů. Pokud je rozdíl úhlů velký, požadujeme dodání velké energie do motorů, aby chybu kompenzovali. +
- +
-Overkill docela.+
  
 Plán byl vytvořit celý model pomocí 3D tisku, ale na to nezbyl čas, kvůli událostem které nastaly při tvorbě projektu. ​ Plán byl vytvořit celý model pomocí 3D tisku, ale na to nezbyl čas, kvůli událostem které nastaly při tvorbě projektu. ​
- 
- 
  
 ---- ----
Řádek 230: Řádek 234:
 ====  Kód ====  ====  Kód ==== 
 Kód pro vysílač: Kód pro vysílač:
-https://​github.com/​DanielHubik/​MPOA/​tree/​master/​arduino-cc1101-master/​MPOA/​Tx_strana/​Tx_strana.ino+https://​github.com/​DanielHubik/​MPOA/​blob/​master/​arduino-cc1101-master/​MPOA/​Tx_strana/​Tx_strana.ino/​Tx_strana.ino.ino
  
 Kód pro příjmač: Kód pro příjmač:
-https://​github.com/​DanielHubik/​MPOA/​tree/​master/​arduino-cc1101-master/​MPOA/​Rx_strana+https://​github.com/​DanielHubik/​MPOA/​blob/​master/​arduino-cc1101-master/​MPOA/​Rx_strana/​Rx_strana.ino 
 + 
 +Kód pro MCU (Codewarrior):​ 
 +https://​github.com/​DanielHubik/​MPOA
 ---- ----
2018/balancing-robot.1547488926.txt.gz · Poslední úprava: 2019/01/14 19:02 autor: Daniel Hubík