• Rezultati Niso Bili Najdeni

Mikrokrmilnik

In document RAZVOJ ELEKTRONIKE ZAFESPIRATOR V3 (Strani 54-60)

4.3 Komunikacija z GUI preko povezave UART

4.4.1 Mikrokrmilnik

Za mikrokrmilnik smo izbrali STM32G474CE [18] [19] podjetja STMicroelectronics, saj so že verzijo 2 naredili z razvojnim sistemom NUCLEO STM32G474RE za krmilnik, ki uporablja ta mikrokrmilnik, le v LQFP64 (64-pinskem) ohišju, kar označuje oznaka RE. Ker nismo potrebovali toliko vhodov in izhodov za to aplikacijo, smo uporabili mikrokrmilnik v LQFP48 (48-pinskem) ohišju, kar označuje oznaka CE. Razlog za izbiro enakega mikrokrmilnika, le v drugem ohišju, je lažji prenos kode iz enega na drugega.

Dodatna dobra lastnost mikrokrmilnikov STM32 je ta, da imajo znotraj istih družin velikokrat zelo podobne ali celo enake razporeditve funkcij na priključke, tako da se lahko uporabi drug mikrokrmilnik, le potrebno je programsko kodo spremeniti na novi mikrokrmilnik, kar ne predstavlja večjih težav, saj je inicializacija enaka. Znotraj družine STM32G4 so za nadomestitev STM32G474CE primerni:

35

Ker že za prototipno vezje ni bilo več na voljo STM32G474CE, smo uporabili STM32G483CE.

Za pravilnejši takt delovanja mikrokrmilnika smo dodali kristalni oscilator s frekvenco osciliranja pri 24 MHz. To vrednost smo vzeli iz kristalnega oscilatorja na NUCLEO razvojnem sistemu za verzijo 2. Izbrali smo oscilator ABM8G-24.000MHZ podjetja Abracon. Kristalni oscilatorji potrebujejo za delovanje kondenzator primerne velikosti na vsaki strani oscilatorja.

Za ta kristal sta bila potrebna keramična kondenzatorja vrednosti 18 pF ter z negotovostjo kapacitivnosti 30 ppm (ang. parts per million).

Slika 23: Shema vezave kristalnega oscilatorja.

Uporabljeni mikrokrmilnik ima tri priključke za napajanje poimenovane VDD ter za vsakega svoj priključek VSS, ki je povezan na GND. Na vsakega od teh priključkov za napajanje smo dodali blokirni kondenzator, ki zmanjša jakost elektromagnetnih motenj, ki bi jih sicer proizvajale linije za napajanje mikrokrmilnika. Za blokirne kondenzatorje smo uporabili navadne keramične 100 nF kondenzatorje. Poleg teh smo dodali še 10 µF keramični kondenzator velikosti 1206, ki preprečuje prevelik padec napetosti napajanja ob pulzni porabi mikrokrmilnika (v stroki se uporablja izraz bulk kondenzator). Dodan ima tudi priključek VBAT, ki je namenjen baterijskemu napajanju mikrokrmilnika. Ker ga nismo uporabili, smo nanj vezali 100 nF keramični kondenzator. Za analogno napajanje vezja smo uporabili

36 napajanje 3,3 V, ki smo ga dodatno filtrirali z uporabo feritnega jedra. Ta zaduši visokofrekvenčne motnje. Prav tako smo za feritnim jedrom dodali pri analognem napajanju še 10 µF in 100 nF keramična kondenzatorja z enakim namenom kot prej, ampak vezana med analogno napajanje ter analogni GND. Tu smo dodali še stik med navadnim GND in analognim GND. Ta ne predstavlja komponente na vezju, ampak zgolj povezavo, saj mi je bilo tako lažje narisati tiskano vezje.

Za stabilnost in pravilnost referenčne napetosti, ki je potrebna pri pretvorbi ADC (analogno-digitalni), smo nanjo dodali kondenzator za glajenje ter feritno jedro za filtriranje visokofrekvenčnih motenj.

Slika 24: Blokirni in ˝bulk˝ kondenzatorji ter shematski stik med AGND in GND.

Za nalaganje programske kode na mikrokrmilnik je potreben priključek, ki je pravilno povezan na mikrokrmilnik, ali pa modul za razhroščevanje, kot je ST-LINK V3MODS. Tu smo dodali obe verziji. Za 6x1 priključek smo uporabili standardno konfiguracijo za Nucleo ST-LINK/V2.

