Electronica Azi Hobby nr 2 - 2015

32
APRILIE, 2015 - NR. 2 VOL. 3 PREţ: 10 LEI

description

A aparut noul numar al revistei Electronica Azi- Hobby

Transcript of Electronica Azi Hobby nr 2 - 2015

Page 1: Electronica Azi Hobby nr 2 - 2015

APRILIE, 2015 ­ NR. 2VOL. 3

PREţ: 10 LEI

Page 2: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

2

DESIGN HOBBY

4 Bare ConductiveIntersecţie între proiectare, tehnologie şi ştiinţa materialelorÎn cadrul Bare Conductive au fost proiectate şi fabricate o gamă de tehnologii ce permit conectarea electrică a oricăror suprafeţe, obiecte sau spaţii la lumea digitală. Aceste tehnologii sunt prezentate la ora actuală sub forma unor produse şi proiecte cu parteneri industriali. Produsele se încadrează în trei categorii: materiale, hardware şi kit-uri. Vopseaua electrică este o vopsea conductivă electric ce face posibilă desenarea unui circuit, lipirea la rece a unor componente sau transformarea oricărei suprafeţe într-un senzor. Touch Board (placa tactilă) este un dispozitiv hardware ce poate transforma informaţia de la senzorii realizaţi cu Vopseaua Electrică în sunet, lumină sau date în cloud. Gama de kit-uri oferite doreşte să prezinte proiecte actuale şi de viitor către utilizatori, indiferent de nivelul lor de experienţă.

12 Automatizare casnică cu Raspberry Pi şi un ecran tactilMemorarea comutatoarelor care controlează iluminarea pentru fiecare sursă de lumină din casă poate fi dificilă uneori, în special atunci când sunt implicate comutatoare cu 3 căi sau sisteme mai complicate. Combinând această complexitate cu versatilitatea uimitoare a sistemelor de automatizare casnică, se poate observa că simplele comutatoare încep să limiteze potenţialul de control total al mediului de iluminare.

14 Transmiterea informațiilor la distanță cu ajutorul unui robot controlat radioPrincipalul scop al acestui proiect este prezentarea unei mo da lități de trans mi tere a unor informații importante, atât analo gice cât și digitale, cu ajutorul unui robot explorator, care folosește o electronică complexă și un set de senzori pentru a servi acest scop

18 Detector de fază non-contact UNI-T

18 Tahometru digital UT372, conexiune USB

19 Termometru cu infraroşu UNI-T UT305C

20 Transmitere de energie wireless şi monitorizare în timp realProiectul realizat de noi, este un exemplu de monitorizare a curentului electric transmis wireless prin intermediul a două bobine. Proiectul a fost realizat în laboratorul InGear din cadrul şcolii de electronică aplicată EAP.

26 Tester de baterii şi acumulatoriTesterul de baterii şi acumulatori este un dispozitiv ce poate descărca o baterie sau un acumulator cu un curent ce poate fi setat în mod automat printr-o interfaţă prietenoasă şi poate salva toate datele într-un fişier Excel.

EURO STANDARD PRESS 2000 srlTel.: +40 (0) 31 8059955Mobil: 0722 [email protected]

CUI: RO3998003J03/1371/1993

ManagementDirector General - Ionela GaneaDirector Editorial - Gabriel NeaguDirector Economic - Ioana ParaschivPublicitate - Irina Ganea

Revista Electronica Azi- HOBBYapare de 6 ori pe an.

Revista este publicată numai în format tipărit.

Preţul revistei este de 10 Lei.Preţul unui abonament pe 1 aneste de 60 Lei.

2015©Toate drepturile rezervate.

Colaboratori:Ing. Emil Floroiu - [email protected]. Daniel Rosner - [email protected]. Drd. Ing. Răzvan Tătăroiu [email protected]. Dr. Ing. Alexandru Radovici [email protected]Șl. Dr. Ing. Dan Tudose [email protected] Trancă [email protected]

Daniel Ghiţă - [email protected] Sârbu - [email protected] Niculescu - [email protected]ătălina Platon - [email protected] Istrate - [email protected] Mateşică - [email protected] Calciu - [email protected]

Tiparul executat la Tipografia Everest

Redacţie:[email protected]

SumarRevista Electronica Azi Hobby poate ficumpărată de lapartenerii noştri:

Direct de la magazinele:

CONEX ELECTRONIC - BucureştiStr. Maica Domnului nr. 48, Sector 2Tel.: [email protected]@conexelectronic.rowww.conexelectronic.ro

Sau online de la:

O’BOYLE - TimişoaraTel. +40 [email protected]

O parte din articolele prezentate în aceastăediţie au fost realizate de către tineriipasionaţi din cadrul laboratoarelor:

ROBOLAB - wonderbots.cs.pub.ro

Câştigaţi cu Electronica Azi Hobby

Trimiteţi la redacţie proiectul unei aplicaţii practice şi aveţişansa de a câştiga un sistem de evaluare şi dezvoltare

“ENERGY-HARVEST-RD” de la Silicon Labs.

Page 3: Electronica Azi Hobby nr 2 - 2015
Page 4: Electronica Azi Hobby nr 2 - 2015

NOU: VOPSEA CONDUCTIVĂ ELECTRICIdeală pentru numeroaseutilizări, de la proiecte creativepână la proiecte tehnice.Vopseaua conductivă sepoate folosi pe post de con-ductor lichid sau chiar caadeziv conductor, nemaifiindnevoie de aparate de lipit.

● Status RoHS Conform ● Nr. stoc RS 835-2699 / Cod de producător SKU-0001 (10 ml)● Nr. stoc RS 835-2693 / Cod de producător SKU-0209 (50 ml)

Caracteristici● Conductor electric● Se poate folosi pe mai multe materiale, cum ar fi hârtie, plastic,

ţesătură şi componente electronice convenţionale ● Nu este toxică, nu conţine solvenţi şi este solubilă în apă● Se usucă la aer● Funcţionează cu surse de

alimentare cu c.c. de joasă tensiune

● Schimbă interfaţa microcontroleruluiîntr-un mod unic

● Se poate folosi ca potenţiometru

Exemple de aplicaţii ce utilizează vopseaua conductivăUtilizarea unui creioncu Vopsea Electricăpentru a crea uncircuit pe aproapeorice suprafaţă. Strângând uşor tubulde vopsea, se vadispersa un strat sub -ţire de material. Dupăce se lasă să se usucetimp de 15 minute se poate începe testarea. Ceea ce creaţi nutrebuie neapărat să arate ca o schemă de circuit. Vopseaua Electricăpoate crea circuite care să aibă un mesaj electric, dar şi unul vizual.

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

4

În cadrul Bare Conductive au fost proiectate şi fabricate ogamă de tehnologii ce permit conectarea electrică aoricăror suprafeţe, obiecte sau spaţii la lumea digitală.Aceste tehnologii sunt prezentate la ora actuală sub formaunor produse şi proiecte cu parteneri industriali.Produsele se încadrează în trei categorii: materiale,hardware şi kit-uri.Vopseaua electrică este o vopsea conductivă electric ce face posibilă desenarea unuicircuit, lipirea la rece a unor componente sau transformarea oricărei suprafeţe într-unsenzor. Touch Board (placa tactilă) este un dispozitiv hardware ce poate transformainformaţia de la senzorii realizaţi cu Vopseaua Electrică în sunet, lumină sau date încloud. Gama de kit-uri oferite doreşte să prezinte proiecte actuale şi de viitor cătreutilizatori, indiferent de nivelul lor de experienţă.

Bare Conductiveintersecţie între proiectare, tehnologie

şi ştiinţa materialelor

Page 5: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

5

BARE CONDUCTIVE

Vopseaua Electrică este perfectă pentru a realiza lipirea unorconexiuni sau pentru reparaţii într-o varietate mare de scenariiunice. Fie că ataşaţi o componentă through hole (THT) pe uncircuit imprimat PCB, fie că înlocuiţi ciocanele de lipit în mediuleducaţional sau ataşaţi o componentă la un suport sensibil latemperatură, Vopseaua Electrică lucrează ca un adeziv conductiveficient.

E-textile prezintă aplicaţii minunate pentru Vopseaua Electrică.Tubul de vopsea de tip creion poate fi utilizat pentru a realizaterminale electrice şi a le conecta la un microcontroler. Vopseauaelectrică poate fi utilizată pentru a trasa un circuit pe un materialtextil. Vopseaua lucrează bine pe orice material natural sau sintetic,dar nu poate fi spălat.

Care este cel mai bun lucru legat de Vopseaua Electrică?Lucrează aproape peste tot. Deoarece Vopseaua Electrică este cuadevărat vopsea, ea se poate utiliza pe o gamă de substraturi,inclusiv hârtie, carton, lemn, fibră de sticlă, majoritatea plasticelorşi textile. Aplicată pe o suprafaţă cu o pensulă, un şablon sau chiarşi cu un spray, transpune proiectul acolo unde se doreşte.

Vopseaua Electrică este perfectă pentru repararea micilor între-ruperi în circuitele electrice ale dezaburitoarelor de geamuri,comutatoarelor cu membrană şi PCB-urilor. Natura vâscoasă amaterialului îl faceuşor de aplicat şimanipulat. El areproprietăţi ade -zive, lipindu-sede suprafaţă şioferind o repa -raţie de durată.Aveţi grijă să izo -laţi orice reparaţie de umezeala în exces şi dispozitivul dvs. va fi rapidgata de funcţionare.

Dacă se doreşterealizarea unorexperimente decreare a unuipotenţiometrusau reglareaunei rezistenţeîntr-un circuit?Rezistenţa unuicircuit este directcontrolată de aplicarea vopselei, făcând simplă manipularea şiexperimentarea. Dacă se doreşte, pot fi utilizate informaţii privindaplicaţiile Vopselei Electrice.

