Sparta E-motion 12V eBike lader met Arduino
Sparta E-motion 12V eBike lader met Arduino
Om onze Sparta e-motion eBikes in onze camper te kunnen laden met 12V, heb ik besloten zelf een Li-io lader hiervoor te gaan ontwikkelen. Inmiddels heb ik de hardware zo goed als klaar.
De lader is opgebouwd uit:
- een step-up convertor van eBay die ruim voldoende vermogen heeft om twee 36V/8.8Ah Li-ion accu's tegelijk te kunnen laden. De accu's zijn elkaar gescheiden via schottky diodes;
- een Arduino Nano voor de besturing;
- twee 5A stroomsensoren o.b.v. ACS721. Hiermee wordt de laadstroom per accu gemeten (staan nog in bestelling). Van beide accu's kan ik overigens ook de spanning meten.
- een P-channel Mosfet om de step-up converter via de Arduino in- of uit te kunnen schakelen. De oorspronkelijk reden hiervan was dat ik dan een lichte aan/uit schakelaar kon toepassen. Aan de 12V-zijde kan namelijk bij volle belasting tot 15A aan stroom lopen. Het blijkt echter ook nuttig om de accuspanning in rust te kunnen meten door de step-up even af te schakelen.
- twee leds, één voor elke accu;
- wat losse componenten, connectoren en behuizing.
Sparta heeft zijn best gedaan zoveel mogelijk te voorkomen dat een andere dan de eigen lader wordt gebruikt. Er wordt met niet-standaard connectoren gewerkt en de lader en accu wisselen signalen uit zonder welke het laden niet mogelijk is. Met wat geduld en huisvlijt heb ik deze belemmeringen weg kunnen nemen.
Het laden van de accu's doe ik met een laadspanning van rond de 41V dus minder dan de standaard 42V. De accu's worden dan weliswaar niet 100% geladen maar dit komt de levensduur ten goede. Een tweede reden is dat ik niet erg nauwkeurig spanningen kan meten en wil voorkomen dat ik over de 42V heen ga. Li-ion accu's kunnen daar slecht tegen.
Ik ben nog even aan het brainstormen wat als criterium te nemen om vast te stellen dat de accu's vol zijn. De stroom kan als basis genomen worden; het laden wordt dan gestopt als de stroom beneden een bepaalde waarde komt (een percentage van de accucapaciteit). De spanning kan ook als basis worden genomen. Dit kan echter alleen als met een lage laadstroom wordt geladen. Ik ga nog wat metingen doen om te bepalen hoe de standaard lader dit doet. Dit gedrag neem ik dan over in het Arduino-programma.
Tot zover deze eerste bijdrage. Tips en vragen zijn welkom.
De lader is opgebouwd uit:
- een step-up convertor van eBay die ruim voldoende vermogen heeft om twee 36V/8.8Ah Li-ion accu's tegelijk te kunnen laden. De accu's zijn elkaar gescheiden via schottky diodes;
- een Arduino Nano voor de besturing;
- twee 5A stroomsensoren o.b.v. ACS721. Hiermee wordt de laadstroom per accu gemeten (staan nog in bestelling). Van beide accu's kan ik overigens ook de spanning meten.
- een P-channel Mosfet om de step-up converter via de Arduino in- of uit te kunnen schakelen. De oorspronkelijk reden hiervan was dat ik dan een lichte aan/uit schakelaar kon toepassen. Aan de 12V-zijde kan namelijk bij volle belasting tot 15A aan stroom lopen. Het blijkt echter ook nuttig om de accuspanning in rust te kunnen meten door de step-up even af te schakelen.
- twee leds, één voor elke accu;
- wat losse componenten, connectoren en behuizing.
Sparta heeft zijn best gedaan zoveel mogelijk te voorkomen dat een andere dan de eigen lader wordt gebruikt. Er wordt met niet-standaard connectoren gewerkt en de lader en accu wisselen signalen uit zonder welke het laden niet mogelijk is. Met wat geduld en huisvlijt heb ik deze belemmeringen weg kunnen nemen.
Het laden van de accu's doe ik met een laadspanning van rond de 41V dus minder dan de standaard 42V. De accu's worden dan weliswaar niet 100% geladen maar dit komt de levensduur ten goede. Een tweede reden is dat ik niet erg nauwkeurig spanningen kan meten en wil voorkomen dat ik over de 42V heen ga. Li-ion accu's kunnen daar slecht tegen.
Ik ben nog even aan het brainstormen wat als criterium te nemen om vast te stellen dat de accu's vol zijn. De stroom kan als basis genomen worden; het laden wordt dan gestopt als de stroom beneden een bepaalde waarde komt (een percentage van de accucapaciteit). De spanning kan ook als basis worden genomen. Dit kan echter alleen als met een lage laadstroom wordt geladen. Ik ga nog wat metingen doen om te bepalen hoe de standaard lader dit doet. Dit gedrag neem ik dan over in het Arduino-programma.
Tot zover deze eerste bijdrage. Tips en vragen zijn welkom.
Laatst gewijzigd door Charm op di 05 sep 2017, 18:49, 4 keer totaal gewijzigd.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Nieuw project: eBike lader voor 12V met Arduino
Misschien een domme vraag, maar waarom niet gewoon via de omvormer? Werkt bij ons prima, twee Sparta's tegelijk. Stilstaand en tijdens het rijden.
Vriendelijke Groet, Theo
Dethleffs Esprit T 7010
Dethleffs Esprit T 7010
Re: Nieuw project: eBike lader voor 12V met Arduino
Dat is geen domme vraag. Ik heb ervoor gekozen om er hier iets specifieks voor te maken om reden van efficiency. Onze camper is namelijk volledig op 12V ingericht. En bovendien vind ik het leuk om dit soort dingen zelf te maken.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Nieuw project: eBike lader voor 12V met Arduino
De arduino heeft een eigen nauwkeurige spanning en tempratuur meting. Alleen dat moet je wel weten hoe je dat uit de arduino krijgt. Door toeval kwam ik dit tegen, zoek op Secret Arduino Voltmeter – Measure Battery Voltage. In jouw geval met een voltage deler. En voor de temperatuurmeting kan je zoeken op Hidden Arduino Thermometer of op Secret Thermometer. Misschien kan je er wat mee.
Hoe langer ik met de arduino bezig ben, hoe meer ik erachter kom dat het uitzoeken hoe iets moet, minder nodig is. Het is meer de vraag: heeft iemand dit al een keer uitgezocht? En/of een voorbeeld programma code voor?
Arie
Hoe langer ik met de arduino bezig ben, hoe meer ik erachter kom dat het uitzoeken hoe iets moet, minder nodig is. Het is meer de vraag: heeft iemand dit al een keer uitgezocht? En/of een voorbeeld programma code voor?
Arie
iets wat ik niet heb, is haast
B = bijnaam: bouwkeet
55 = leeftijd dat het camperen vorm begon te krijgen
0 = gratis
B = bijnaam: bouwkeet
55 = leeftijd dat het camperen vorm begon te krijgen
0 = gratis
Re: Nieuw project: eBike lader voor 12V met Arduino
Het artikel over de secret arduino voltmeter ken ik. Die van de thermometer niet. Dank hiervoor. Inmiddels ben ik er achter dat de 5v regulator waarmee mijn Nano is uitgerust een nauwkeurigheid heeft van 1.5%. Dat is prima voor mijn toepassing.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Nieuw project: eBike lader voor 12V met Arduino
Het project is al goed op dreef. Het heeft wel wat voeten in de aarde gehad en een hoop frustraties. Het ontwerp is wel wat veranderd. Als eerste heb ik een buck converter opgenomen voor de 5V. De op de Arduino aanwezige 5V regelaar heb ik namelijk door een stomme fout opgeblazen. Er was niet veel ruimte meer in de kast dus het was wat passen en meten. Overigens heb ik een mini buck converter besteld die zowat geen plek inneemt. Ik heb om die reden ook maar een stroomsensor ingebouwd. Als er 2 accu's tegelijkertijd geladen worden, wordt om en om de stroom van een accu gemeten door de andere even uit te schakelen. Dit gebeurt nu om de 30s. Verder is een nauwkeurige externe Voltage referentie opgenomen omdat de 5v niet stabiel genoeg is om als referentie te dienen. Hiermee zijn nauwkeurige metingen mogelijk te meer doordat ik de metingen ook nog calibreer. De ACS712-5A is een uitdaging op zich. De analoge stroommeting is sterk afhankelijk van de voedingsspanning van de chip. Omdat de 5V door temperatuurschommelingen nogal kan variëren, kan de stroommeting zo maar 150-200mA afwijken. Dat wordt nu in de software gecompenseerd via periodieke calibratie. De lagere stroomsterktes kunnen daardoor nauwkeuriger gemeten waardoor meer precies de batterij-vol conditie kan worden bepaald. De batterij is vol als de laadstroom tot 3% van de accucapaciteit is gedaald, in ons geval 270mA bij een capaciteit van 8.8Ah (36V Pack). In de software zijn ook enkele diagnostische functies ingebouwd om de veilige werking zeker te stellen. Foutcondities worden weergegeven door de leds op de voorkant in een bepaald ritme te laten knipperen.
Om zoveel mogelijk stroom te besparen, zijn alle Power leds verwijderd. Elk bordje heeft wel zo'n ledje die anders permanent brandt. De stroomopname in rust is nu rond de 20mA. Dat moet nog wat lager kunnen door de Arduino in slaapstand te zetten. Hier ga ik me nog in verdiepen.
Ik ben nog druk aan het testen en bijschaven. Ter ondersteuning van het testproces heb ik een accu besteld. Als er twee accupacks tegelijkertijd geladen worden, is al snel 10-15A stroom nodig aan 12V zijde en dat trekt mijn simpele voeding niet.
Om zoveel mogelijk stroom te besparen, zijn alle Power leds verwijderd. Elk bordje heeft wel zo'n ledje die anders permanent brandt. De stroomopname in rust is nu rond de 20mA. Dat moet nog wat lager kunnen door de Arduino in slaapstand te zetten. Hier ga ik me nog in verdiepen.
Ik ben nog druk aan het testen en bijschaven. Ter ondersteuning van het testproces heb ik een accu besteld. Als er twee accupacks tegelijkertijd geladen worden, is al snel 10-15A stroom nodig aan 12V zijde en dat trekt mijn simpele voeding niet.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Nieuw project: eBike lader voor 12V met Arduino
Een Arduino Nano laten slapen heeft volgens mij weinig zin. De USB interface en spanningsregelaar kan je niet laten slapen en een ACS712 verbruikt denk ik ook 10 ma. Kan je de Arduino niet automatisch laten uitschakelen als de fiets accu's vol. zijn?
Re: Nieuw project: eBike lader voor 12V met Arduino
De USB interface krijgt zijn voeding via USB en die is anders uitgeschakeld. Los daarvan heb ik inderdaad al bedacht om de Arduino helemaal uit te schakelen met een MOSFET. Daarnaast ga ik nog een testje doen om de ACS712 te voeden via een digitale uitgang van de Arduino. Die max 13mA stroomverbruik zou de Arduino moeten kunnen sourcen. Dan kan de stroomsensor worden uitgeschakeld als hij niet wordt gebruikt.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Nieuw project: eBike lader voor 12V met Arduino
Je hebt gelijk. Ik dacht dat het geen zin had. Zie http://forum.arduino.cc/index.php?topic=259052.0
Maar volgens http://forum.arduino.cc/index.php?topic=418299.0 gaat de FTDI chip inderdaad in powersave als je hem niet via de USB voedt. Dus ik was voor niks over gegaan op de Arduino Micro.
Maar volgens http://forum.arduino.cc/index.php?topic=418299.0 gaat de FTDI chip inderdaad in powersave als je hem niet via de USB voedt. Dus ik was voor niks over gegaan op de Arduino Micro.
Re: Sparta E-motion 12V eBike lader met Arduino
Na lange tijd een update:
het project heeft maanden stil gelegen en de laatste tijd heb ik dan toch nog grote vorderingen kunnen maken. Er zijn behoorlijk wat aanpassingen gedaan zowel aan de software als de hardware. Om met het laatste te beginnen: er is een andere booster geplaatst. De vorige (die '600W' versie) was een vervelend ding. De stroombegrenzing was niet goed in te stellen en bovendien werd hij bloedheet en hij was log. Ik heb er nu een 10A booster/Led driver waarvan de stroombegrenzing erg goed instelbaar is. Bij volle belasting wordt de boel nog steeds goed heet, met name de ferriet spoel en de schottky diodes. Daarom heb ik een ventilator opgenomen.
Alle eigenschappen op een rij:
- twee 36V Li-on accu's kunnen gelijktijdig worden opgeladen (het laden duurt dan wel langer)
- automatische uitschakeling van de lader als de LI-on accu's zijn geladen
- bewaking van de HH-accuspanning. Bij lager dan 11V schakelt de lader zichzelf uit en kan ook niet meer worden ingeschakeld
- als de spanning van HH-accu groter dan 11V is en kleiner dan 12,5V wordt een waarschuwing afgegeven bij het inschakelen van de lader
- de spanning van de Booster wordt ook periodiek bewaakt
- de lader bevat een rudimentaire temperatuurbeveiliging (via NTC) en een PWM gestuurde ventilator. Deze draait zo minimaal en stil mogelijk
- de Booster wordt door de Arduino (via een P-Mosfet) in-en uitgeschakeld
- de laadstroom wordt per Li-on accu gemeten door slechts één stroomsensor. De Li-on accu is vol als de gemeten stroom is gezakt tot 3% van 1C
- automatische uitschakeling van het laden na 24uur
- Foutcondities en meldingen wordt per Li-on accu op een led weergegeven
- 15A zekering tegen overbelasting aan de HH-accuzijde
Ik heb nog drie nader uit te werken ideeën:
- bewaking van de temperatuur van de Li-on accu's tijdens het laden
- meten van de omgevingstemperatuur: niet laden beneden de 0C en boven de 40C
- Gebruik maken van de AES indicatie van de Votronic solar charger. De AES indicatie wordt geactiveerd wanneer er voldoende zonnecapaciteit over is.
Misschien kan het laadproces ermee gestuurd worden.
Enkele foto's:
het project heeft maanden stil gelegen en de laatste tijd heb ik dan toch nog grote vorderingen kunnen maken. Er zijn behoorlijk wat aanpassingen gedaan zowel aan de software als de hardware. Om met het laatste te beginnen: er is een andere booster geplaatst. De vorige (die '600W' versie) was een vervelend ding. De stroombegrenzing was niet goed in te stellen en bovendien werd hij bloedheet en hij was log. Ik heb er nu een 10A booster/Led driver waarvan de stroombegrenzing erg goed instelbaar is. Bij volle belasting wordt de boel nog steeds goed heet, met name de ferriet spoel en de schottky diodes. Daarom heb ik een ventilator opgenomen.
Alle eigenschappen op een rij:
- twee 36V Li-on accu's kunnen gelijktijdig worden opgeladen (het laden duurt dan wel langer)
- automatische uitschakeling van de lader als de LI-on accu's zijn geladen
- bewaking van de HH-accuspanning. Bij lager dan 11V schakelt de lader zichzelf uit en kan ook niet meer worden ingeschakeld
- als de spanning van HH-accu groter dan 11V is en kleiner dan 12,5V wordt een waarschuwing afgegeven bij het inschakelen van de lader
- de spanning van de Booster wordt ook periodiek bewaakt
- de lader bevat een rudimentaire temperatuurbeveiliging (via NTC) en een PWM gestuurde ventilator. Deze draait zo minimaal en stil mogelijk
- de Booster wordt door de Arduino (via een P-Mosfet) in-en uitgeschakeld
- de laadstroom wordt per Li-on accu gemeten door slechts één stroomsensor. De Li-on accu is vol als de gemeten stroom is gezakt tot 3% van 1C
- automatische uitschakeling van het laden na 24uur
- Foutcondities en meldingen wordt per Li-on accu op een led weergegeven
- 15A zekering tegen overbelasting aan de HH-accuzijde
Ik heb nog drie nader uit te werken ideeën:
- bewaking van de temperatuur van de Li-on accu's tijdens het laden
- meten van de omgevingstemperatuur: niet laden beneden de 0C en boven de 40C
- Gebruik maken van de AES indicatie van de Votronic solar charger. De AES indicatie wordt geactiveerd wanneer er voldoende zonnecapaciteit over is.
Misschien kan het laadproces ermee gestuurd worden.
Enkele foto's:
- Bijlagen
-
- IMG_20170803_155300304.jpg (129.63 KiB) 725 keer bekeken
-
- IMG_20170803_155315334.jpg (138.19 KiB) 725 keer bekeken
Laatst gewijzigd door Charm op di 05 sep 2017, 18:05, 3 keer totaal gewijzigd.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Sparta E-motion 12V eBike lader met Arduino
Leuke hobby hoor. Ik laad de fietsaccu's gewoon met de omvormer en via de twee zonnepanelen.Gaat perfect!
Als we rijden voedt de dynamo van de motor de accu's en doet de omvormer ook zijn werk.
Maar blijft een knap stukje techniek om de winter mee door te komen.
Als we rijden voedt de dynamo van de motor de accu's en doet de omvormer ook zijn werk.
Maar blijft een knap stukje techniek om de winter mee door te komen.
Vriendelijke Groet, Theo
Dethleffs Esprit T 7010
Dethleffs Esprit T 7010
Re: Sparta E-motion 12V eBike lader met Arduino
Doen wij ook alleen zonder de omvormer. Die schakel is er tussenuit. En je hebt gelijk, het is een leuke hobby.
Benimar Cocoon 463 Northautokapp 170pk automaat.
Re: Sparta E-motion 12V eBike lader met Arduino
Heb je nog gemeten of het rendement nu beter is dan als je een omvormer had gebruikt met de standaard laders?