Elektrotehniški vestnik 84(3): 133-139, 2017 Izvirni strokovni članek Uporaba razvojnega sistema Red Pitaya v programu srednjega strokovnega izobraževanja (SSI) elektrotehnik Borut Pogačnik Šolski center Kranj, Srednja tehniška šola, Kidričeva 55, 4000 Kranj, Slovenija E-pošta: borutpogacmk@guestarnes.si Povzetek. V članku je opisana uporaba merilnega in krmilnega sistema Red Pitaja v programu srednješolskega izobraževanja smer elektrotehnik. V uvodu je na kratko predstavljena strojna in programska oprema razvojnega sistema Red Pitaya. V prvem delu sta prikazana povezovanje Red Pitaye v omrežje šolskih računalnikov in način dostopanja do ukazne vrstice na Red Pitayi s pomočjo povezave SSH. Red Pitaya se lahko uporablja kot merilni sistem in lahko nadomesti določene merilne instrumente, kot so osciloskop, spektralni analizator, meter LCR in signalni generator. V jedru je opisano delovanje prosto dostopne spletne aplikacije signalnega generatorja in osciloskopa ter prikazan tudi razvoj lastnih aplikacij v programskem jeziku C za Red Pitayo kot so: utripanje diode LED na razvojnem sistemu Red Pitaya, vklop diode LED na Red Pitayi s pomočjo zunanje tipke, merjenje analogne napetosti na počasnih analognih izhodih in nastavitev analogne napetosti na počasnih analognih izhodih. V članku je predstavljen tudi razvoj lastne aplikacije za merjenje karakteristik polprevodniških elementov, kot so dioda, bipolarni tranzistor in tranzistor MOS FET. Merjenje karakteristik je razdeljeno na več korakov, kot so: zasnova in izvedba merilnega sistema, razvoj programske kode v programskem jeziku C, prenos programa na razvojni sistem Red Pitaye in izvršitev programa ter ustrezna obdelava rezultatov meritev v programu za risanje diagramov gnuplot. Ključne besede: Red Pitaya, programski jezik C, merilni sistem, karakteristike polprevodniških elementov The use of the Red Pitaya Development System in a Secondary Vocational Education Programme for the Technician of Electrical Engineering The paper presents the use of the Red Pitaya development system in a secondary vocational education programme for electrical engineering. In the introduction, the Red Pitaya hardware and software are shortly described. In part one, integration of Red Pitaya into a school computer network and ways of accessing the command on Red Pitaya using SSH are shown. Red Pitaya can be used as a measuring system and can replace certain measuring instruments, such as oscilloscope, spectrum analyser, LCR metre and signal generator. The focus of the paper is on operation of a free-access web app of a signal generator and oscilloscope as well as development of own apps in the C programming language for Red Pitaya, such as LED-diode pulsation in the Red Pitaya development system, activation of a LED diode in Red Pitaya using an external button, measuring of an analogue voltage at slow analogue outputs and setting of an analogue voltage at slow analogue outputs. An insight is given in the development of own app for measuring the characteristics of the semiconductor elements like a diode, bipolar transistor and MOS FET transistor. The characteristics are measured at several phases, such as conception and setting-up a measuring system, development of the programme code in the C programming language, transfer of the programme to Red Pitaya, execution of the programme and processing of the measurement results in the diagram drawing-software gnuplot. Keywords: Red Pitaya, C programming language, measurement system, characteristics of semiconductor elements 1 Osnovne značilnosti Red Pitaye V članku je opisana uporaba merilnega in krmilnega sistema Red Pitaya v programu srednješolskega izobraževanja smer elektrotehnik. Dijaki v modulu Uporaba programirljivih naprav (UPN) spoznajo osnove programskega jezika C, kar je tudi osnova za delo s sistemom Red Pitaya. Predstavitev sistema Red Pitaya je bila izvedena v naslednjih korakih: osnovne značilnosti sistema, predstavitev strojne in programske opreme, osnovni koraki priprave Red Pitaye za uporabo, predstavitev spletnih aplikacij osciloskopa in signalnega generatorja, razvoj osnovnih aplikacij ob katerih se dijaki seznanijo s konkretnim programiranjem sistema in prikaz merjenja karakteristik polprevodniških elementov s sistemom Red Pitaya. Razvojni sistem Red Pitaya vsebuje visokozmogljivo strojno in odprtokodno programsko opremo, ki jo lahko uporabnik prenese s spletne strani Red Pitaye (redpitaya.com). Red Pitaya lahko nadomesti določene merilne instrumente, kot so osciloskop, spektralni Prejet 16. februar, 2017 Odobren 3. maj, 2017 134 POGAČNIK analizator, signalni in meter LCR, uporabnik pa lahko pripadajoče aplikacije za samo delovanje omenjenih instrumentov naloži na sistem Red Pitaya z Bazzarja (bazarr.redpitaya.com). Do samega sistema lahko dostopamo z omrežjem LAN ali brezžičnim dostopom iz kateregakoli spletnega brskalnika prek tablice ali osebnega računalnika, ne glede na operacijski sistem (MAC, Linux, Windows, Android, iOS, ...). Jedro Red Pitaye je Xilinxov sistem Zynq 7010 Soc, ki je sestavljen iz 32 bitnega procesorja ARM dual-core Cortex-A9 in bloka FPGA (angl. Field Programmable Gate Array). Extension connector E1 Extension connector E2 GND GND GND GND (> (C NC Ext. ADC CLK- Ext ADC CLK+ (> JC NC GND GND h (C NC Analog output 3 Analog output 2 DI07 N DI07 P Analog output 1 Analog output 0 DI06 N DI06 P Analog input 3 Analog input 2 DI05 N DI05 P Analog input 1 Analog input O DI04 N DI04 P GND Ext. com. mode (GND) DI03 N DI03 P I2C SDA BC SCL DI02 N DI02 P UART RX UART TX DI01 N DI01 P SPI CS SPI CLK DIOO N DIOO P(EXTTRIG) SPI MISO SPI MOSI +3V3 +3V3 R1 10 k +3.3V El(pinl) Slika 6: Meritev napetosti na analognem izhodu AO3 3 Merjenje U-I karakteristike diode Dioda je polprevodniški element, katerega osnovna lastnost je, da prevaja električni tok le v eni smeri. 3.1 Predstavitev merilnega vezja za merjenje U-I karakteristike diode Na sliki 7 je prikazano merilno vezje za merjenje U-I karakteristike v prevodni smeri. Slika 5: Vezalni načrt za meritev analogne napetosti V tem primeru je predstavljeno merjenje analogne napetosti na počasnem analognem vhodu Red Pitaye (AI3 - analog input 3). S pomočjo potenciometra R1 nastavimo napetost na analognem vhodu v območju od 0 do 3,3 V. Napetost na danem analognem vhodu zmeri Red Pitaya s klicem funkcije rp_ApinGetValue, ki je vsebovana v standardni knjižnici razvojnega sistema Red Pitaya. Slika 7: Merilno vezje za merjenje U-I karakteristike diode Merilno vezje je sestavljeno iz razvojnega sistema Red Pitaya, napetostno-tokovnega pretvornika (LM324 1/1) in enosmernega seštevalnega ojačevalnika (LM324 1/4). Naloga napetostno tokovnega pretvornika je, da vhodno napetost (AO3) pretvori v električni tok skozi diodo D1, ki je verna slika vhodne napetosti. Ob upoštevanju idealnega operacijskega ojačevalnika (u+ = u-, i- = 0) je zveza med tokom skozi diodo D1 in vhodno napetostjo podana z enačbo (1) u,„ (1) 1D = R 136 POGAČNIK Tok skozi diodo D1 je proporcionalen vhodni napetosti, neodvisen od bremena (diode), zato se vezje obnaša kot primeren napetostno tokovni pretvornik. Delovanje enosmernega seštevalnega ojačevalnika nazorno podaja enačba (2) Napetostno ojačenje Au neinverirajočega ojačevalnika izračunamo po enačbi (3) u = u1 — u2 pri pogoju, da je u1 > u2 (2) Au = 1 + R . (3) Na analognem izhodu (AO3) Red Pitaya programsko nastavlja napetost od 0 do 1,8 V, korak nastavitve je 0,1 V. Napetostno tokovni pretvornik to napetost pretvori v tok skozi diodo D1, v območju od 0 do 18 mA, ki ga določimo s pomočjo enačbe (1). Vrednost upora R smo določili na 100 Q. S pomočjo enosmernega seštevalnega ojačevalnika dobimo napetost na diodi D1, ki jo izmeri Red Pitaya na analognem vhodu (AI0). 3.2 Predstavitev merilnega postopka za merjenje U-I karakteristike V urejevalniku (Vim) napišemo programsko kodo v programskem jeziku C, ta bo nastavila želeno napetost na analognem izhodu (AO3) in izmerila napetost na analognem vhodu (AI0). Posamezni koraki so enaki, kot pri utripanju diode LED na Red Pitayi, ki so opisani v poglavju 3.1. Razlika je samo v imenu objektne in izvršljive datoteke. Po izvršitvi programa dioda dobimo rezultate meritve, ki jih prikažemo v diagramu s pomočjo programa Gnuplot. Izmerjena U-I karakteristika diode BA157 je prikazana na sliki 8. V merilnem vezju na sliki 8 sta upornosti R1 in R2 enaki in imata vrednosti 10 kQ. Ud (V) Slika 8: U-I karakteristika diode BA157 Slika 9: Merilno vezje za merjenje vhodne karakteristike bipolarnega tranzistorja Na analognem izhodu 3 (AO3) se programsko nastavi napetost v območju od 0 do 1,8 V, ki se ojači z neinvertirajočim ojačevalnikom in na izhodu dobimo napetost Uce v območju od 0 do 3,6 V. Pri merjenju vhodne karakteristike bipolarnega tranzistorja mora biti napetost UCE konstantna. Na analognem izhodu 2 (AO2) se programsko nastavi napetost v območju od 0 do 1,8 V, korak nastavitve je 0,1 V, kar posredno pomeni, da nastavljamo bazni tok tranzistorja. Bazni tok tranzistorja se izračuna v programu po enačbi (4): 4 Merjenje vhodne in izhodnih KARAKTERISTIK BIPO. TRANZISTORJA Bipolarni tranzistor je polprevodniški element, ki ga lahko uporabimo kot ojačevalnik ali kot stikalo. 4.1 Predstavitev merilnega vezja za merjenje vhodne karakteristike tranzistorja Na sliki 9 je prikazano merilno vezje za merjenje vhodne karakteristike bipolarnega tranzistorja. Merilno vezje je sestavljeno iz razvojnega sistema Red Pitaya in neinverirajočega ojačevalnika (LM324 1/2). U — U T _ UAO2 UBE 1 = Rr (4) Napetost UBE se izmeri z Red Pitayo na analognem vhodu 3 (AI3). V vezju se meri tudi napetost Uce na analognem vhodu 2 (AI2), da se preverja, ali je napetost UCE ves čas meritev konstantna. UPORBA RAZVOJNEGA SISTEMA RED PITAYA V PROGRAMU SSI ELEKTROTEHNIK 137 4.2 Predstavitev merilnega postopka za merjenje vhodne karakteristike tranzistorja Posamezni koraki so enaki kot pri utripanju diode LED na Red Pitayi, ki so opisani v poglavju 3.1. Razlika je samo v imenu objektne in izvršljive datoteke. Po izvršitvi programa vh_karak dobimo rezultate meritve, ki jih prikažemo v diagramu s pomočjo programa Gnuplot. Izmerjena vhodna karakteristika tranzistorja BC237 je prikazana na sliki 10. Slika 10: Vhodna karakteristika tranzistorja BC237 Slika 11: Merilno vezje za merjenje izhodnih karakteristik Napetosti Uce pri posameznih kolektorskih tokovih se izmerijo na analognem vhodu 1 (AI1). Posamezni koraki pri merjenju izhodnih karakteristik tranzistorja so enaki kot pri utripanju diode LED, ki so opisani v poglavju 3.1. Razlika je samo v imenu objektne in izvršljive datoteke. Izmerjene izhodne karakteristike tranzistorja so prikazane na sliki 12. 4.3 Predstavitev merilnega vezja za merjenje izhodnih karakteristik tranzistorja Na sliki 11 je prikazano merilno vezje za merjenje izhodnih karakteristik bipolarnega tranzistorja. Merilno vezje je sestavljeno iz razvojnega sistema Red Pitaya, neinvertirajočega ojačevalnika (LM324 1/1) in enosmernega seštevalnega ojačevalnika (LM324 1/4). Delovanje neinvertirajočega ojačevalnika opisuje enačba (3), delovanje enosmernega seštevalnega ojačevalnika opisuje enačba (2). Na analognem izhodu 2 (AO2) se programsko nastavi štiri različne napetosti v obsegu od 0 do 1,8 V, kar posredno pomeni, da se nastavijo štirje različni bazni tokovi, pri katerih se potem izmeri izhodna karakteristika Ic(Uce). Bazni tok tranzistorja se določi po enačbi (4). Različne napetosti Ube meri Red Pitaya na analognem vhodu 2 (AI2). Na analognem izhodu 3 (AO3) nastavljamo napetost v območju od 0 do 1,8 V (korak nastavitve je 0,1 V) in jo ojačimo z neinvertirajočim ojačevalnikom (Au = 2). Na izhodu enosmernega seštevalnega ojačevalnika dobimo napetost na kolektorskem uporu (Urc), ki jo meri Red Pitaya na analognem vhodu 0 (AI0). Kolektorski tok se izračuna v programu na podlagi izmerjene napetosti Urc po enačbi (5): t ,_,--« «BC237 IB-konst. —•— - ..V .....................- ~ j/' .........i............- - 0 0.5 1 1.5 2 2.5 3 3.5 UCE (V) Slika 12: Izhodne karakteristike tranzistorja Bc237 (lB1=43mA, Ib2=48 mA, lB3=67mA, lB4=86mA) 5 Merjenje karakteristik tranzistorja MOS FET Z INDUCIRANIM KANALOM 5.1 Predstavitev merilnega vezja za merjenje karakteristik MOSFET-a Na sliki 13 je prikazano merilno vezje za merjenje prenosne karakteristike Id(Ugs) tranzistorja MOSFET z induciranim n kanalom. ■ _Uc c = R (5) 138 POGAČNIK Slika 13: Merilno vezje za merjenje karakteristik tranzistorja MOSFET Pri merjenju prenosne karakteristike Id(Ugs) se na analognem izhodu 3 (AO3) programsko nastavi napetost, ki se ojači z ojačevalnikom LM324 1/1 (Au = 2) in je ves čas meritve konstantna (Ui na izhodu LM324 je 3V). Na analognem izhodu 2 (AO2) Red Pitaya nastavlja napetost v območju od 0 do 1,8 V, ki se nato ojači z ojačevalnikom LM324 1/2, tako se nastavlja napetost Ugs v območju od 0 do 3,6 V, ki se meri na analognem vhodu 2 (AI2). Pri nastavljenih napetostih Ugs se meri tok Id, in sicer posredno prek izmerjene napetosti URD na analognem vhodu 0 (AI0). Tok Id se izračuna v programu, ki se izvaja na Red Pitayi po enačbi (6): T _URD 1 n — Za merjenje izhodne karakteristike Id(Uds) pri konstantni napetosti UGS lahko uporabimo merilno vezje na sliki i3 z ustreznimi popravki v programu, ki se izvaja na RedPitayi. Na analognem izhodu 2 (AO2) se nastavi napetost (0 do 1,8 V), ki se nato ojači z ojačevalnikom LM324 1/2 (Au = 2) in dobimo napetost UGS, ki je pri merjenju dane izhodne karakteristike Id(Uds) konstantna. Konstantna napetost Ugs se meri na analognem vhodu 2 (AI2). Pri konstantni napetosti UGS se potem preko ojačevalnika LM324 1/1 nastavlja napetost v območju od 0 do 3,6 V, korak nastavitve je 0,i V. Posamezne tokove Id dobi program posredno preko napetosti na izhodu enosmernega seštevalnika (Urd), ki se izmeri na analognem vhodu 0 (AI0). Na podlagi izmerjene napetosti Urd izračuna program tok Id po enačbi (6). Napetosti Uds pri posredno izmerjenih tokovih Id se merijo na analognem vhodu i (AIi). Rezultati meritev izhodnih karakteristik Id(Uds) so prikazani na sliki 15. ! - ^ ...........|...........- UDS (V) Rr (6) Slika 15: Karakteristike Id(Uds) MOSFET-a (Ugs=2,34V, Ugs=2.47V, Ugs=2,56V, Ugs=2,65V) Za kontrolo meri Red Pitaya še napetost na analognem izhodu 2 (AO2) prek analognega vhoda 3 (AI3) in napetost Uds prek analognega vhoda 1 (AIi). Rezultati meritve prenosne karakteristike Id(Ugs) so prikazani na sliki i4. Slika 14: Karakteristika ID(UGS) tranzistorja MOSFET z induciranim n kanalom 6 Uporabnost sistema Red Pitaya v PROGRAMU SSI ELEKTROTEHNIK Čeprav smo imeli samo eno razvojno ploščico Red Pitaja, ki smo jo povezali v omrežje šolskih računalnikov, smo lahko uspešno opravili vse v članku opisane naloge. Vaje so bilo organizirane tako, da sledijo načelu od enostavnejšega h kompleksnejšemu. Primeri preprostih vaj so utripanje diode LED na Red Pitayi, vklop diode LED na Red Pitayi z zunanjo tipko, branje analogne napetosti na počasnem analognem vhodu (AI) in nastavitev napetosti na počasnih analognih izhodih. Zahtevnejši primeri so merjenje karakteristik osnovnih polprevodniških elementov kot so dioda, bipolarni tranzistor in tranzistor MOSFET. Dijake sem v uvodnih urah seznanili z osnovnimi značilnostmi Red Pitaye in predstavil tudi primerjavo z drugimi razvojnimi sistemi, kot sta npr. Arduino in Raspberry PI. V nadaljevanju so se dijaki seznanili z operacijskim sistemom Linux in strukturo datotečnega sistema UPORBA RAZVOJNEGA SISTEMA RED PITAYA V PROGRAMU SSI ELEKTROTEHNIK 139 Ubuntu ter osnovnimi ukazi za delo v terminalu. Osnove programskega jezika C so dijaki že spoznali, zato sem jim samo predstavil in razložil knjižnico API (application programming interface), ki je na spletni strani Red Pitaye (libdoc.redpitaya.com/rp 8h.html). Ob demonstraciji primera utripanja diode LED na Red Pitayi sem podrobno predstavil vse korake, ki so potrebni za razvoj aplikacij od priprave izvorne datoteke v programskem jeziku C do izvršljive datoteke, ki jo prenesemo na Red Pitayo in preverjanje pravilnosti delovanja programa na samem sistemu. Ostale tri preprostej še primere so nato dijaki samostojno opravili brez večjih težav. V zadnjem sklopu vaj je bilo prikazano avtomatizirano merjenje karakteristik polprevodniških elementov. Dijakom so bila predstavljena in razložena posamezna merilna vezja ter način merjenja tokovno napetostnih karakteristik. Pri merjenju karakteristik z merilnim sistemom Red Pitaya vir napetosti nadomesti analogni izhod, električni tok pa pretvorimo v električno napetost, ki jo izmerimo (preberemo) na analognem vhodu in s programom tok izračunamo po enačbi I = U/R. Razvojni sistem Red Pitaya je uporaben za poučevanje različnih področij elektrotehnike na različnih stopnjah izobraževanja od srednje šole pa do univerzitetnega študija. V okviru modula UPN je bil glavni cilj uporabe razvojnega sistema Red Pitaya, da se dijaki naučijo osnovnih korakov programiranja v programskem jeziku C. Ob aplikaciji merjenje karakteristik polprevodniških elementov, dijaki pridobijo različna teoretična in praktična znanja s področja elektrotehnike in računalništva. V nadaljevanju lahko dijaki Red Pitayo uporabijo tudi za priklop različnih elektronskih sklopov, predvsem senzorjev in aktuatorjev. Viri in literatura [1] Navodila za uporabo Red Pitaye: http://wiki.redpitaya.com/index.php?title=Main_Page (Datum dostopa 7.2.2017). [2] Primeri aplikacij za Red Pitayo: http://redpitaya.com/examples-new/ (Datum dostopa 7.2.2017). [3] S. Amon, Senzorji in aktuatorji. Ljubljana: Fakulteta za elektrotehniko, 2013 Dosegljivo: http://lms.fe.uni-lj.si/amon/knjiga/Senzorji in aktuatorji.pdf (Datum dostopa 7.2.2017). [4] R. Lorencon, Elektronski elementi in vezja. Ljubljana: Studio Maya, 1996. [5] Osnovni Linux ukazi: https://www.ubuntu.si/linux-ukazi/ (Datum dostopa 7.2.2017). Borut Pogačnik je diplomiral leta 2004 in magistriral leta 2016 na Fakulteti za elektrotehniko v Ljubljani. Zaposlen je kot učitelj strokovno-teoretičnih predmetov na Srednji tehniški šoli Šolskega centra Kranj.