Utilizarea Vopselei Electrice la realizarea unui senzor capacitiv peaproape orice suprafaţă. Experimentaţi sensibilitatea tactilă şidetecţia de proxi -mitate la mai multenivele. Se poateutiliza Touch Board(Placa Tactilă), oplacă Arduino saualt microcontrolerpotrivit pentru adescoperi magiainteracţiunii cu aproape orice obiect.

Vopseaua Electrică nu este toxică şi este uşor de utilizat înmediul educaţional. Profesorii pot demonstra funcţionarea unorcircuite de bază, iar elevilor şi studenţilor le place să-şi aducă laviaţă desenele. Kit-urile Bare Conductive pentru mediuleducaţional vă permit să inventaţi propriile lecţii utilizând ca ghidtutorialele cu privire la Vopseaua Electrică.

Placă tactilă (Touch Board)● Status RoHS Conform● Nr. stoc RS 837-1729 ● Cod de producător SKU-5006

Placa tactilă (Touch Board) este o platformă uşor de utilizat pentruo gamă uriaşă de proiecte. Combinând Placa Tactilă cu Vopseauaconductivă Bare (835-2699) puteţi transforma aproape oricematerial sau suprafaţă într-un senzor capacitiv sau de proximitate.Puteţi picta un comutator pe perete, să faceţi un pian din hârtie, săcreaţi o suprafaţă interactivă particularizată sau să declanşaţisunete dintr-un MP3 player integrat pe placă. Numărul proiectelorce pot fi activate tactil obţinute prin combinarea dintre Placatactilă şi Vopseaua electrică este limitat doar de imaginaţie.Placa tactilă (Touch Board) este o placă compatibilă cu Shield-urileArduino, ce dispune de funcţii suplimentare precum interfaţătactilă/proximitate pe 12 canale şi un MP3 player. Ea apare a fi unArduino Leonardo din punct de vedere al mediului de progra-mare Arduino IDE.

Printre caracteristicile principale pot fi menţionate (selectiv):● Microcontroler ATMega32u4 16MHz ● Memorie flash 32KB, 2,5KB SRAM, 1KB EEPROM● MPR121 - interfaţă tactilă pe 12 canale● VS1053B – CODEC audio multi-format● Maximum 20 pini GPIO, 7 canale PWM, 12 canale de intrare

analogice, 12 electrozi tactili din care 8 pot fi configuraţi ca extra GPIO cu capabilitate PWM Ü

Page 6: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

6

● Alimentare +5Vdc (prin USB sau baterie)● Soclu de card microSD, jack de ieşire audio, conector microUSB,

conector pentru alimentare din exterior, ● Dimensiuni: 84 mm × 62 mm × 10 mm

Mai multe informaţii la: www.bareconductive.com/make/introducing-the-touch-board/

Aplicativitate – Placa tactilă este o unealtă ce face caproiectul dvs. să fie interactiv, să răspundă, să fieinteligent sau pur şi simplu distractiv.Placa tactilă este proiectată ca platformă uşor de utilizat pentru ogamă uriaşă de proiecte. Placa tactilă poate fi utilizată pentru aschimba lumea din jur, transformând aproape orice material sausuprafaţă într-un senzor. Astfel puteţi desena un întrerupător delumină pe perete, puteţi realiza un pian din hârtie sau puteţi creao suprafaţă interactivă particularizată.

Puteţi conecta orice este conductiv la unul dintre cei 12 electrozi şiputeţi declanşa un sunet prin MP3 player-ul integrat pe placă,puteţi declanşa o notă MIDI sau puteţi face orice altceva ce puteaţiface cu un dispozitiv Arduino sau compatibil cu acesta.

Pre-programatS-a dorit ca Placa Tactilă (Touch Board) să fie uşor de utilizat pen-tru oricine, astfel încât ea este distribuită având pre-programat unghid audio. Nu a fost niciodată mai uşor de pornit la realizarea unuiprodus bazat pe Arduino.

Detecţie tactilă şi de distanţăOrice material conductiv poate fi transformat într-un buton sausenzor de distanţă. Prin utilizarea Vopselei Electrice se poate dese-na un buton pe o carte interactivă, se poate realiza un senzor deproximitate cu o papiotă conductoare sau puteţi transformaperetele unei camere într-o hartă interactivă!

MP3/MIDI şi multe alteleUn Arduino care cântă! Placa Tactilă (Touch Board) poate rulafişiere MP3 de pe un card microSD card, poate lucra ca unsintetizator MIDI şi chiar poate trimite informaţie MIDI către un altdispozitiv precum un laptop sau un iPad. Este suficientă conectareaunui difuzor la jack-ul audio de 3,5 mm şi se poate începe!

Arduino LeonardoPlaca Tactilă (Touch Board) este precum un Arduino Leonardosuper-încărcat. Se programează exact ca un Arduino, se poate uti-liza programul sau programele existente, precum şi plăcile deextensie preferate, dar suplimentar se poate beneficia şi debibliotecile extinse şi suportul Bare Conductive.

Alimentare de la baterii

Placa Tactilă a fost dezvoltată cu unîncărcător de baterii LiPo. Estesuficient să conectaţi bateria dvs.LiPo, puneţi proiectul într-o cutie şiîncărcaţi bateria prin USB. LED-urilede pe placă indică starea încărcării, iar switch-ul ON/OFF de peplacă însemnă că nu veţi consuma bateria atunci când luaţi o pauză.

Ü

Autor:Bogdan GrămescuAurocon COMPEC SRLwww.compec.ro

Page 7: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

7

NEWS

Pentru a susţine pregătirea tinerilor talentaţi dinlicee în domeniul ştiinţific şi pentru atragereaacestora în cadrul institutelor naţionale decercetare-dezvoltare, Institutul Naţional deCercetare-Dezvoltare pentru Inginerie ElectricăICPE-CA a înfiinţat Centrul de Excelenţă pentruIniţierea Tinerilor în Cercetarea Ştiinţifică.

În acest context, Centrul a participat recent la oemisiune dedicată ştiinţei, Cafeneaua de ştiinţă,desfăşurată în incinta Librăriei Humanitas, Cişmigiu.Alături de coordonatorul Centrului, ICPE-CA, şi patrudintre echipele acestuia, E-commerce platform(Cristian Dragomir, Alexandru Glontaru) şi HarvestingCube (Andrei Corbeanu, Luca Florescu) de la ColegiulNaţional de Informatică Tudor Vianu, MedicalRehabilitation Monitoring (Ana Maria Tudorache,Miruna Ojoga) şi Magnetic Bacteria (Elena Yuan,Sebastian Curpan) de la Liceul Internaţional deInformatică, au mai participat şi Corina Dobrescu,profesor la Colegiul Tudor Vianu şi profesor MustafaOz, directorul Liceului Internaţional de Informatică.În afară de pasiunea pentru ştiinţă, cele patru echipeau punctat şi aspecte din activitatea specifică decerce tare, anume: identificarea optimă a unui produsprin soft adaptat la nivelul celularelor, microsenzoridestinaţi procedurilor de reabilitare medicală a mem-brului superior, studii referitoare la bacterii magneticeşi aplicaţii pentru microroboţi elementari microme-cano-magnetici, demonstrator de energie regenerabilădin mediul înconjurător.

Dintre rezultatele Centrului din acest an, amintimcalificarea a două echipe de elevi în finala OlimpiadeiINTELL, ce va avea loc în luna mai, la Pittsburg, SUA.

Biroul de Presă ICPE-CA

Institutul National de Cercetare Dezvoltare pentru InginerieElectrică ICPE-CASplaiul Unirii, Nr. 313, Sector 3, 030138, Bucureşti RomâniaTel: +40-21-346.72.31; +40-21-346.72.35; +40-21-346.82.97;Fax: +40-21-346.82.99 E-mail: [email protected]; [email protected]

Cafeneaua de ştiinţă

Page 8: Electronica Azi Hobby nr 2 - 2015

8