Ta konfiguracija je uporabljena na razvojnih sistemih NUCLEO, ki imajo dodano možnost uporabe sistema kot razhroščevalnika in programatorja za ostala vezja. Za omejitev toka čez linije smo na vsako dodali še 100 Ω serijski upor za omejitev toka ob napaki.

Slika 25: Shema povezave 6x1 priključka na mikrokrmilnik za programiranje preko Nucleo ST-LINK/V2.

37 Za povezavo na ST-LINK V3MODS so potrebne dodatne povezave in namreč vse potrebne povezave za 5-polno povezavo JTAG ter povezava UART. V3MODS ponuja dodatne možnosti za preverjanje povezav, ki jih nismo uporabili in so zato nepovezane. Pri povezavi za USART1 sem na shemi in vezju naredil napako, saj sta bili liniji Rx in Tx obratno povezani na V3MODS.

To napako smo reševali naknadno pri sestavi in testiranju vezja.

Slika 26: Shema povezave mikrokrmilnika na ST-LINK V3MODS. Na tej shemi je napačno povezan USART1, Rx in Tx bi morali biti povezani obratno.

Pri nalaganju programske kode je pomembno stanje na priključku BOOT0 mikrokrmilnika, saj njegovo stanje definira, kako bo zapisan program. Tu smo dodali možnost ali plavajočega priključka ali povezanega na GND z uporabo kratkostičnika na GND. To pravzaprav ni nujno potrebno in bi lahko povezal BOOT0 na GND preko serijskega upora.

Če se programska koda še ureja, se lahko zgodi, da je potrebno strojno ponastaviti mikrokrmilnik, zato smo na priključek NRST dodali tipko proti GND z dvižnim uporom vrednosti 1 kΩ na 3,3 V. Tu smo dodali še ESD zaščita.

Slika 27: RESET tipka za strojno ponastavitev mikrokrmilnika.

38 Mikrokrmilnik ima povezave na vse signale, ki so potrebni za delovanje. Razporeditev krmilnih povezav in signalov so predstavljene v Tabela 2 in vse povezave na Slika 28.

Tabela 2: Povezave vhodov in izhodov mikrokrmilnika.

Oznaka priključka

Številka

priključka Ime signala Funkcija Opis

PA0 8 PWR2 vhod predstavlja prisotnost omrežne

napetosti

PA4 12 POSITION ADC2_IN17 analogni signal za senzor

pozicije motorja

PA10 32 PWR1 vhod predstavlja prisotnost baterijske

napetosti

PA11 33 USB_N USB_D+ diferencialno vodilo za

povezavo USB

PA12 34 USB_P USB_D- diferencialno vodilo za

povezavo USB

PA13 37 JTMS/SWDIO razhroščevanje za razhroščevanje, povezan na ST-LINK V3MODS in 6x1 priključek za ST-LINK/V2 PA14 38 JTCK/SWCLK razhroščevanje za razhroščevanje, povezan na

ST-LINK V3MODS in 6x1 priključek za ST-LINK/V2

PA15 39 JTDI razhroščevanje za razhroščevanje, povezan na

ST-LINK V3MODS

39 PB4 41 NJTRST razhroščevanje za razhroščevanje, povezan na

ST-LINK V3MODS

PB5 42 USB_sens vhod zaznava, če je priključena

naprava preko priključka USB

PB6 43 USART1_TX USART1 za razhroščevanje, povezan na

ST-LINK V3MODS

PB7 44 USART1_RX USART1 za razhroščevanje, povezan na

ST-LINK V3MODS

PB8 45 BOOT0 način nalaganja

kode

poljubno vezan na GND preko kratkostičnika

PB9 46 BUZZ PWM_TIM4_CH4 za krmiljenje piskača s

signalom PWM

PB10 22 ON/OFF vhod zaznavanje stanja tipke za

prižiganje in ugašanje sistema

PB11 25 TIPKA LED izhod za upravljanje svetleče diode v

tipki za prižiganje in ugašanje

PB12 26 FDCAN_RX FDCAN2 komunikacija z motorjem preko

vodila CAN

PB13 27 FDCAN_TX FDCAN2 komunikacija z motorjem preko

vodila CAN

PB14 28 FLOW ADC4_IN4 analogni signal senzorja za

pretok

PB15 29 PRESS ADC4_IN5 analogni signal senzorja za tlak

40 Slika 28: Shema povezav mikrokrmilnika.

In document RAZVOJ ELEKTRONIKE ZAFESPIRATOR V3 (Strani 54-60)