Batterimätare - shunt
Tack för förklaringen!
Om jag har VCC = 5v, så ligger altså utsignalen 2.5v +- 20mV/ampere. Om jag då sätter ADCref till VCC med min 10bit ADomvandlare så får jag följaktligen 5/1024 ~5mV i upplösning, 250mA.
Tror jag får försöka mig på någon rail-to-rail OP-amp Diff förstärkare, för att få upp förhållandet mV/A. Även med relativt låg precision på en sådan så kanske man skulle kunna få upp nogranheten till iallafall 50mA eller ngt.
//Alexander
Om jag har VCC = 5v, så ligger altså utsignalen 2.5v +- 20mV/ampere. Om jag då sätter ADCref till VCC med min 10bit ADomvandlare så får jag följaktligen 5/1024 ~5mV i upplösning, 250mA.
Tror jag får försöka mig på någon rail-to-rail OP-amp Diff förstärkare, för att få upp förhållandet mV/A. Även med relativt låg precision på en sådan så kanske man skulle kunna få upp nogranheten till iallafall 50mA eller ngt.
//Alexander
Nu hittar jag inte vad du tänkte ha som fullskaleutslag. Med 2,5V får du nu +/- 125A. Så visst kan du förstärka med 10 och då få +/-12,5A fullskala. Leta efter en opamp som går på enkel matning, har bra linearitet, liten offset och dito drift.
Om du gör så blir upplösningen 25mA. Notera att hallkretsen har ett maximalt totalt fel om +/- 7,5%, vilket är betydligt mera än så. Merparten av detta verkar dock vara temperaturkoefficient, men jag hittar inga kurvor på det. Kanske ngn annan kan läsa databladet bättre?
Och 10mV brus?
Om du gör så blir upplösningen 25mA. Notera att hallkretsen har ett maximalt totalt fel om +/- 7,5%, vilket är betydligt mera än så. Merparten av detta verkar dock vara temperaturkoefficient, men jag hittar inga kurvor på det. Kanske ngn annan kan läsa databladet bättre?
Och 10mV brus?
Nu har jag lyckats göra lite provkörningar, dock fick jag kortslutning i skat-boet och eldade upp lite prylar :/
För att göra det hela lite enklare har jag börjat trolla ihop ett riktigt kretskort. Provade lite olika program(eagle och target), fastnade för target, tyckte det var lite enklare att ha att göra med. Dessutom har den en festlig 3d vy av det färdiga kortet(saknar dessutom en del begränsningar som eagle har i gratisversionen).
![Bild](http://farm4.static.flickr.com/3016/3018742669_af94e6b945_o.jpg)
Lite fler anslutningspunkter tillkommer, temperatur/interface...
Jag läste genom lite datablad till UPS-batterierna i min batteribank. 12v 32Ah, dom har vid 20grader C en självurladdning motsvarande 3mA, vid 30grader ungefär det dubbla. Kapaciteten på 32Ah gäller vid 3.2A(c/10) i urladdning, hittade dock inget om kapaciteten vid högre laster.
//Alexander
För att göra det hela lite enklare har jag börjat trolla ihop ett riktigt kretskort. Provade lite olika program(eagle och target), fastnade för target, tyckte det var lite enklare att ha att göra med. Dessutom har den en festlig 3d vy av det färdiga kortet(saknar dessutom en del begränsningar som eagle har i gratisversionen).
![Bild](http://farm4.static.flickr.com/3016/3018742669_af94e6b945_o.jpg)
Lite fler anslutningspunkter tillkommer, temperatur/interface...
Jag läste genom lite datablad till UPS-batterierna i min batteribank. 12v 32Ah, dom har vid 20grader C en självurladdning motsvarande 3mA, vid 30grader ungefär det dubbla. Kapaciteten på 32Ah gäller vid 3.2A(c/10) i urladdning, hittade dock inget om kapaciteten vid högre laster.
//Alexander
Jo, batterier skall behandlas med respekt...
Har du testat KiCad, det är helt gratis (Open Source) och har en snygg 3D vy det med.
Rent schematiskt kan du räkna med att självurladdningen dubbleras för varje 10C du går över 20C och halveras för varje 10C du går under. Min bq 2018 har färdig logik för det, dvs en räknare som räknat 1/h vid 20C, 2/h vid 30C och omvänt.
Kapaciteten sjunker vid högre laster och ökar vid lägre. Desstom påverkas verkningsgraden, dvs det faktum att du måste köra in 110% tex för att kunna ta ut 100% av såväl laddningsgrad som laddning, så att det är effektivare att ladda med små strömmar under längre tid, dessutom avtar effektiviteten med batteriets laddningsgrad så att du behöver mata in mera för att ladda från 80 till 90 än från 50 till 60 tex.
Edit:
Har du testat KiCad, det är helt gratis (Open Source) och har en snygg 3D vy det med.
Rent schematiskt kan du räkna med att självurladdningen dubbleras för varje 10C du går över 20C och halveras för varje 10C du går under. Min bq 2018 har färdig logik för det, dvs en räknare som räknat 1/h vid 20C, 2/h vid 30C och omvänt.
Kapaciteten sjunker vid högre laster och ökar vid lägre. Desstom påverkas verkningsgraden, dvs det faktum att du måste köra in 110% tex för att kunna ta ut 100% av såväl laddningsgrad som laddning, så att det är effektivare att ladda med små strömmar under längre tid, dessutom avtar effektiviteten med batteriets laddningsgrad så att du behöver mata in mera för att ladda från 80 till 90 än från 50 till 60 tex.
Edit:
Per tidsenhet? Månad? Det skulle i så fall motsvara 5% vilket är helt rimligt.dom har vid 20grader C en självurladdning motsvarande 3mA
Har kommit så långt som till det tråkiga... Registervård. Givetvis skall man kunna mata in/ändra parametrar som kapacitet, verkningsgrad och självurladdning via en meny.
Mätaren får fyra knappar: Upp, Ned, Vänster, höger.
v/h bläddrar normalt mellan olika displaymoder där vi visar olika saker, normalt kvarvarande laddning i Ah, uppskattad laddningsgrad, spänning och medelström, men man kan även visa temp, effekt, kvarvarande tid etc.
Ett av valen är dörren till registervården, pil ned och man hamnar i en ny meny där man kan välja parameter, pil ned och man kan ändra den med v/h. Pil ned sparar i EEProm, pil upp avbryter.
Mätaren får fyra knappar: Upp, Ned, Vänster, höger.
v/h bläddrar normalt mellan olika displaymoder där vi visar olika saker, normalt kvarvarande laddning i Ah, uppskattad laddningsgrad, spänning och medelström, men man kan även visa temp, effekt, kvarvarande tid etc.
Ett av valen är dörren till registervården, pil ned och man hamnar i en ny meny där man kan välja parameter, pil ned och man kan ändra den med v/h. Pil ned sparar i EEProm, pil upp avbryter.
Uppdaterat projektsidan. http.//www.dalton.ax/battmeter.
Har lagt över den gamla diskreta lösningen på en separat sida och låtit huvudsidan behandla enbart den aktuella lösningen.
Bilder och scheman finns. Skall lägga upp koden oxå bara jag hinner få den klar.
Har lagt över den gamla diskreta lösningen på en separat sida och låtit huvudsidan behandla enbart den aktuella lösningen.
Bilder och scheman finns. Skall lägga upp koden oxå bara jag hinner få den klar.
AndersG: mycket snyggt gjort!!
Din design rycker jag nog i princip rakt av till min båt.
Två förändringar kan jag tänka mig:
En "wake-up" knapp som kör igång GUI i nån minut.
GUI on betyder att LCD är på samt att "GUI-loopen", dvs check av knappar och uppdatering av LCD, körs. Då kan man köra med lite högre rate också, 1 sek för knapp avläsning kanske kan kännas som lite "trögtryckt".
Wakeup-knappen kan väl kopplas till GPIO intr så att PIC'n kan sova istf att polla den hoppas jag.
En annan uppdatering, om du inte själv gjort det, får bli NMEA interface alt rs-485.
Hoppas på att även UART på PIC'n kan väcka den istf pollning.
Kommer det att få plats tro? vill minnas det låg lite pyrt till med lagringskapaciteten...![Wink ;-)](./images/smilies/wink.gif)
![Tummen upp :tumupp:](./images/smilies/handupp.gif)
![Bravo :bravo:](./images/smilies/5.gif)
Din design rycker jag nog i princip rakt av till min båt.
Två förändringar kan jag tänka mig:
En "wake-up" knapp som kör igång GUI i nån minut.
GUI on betyder att LCD är på samt att "GUI-loopen", dvs check av knappar och uppdatering av LCD, körs. Då kan man köra med lite högre rate också, 1 sek för knapp avläsning kanske kan kännas som lite "trögtryckt".
Wakeup-knappen kan väl kopplas till GPIO intr så att PIC'n kan sova istf att polla den hoppas jag.
En annan uppdatering, om du inte själv gjort det, får bli NMEA interface alt rs-485.
Hoppas på att även UART på PIC'n kan väcka den istf pollning.
Kommer det att få plats tro? vill minnas det låg lite pyrt till med lagringskapaciteten...
![Wink ;-)](./images/smilies/wink.gif)
Jo, jag har förberett för en WAKE från bq2018, det är vanliga RA2, men jag har nog inte ritat in den. Man kan ju ha en wire-or brytare därEn "wake-up" knapp som kör igång GUI i nån minut.
GUI on betyder att LCD är på samt att "GUI-loopen", dvs check av knappar och uppdatering av LCD, körs. Då kan man köra med lite högre rate också,
Ja det är avsikten, att WAKE väcker PICen från sovläge. Jag tror att du missförstått vad jag skrivit om mjukvaran. Den inre loopen som kollar knapparna körs så snabbt processorn kan. Då den kollat knapparna kollar en en flagga som sätts av TMR1 var 262.14ms. Den är sedan tidbas för resten.1 sek för knapp avläsning kanske kan kännas som lite "trögtryckt".
Wakeup-knappen kan väl kopplas till GPIO intr så att PIC'n kan sova istf att polla den hoppas jag.
Jo, i en 16F690 ryms det inte, men det finns ju större PICar. Man kan ju tom göra ett kort med plats för dubbla socklar. Å andra sidan kan jag kanske kapa bort en el av det debug-lullull som jag har nu.En annan uppdatering, om du inte själv gjort det, får bli NMEA interface alt rs-485.
Hoppas på att även UART på PIC'n kan väcka den istf pollning.
Kommer det att få plats tro? vill minnas det låg lite pyrt till med lagringskapaciteten...
Edit:
Har heller inga religiösa eller andra invänmdningar mot en 16F876 som är en 28-pin DIP med 8k minne, fast ju färre "pages" desto mindre huvudvärk
![Wink ;)](./images/smilies/wink.gif)
Re: Batterimätare - shunt
Har lagt in en länk till källkoden på sidan( http://www.dalton.ax/battmeter/). Synpunkter mottages med tacksamhet!
-
- Inlägg: 8055
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: Batterimätare - shunt
Följer sidan med spänning. Ska göra något liknande men för att bygga in i vanliga 220 uttag. Får se hur det går med den iden.
Re: Batterimätare - shunt
240 växel är en liten annan femma, men kolla Microchips Application Notes. Finns en färdig design där.Ska göra något liknande men för att bygga in i vanliga 220 uttag
Och visst skulle det vara muff med en liten sensor som kommunicerade trådlöst eller via elnätet mot en centralenhet.