PrintingPrint technology: Fused Filament Fabrication (FFF)Layer resolution: standard: 0.1 mm (max.: 0.2 mm - min.: 0.05 mm)Build plate: 215 × 240 mm (8.46" × 9.45")Build volume: 180× 200 × 190 mm (7" × 7.8" × 7.5")Print speed: 30 mm/s - 120 mm/sTravel speed: 30 mm/s - 300 mm/sBuild plate surface: Removable layer of BuildTak™ (consumable; also sold separately)Filament diameter: 1.75 mm (accepts all filament spools with a mounting hole = 53 mm). Open filament policy.Prints: PLA, ABSTesting with other materials in progress.Nozzle 1&2 diameter: 0.35mmOne nozzle supplied. Second nozzle optional.

Distance between nozzles: 23.7 mmMaximum nozzle operating temperature: 270 °CSoftwareFirmware: Modified Open Source Marlin 3D Printer Firmware - user upgradableSoftware: Repetier - CuraEngine - Slic3r (RepRap compatible)HardwareDimensions: X Y Z 360 - 380 - 395 mm (14" × 15" × 15.5") (without filament spools)Frame: Polycarbonate panels and fibre reinforced molded ABS partsElectricalCommunication: USB 2.0 or SD cardController board: AVR ATmega2560 basedDual head and heated bed capableDisplay: 4 x 20 char. blue LCD with white backlightAC input: 100 - 240 VAC 50-60Hz 150W max.

Conex Electronic s.r.l.Tel.: 021 242.22.06 I Fax: 021 242.09.79 I [email protected] I www.conexelectronic.ro

VERTEX 3DPRINTERAcum, la Conex Electronic!

Page 9: Electronica Azi Hobby nr 2 - 2015
Page 10: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

10

O echipă de tineri din cadrul Universității dinTârgoviște s-a calificat, în premieră pentru România, laconcursul ICRA 2015 Mobile Microrobotics Challenge,alături de alte 8 universități de renume din: SUA,Canada, Elveția, Franța, Italia și India.

Concursul are loc în perioada 26-30 mai 2015, laWashington State Convention Center din Seattle, USA și este organizat în cadrul celui mai importanteveniment anual din domeniul roboticii și automaticii:ICRA 2015 (International Conference Robotics andAutomation). Manifestarea se desfășoară sub egidainstitutului IEEE (Institute of Electrical and ElectronicsEngineers) și a Societății de Micro și Nanorobotică -RAS-MNRA.

Obiectivele acestui concurs de microrobotică constauîn dezvoltarea de soluţii inovative la scară mică,dedicate viitoarelor aplicaţii biomedicale (manipulareşi sortare de celule, chirurgie minim invazivă) şimicrotehnologiilor (asamblarea de structuri la scarănanometrică şi micrometrică).

Florin Dragomir, beneficiar al unui grant postdoctoralde cercetare cu finanțare de la UEFISCDI: “Aplicația cucare echipa noastă concurează constă într-un sistemmicrorobotic ce a fost construit și pilotat automat în câmpmagnetic. Microrobotul propriu-zis are dimensiunea maimică de un sfert de milimetru și evoluează într-o arenă denumai 2 × 3 milimetri. Prima probă a concursului constă înefectuarea automată de traiectorii precis definite prinrepere de 10 micrometri lățime. A doua probă, maitehnică, constă în asamblarea de obiecte într-un canalmicrofluidic de 750 micrometri lățime, în scopul de asimula operarea în canale sangvine. Practic, trebuie sătransportăm contra cronometru cât mai multe componentemicrometrice în acest canal.”

Ioan Alexandru Ivan, conferențiar și îndrumător alechipei: “Este un proiect multidisciplinar complex, atingeaspecte din diverse domenii: microtehnologii de sală albă,mecanică de precizie, electronică, teoria sistemelor șiprogramare. Mă bucur că am reușit să trecem pestedificultăți și am obținut un prim sistem funcțional. Muncadepusă de întreaga echipă a fost încununată de calificareanoastă în finala competiției mondiale de microrobotică,

O echipă românească înfinala competiţiei mondialede microroboticăO echipă de tineri cercetători șistudenţi s-a calificat în finalaprestigiosului concurs internaţional demicrorobotică ICRA MMC care se vadesfășura în luna mai 2015 la Seattle.Competiţia este dedicată roboticii de precizie la scară micrometrică șireunește universităţi și centre de cercetare din întreaga lume.

Echipa de cercetare în micromecatronică a Universității Valahia din Târgoviște, Institut ICSTM.

Târgoviște, 31.03.2015

Page 11: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

11

NEWS

alături de echipe de prestigiu din întreaga lume. Sper săfie cu succes această primă participare românească. Eu ammai fost implicat în acest concurs, la Anchorage șiShanghai, în anii 2010 și 2011, în calitate de coordonatortehnic al echipei franceze, și am obținut locul întâi. Mi-amdorit foarte mult și o participare românească în acest con-curs, motiv pentru care am depus cu Florin o propunerede proiect postdoctoral ce a fost finanțată și am adunat omica echipă pentru realizarea proiectului.”

Realizarea se datorează de asemenea participării activea doi studenți: Valentin Gurgu și Nicolae Rădulescu.Doctorandul Valentin Gurgu și studentul în anul al IV-lea Nicolae Rădulescu se ocupă activ de parteamecanică și electronică. “Încă mai avem reglaje deefectuat până la momentul competiției. În acest momentoptimizăm aplicația, încercăm să reducem în continuaredimensiunile microrobotului și îmbunătățim precizia depoziționare a acestuia. În plus, încercăm și realizarea uneiversiuni portabile prin utilizarea a cât mai multe tehnologiide tip open-source.”

Dispozitivul microrobotic în arena microfluidică.

Doctorand Valentin Gurgu - stație avansată de micromanipulare.

Detaliu, sub microscop, cu microrobotul și arena de competiție.Raza cercului este de un milimetru.

Aplicația a fost finanțată parțial de către Unitatea Executivă pentru Finanțarea Învățământului Superior, aCercetării Dezvoltării și Inovării- UEFISCDI, prin proiectul numărul: PN-II-RU-PD-2012-3-0591:http://micromag.valahia.ro/Detalii despre concursurile de robotică organizate în cadrul congresului ICRA2015: http://icra2015.org/conference/robot-challengesPentru detalii suplimentare, vă rugăm să apelaţi persoana de contact a echipei: Florin DRAGOMIR, Tel: +40 (0)763 631868, e-mail: [email protected]

Page 12: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

12

Pentru a lupta cu această complexitate în creştere, am decis căvreau un comutator de lumină “inteligent” care mă poate înştiinţace surse de lumină din casă sunt curent pornite şi care să mă lase săaprind sau să sting orice lumină fără să mă întreb unde mergefiecare comutator? El trebuie să fie particularizat pentru casa mea,dar suficient de flexibil pentru a fi util dacă numărul de surse delumină se schimbă, dacă sunt adăugate becuri, sau dacă altcinevadoreşte propriul comutator în propria casă. Nu existau soluţiipotrivite necesităţilor mele, la un preţ suficient de redus, astfel încâtm-am aplecat asupra computerului meu single-board Raspberry Pi(RPi) pentru a îmi realiza propriul comutator inteligent. Deoarece RPi dispune de porturi USB şi pini de intrare/ieşire de uzgeneral (GPIO), el poate fi utilizat pentru a controla inteligent lumi-na prin ZWave, Zigbee, sau Wi-Fi utilizând un dongle USB sau pen-tru a controla câteva indicatoare cu LED-uri pentru depanare şitestare fără a trebui să alergi prin casă pentru a verifica dacăluminile sunt aprinse sau nu.Deoarece a avea un “simulator” de iluminare casnică simplu cuLED-uri ar fi fost extrem de util în dezvoltarea unei aplicaţii decomutator inteligentă, am mers la locul în care pasionaţii detehnologie îşi împărtăşesc ideile, echipamentele şi cunoştinţele, şianume Makers Local 256 din Huntsville, AL. Aici am creat oimagine vectorizată a planului casei. Acest plan a fost apoi tăiat culaser din câteva foi de plastic acrilic pe care le-am lipit după aceea.

LED-urile au fist lipite apoi pe spatele planului din plastic, câte unLED pentru fiecare cameră. Apoi LED-urile au fost legate prin firela pinii de intrare / ieşire de pe Raspberry Pi. Utilizând un mic scriptPython, am fost capabil să aprind LED-ul fiecărei camere cu ocomandă.Dispunând de un simulator, am început să lucrez la interfaţa cucomutatorul. Am decis că cea mai uşoară şi rapidă cale de aaprinde luminile dintr-o cameră este de a atinge camera dorită depe planul casei, deoarece ecranele tactile au devenit a doua naturăpentru majoritatea dintre noi. Am vrut ca interfaţa la plan să fiedisponibilă de pe un computer, telefon inteligent sau chiar de peun ecran tactil dedicat montat pe un perete în locul în care ar fi fostuzual întrerupătorul.

Utilizând mediul web Tornado Python şi un pic de script Java şiHTML, am scris un mic server web care afişează planul casei şi vălasă să faceţi click pe fiecare cameră pentru a schimba starealuminii. Camera va străluci atunci când lumina este aprinsă, astfelîncât se va putea şti oricând dacă lumina este sau nu aprinsă.Serverul trimite o comandă către simulator de fiecare dată cândstarea de iluminare se schimbă, astfel încât fiecare atingere pecameră va ilumina sau nu LED-ul corespunzător de pe simulator.Aplicaţia web a lucrat perfect pe un computer sau pe un telefoninteligent dar necesita încă un înlocuitor pentru vechilecomutatoare de pe pereţi. Deoarece Raspberry Pi pe care rulează

Automatizare casnică cuRaspberry Pi şi un ecran tactil Memorarea comutatoarelor care controlează iluminarea pentru fiecare sursă de luminădin casă poate fi dificilă uneori, în special atunci când sunt implicate comutatoare cu 3căi sau sisteme mai complicate. Combinând această complexitate cu versatilitateauimitoare a sistemelor de automatizare casnică, se poate observa că simplelecomutatoare încep să limiteze potenţialul de control total al mediului de iluminare.

Simulare completă cu LED-uri

Planul casei, împreună cu un ecran ELI şi Raspberry Pi

Autor: Tyler Crumpton, Makers Local 256, Huntsville, AL USA

Page 13: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

13

serverul web dispune de ieşire HDMI şi un port de rezervă USB,am decis să utilizez un ecran tactil ELI70-CR 7.0” de la FutureDesigns, Inc. pentru a afişa aplicaţia web.

ELI, denumire ce vine de la Easy LCD Interface, este o soluţieembedded de ecran tactil LCD pentru utilizare cu un SBC precumRPi. Ecranul nu necesită o configurare suplimentară, decâtcomutare pe mod portret şi am setat Raspberry Pi să sară direct laplanul casei de fiecare dată când porneşte.

Nu m-am decis încă asupra unei tehnologii wireless pentrucontrolul iluminării din casă, astfel că următorul pas este acela de ainstala controlere de iluminare ZWave, Zigbee, sau Wi-Fi. Există numeroase proiecte pentru ZWave ce au mapare Python,realizarea controlului acestor dispozitive printr-un dongle USBZWave necesită numai câteva linii de program. Schimbarea planului casei pentru utilizarea în cadrul altei case estesimplă precum desenarea planului şi definirea camerelor. Sunt multeopţiuni ce pot fi adăugate, inclusiv controlul strălucirii, controlulculorii Phillips Hue, şi conservarea energiei prin programareaaprinderii şi stingerii luminilor la momente stabilite de timp.În mod global, am fost capabil să creez un controler de iluminare per-sonal pentru casa mea, utilizând numai un Raspberry Pi, ecranul tactilFDI ELI70-CR şi un dongle USB pentru ZWave, Zigbee, sau Wi-Fi. Mi-a luat mai puţin de o zi pentru a face cea mai mare parte dintreabă, astfel că extinderea de la proiectul iniţial va fi rapidă şidistractivă, şi cu speranţa că îmi va face casa un pic mai simplu decontrolat.

Mai multe informaţii:ELI (Easy LCD Interface) from FDIhttp://www.easylcdinterface.comMakers Local 256https://256.makerslocal.org/

RASPBERRY PI

Raspberry Pi 2 Model BRaspberry Pi - calculator de dimensiunea unui card bancar, ce poate fi utilizat precumun PC obişnuit. Însă, faţă de acesta, Raspberry Pi oferă posibilitatea realizării unorconexiuni hardware directe cu alte dispozitive prin intermediul pinilor de intrare/ieşirede uz general (GPIO). Acestea pot fi senzori de temperatură, lumină sau umiditate, depresiune atmosferica, relee, drivere de motoare, etc. Pinii GPIO sunt aşezaţi în zona dinlateralul plăcii şi pot fi controlaţi din orice limbaj de programare care rulează pe acestcomputer miniatural: Python, C, C+ +, Java, PHP, .NET etc.

ELI 7.0” (Easy LCD Interface)

Raspberry Pi 2 Modelul B – creşterea performanţelorfaţă de modelele anterioare.

• Procesor de 900MHz quad-core ARM Cortex-A7 • Memorie de 1GB RAM• Nucleul sistemului de operare a fost îmbunătățit

pentru a profita pe deplin de cele mai recente tehnologii ARM Cortex-A7; disponibil cu noua versiune 1.4 a software-ului.

Aurocon COMPEC vă propune Raspberry Pi - oalegere excelentă pentru proiecte de robotică, servereweb, jocuri sau imprimare 3D, conexiuni ftp, staţiimeteo, dar şi multe altele.

Autor:Mihaela SârbuAurocon COMPEC SRLwww.compec.ro

Page 14: Electronica Azi Hobby nr 2 - 2015

14

1. Elemente de mecanicăȘasiul este partea care stă la baza structurii robotului, susținândtoată partea electronică, partea de răcire, senzorii și motoarele.Acesta este realizat din sticlo-textolit, practic același material dincare sunt făcute plăcile de PCB și prezintă o grosime de 0.8 mm.Am ales acest material deoarece are avantajul unei durități ridicate,iar în același timp e ușor de lucrat cu el, de găurit sau de prins alteplăci pe el.

Robotul folosește două motoare marca Pololu care asigurătracțiunea, acestea fiind fixe, virarea facându-se doar cu ajutorulroților din față. Deși prezintă dimensiuni reduse, aceste motoare auperformanțe deosebite pentru mărimea lor (23.87 × 9.90 × 11.93mm) și utilizând un reductor de 100:1, asigură un cuplu maxim de1.8Kg*cm, alimetate la 6V. Roțile sunt realizate din cauciuc pe suportde plastic, iar modul în care au fost construite le face să se îmbineperfect cu axul motorului (dimensiunile exterioare: 42 × 19 mm).

2. Partea de procesareRobotul cuprinde două placi (PCB) realizate de mine cu ajutorulEagleCAD, în care am proiectat atât partea schematică, cât și parteade PCB. Prima placă, este cea pe care se află partea de procesareși de transmisie a informațiilor. Deoarece tensiunea furnizată de acumulatori este mult prea marepentru alimentarea microcontrolerului, aceasta trebuie coborâtă,altfel ar duce la deteriorarea părții de procesare. Stabilizarea tensi-unii la valoarea de 5V se face cu ajutorul circuitului integrat stabi-lizator în trei puncte, care preia o parte din tensiune pentru ascoate la ieșire 5V. Condensatorul de pe intrare are rolul de filtrarea tensiunii prin eliminarea unor eventuale supratensiuni tranzitoriice pot apare în urma proceselor de comutaţie. Odată ce tensiuneade pe intrare scade sub 6.7V, stabilizatorul nu mai funcționeaza șicontrolerul nu mai e alimentat. În schema de mai jos e prezentat microcontrolerul cu cei doiconectori, unul făcând legătura cu modulul radio, nrf24l01+, iar

Transmitereainformațiilor ladistanță cu ajutorul

unui robot controlat radio

Principalul scop alacestui proiect esteprezentarea unei mo -

da lități de trans mi -tere a unor informații

importante, atât analo -gice cât și digitale, cu aju-

torul unui robot explorator, carefolosește o electronică complexă și un

set de senzori pentru a servi acest scop.Robotul este echipat cu senzori de temperatură,

presiune, altitudine, distanță, nivel de tensiune al acumulatorilor, și poate trimite aceste informațiiîn timp real cu ajutorul unor module de comunicație radio digitale (RF). Controlul și gestionareainformațiilor trimise, se vor face cu ajutorul unei aplicații care rulează sub platforma windows.Pentru realizarea conexiunii intermediare între robot și aplicația C#, am realizat o telecomandă,care preia informațiile de la robot și le trimite mai departe către laptop/PC, atâta timp cât distanțatelecomandă - robot nu depășește 400m. Atât robotul, cât și telecomanda folosesc câte un trans-ceiver NRF24l01+ pentru a comunica.

Autor: Vlad NiculescuStudent la Facultatea de Electronică, Telecomunicații și Tehnologia Informației, anul 2Tel.: [email protected]

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

Page 15: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

15

ROBOT CONTROLAT RADIO

celălalt conector cu driverul motoarelortractante. Cristalul de cuarț asigură ofrecvență constantă de oscilație. Microcontrolerul folosit este ATMEGA 328,o alegere foarte practică, deoarece chiardacă prezintă un număr redus de pini aremulte facilități (printre care 6 intrărianalogice și 5 PWM). Tot schema de mai jospermite programarea lui fără nevoia dedetașare din soclu. Deși am obținut tensi-unea de 5V cu ajutorul lui 7805, aceastaeste prea mare pentru alimentareatransceiverelor. În vederea obținerii tensiu-nii de 3.3V, am realizat un stabilizatortranzistor-zener.

Majoritatea componentelor au fost luate dinlibrăriile Eagle, cu excepția conectorului pen-tru NRF24, care a fost configurat de mine.Pentru stabilizatorul de tensiune și tranzis-torul NPN, au fost montate mici radiatoarepentru protecție în caz de supraîncălzire. Placa de circuit a fost poziționată deasupraacumulatorilor.

A doua placă de pe robot reprezintă parteade comandă a motorului, adică driverul, careeste bazat pe circuitul integrat L298. Acestaare rolul de a comanda motorul cu un curentmare, el fiind comandat la rândul său demicrocontroler. Ü

Page 16: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

16

Ü

Cele două motoare de tracțiune au fostlegate împreună pe una din ieșiri, iar celde virare, pe cealaltă ieșire. Curentulmaxim (pe canal) suportat de driver estede 2A. Pentru asigurarea răcirii, driverul afost montat pe un radiator de dimensiunirezonabile. Spre deosebire de placaprecedentă, aceasta a fost realizată pedouă straturi, datorită creșterii număruluide trasee. Pentru fiecare motor a fostprevăzut câte un condensator de 100n înparalel pe acesta pentru a compensaefectul negativ al periilor.

Telecomanda, este a treia placăcomponentă a proiectului (independentăde robot) și are rolul de a preluainformațiile primite prin cablu de la laptopși de a le trimite către robot cu ajutorulunui al doilea modul NRF24l01+. Aceasta este formată dintr-o altă placă cuATmega328, peste care am suprapus oplacă făcută de mine, ce conține partea deconectare și alimentare a modulului RF.LED-urile au rolul de a semnala funcțio -narea montajului, iar rolul celorlalte com-ponente au fost discutate anterior.

Page 17: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

17

Modulule:• NRF24L01+Folosirea acestui modul este cea mai bună soluție când vine vorbade o astfel de aplicație. Este unul din cele mai populare modeledatorită raportului performanțe-preț care îl caracterizează. Pentrucă e atât de folosit, a ajuns să beneficieze și de un suport softwarevast, iar protocolul lui de comunicație este foarte bine pus la punct.• Senzorul barometricAm folosit o placă marca Sparkfun, bazată pe senzorul barometricde presiune BMP085 de la BOSCH. Acesta oferă o măsurare de la300 la 1100 kPa cu o eroare de 0.03 kPa. Tensiunea de alimentaresuportată nu trebuie să depășească intervalul 1.8-3.6V, iarconectarea se face direct cu microcontrolerul prin I2C.• Senzorul de distanță

Senzorul de distanță HC-SR04 este unsenzor ultra sonic, capabil să măsoaredistanțe frontale între 2 şi 200cm. Microcontrolerul trimite un impulscătre senzor, iar apoi acesta emite oundă sonoră. Când senzorul recepțio -nează că unda s-a întors, acesta trimi -te la rândul lui un impuls la micro -

controler. Acesta face diferența între momentul când a trimisimpulsul și momentul când l-a primit și calculează distanța astfel:𝐷=((t2-t1)×340)/2

3. Programarea și algoritmul robotuluiÎn proiectul de față, a fost nevoie de două astfel de programe,unul pentru funcționarea robotului, iar altul pentru telecomandă.Cele două programe comunică unul cu celălalt radio, cu ajutorulmodu lelor NRF24l01+.

În figura de mai sus este arătat modul de circulație al informației,aceasta având două sensuri:• Sensul direct, când informația este trimisă de aplicație către

telecomandă, iar apoi, preluată de transceiver o trimite mai departe la al doilea transceiver, și în final la microcontroler, care ia deciziile în controlul motoarelor. Acest lucru este folosit pentru mișcarea fizică a robotului.

• Sensul invers, este sensul în care controlerul preia informații de la senzori, le prelucrează și le trimite OTA (on the air), pentru a ajunge în final spre a fi afișate pe ecranul laptopului.

Aplicația de control a robotuluiAplicația a fost realizată cu ajutorul Microsoft Visual Studio 2010,folosind limbajul de programare Visual C#. Având o interfață foarteintuitivă, VS combină elementele vizuale cu partea de programare,

lucru care poate ajuta la realizarea unor aplicații foarte complexe.Aplicația este prima care trimite comenzi, și ultima care recepționeazăinformații, care mai apoi le afișează. Interfața arată astfel:

Controlul robotului se face cu ajutorul săgeților tastaturii, iarbutoanele de mișcare se aprind odată cu apăsarea unei săgeți pentrua indica utilizatorului că a fost luată comanda. Aceste comenzi sunt defapt litere transmise serial, care sunt menite să ajungă în controlerulrobotului pentru a fi interpretate. De exemplu, odată apasată tasta“Up”, aplicația trimite litera “U” pe portul serial (prin USB).Tabelul de interpretare a comenzilor este prezentat în continuare:

Pentru a indica aplicației când LED-urile de pe robot sunt aprinse,am introdus un martor luminos (practic un LED virtual) pe interfațăcare semnalează dacă LED-ul este aprins sau nu. Pentru a realizaacest lucru am implementat următorul algoritm: aplicația trimitecomanda de aprindere a LED-ului, telecomanda o preia și o dă maideparte robotului. Odată ce robotul primește comanda, aprindeLED-urile și trimite un feedback aplicației pentru a ști să aprindămartorul; la fel și pentru stingerea LED-urilor. Am introdus acestalgoritm pentru a evita desincronizările (să nu existe cazuri în careLED-urile sunt stinse și martorul aprins.O altă problemă importantă a fost primirea și afișarea informațiilorîn interfață. Pentru a face aplicația să distingă între informații și săștie care informație unde să o afișeze, am implementat următoareametodă: Odată ce telecomanda primește informații de la robot, nute trimite mai departe pur și simplu, ci le prelucrează și trimitecomenzi în felul următor: "CMD:TE="+val.mărime;Aplicația va ști că odată ce a primit pe portul serial o informațiecare începe cu “CMD”, trebuie sa sară peste “:” și să citeascăurmătoarele două litere care fac referință la câmpul unde va trebuiscrisă informația. Valoarea mărimii în sine este citită de după egal.Pentru exemplul de mai sus, programul va ști să atribuie valoareade după egal, câmpului de temperatură. Celelalte indicative se potobserva în cod. Pentru a face aplicația să recunoască două tasteapăsate simultan am inițializat câte o variabiă pentru fiecare tastă.Când o tastă e apasată, eventul ei incrementează variabila la 1;când e eliberată, un alt event decrementează variabila la 0. Untimer evaluează în permanență aceste variabile.Menționez că acest proiect mi-a adus locul 2 la concursulRobochallenge, faza internațională, 2014. Vă invit să exploraţi şi voisoluţia propusă de mine - în acest sens, sursele folosite sunt publice laadresa https://github.com/vladniculescu/RF-Robot/

ROBOT CONTROLAT RADIO

Cele două sensuri aufost reprezentate peschemă cu săgeți goale,respective pline.

Literă Interpretare Tabelul 1U Mers în fațăR Mers la dreaptaD Mers în spateL Mers la stângaN Actualizarea informațiilorB Aprinderea luminilor și actualizareO, val. turație Trimite valoarea PWM pentru turația motorarelor

Page 18: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

18

Tel.: 0256-201346 [email protected]

Tahometrul UNI-T UT372 este uninstrument optic (laser şi fotodiodă) cu afişajdigital, util în determinarea cu uşurinţă avitezei motoarelor, ventilatoarelor, arboriloretc. Măsurarea se face fără contact, prinsimpla apăsare a unui buton, datelecolectate putând fi transferate către uncalculator prin portul USB şi analizate prinintermediul software-ului dedicat.

UT262A/UT262C produs de UNI-T este uninstrument care depăşeşte metoda tradiţionalăde detectare a fazelor. În mod normal,detectarea şi identificarea clasică a fazelor seface conectând trei cleme sau trei sonde la ceitrei conductori neizolaţi, aflaţi sub tensiune,fiind necesară deconectarea de la reţea.UT262A/UT262C foloseşte metoda măsurăriifără contact, fără să fie nevoie de deconectareaconductorilor de la reţea sau atingerea subtensiune a unor conductori neizolaţi. Cele treicleme ale instrumentului se conectează la fireleizolate aflate sub tensiune, iar identificareafazei se poate face prin intermediul semnaleloracustice şi luminoase.UT262A/UT262C are şi funcţia de examinarea conductorilor aflaţi sub tensiune, inspectareaalimentării, detectarea deficienţelor de fază,evidenţierea întreruperilor, poziţionarea între-ruperilor. Dispozitivul UNI-T îmbunătăţeştesecuritatea testelor de câmp, asigură siguranţaoperatorului şi creşterea productivităţii.

Detector de fază non-contact UNI-T

Specificaţii:• Succesiunea fazelor• [Faza pozitivă] indicată prin aprinderea succesivă în sensul

acelor de ceasornic a LED-urilor care indică cele patru faze precum şi printr-un sunet întrerupt

• [Faza negativă] indicată prin aprinderea succesivă în sensul invers acelor de ceasornic a LED-urilor care indică cele patru faze precum şi printr-un sunet continuu

• Detectarea fazei lipsă: R-S sau S-T lumină stinsă• Detectare circuit sub tensiune: R-S sau S-T lumină aprinsă• Detectare întrerupere circuit: R-S sau S-T lumină stinsă• Detectare tensiune: R-S sau S-T lumină aprinsă• Domeniu tensiune AC: 70V ~ 600V• Domeniu frecvenţe: 40Hz ~ 70Hz• Deschidere fălci: ø 1.6~16mm UT262A /

ø10 ~ ø40mm (UT262C)• Indicator cu buzzer• Rating securitate: CAT: 600V• Certificare: EN:61010-1

Tahometru digital UT372,conexiune USB

Specificaţii:• Conexiune USB• Display LCD 5 digiţi• Domeniu de măsurare 10 - 99999 rotaţii/min.• Acurateţe 0.04%• Distanţă de măsurăre 50 ... 200mm• Rata de eşantionare 5 ... 255ms• Afişare valori minime/maxime/medii• Funcţie Data Hold• Închidere automată după 15 minute• Afişare baterie consumată

Tel.: 0256-201346 [email protected]

www.oboyle.ro

Page 19: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

19

Termometru cu infraroşu UNI-T UT305C

Tel.: 0256-201346 [email protected], www.oboyle.ro

UT305C este un termometru cu infraroşu, ideal pentru măsurarea fără contact(point and shoot) şi în condiţii de siguranţă a temperaturii pieselor calde, înmişcare, aflate sub tensiune sau în condiţii greu accesibile, util în întreţinere şirepararea motoarelor electrice, motoarelor cu combustie internă, cuptoarelor, utilajelor etc.Dispozitivul poate determina temperatura unei suprafeţe măsurând cantitatea deenergie radiată în infraroşu de către obiectul ţintă. Măsurătorile se fac fără contactdirect, prin intermediul unui pointer cu laser, iar datele înregistrate pot fi transferateîntr-un computer pentru analize ulterioare, prin intermediul conexiunii USB.

Specificaţii:• Domeniul de temperatură: -50°C la 1550°C• Acurateţe afişaj: ±1.8°C sau ±1.8%• Repetabilitate: ±0.5°C sau ±0.5%• Distanţa faţă de punctul de măsurat: 50:1• Timp de răspuns: 250ms (95% din citire)• Caracteristici laser: Clasa de operare 2(II),

ieşire < 1mW, lungime de undă 630-670nm• Selecţie afişare: °C/F°• Funcţie Data Hold• Data logging: 100• Termocuplă T-C • Transfer USB• Temperaturi MAX / MIN• Temperaturi DIF / AVG• Montare trepied

Page 20: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

20

Pentru a demonstra posibilitatea detransmisie a energiei electrice fără fir amfolosit un modul “Inductive Charging Set”de la Adafruit. Conform informațiilor de pesite-ul producătorului, modulul detransmisie se alimentează la o tensiune de9V și furnizează modulului receptor otensiune stabilizată la 5V, cu un curentmaxim de 500mA. Pentru a obține aceastăvaloare a curentului, cele două bobinetrebuie, însă, să se afle la o distanță foartemică una de cealaltă. Mai exact, pentru aatinge această valoare de 500mA, bobineletrebuie să se afle la o disntanță 2-3mm. Însăpentru proiectul pe care noi am dorit să-lrealizăm, nu am avut nevoie de un curentmai mare de 200mA, drept urmare ne-ampermis să mărim spațiul dintre cele douăbobine la 6mm. (Schema electronică 1)

Proiectul constă în două părți, mai exact dindouă plăcuțe. O plăcuță principală cutransmițătorul care se alimentează de la osursă externă de 12V și o plăcuță receptoarece se alimentează prin intermediul bobineisecundare la o tensiune de 5V.

Pentru plăcuța primară, tensiunea de 12Veste coborâtă și stabilizată ulterior la 9Vprin intermediul stabilizatorului detensiune L7809. Cu această tensiune sealimentează bobina primară, dar și circuitulde măsurare al curentului și a tensiunii(tensiune coborâtă din nou la 3.3V). Acestcircuit de măsurare l-am realizat cu ajutorulmicrocontrolerului PIC24FJ64GB002 de laMicrochip. Datele achiziționate cu acest

microcontroler prin intermediul ADC-uluisunt trimise prin UART către un modulBluetooth RN42, care mai departe letrimite către un PC.

Pentru măsurarea tensiunii de alimentarene-am folosit de convertorul Analog-Digitalintegrat pe microcontroler. Întrucât nupoate fi aplicată o tensiune mai mare de3.3V pe pinul de la microcontroler, aceastătensiune a fost trecută mai întâi printr-undivizor de tensiune, ca în schema de mai sus:

V_BAT_0 = V_BAT * R3 / (R3 + R2).

Astfel, pentru o tensiune de intrare de 12V,tensiunea aplicată pe pinul microcon-trolerului va fi de 12 / 5 = 2.4V.

Pentru măsurarea curentului consumat deîntregul montaj am folosit o rezistență deșunt (R_Șunt, astfel valoarea curentului ar fi:

I = V_Şunt / R_Șunt unde V_Şunt = V_BAT – V;

(Schema electronică 2)

Transmitere de energiewireless şi monitorizareîn timp real

Page 21: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

21

INDUCTIVE CHARGING SET

Ü

Schema electronică 1

Schema electronică 2

Page 22: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

22

Datorită faptului că valoareacăderii de tensiune pe rezistențade șunt e foarte mică, apareproblema măsurarii acestei valori.Astfel, pentru ca această tensiunesă poată fi citită de unmicrocontroler ea trebuie ampli -ficată. Acest inconvenient l-amrezolvat prin folosirea circuituluiintegrat INA138 care monitori -zează căderea de tensiune perezistența de șunt, o amplifică și otrimite mai departe microcontro -lerului care o citește cu ajutorul

convertorului Analog-Digital și otransmite prin bluetooth către PC.Toate calculele sunt realizate decătre calculator pentru că, lucrândcu numere reale, un microcontrolernu are precizie si operaţiile devinfoarte costisitoare, acesta neavândun FPU integrat. Valoarea finală acurentului se calculează cu formulaurmătoare:

I = U_adc / (R_Șunt * gain)

Plăcuța secundară funcţioneazăidentic cu plăcuța primară. Citireatensiunii de alimentare și acurentului consumat se realizeazăla fel. Datele sunt trimise spreprelucrare către un PC tot printr-un modul bluetooth RN42.Pe lângă instrumentele de măsură,la cea de-a doua plăcuță am legatun display cu 7 segmente de laAdafruit ce comunică cumicrocontrolerul prin interfața I2C.Acesta are rolul unui consumatoractiv pe placa alimentată wireless.

Pentru trimiterea datelor wirelessam folosit două module bluetoothMATE de la SparkFun, ce vin cucâte un modul RN42 de la RovingNetworks (Microchip). Acesteasunt capabile să trimită şi săprimească date, de la o distanţăde până la 10 m.

Modulul bluetooth poate fi ali-mentat la maxim 3.3V.

void sendDataUart(const uint8_t* data, const unsigned int numBytes){

UART2_STATUS status = UART2_StatusGet();

__delay_ms(1);

UART2_WriteBuffer(data, numBytes);}

void sendToUart(const uint16_t adcValue){

uint8_t data[2];

data[0] = adcValue >> 8;uint16_t tmp = adcValue << 8;data[1] = tmp >> 8;

sendDataUart(data, 2);}

#define I2C_ADDR 0x70

static uint8_t numberTable[] ={

0x3F, // 00x06, // 10x5B, // 20x4F, // 30x66, // 40x6D, // 50x7D, // 60x07, // 70x7F, // 80x6F, // 90x77, // A0x7C, // b0x39, // C0x5E, // d0x79, // E0x71 // F

};

void displayInit(){

uint8_t data[2];volatile I2C1_MESSAGE_STATUS pstatus;

// Initdata[0] = 0x21;I2C1_MasterWrite(&data, 1, I2C_ADDR, &pstatus);while(pstatus == I2C1_MESSAGE_PENDING);

data[0] = 0x81;I2C1_MasterWrite(&data, 1, I2C_ADDR, &pstatus);while(pstatus == I2C1_MESSAGE_PENDING);

data[0] = 0xEF;I2C1_MasterWrite(&data, 1, I2C_ADDR, &pstatus);while(pstatus == I2C1_MESSAGE_PENDING;

}void displayWrite(uint16_t val){

uint8_t data[2];volatile I2C1_MESSAGE_STATUS pstatus;// Datadata[0] = 0x00 << 1;data[1] = numberTable[(val >> 12) & 0x0F];I2C1_MasterWrite(&data, 2, I2C_ADDR, &pstatus);while(pstatus == I2C1_MESSAGE_PENDING);

data[0] = 0x01 << 1;data[1] = numberTable[(val >> 8) & 0x0F];I2C1_MasterWrite(&data, 2, I2C_ADDR, &pstatus);while(pstatus == I2C1_MESSAGE_PENDING);

data[0] = 0x03 << 1;data[1] = numberTable[(val >> 4) & 0x0F];I2C1_MasterWrite(&data, 2, I2C_ADDR, &pstatus);while(pstatus == I2C1_MESSAGE_PENDING);

data[0] = 0x04 << 1;data[1] = numberTable[val & 0x0F];I2C1_MasterWrite(&data, 2, I2C_ADDR, &pstatus);

while(pstatus == I2C1_MESSAGE_PENDING);

Configurare UARTFuncțiile care transmit datepe UART către bluetooth

Configurareinterfaţă I2C

Ü

Page 23: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

23

Pentru siguranţă, pe plăcuţă este montat un regulator de tensiuneastfel încât permite alimentarea cu până la 6V. Sunt, de asemenea,montate două LED-uri: unul roşu, care arată activitatea pe modul şiunul verde care arată dacă acesta s-a conectat cu succes lapartener.Pentru achiziţia de date şi pentru transmisia lor, ambele plăcuțerulează același cod, întrucât amândouă citesc aceleași tipuri deinformații.

Am configurat mai întâi dispozitivul de comunicare serială (UART)integrat pe microcontroler, după care a urmat configurarea con-vertorului Analog-Digital. Am avut nevoie de două astfel deconvertoare, unul pentru măsurarea tensiunii de alimentare și altulpentru măsurarea căderii de teniune pe rezistența de șunt.

Deoarece există un singur convertor analog-digital pe microcon-troler, dar cu mai multe canale, conversia pentru fiecare canal seface pe rând. Primul canal se ocupă de citirea tensiunii de ali-mentare, iar cel de-al doilea canal de citirea căderii de tensiune perezistența de șunt (amplificată cu valoarea de gain).

Mai întâi, se pornește primul canal, se face converisa, după carevaloarea citită este transmisă pe interfața serială. În acest momentse oprește primul canal ADC și se porneşte cel de-al doilea, se faceconversia apoi se trimit cei 2 bytes cu valoarea citită cătreBluetooth prin interfaţa UART.

Configurarea interfeței I2C pentru comunicarea cu display-ul a fostmai dificil de realizat. Am realizat o funcție care inițializează aceastăinterfață și stabilește legătura cu display-ul și o altă funcție careprimește ca parametru un număr întreg pe 16 biți și îl afișează pedisplay.

Pentru PC, am creat o aplicaţie în C# prin care ne conectăm la unmodul bluetooth şi analizăm datele primite. Aplicaţia are ointerfaţă grafică intuitivă şi permite analiza curentului şi a tensiuniide pe plăcuţele făcute de noi. Modulul bluetooth se conectează laPC printr-un port USB şi aplicaţia detectează automat portul.

Modulul conectat la PC este setat ca master şi se va conecta ladispozitivele bluetooth de pe plăcile făcute de noi, apoi va primidate pe interfaţa serială. În aplicaţie se poate seta adresa MAC adispozitivului cu care vrem să ne conectăm.

După conectare, citim datele de pe interfaţa serială. Datele suntcitite octet cu octet şi pentru a le reconstitui este necesar săshiftăm primul octet de 8 biţi la stânga, apoi să îl adunăm pe aldoilea. În final, trebuie să transformăm numărul primit pe ADC întensiunea sau curentul corespunzător.

În final, valorile sunt afişate într-un text box şi transpuse în douăgrafice (V(t) şi I(t)).

INDUCTIVE CHARGING SET

int main(void) {

// Initializare UART, ADCSYSTEM_Initialize();

while (1) { /* CANAL 1 ADC - RB14 - Tensiunea */ ADC1_ChannelSelect(DRV_ADC1_CHANNEL_AN9); // Porneste ADC canal 1 ADC1_Start(); __delay_ms(1);

// Citeste valoare de la ADC uint16_t adcRB14 = ADC1_ConversionResultGet();

// Trimitere date pe UART sendToUart(adcRB14);

__delay_ms(1); // Opreste ADC canal 1 ADC1_Stop(); __delay_ms(1);

/* CANAL 2 ADC - RB15 - Curentul */ ADC1_ChannelSelect(DRV_ADC1_CHANNEL_AN10); // Porneste ADC canal 2 ADC1_Start(); __delay_ms(1);

// Citeste valoare de la ADC uint16_t adcRB15 = ADC1_ConversionResultGet();

// Trimitere date pe UART sendToUart(adcRB15);

__delay_ms(1); // Opreste ADC canal 2 ADC1_Stop(); __delay_ms(1);

/* Sets the bluetooth to enter command mode */ComPort.Write(enterCmdModeString);Thread.Sleep(20);readResponse();

/* Sets the bluetooth in master mode */String setMasterModeString = "SM, 3" + CR;ComPort.Write(setMasterModeString);Thread.Sleep(20);rtbIncoming.Text += "\n" + "Master: ";readResponse();

/*Timer continous configuration, local and remote. */String setTimerString = "ST, 255" + CR;ComPort.Write(setTimerString);Thread.Sleep(20);rtbIncoming.Text += "\n" + "Timer: ";readResponse();

/* Bluetooth is connecting to related adress*/String slaveBtAdress = "000666662468";tbAddress.Text = slaveBtAdress;

rtbIncoming.Text += "Bluetooth Initiated\n";

bInitBt.Text = "BT Ready";

Funcția mainprincipală Codul din spatele aplicaţiei C# care configurează

bluetooth-ul conectat la PC:

Ü

Page 24: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

24

Datele primite de la prima placă sunt următoarele:

A doua placă, cea alimentată wireless din a doua bobină are laintrare tensiunea de 5V.

După cum se poate vedea, intrările sunt aproape liniare, micileerori apărând cel mai probabil din cauza ADC-ului sau din cauzatruncherii la împărţire.

int voltage, current;

sync_connection();

voltage = convertToInt16((ComPort.ReadByte() << 8) |ComPort.ReadByte());current = convertToInt16((ComPort.ReadByte() << 8) |ComPort.ReadByte());

voltage = Convert.ToInt16( (voltage * 5 * 3300) / (65536 * 3.3 ) ); // mVcurrent = Convert.ToInt16( (current * 3300) / (65536 * 30) ); // mA

Ü

Autori: Cătălina Platon - [email protected] Istrate - [email protected] Mateşică - [email protected] Calciu (Mentor proiect) - [email protected]

Înregistraţi-vă acum pentru a participa la training-ulorganizat de Freescale – “Internetul Lucrurilor”

Data: 5 Mai 2015Locaţie: Hotel Caro – Blvd. Barbu Văcărescu, nr. 164A, Sector 2, BucureștiTraining-ul se va desfăşura în limba EnglezăTip training: Hands on

Agenda:

8:30 – 9:00 Înregistrarea participanţilor9:00 – 9:20 Deschiderea sesiunii9:20 – 10:30 Generaţia următoare de microcontrolere Kinetis bazate pe blocuri IoT

10:30 – 12:00 Laborator 1 – Familiarizarea cu sistemul de operare în timp real MQX12:00 – 13:00 Prânz13:00 – 14:30 Laborator 2 – Stiva TCP/IP cu IPv6 activat pentru internetul viitorului14:45 – 15:45 Laborator 3 – Procedee de vizualizare cu instrumentul FreeMaster şi cu soluţia grafică PEG

15:45 Întrebări / Răspunsuri

Page 25: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

25

Laborator 1

Descriere:Laboratorul 1 investighează funcţionalitatea generică a sistemuluide operare în timp real MQX rulând pe seria de dispozitive KinetisK64F. Pentru demonstraţia practică, se va utiliza placa de dez-voltare FRDM-K64F. Se va prezenta modul de configurare MQXpentru o iniţializare corectă şi exemple simple de comunicaţie I2Ccu senzor şi manipulare GPIO. Aplicaţia execută citirea acceleraţiei şi a datelor magneticeprovenite de la senzorul extern FXOS8700CQ.

Laborator 2

Descriere:Acest laborator investighează funcţionalitatea generică a suiteiRTCS (Real Time Communication Suite) din cadrul MQX RTOS.Pentru demonstraţia practică, se va utiliza placa de dezvoltareFreedom board FRDM-K64F. Va fi prezentată configuraţia RTCScu funcţionalitate IPv6 şi HTTP activat. Cu ajutorul unui simplu webserver vom fi în măsură să citim acceleraţia şi valorile magne tice depe computerul nostru printr-un browser de internet.

Laborator 3

Descriere:Acest laborator prezintă caracteristicile instrumentului FreeMasterpentru o dezvoltare facilă. Prin intermediul acestuia, vor fi vizual-izate datele de la accelerometru şi magnetometru livrate desenzorul extern FXOS8700CQ. Această secţiune va demonstra deasemenea, cât de uşor este să creezi o interfaţă grafică puternicăutilizând soluţia PEG-lite.

Hardware:• MK64FN1M0VLL12 MCU (120 MHz, 1 MB memorie flash,

256 KB RAM, mică putere, fără cristal USB)• Interfaţă USB Dual role cu conector micro-B USB• Accelerometru şi magnetometru FXOS8700CQ• Două push butoane pentru utilizator• Opţiuni flexibile de alimentare – OpenSDAv2 USB,

Kinetis K64 USB, sau sursă externă• Acces facil la Intrările/Ieşirile microcontrolerului prin conectori

I/O R3 compatibili Arduino™ • Circuit de depanare programabil OpenSDAv2 ce suportă

interfaţa CMSIS-DAP şi care oferă:– Interfaţă MSD pentru programarea memoriei flash.– Interfaţă pentru depanare CMSIS-DAP prin conectare USB

HID pentru depanare run-control şi compatibilitate cu unelte IDE

– Port interfaţă serială virtuală• Ethernet• SDHC

www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K64F&parentCode=K64_120&fpsp=1&nodeId=012FC898C9DE2DDDAF

Internetul Lucrurilor (IoT) este un concept computaţional prin care orice obiect fizic conectat laInternet este capabil să se autoidentifice în faţa altor dispozitive. Imensa creştere a spaţiului de adreseIPv6 reprezintă un factor important în dezvoltarea Internetului Lucrurilor.

Versiunea 6 a protocolului de adresare IPv6, a fost proiectată să rezolve multe dintre problemelecu care se confrunta versiunea anterioară IPv4 printre care mobilitatea, auto-configurarea şiepuizarea spaţiului de adrese. În acest seminar hans-on vă vor fi prezentate caracteristicile de bazăale sistemului de operare în timp real MQX şi noile module care permit IPv6.

Există o tendinţă în piaţă de folosire a display-urilor grafice cu capabilităţi tactile, peste tot. Ca o com-pletare la acest subiect, va fi o secţiune care va demonstra cât de uşor este să creaţi puternice interfeţegrafice cu ajutorul PEG-lite şi, de asemenea, va fi o secţiune în care vă veţi familiariza cu instrumentulFreeMaster pentru o dezvoltare uşoară.

Page 26: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

Placa testerului de baterii estecontrolată de un kit Arduino Micro ceeste programat în aşa fel încât săprimească pe interfaţa serială UARTdatele pentru releele pe care să leactiveze şi apoi trimite la interval de o

secundă datele citite (tensiunea de pebaterie, tensiunea de după rezistenţade şunt şi curentul care trece prinrezistenţa de şunt). Pentru conversiaserială (UART) <-> USB am folosit unconvertor USB-Serial, asemănător

FTDI. Procesul de descărcare serealizează prin conectarea într-uncircuit a 5 rezistenţe de diferite valoricu ajutorul a 5 relee. Am folosit relee înlocul tranzistorilor pentru a evitadisipările de putere necomandate.

Tester de baterii şiacumulatori

Autori: Daniel Rosner - [email protected] Calciu - [email protected]

Testerul de baterii şi acumulatori este un dispozitiv ce poate descărca obaterie sau un acumulator cu un curent ce poate fi setat în mod automatprintr-o interfaţă prietenoasă şi poate salva toate datele într-un fişier Excel.

26

Page 27: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

27

TESTER DE BATERII

Totodată, am ales să alimentăm toate elementele ce nu facparte din circuitul de descărcare de la o altă sursă, pentru aevita orice pierdere de curent. Astfel, singurii consumatoridin circuitul descărcare au rămas rezistenţele comandate curelee.

Circuitul de descărcare al bateriei este format dintr-un regu-lator LDO de 3.3V alimentat direct de la baterie, care asigurăo tensiune constantă (până la tensiunea de aproximativ3.4V), deci un curent constant, ceea ce ne ajută să calculămcu o mai mare precizie capacitatea acumulatorului.

Apoi, sunt conectate releele, legate în paralel, ce potintroduce în circuit rezistenţele de valori diferite, pentrua seta curenţi diferiţi de descărcare (cu valori între 0.5μAşi 85mA). Rezistenţele pot fi legate şi în paralelobţinându-se astfel un curent maxim tras din baterie deaproximativ 160mA).Placa are 3 intrări pentru tipuri diferite de conectori aidiferiţilor acumulatori: JST, pinheader şi mufa cu prinderecu şurub.În circuit, sunt folosite 5 relee NEC care conectează cele 5rezistenţe cu următoarele valori: 39Ω, 68Ω, 130Ω, 1K1 şi6K8. Pentru anclanşarea releelor sunt folosiţi 5 tranzistoriNPN BC547.Pentru măsurarea curentului se folosesc două metode. Primaconstă în estimarea curentului în funcţie de rezistenţeleconectate în circuit, iar pentru a doua metodă se foloseşteun circuit de măsurare a curentului INA – MCP6N11Microchip. Acesta calculează curentul ce trece prin circuitprin conectarea pinilor de non-inverting input (VIP) şiinverting input (VIM) înainte şi după rezistenţa de şunt.Astfel, un aplificator diferenţial calculează diferenţa dintretensiunea de dinainte şi de după şunt (căderea de tensiune),apoi o amplifică cu o valoare de “gain”, setată cu ajutorul adouă rezistenţe. Acest lucru este benefic deoarece sedoreşte ca rezistenţa de şunt să fie foarte mică (1Ω în acestcaz), ceea ce va rezulta o tensiune mică, corespunzătoarecurentului. Ü

Page 28: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

28

Pentru un curent de 85mA, vom avea în mod normal o căderede tensiune de 85mV, destul de mică pentru a oferi o preciziebună de citire cu circuitul analog numeric al microcontroleru-lui. Astfel, am apelat la circuitul de tip INA, care amplificăaceastă valoare cu o valoare de gain, rezultând o rezoluţie atensiunii de pănâ la 5V (valoarea maximă citită de ADC –corespunzătoare curentului maxim admisibil tras din baterie).Curentul echivalent intrării convertorului analog numeric secalculează astfel:

IADC = UADC / (RŞUNT * GAIN), undeUADC = VALADC * VREF / ADCRES.

IADC – curentul corespunzător intrării;UADC – tensiunea corespunzătoare curentului;RŞUNT – valoarea rezistenţei de şunt;GAIN – valoarea amplificării;VALADC – numărul primit pe ADC;VREF – tensiunea maximă de referinţă;ADCRES – rezoluţia ADC-ului.

Funcţiile C (Arduino) aferente formulelor:

O problemă întâlnită în măsurarea datelor a fostreprezentată de numeroasele erori de măsurare. Pentru amicşora aceste erori, am ales să facem un număr de 50 demăsurători la un moment dat, din care să le alegem doar pecele considerate corecte, apoi să le mediem, rezultând osingură valoare, mai aproape de realitate.

Aplicaţia pentru arduino este configurată să nu înceapămăsurătorile pănâ nu primeşte de la PC un şir cu oconfiguraţie de relee validă. După primirea unei comenzi, seîncep măsurătorile, în număr de 50 în cazul nostru, setatprintr-o constantă numită NO_MEAS. În acelaşi timp, secalculează şi media, iar apoi va fi calculată valoarea finală,prin mediere, după eliminarea valorilor eronate. Pentruacest lucru se vor folosi funcţiile expuse mai sus. În final, setransformă datele în unitatea de măsură corespunzătoare şivor fi trimise pe interfaţa serială.(Vezi aplicaţia respectivă în pagina 29 coloana din stânga).

Aplicaţia de PC care controlează testerul de baterii estescrisă în limbajul C#. Interfaţa este una “prietenoasă”, avândbutoane pentru alegere port (în caz că mai multe dispozitivece folosesc porturile seriale sunt conectate la PC), buton deconectare şi buton de începere test.

Testele sunt configurabile, astfel că se pot scrie scenarii dedescărcare iterative.Un avantaj al aplicaţiei este posibilitatea salvării datelor înformatul Excel (.xls), lucru ce ajută la manipularea uşoară adatelor.

Ü

// Multiplying a number with a fraction, without exceding the intlimitunsigned long scale(unsigned long value, unsigned numarator,unsigned numitor){

// Thanks to Vladimir Oltean for this function// and helping me to write the rest of filtering algorithmsunsigned long max_int = (unsigned long) -1;max_int /= numitor;if (value > max_int) {value /= numitor;value *= numarator; } else {value *= numarator;value /= numitor;

} return value;}// Specify if a number is close to a number with MAXX_ERR valueint is_in_margin(unsigned n, unsigned average)

{

unsigned diff = ABS((signed int) (n - average));unsigned margin = scale(average, MAX_ERR, 100);return (diff < margin) ? 0 : -1;

}// Calc average of some values removing wrong onesunsigned get_average_with_trimmed_values(const unsigned*vect, unsigned long old_average)

{unsigned i; unsigned ctr = 0; unsigned long new_average = 0; for (i = 0; i < NO_MEAS; i++) {if (is_in_margin(vect[i], old_average) == 0){new_average += vect[i];++ctr;}

}return scale(new_average, 1, ctr);

}

unsigned get_voltage_from_adc(unsigned adc_value){

return scale(adc_value, VDD, ADC_RES);}unsigned get_current_from_voltage(unsigned voltage){

return scale(voltage - VREF, 1, GAIN);}

Page 29: Electronica Azi Hobby nr 2 - 2015

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

29

TESTER DE BATERII

Pentru aplicaţia de C#, am scris o funcţie care are caparametri configuraţia de relee corespunzătoare curentuluidorit şi durata măsurătorii. Apelând recursiv această funcţiecu anumiţi parametri, se pot scrie scenarii de descărcare aleacumulatorilor.

void measure(int duration, Boolean[] relays)

{if (ComPort.IsOpen && test_end == false){

int rel_state = 0;

// Config relays for requested resistancefor (int i = 1; i <= 5; ++i){

rel_state += (Convert.ToByte(relays[i-1]) << (i-1));}

set_relays((byte)rel_state);

int time = 0;

for (; time < duration; time++){

if (test_end == false){

String read_val;char[] delim = { ' ' };

// Clear ComPort bufferif(ComPort.BytesToRead > DATA_SIZE)

ComPort.ReadExisting();

// Wait for data to be receivedwhile (ComPort.BytesToRead < DATA_SIZE){

;}

// Read values as a string lineread_val = ComPort.ReadLine();

if (read_val != ""){

string[] values = read_val.Split(delim);

// Write time, values and resistance in excel filewriteToExcel(relays, time_s, values);

time_s++;

int batt_v = int.Parse(values[2]);

// Stops the test if battery voltage is lower than minimum voltage settedif (batt_v <= MIN_BATT_VOLTAGE){

test_end = true;}

print_ctr += MULTIPLIER;}

}}

}}

void loop() {

// Variable declarations ....

// Config relays to set desired currentif(-1 != (s_read = Serial1.read())) {set_relays(s_read);start = ((s_read == 0) ? 0 : 1);}

if(start) {

// Make NO_MEAS measurementsfor(i = 0; i < NO_MEAS; ++i) {

read_values(ina_vect + i, vim_vect + i, vip_vect + i);

ina_average += ina_vect[i];vim_average += vim_vect[i];vip_average += vip_vect[i];

}

ina_average = scale(ina_average, 1, NO_MEAS);vim_average = scale(vim_average, 1, NO_MEAS);vip_average = scale(vip_average, 1, NO_MEAS);

// Calc average after removing wrong valuesnew_ina_avg = get_average_with_trimmed_values (ina_vect, ina_average);new_vim_avg = get_average_with_trimmed_values (vim_vect, vim_average);new_vip_avg = get_average_with_trimmed_values (vip_vect, vip_average);

// Calc the equivalent voltage to adc valueina_mv = get_voltage_from_adc(new_ina_avg);vim_mv = get_voltage_from_adc(new_vim_avg);vip_mv = get_voltage_from_adc(new_vip_avg);

// Calc current passing from shunt resistorina_ma = get_current_from_voltage(ina_mv);

// Send data through serial portSerial1.print(ina_ma);Serial1.print(" ");

Serial1.print(vim_mv);Serial1.print(" ");

Serial1.print(vip_mv);Serial1.print("\n");

delay(WAIT_PERIOD);}

}

Ü

Page 30: Electronica Azi Hobby nr 2 - 2015

În primul rând, va fi trimis pe serială un octet în care primii 5biţi reprezintă configuraţia releelor (“1” pentru releu pornitşi “0” pentru releu oprit). Apoi, se goleşte bufferul dacă înacesta se află mai multe date decât e nevoie, apoi se aşteaptăpentru primirea unui set complet de date. După aceea, secitesc datele, se parsează şi se scriu în fişierul excel.

Această funcţie rămâne activă atât timp cât nu s-a atins limitade timp stabilită sau cât timp tensiunea pe baterie este mai

mare decât tensiunea minimă acceptată (3.4V în cazul nostru).(Funcţia completă este prezentată în pagina 29, coloana dindreapta).

Folosind funcţia de măsurare (measure()) se pot crea diferitescenarii de descărcare, cu timpi şi configuraţii de relee(curenţi) diferite. Mai jos, vă vom prezenta un exemplu descenariu care poate fi foarte uşor modificat petru a obţineorice configuraţie:

Electronica Azi HOBBY • Aprilie, 2015 • Nr. 2

30

private void scenary1(){

if (ComPort.IsOpen){

int i, j;Boolean[] relays = new Boolean[5];

initExcel();

while (test_end != true){

// Set first relay -> 85mA for 10 secondsrelays = get_values(true, false, false, false, false);measure(10, relays);

// Set second relay -> 48mA for 5 secondsrelays = get_values(false, true, false, false, false);measure(5, relays);

for (i = 0; i < 34; i++){

// Set third relay -> 25mA for 3 secondsrelays = get_values(false, false, false, true, false);measure(3, relays);

// Set fourth relay -> 3mA for 32 secondsrelays = get_values(false, false, false, true, false);measure(32, relays);

}}

set_relays((byte)0); //turn off all relays

saveExcel(filePath);}

}

Ü

Articolul propus spre publicare trebuie să conţină următoarele elemente:

• Introducere (~ 50 cuvinte)• Conţinut (~ 1000 cuvinte)• Poză autor şi pentru aplicaţia propusă• Diagrame (schemă electronică, detalii, circuit PCB).

Trimiteţi la redacţie proiectul unei aplicaţiipractice şi aveţi şansa de a câştiga un sistem deevaluare şi dezvoltare “ENERGY-HARVEST-RD”de la Silicon Labs.

Câştigaţi cuElectronica Azi Hobby

Page 31: Electronica Azi Hobby nr 2 - 2015
Page 32: Electronica Azi Hobby nr 2 - 2015