INHOUDSOPGAWE:

Arduino -batterytoetser met 'n WEB -gebruikerskoppelvlak: 5 stappe
Arduino -batterytoetser met 'n WEB -gebruikerskoppelvlak: 5 stappe

Video: Arduino -batterytoetser met 'n WEB -gebruikerskoppelvlak: 5 stappe

Video: Arduino -batterytoetser met 'n WEB -gebruikerskoppelvlak: 5 stappe
Video: learn Arduino programming in 20 seconds!! (Arduino projects) 2024, Julie
Anonim
Arduino -batterytoetser met 'n WEB -gebruikerskoppelvlak
Arduino -batterytoetser met 'n WEB -gebruikerskoppelvlak

Vandag gebruik elektroniese toerusting rugsteunbatterye om die toestand waarin die operasie gelaat is, te red toe die toerusting afgeskakel is of as die toerusting per ongeluk afgeskakel is. As die gebruiker aanskakel, keer hy terug na die plek waar hy gebly het, en vermors dus nie tyd of volgorde van uitvoering van sy take nie.

Stap 1: Inleiding

Inleiding
Inleiding

Ek doen 'n projek om die toestand van batterye met verskillende kapasiteite en spannings te meet met behulp van die metode: Tweevlak-gelykstroom. Hierdie metode bestaan uit die trek van 'n klein stroom vir 10 sekondes uit die battery en 'n hoë stroom vir 3 sekondes (IEC 61951-1: 2005 standaarde). Uit hierdie meting word die interne weerstand bereken en vandaar die toestand daarvan.

Die werkstasie bestaan uit verskeie verbindings, een vir elke tipe battery en 'n rekenaar. Hiervoor is 'n gebruikerskoppelvlak (UI) nodig. Die belangrikste deel van hierdie tutoriaal is die UI, want in ander instruksies is hierdie metodes van batterytoetsing beskryf. Ek het probeer verwerk en het goeie resultate behaal, maar besluit om my eie sagteware te maak met behulp van 'n plaaslike webbediener en voordeel te trek uit die potensiaal van HTML, CSS en php.

Dit is bekend dat dit baie moeilik is om inligting van Arduino na 'n Windows -rekenaar te stuur, maar uiteindelik het ek daarin geslaag. Alle programme is by hierdie tutoriaal ingesluit.

Stap 2: Wat ons gaan meet en hoe

Wat ons gaan meet en hoe
Wat ons gaan meet en hoe
Wat ons gaan meet en hoe
Wat ons gaan meet en hoe

Interne weerstand.

Elke ware battery het 'n interne weerstand. Ons aanvaar altyd dat dit 'n ideale spanningsbron is, dit wil sê dat ons baie stroom kan kry om die nominale spanning konstant te hou. Batterygrootte, chemiese eienskappe, ouderdom en temperatuur beïnvloed egter die hoeveelheid stroom wat 'n battery kan verkry. As gevolg hiervan kan ons 'n beter model van 'n battery met 'n ideale spanningsbron en 'n weerstand in serie skep, soos getoon in figuur 1.

'N Battery met 'n lae interne weerstand kan meer stroom lewer en koud bly, maar 'n battery met 'n hoë weerstand veroorsaak dat die battery verhit word en die spanning daal onder las, wat 'n vroeë stilstand veroorsaak.

Die interne weerstand kan bereken word uit die stroom-spanning verhouding gegee deur twee punte in 'n ontladings kurwe.

Die tweevlak DC-laaimetode bied 'n alternatiewe metode deur twee opeenvolgende ontladingsladings van verskillende strome en tydsduur toe te pas. Die battery ontlaai eers 10 sekondes teen 'n lae stroom (0.2C), gevolg deur 'n hoër stroom (2C) vir 3 sekondes (sien figuur 2); die Ohm se wet bereken die weerstandswaardes. Die evaluering van die spanningshandtekening onder die twee laai -toestande bied addisionele inligting oor die battery, maar die waardes is streng weerstandbiedend en toon nie die ladingstoestand (SoC) of kapasiteitsberamings aan nie. Die las toets is die voorkeur metode vir batterye wat gelykstroom laai.

Soos voorheen gesê, is daar baie metodes vir die meting van batterye wat in ander instruksies behandel word en wat met die Arduino geïmplementeer kan word, maar in hierdie geval, hoewel dit nie 'n volledige beoordeling van die toestand van die battery bied nie, gee dit waardes wat gebruik om hul toekomstige gedrag te skat.

Die interne weerstand word gevind deur die verhouding te gebruik

Waar

Ri = (V1 - V2) / (I2 - I1)

? 1-spanning word gemeet tydens lae stroom en langer tydsduur;

? 2-spanning gemeet tydens die hoë stroom en korter tyd;

? 1 - Stroom gedurende langer tyd;

? 2 - Stroom gedurende die korter tydstip.

Stap 3: Skakel

Kring
Kring
Kring
Kring
Kring
Kring

Die stroombaan is 'n stroombron wat 0,2C (in hierdie geval 4mA) en 2C (in hierdie geval 40mA) van batterye gebruik, deur slegs een stroombaan te gebruik wat beheer word met die PWM -sein van Arduino. Op hierdie manier is dit moontlik om alle rugsteunbatterye met C = 20mAh te meet, ongeag die spanning in die reeks van 1.2V tot 4.8V en ander batterye met 'n ander kapasiteit. In die eerste weergawe het ek twee transistors elk met 'n las gebruik om 4mA en die ander 40mA te dreineer. Hierdie variant was nie geskik vir die toekoms nie, aangesien hulle ander batterye met verskillende kapasiteite wou meet en hierdie skema 'n groot aantal weerstande en transistors benodig.

Die stroombaan met 'n stroombron word in figuur 3 getoon. PWM -sein (940Hz) word 20dB verswak omdat die RC -filters 10 dB verswakking per dekade lewer (elke 10 keer sal die Fc - verswakking 10dB wees in 80Hz en 20dB in 800Hz). Die IRFZ44n -transistor is groot, want in die toekoms sal batterye met 'n groter kapasiteit getoets word. Die LM58n, dubbele operasionele versterker (OA), is die koppelvlak tussen die Arduino -bord en die IRFZ44n. Die LPF is tussen die twee operasionele versterkers geplaas om 'n goeie ontkoppeling tussen die mikroverwerker en die filter te verseker. In figuur 3 is pen A1 van Arduino gekoppel aan die bron van transistor IRFZ44n om die stroom uit die battery te kyk.

Die kring bestaan uit 2 dele, onder die Arduino UNO -bord en bo die huidige bron, soos op die volgende foto getoon. Soos u kan sien, is daar geen skakelaars of knoppies in hierdie stroombaan nie; dit is in die UI op 'n rekenaar.

Hierdie kring kan ook die batterykapasiteit in mAh meet, aangesien dit 'n stroombron het en die Arduino -bord 'n timer het.

Stap 4: Programme

Programme
Programme
Programme
Programme
Programme
Programme
Programme
Programme

Soos hierbo genoem, het die toepassing aan die een kant 'n UI gemaak met HTML, CSS en aan die ander kant die Arduino -skets. Die koppelvlak is tans baie eenvoudig, omdat dit slegs die meting van interne weerstand uitvoer, in die toekoms meer funksies verrig.

Die eerste bladsy bevat 'n aftreklys, vanwaar die gebruiker die spanning van die te meet battery kies (Fig. 4). HTML -program op die eerste bladsy, word BatteryTesterInformation.html genoem. Alle batterye het 'n kapasiteit van 20 mAh.

Tweede bladsy, BatteryTesterMeasurement.html.

Op die tweede bladsy word die battery gekoppel aan die aangeduide aansluiting en begin met die meting (START -knoppie). Op die oomblik is hierdie LED nie ingesluit nie, want dit het slegs een aansluiting, maar in die toekoms sal hulle meer verbindings hê.

Nadat u op die START -knoppie geklik het, begin die kommunikasie met die Arduino -bord. Op dieselfde bladsy word die metingsresultate -vorm getoon wanneer die Arduino -bord die resultate van die batterytoets stuur en die START- en CANCEL -knoppies versteek is. Die BACK -knoppie word gebruik om 'n ander battery te toets.

Die funksie van die volgende program, PhpConnect.php, is om met die Arduino -bord te skakel, data oor te dra en te ontvang van Arduino -borde en webbedieners.

Opmerking: die oordrag van die rekenaar na die Arduino is vinnig, maar die oordrag van die Arduino na die rekenaar het 'n vertraging van 6 sekondes. Ek probeer hierdie irriterende situasie oplos. Enige hulp word opreg waardeer.

En die Arduino -skets, BatteryTester.ino.

As die gevolglike interne weerstand 2 keer groter is as die aanvanklike (nuwe battery), is die battery sleg. Dit wil sê, as die toetsbattery 10 Ohm of meer het, en volgens spesifikasie, moet hierdie soort battery 5Ohms hê, is die battery sleg.

Hierdie UI is sonder probleme met FireFox en Google getoets. Ek het xampp en wampp geïnstalleer en dit werk goed in beide.

Stap 5: Gevolgtrekking

Hierdie tipe ontwikkeling met behulp van 'n gebruikerskoppelvlak op die rekenaar het baie voordele, omdat dit die gebruiker makliker kan verstaan van die werk wat hulle verrig, sowel as die gebruik van duur komponente wat meganiese interaksie vereis, vermy, wat hulle vatbaar maak vir onderbrekings.

Die volgende stap van hierdie ontwikkeling is om verbindings by te voeg en sommige dele van die stroombaan te verander om ander batterye te toets, en ook 'n laaier by te voeg. Daarna word die PCB ontwerp en bestel.

Die UI sal meer veranderings hê om die batterylaaierbladsy in te sluit

Enige idee, verbetering of regstelling, moet asseblief nie huiwer om kommentaar te lewer om hierdie werk te verbeter nie. Aan die ander kant, as u enige vrae het, vra my, ek sal dit so vinnig as moontlik beantwoord.

Aanbeveel: