Inhoudsopgave:

ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02) - Ajarnpa
ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02) - Ajarnpa

Video: ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02) - Ajarnpa

Video: ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02) - Ajarnpa
Video: PWM regulátor s AT89LP4052 2024, November
Anonim
Image
Image
ARDUINO PWM SOLAR LAADREGELAAR (V 2.02)
ARDUINO PWM SOLAR LAADREGELAAR (V 2.02)
ARDUINO PWM SOLAR LAADREGELAAR (V 2.02)
ARDUINO PWM SOLAR LAADREGELAAR (V 2.02)

Als u van plan bent om een off-grid zonnesysteem met een accubank te installeren, heeft u een Solar Charge Controller nodig. Het is een apparaat dat tussen het zonnepaneel en de batterijbank wordt geplaatst om de hoeveelheid elektrische energie te regelen die wordt geproduceerd door zonnepanelen die in de batterijen gaan. De belangrijkste functie is ervoor te zorgen dat de batterij correct wordt opgeladen en beschermd tegen overladen. Naarmate de ingangsspanning van het zonnepaneel stijgt, regelt de laadregelaar de lading naar de accu's om overladen te voorkomen en ontkoppelt de lading wanneer de accu leeg is.

U kunt mijn Solar-projecten bekijken op mijn website: www.opengreenenergy.com en YouTube-kanaal: Open Green Energy

Soorten laadregelaars op zonne-energie

Er zijn momenteel twee soorten laadregelaars die vaak worden gebruikt in PV-stroomsystemen:

1. Pulsbreedtemodulatie (PWM) -controller

2. Maximale Power Point Tracking (MPPT)-controller

In deze Instructable zal ik u uitleggen over de PWM Solar Charge Controller. Ik heb eerder ook enkele artikelen over PWM-laadcontrollers geplaatst. De eerdere versie van mijn zonnelaadcontrollers zijn behoorlijk populair op internet en nuttig voor mensen over de hele wereld.

Door rekening te houden met de opmerkingen en vragen van mijn eerdere versies, heb ik mijn bestaande V2.0 PWM Charge Controller aangepast om de nieuwe versie 2.02 te maken.

Dit zijn de wijzigingen in V2.02 tov V2.0:

1. De laag efficiënte lineaire spanningsregelaar is vervangen door buck converter MP2307 voor 5V voeding.

2. Een extra stroomsensor om de stroom afkomstig van het zonnepaneel te bewaken.

3. MOSFET-IRF9540 is vervangen door IRF4905 voor betere prestaties.

4. De ingebouwde LM35-temperatuursensor is vervangen door een DS18B20-sonde voor nauwkeurige bewaking van de batterijtemperatuur.

5. USB-poort voor het opladen van slimme apparaten.

6. Gebruik van enkele zekering in plaats van twee

7. Een extra LED om de status van de zonne-energie aan te geven.

8. Implementatie van 3 fasen laadalgoritme.

9. Implementatie van PID-controller in het laadalgoritme:

10. Een aangepaste PCB gemaakt voor het project

Specificatie

1. Laadcontroller en energiemeter

2. Automatische selectie van accuspanning (6V/12V)

3. PWM-oplaadalgoritme met automatisch laadinstelpunt volgens de accuspanning;

4. LED-indicatie voor de laad- en laadstatus:

5. 20x4 karakter LCD-display voor het weergeven van spanningen, stroom, vermogen, energie en temperatuur.

6. Bliksembeveiliging

7. Reverse huidige stroom bescherming:

8. Beveiliging tegen kortsluiting en overbelasting:

9. Temperatuurcompensatie voor opladen

10. USB-poort voor het opladen van gadgets

Benodigdheden

U kunt de PCB V2.02 bestellen bij PCBWay

1. Arduino Nano (Amazon / Banggood)

2. P-MOSFET - IRF4905 (Amazon / Banggood)

3. Vermogensdiode -MBR2045 (Amazon / Aliexpress)

4. Buck Converter-MP2307 (Amazon / Banggood)

5. Temperatuursensor - DS18B20 (Amazon / Banggood)

6. Huidige sensor - ACS712 (Amazon / Banggood)

7. TVS-diode-P6KE36CA (Amazon / Aliexpress)

8. Transistors - 2N3904 (Amazon / Banggood)

9. Weerstanden (100k x 2, 20k x 2, 10k x 2, 1k x 2, 330ohm x 7) (Amazon / Banggood)

10. Keramische condensatoren (0.1uF x 2) (Amazon / Banggood)

11. 20x4 I2C LCD (Amazon / Banggood)

12. RGB LED (Amazon / Banggood)

13. Tweekleurige LED (Amazon)

15. Jumper-draden / -draden (Amazon / Banggood)

16. Header-pinnen (Amazon / Banggood)

17. Koellichamen (Amazon / Aliexpress)

18. Zekeringhouder en zekeringen (Amazon)

19. Drukknop (Amazon / Banggood)

22. Schroefklemmen 1x6 pin (Aliexpress)

23. PCB-afstanden (Banggood)

24. USB-aansluiting (Amazon / Banggood)

Gereedschap:

1. Soldeerbout (Amazon)

2. Desoldeerpomp (Amazon)

2. Draadknipper en stripper (Amazon)

3. Schroevendraaier (Amazon)

Stap 1: Werkingsprincipe van een PWM-laadcontroller

Werkingsprincipe van een PWM-laadcontroller
Werkingsprincipe van een PWM-laadcontroller

PWM staat voor Pulse Width Modulation, wat staat voor de methode die wordt gebruikt om de lading te regelen. Zijn functie is om de spanning van het zonnepaneel naar beneden te trekken tot in de buurt van die van de batterij om ervoor te zorgen dat de batterij correct wordt opgeladen. Met andere woorden, ze vergrendelen de spanning van het zonnepaneel op de batterijspanning door de Vmp van het zonnepaneel naar beneden te slepen naar de spanning van het batterijsysteem zonder dat de stroom verandert.

Het maakt gebruik van een elektronische schakelaar (MOSFET) om het zonnepaneel met de batterij te verbinden en los te koppelen. Door de MOSFET op hoge frequentie met verschillende pulsbreedtes te schakelen, kan een constante spanning worden gehandhaafd. De PWM-controller past zichzelf aan door de breedte (lengte) en frequentie van de pulsen die naar de batterij worden gestuurd te variëren.

Wanneer de breedte 100% is, staat de MOSFET volledig AAN, waardoor het zonnepaneel de batterij bulksgewijs kan opladen. Wanneer de breedte 0% is, is de transistor UIT en wordt het zonnepaneel geopend, waardoor er geen stroom naar de batterij kan vloeien wanneer de batterij volledig is opgeladen.

Stap 2: Hoe werkt het circuit?

Hoe werkt het circuit?
Hoe werkt het circuit?
Hoe werkt het circuit?
Hoe werkt het circuit?

Het hart van de laadregelaar is een Arduino Nano-bord. De Arduino detecteert de spanning van het zonnepaneel en de batterij door gebruik te maken van twee spanningsdelercircuits. Op basis van deze spanningsniveaus beslist het hoe de batterij wordt opgeladen en hoe de belasting wordt geregeld.

Opmerking: in de bovenstaande afbeelding is er een typografische fout in het stroom- en besturingssignaal. De rode lijn is voor voeding en gele lijn is voor stuursignaal.

Het hele schema is verdeeld in de volgende circuits:

1. Stroomdistributiecircuit:

Het vermogen van de batterij (B+ & B-) wordt verlaagd naar 5V door de X1 (MP2307) buck-converter. De uitvoer van de buck-converter wordt gedistribueerd naar:

1. Arduino-bord

2. LED's voor indicatie

3. LCD-scherm:

4. USB-poort om gadgets op te laden.

2. Ingangssensoren:

De spanningen van het zonnepaneel en de batterij worden gedetecteerd door gebruik te maken van twee spanningsdelercircuits bestaande uit weerstanden R1-R2 & R3-R4. C1 en C2 zijn filtercondensatoren om de ongewenste ruissignalen uit te filteren. De uitgang van de spanningsdelers is respectievelijk verbonden met Arduino analoge pinnen A0 en A1.

Het zonnepaneel en de belastingsstromen worden gedetecteerd met behulp van twee ACS712-modules. De uitgang van de stroomsensoren is respectievelijk verbonden met Arduino analoge pin A3 en A2.

De batterijtemperatuur wordt gemeten met behulp van een DS18B20 temperatuursensor. R16 (4.7K) is een pull-up weerstand. De uitgang van de temperatuursensor is verbonden met Arduino Digital pin D12.

3. Besturingscircuits:

De regelcircuits worden in principe gevormd door twee p-MOSFET's Q1 en Q2. De MOSFET Q1 wordt gebruikt om de laadpuls naar de batterij te sturen en de MOSFET Q2 wordt gebruikt om de belasting aan te drijven. Twee MOSFET-stuurcircuits bestaan uit twee transistoren T1 en T2 met optrekweerstanden R6 en R8. De basisstroom van de transistoren wordt geregeld door weerstanden R5 en R7.

4. Beveiligingscircuits:

De ingangsoverspanning van de zonnepaneelzijde wordt beschermd door middel van een TVS-diode D1. De tegenstroom van de batterij naar het zonnepaneel wordt beschermd door een Schottky-diode D2. De overstroom wordt beveiligd door een zekering F1.

5. LED-indicatie:

LED1, LED2 en LED3 worden gebruikt om respectievelijk de zonne-, batterij- en laadstatus aan te geven. Weerstanden R9 tot R15 zijn stroombegrenzende weerstanden.

7. LCD-scherm:

Een I2C LCD-display wordt gebruikt om verschillende parameters weer te geven.

8. Opladen via USB:

De USB-aansluiting is aangesloten op 5V-uitgang van de Buck Converter.

9. Systeemreset:

SW1 is een drukknop om de Arduino te resetten.

Hieronder kunt u het schema downloaden in PDF-formaat.

Stap 3: Hoofdfuncties van de zonnelaadregelaar:

De laadregelaar is ontworpen door op de volgende punten te letten.

1. Voorkom overladen van de batterij: om de energie die door het zonnepaneel aan de batterij wordt geleverd te beperken wanneer de batterij volledig is opgeladen. Dit is geïmplementeerd in charge_cycle() van mijn code.

2. Voorkom overmatige ontlading van de batterij: Om de batterij los te koppelen van elektrische belastingen wanneer de batterij bijna leeg is. Dit is geïmplementeerd in load_control() van mijn code.

3. Zorg voor Load Control Functies: Om automatisch een elektrische belasting aan en los te koppelen op een bepaald tijdstip. De belasting gaat AAN bij zonsondergang en UIT bij zonsopgang. Dit is geïmplementeerd in load_control() van mijn code. 4. Monitoring van vermogen en energie: om het belastingsvermogen en de energie te bewaken en weer te geven.

5. Bescherm tegen abnormale omstandigheden: om het circuit te beschermen tegen de verschillende abnormale situaties zoals bliksem, overspanning, overstroom en kortsluiting, enz.

6. Aangeven en weergeven: om de verschillende parameters aan te geven en weer te geven:

7. Seriële communicatie: om verschillende parameters in de seriële monitor af te drukken:

8. Opladen via USB: om slimme apparaten op te laden

Stap 4: Spanningsmeting

Spanningsmeting
Spanningsmeting

De spanningssensoren worden gebruikt om de spanning van het zonnepaneel en de batterij te detecteren. Het wordt geïmplementeerd door gebruik te maken van twee spanningsdelercircuits. Het bestaat uit twee weerstanden R1=100k en R2=20k voor het meten van de zonnepaneelspanning en op dezelfde manier R3=100k en R4=20k voor batterijspanning. De output van de R1 en R2 is verbonden met Arduino analoge pin A0 en de output van de R3 en R4 is verbonden met Arduino analoge pin A1.

Spanningsmeting: Arduino's analoge ingangen kunnen worden gebruikt om gelijkspanning te meten tussen 0 en 5V (bij gebruik van de standaard 5V analoge referentiespanning) en dit bereik kan worden vergroot door een spanningsdelernetwerk te gebruiken. De spanningsdeler verlaagt de gemeten spanning binnen het bereik van de analoge Arduino-ingangen.

Voor een spanningsdelercircuit Vout = R2/(R1+R2) x Vin

Vin = (R1+R2)/R2 x Vout

De functie analogRead() leest de spanning en converteert deze naar een getal tussen 0 en 1023

Kalibratie: We gaan de uitgangswaarde lezen met een van de analoge ingangen van Arduino en zijn analogRead()-functie. Die functie geeft een waarde tussen 0 en 1023 die 0,00488V is voor elke stap (als 5/1024 = 0,00488V)

Vin = Vuit*(R1+R2)/R2; R1=100k en R2=20k

Vin= ADC-telling*0.00488*(120/20) Volt // Gemarkeerde deel is Schaalfactor

Opmerking: Dit doet ons geloven dat een uitlezing van 1023 overeenkomt met een ingangsspanning van precies 5,0 volt. In de praktijk krijg je misschien niet altijd 5V van de Arduino-pin 5V. Meet dus tijdens het kalibreren eerst de spanning tussen de 5v en GND pinnen van Arduino met behulp van een multimeter, en gebruik de schaalfactor met behulp van de onderstaande formule:

Schaalfactor = gemeten spanning/1024

Stap 5: Huidige meting

Huidige meting
Huidige meting
Huidige meting
Huidige meting
Huidige meting
Huidige meting

Voor stroommeting heb ik een Hall Effect-stroomsensor ACS 712 -5A-variant gebruikt. Er zijn drie varianten van de ACS712-sensor op basis van het bereik van de huidige detectie. De ACS712-sensor leest de huidige waarde en zet deze om in een relevante spanningswaarde. De waarde die de twee metingen verbindt, is Gevoeligheid. De uitgangsgevoeligheid voor alle varianten is als volgt:

ACS712 Model -> Stroombereik- > Gevoeligheid

ACS712 ELC-05 - > +/- 5A - > 185 mV/A

ACS712 ELC-20 - > +/- 20A - > 100 mV/A

ACS712 ELC-30 - > +/- 30A - > 66 mV/A

In dit project heb ik de 5A-variant gebruikt, waarvoor de gevoeligheid 185mV/A is en de middelste detectiespanning 2,5V is als er geen stroom is.

Kalibratie:

analoge leeswaarde = analogRead (Pin);

Waarde = (5/1024) * analoge leeswaarde // Als u geen 5V krijgt van de Arduino 5V-pin, Stroom in amp = (Waarde – offsetVoltage) / gevoeligheid

Maar volgens de gegevensbladen is de offset-spanning 2,5V en is de gevoeligheid 185mV/A

Stroom in amp = (waarde-2,5)/0,185

Stap 6: Temperatuurmeting

Temperatuurmeting
Temperatuurmeting
Temperatuurmeting
Temperatuurmeting

Waarom is temperatuurbewaking vereist?

De chemische reacties van de batterij veranderen met de temperatuur. Naarmate de batterij warmer wordt, neemt de gasvorming toe. Naarmate de batterij kouder wordt, wordt deze beter bestand tegen opladen. Afhankelijk van hoeveel de batterijtemperatuur varieert, is het belangrijk om het opladen aan te passen voor temperatuurveranderingen. Het is dus belangrijk om het opladen aan te passen aan de temperatuureffecten. De temperatuursensor meet de accutemperatuur en de Solar Charge Controller gebruikt deze ingang om het laadinstelpunt naar wens aan te passen. De compensatiewaarde is - 5mv /degC/cel voor loodzuurbatterijen. (–30mV/ºC voor 12V en 15mV/ºC voor 6V batterij). Het negatieve teken van temperatuurcompensatie geeft aan dat een stijging van de temperatuur een verlaging van het instelpunt van de lading vereist. Voor meer details kunt u dit artikel volgen.

Temperatuurmeting door DS18B20

Ik heb een externe DS18B20-sonde gebruikt voor het meten van de batterijtemperatuur. Het gebruikt een eendraadsprotocol om met de microcontroller te communiceren. Het kan worden aangesloten in poort-J4 op het bord.

Om te communiceren met de DS18B20-temperatuursensor, moet u de One Wire-bibliotheek en de Dallas-temperatuurbibliotheek installeren.

U kunt dit artikel lezen voor meer informatie over de DS18B20-sensor.

Stap 7: USB-oplaadcircuit

USB-oplaadcircuit
USB-oplaadcircuit
USB-oplaadcircuit
USB-oplaadcircuit

De buck-converter MP2307 die wordt gebruikt voor voeding kan stroom leveren tot 3A. Er is dus voldoende marge om de USB-gadgets op te laden. De USB-aansluiting VCC is verbonden met 5V en GND is verbonden met GND. U kunt verwijzen naar het bovenstaande schema.

Opmerking: de USB-uitgangsspanning wordt niet op 5V gehouden wanneer de laadstroom 1A overschrijdt. Dus ik zou aanraden om de USB-belasting te beperken tot minder dan 1A.

Stap 8: Oplaadalgoritme

Oplaadalgoritme
Oplaadalgoritme

Wanneer de controller op de batterij is aangesloten, start het programma de bewerking. In eerste instantie controleert het of de paneelspanning voldoende is om de batterij op te laden. Zo ja, dan gaat het in de laadcyclus. De laadcyclus bestaat uit 3 fasen.

Fase 1 Bulklading:

Arduino verbindt het zonnepaneel rechtstreeks met de batterij (99 % duty cycle). De batterijspanning zal geleidelijk toenemen. Wanneer de accuspanning 14,4V bereikt, begint fase 2.

In deze fase is de stroom bijna constant.

Fase 2 Absorptielading:

In deze fase regelt Arduino de laadstroom door het spanningsniveau een uur lang op 14,4 te houden. De spanning wordt constant gehouden door de duty cycle aan te passen.

Stage 3 Vlotterlading:

De controller genereert de druppellading om het spanningsniveau op 13,5V te houden. Deze fase zorgt ervoor dat de batterij volledig wordt opgeladen. Als de batterijspanning gedurende 10 minuten lager is dan 13,2 V.

De laadcyclus wordt herhaald.

Stap 9: Laadcontrole

Om de belasting automatisch aan en af te koppelen door de schemering/dageraad en de accuspanning te bewaken, wordt lastregeling gebruikt.

Het primaire doel van belastingsregeling is om de belasting los te koppelen van de batterij om deze te beschermen tegen diepe ontlading. Diepe ontlading kan de batterij beschadigen.

De DC-laadklem is ontworpen voor DC-belasting met laag vermogen, zoals straatverlichting.

Het PV-paneel zelf wordt gebruikt als lichtsensor.

Uitgaande van zonnepaneelspanning > 5V betekent dageraad en wanneer < 5V schemering.

AAN Conditie: 's Avonds, wanneer het PV-spanningsniveau onder 5V daalt en de batterijspanning hoger is dan de LVD-instelling, schakelt de controller de belasting in en gaat de groene led van de belasting branden.

UIT-toestand: De belasting wordt afgesneden in de volgende twee omstandigheden.

1. In de ochtend wanneer de PV-spanning groter is dan 5v, 2. Als de accuspanning lager is dan de LVD-instelling. De rode led-LED AAN geeft aan dat de belasting is uitgeschakeld.

LVD wordt Low Voltage Disconnect genoemd

Stap 10: kracht en energie

Kracht en energie
Kracht en energie

Vermogen: Vermogen is het product van spanning (volt) en stroom (Amp)

P=VxI Eenheid van vermogen is Watt of KW

Energie: Energie is het product van vermogen (watt) en tijd (uur)

E= Pxt Eenheid van energie is Wattuur of Kilowattuur (kWh)

Om het vermogen en de energie te bewaken is bovenstaande logica geïmplementeerd in software en worden de parameters weergegeven in een 20x4 char LCD.

Afbeelding tegoed: imgoat

Stap 11: Beveiligingen

Beveiligingen
Beveiligingen

1. Omgekeerde polariteit en omgekeerde huidige bescherming voor zonnepaneel;

Voor beveiliging tegen omgekeerde polariteit en tegenstroom wordt een Schottky-diode (MBR2045) gebruikt.

2. Bescherming tegen overbelasting en diepe ontlading:

Overbelasting en diepontlading worden door de software geïmplementeerd.

3. Beveiliging tegen kortsluiting en overbelasting

Beveiliging tegen kortsluiting en overbelasting wordt gerealiseerd door een zekering F1.

4. Overspanningsbeveiliging bij ingang zonnepaneel

Tijdelijke overspanningen treden om verschillende redenen op in voedingssystemen, maar bliksem veroorzaakt de ernstigste overspanningen. Dit geldt met name voor PV-systemen vanwege de blootgestelde locaties en systeemverbindingskabels. In dit nieuwe ontwerp heb ik een bidirectionele TVS-diode van 600 watt (P6KE36CA) gebruikt om de bliksem en overspanning op de PV-terminals te onderdrukken.

afbeelding tegoed: gratis afbeeldingen

Stap 12: LED-indicaties

LED-indicaties
LED-indicaties

1. Zonne-LED: LED1 Een tweekleurige (rood/groen) led wordt gebruikt om de status van de zonne-energie aan te geven, d.w.z. schemering of zonsopgang.

Zonne-LED -------------------Zonne-status

Groene dag

ROOD ------------------------- Nacht

2. Batterijstatuslampje (SOC): LED2

Een belangrijke parameter die de energie-inhoud van de batterij bepaalt, is de laadtoestand (SOC). Deze parameter geeft aan hoeveel lading de batterij nog heeft. RGB LED wordt gebruikt om de laadstatus van de batterij aan te geven. Raadpleeg voor aansluiting het bovenstaande schema.

Batterij-LED ---------- Batterijstatus

ROOD ------------------ Spanning is LAAG

GROEN ------------------ Spanning is gezond

BLAUW ------------------ Volledig opgeladen

2. Laad-LED: LED3

Een tweekleurige (rood/groen) led wordt gebruikt voor indicatie van de laadstatus. Raadpleeg het bovenstaande schema voor aansluiting.

Laad-LED ------------------- Laadstatus

GROEN ----------------------- Aangesloten (AAN)

ROOD ------------------------- Losgekoppeld (UIT)

Stap 13: LCD-scherm

LCD scherm
LCD scherm
LCD scherm
LCD scherm

Een 20X4 char LCD wordt gebruikt voor het bewaken van zonnepaneel-, batterij- en laadparameters.

Voor de eenvoud is voor dit project gekozen voor een I2C LCD-scherm. Het heeft slechts 4 draden nodig om te communiceren met de Arduino.

De aansluiting is hieronder:

LCD-Arduino

VCC 5V, GNGDND, SDAA4, SCLA5

Rij-1: Zonnepaneelspanning, stroom en vermogen

Rij-2: batterijspanning, temperatuur en opladerstatus (opladen / niet opladen)

Rij-3: laadstroom, vermogen en laadstatus

Rij-4: Invoerenergie van zonnepaneel en energieverbruik van de belasting.

U moet de bibliotheek downloaden van LiquidCrystal_I2C.

Stap 14: Prototyping en testen

Prototyping en testen
Prototyping en testen
Prototyping en testen
Prototyping en testen

1. Broodplank:

Eerst maakte ik het circuit op een Breadboard. Het belangrijkste voordeel van een soldeerloos breadboard is dat het soldeerloos is. U kunt het ontwerp dus eenvoudig wijzigen door componenten en kabels los te koppelen als dat nodig is.

2. Geperforeerde plaat:

Na het testen van het breadboard, heb ik het circuit op een geperforeerd bord gemaakt. Volg de onderstaande instructie om het te maken:

i) Steek eerst alle onderdelen in het gat van de geperforeerde plaat.

ii) Soldeer alle onderdelen van de onderdelen en knip de extra poten af met een kniptang.

iii) Sluit de soldeerpads aan met behulp van draden volgens het schema.

iv) Gebruik een afstandhouder om het circuit van de grond te isoleren.

De geperforeerde printplaat is echt sterk en kan permanent worden ingezet in een project. Na het testen van het prototype, als alles perfect werkt, kunnen we overgaan tot het ontwerpen van de uiteindelijke PCB.

Stap 15: PCB-ontwerp

PCB-ontwerp
PCB-ontwerp
PCB-ontwerp
PCB-ontwerp

Ik heb het schema getekend met behulp van EasyEDA online software, daarna ben ik overgestapt op de PCB-layout.

Alle componenten die u in het schema hebt toegevoegd, moeten daar zijn, op elkaar gestapeld, klaar om te worden geplaatst en gerouteerd. Sleep de componenten door ze aan de pads vast te pakken. Plaats het vervolgens binnen de rechthoekige grenslijn.

Rangschik alle componenten zo dat het bord een minimum aan ruimte inneemt. Hoe kleiner het bord, hoe goedkoper de fabricagekosten van de PCB. Het is handig als dit bord enkele montagegaten heeft, zodat het in een behuizing kan worden gemonteerd.

Nu moet je routen. Routing is het leukste deel van dit hele proces. Het is als het oplossen van een puzzel! Met behulp van de trackingtool moeten we alle componenten met elkaar verbinden. U kunt zowel de bovenste als de onderste laag gebruiken om overlapping tussen twee verschillende sporen te vermijden en de sporen korter te maken.

U kunt de laag Zijde gebruiken om tekst aan het bord toe te voegen. We kunnen ook een afbeeldingsbestand invoegen, dus ik voeg een afbeelding van het logo van mijn website toe om op het bord te worden afgedrukt. Uiteindelijk moeten we met behulp van het koperen gebiedsgereedschap het grondoppervlak van de PCB creëren.

Nu is de printplaat klaar voor productie.

Stap 16: Download de Gerber-bestanden

Download de Gerber-bestanden
Download de Gerber-bestanden

Nadat we de PCB hebben gemaakt, moeten we de bestanden genereren die naar een PCB-fabricagebedrijf kunnen worden gestuurd dat ons te zijner tijd een echte PCB zal terugsturen.

In EasyEDA kunt u de fabricagebestanden (Gerber-bestand) uitvoeren via Document > Gerber genereren, of door op de knop Gerber genereren in de werkbalk te klikken. Het gegenereerde Gerber-bestand is een gecomprimeerd pakket. Na decompressie kunt u de volgende 8 bestanden zien:

1. Bodem Koper:.gbl

2. Bovenste koper:.gtl

3. Bodemsoldeermaskers:.gbs

4. Top soldeermaskers:.gts

5. Bodem zeefdruk:.gbo

6. Top zeefdruk:.gto

7. Boor:.drl

8. Overzicht:.overzicht

U kunt de Gerber-bestanden downloaden van PCBWay

Wanneer u een bestelling plaatst bij PCBWay, krijg ik een donatie van 10% van PCBWay voor een bijdrage aan mijn werk. Uw kleine hulp kan me aanmoedigen om in de toekomst meer geweldig werk te doen. Bedankt voor je medewerking.

Stap 17: PCB-productie

PCB-productie
PCB-productie

Nu is het tijd om op zoek te gaan naar een PCB-fabrikant die onze Gerber-bestanden kan omzetten in een echte PCB. Ik heb mijn Gerber-bestanden naar JLCPCB gestuurd voor het vervaardigen van mijn PCB. Hun service is buitengewoon goed. Ik heb mijn printplaat binnen 10 dagen in India ontvangen.

De stuklijst voor het project is hieronder bijgevoegd.

Stap 18: De componenten solderen

De componenten solderen
De componenten solderen
De componenten solderen
De componenten solderen
De componenten solderen
De componenten solderen

Na ontvangst van het bord van het PCB-fabhuis, moet je de componenten solderen.

Voor het solderen heb je een degelijke soldeerbout, soldeer, tang, desoldeerlonten of pomp en een multimeter nodig.

Het is een goede gewoonte om de componenten te solderen op basis van hun hoogte. Soldeer eerst de onderdelen met een lagere hoogte.

U kunt de volgende stappen volgen om de componenten te solderen:

1. Duw de poten van de component door de gaten en draai de printplaat op zijn achterkant.

2. Houd de punt van de soldeerbout tegen de kruising van de pad en de poot van het onderdeel.

3. Voer soldeer in de verbinding zodat het rondom de leiding stroomt en de pad bedekt. Zodra het helemaal rond is gestroomd, verplaatst u de punt weg.

4. Trim de extra poten met een Nipper.

Volg de bovenstaande regels voor het solderen van alle componenten.

Stap 19: De ACS712-stroomsensor monteren

De ACS712 stroomsensor monteren
De ACS712 stroomsensor monteren
De ACS712 stroomsensor monteren
De ACS712 stroomsensor monteren
De ACS712 stroomsensor monteren
De ACS712 stroomsensor monteren

De ACS712-stroomsensor die ik heb ontvangen, heeft een voorgesoldeerde schroefklem voor aansluiting. Om de module direct op de printplaat te solderen, moet u eerst de schroefklem lossolderen.

Ik desoldeer de schroefklem met behulp van een desoldeerpomp zoals hierboven weergegeven.

Dan soldeer ik de ACS712-module ondersteboven.

Om de Ip+ en Ip- klem op de print aan te sluiten, heb ik de diodeklempoten gebruikt.

Stap 20: De buck-converter toevoegen

De buck-converter toevoegen
De buck-converter toevoegen

Om de Buck Converter-module te solderen, moet u 4 rechte header-pinnen voorbereiden zoals hierboven weergegeven.

Soldeer de 4 header-pinnen op de X1, 2 zijn voor output en de overige twee zijn voor inputs.

Stap 21: De Arduino Nano toevoegen

De Arduino Nano toevoegen
De Arduino Nano toevoegen
De Arduino Nano toevoegen
De Arduino Nano toevoegen
De Arduino Nano toevoegen
De Arduino Nano toevoegen
De Arduino Nano toevoegen
De Arduino Nano toevoegen

Wanneer je de rechte headers koopt, zijn ze te lang voor de Arduino Nano. U moet ze op de juiste lengte inkorten. Dit betekent elk 15 pinnen.

De beste manier om de vrouwelijke kopstukken in te korten, is door 15 pinnen te tellen, aan de 16e pin te trekken en vervolgens een tang te gebruiken om de opening tussen de 15e en 17e pin te snijden.

Nu moeten we de vrouwelijke headers op de PCB installeren. Neem je vrouwelijke headers en plaats ze op de mannelijke headers op het Arduino Nano-bord.

Soldeer vervolgens de vrouwelijke header-pinnen aan de PCB van de laadregelaar.

Stap 22: De MOSFET's voorbereiden

De MOSFET's voorbereiden
De MOSFET's voorbereiden
De MOSFET's voorbereiden
De MOSFET's voorbereiden

Alvorens de MOSFET's Q1 Q2 en diode D1 op de print te solderen, is het beter om eerst de heatsinks hierop te bevestigen. Koellichamen worden gebruikt om warmte van het apparaat af te voeren om een lagere apparaattemperatuur te behouden.

Breng een laag heatsink compound aan over de MOSFET metalen basisplaat. Plaats vervolgens het thermisch geleidende kussen tussen de MOSFET en het koellichaam en draai de schroef vast. U kunt dit artikel lezen over waarom een koellichaam essentieel is.

Soldeer ze tot slot op de printplaat van de laadregelaar.

Stap 23: De afstandhouders monteren

De afstandhouders monteren
De afstandhouders monteren
De afstandhouders monteren
De afstandhouders monteren
De afstandhouders monteren
De afstandhouders monteren

Monteer na het solderen van alle onderdelen de afstandhouders op 4 hoeken. Ik gebruikte M3 Brass Hex afstandhouders.

Het gebruik van afstandhouders zorgt voor voldoende afstand tot de soldeerverbindingen en draden vanaf de grond.

Stap 24: Software en bibliotheken

Software en bibliotheken
Software en bibliotheken

Download eerst de bijgevoegde Arduino-code. Download vervolgens de volgende bibliotheken en installeer ze.

1. Eén draad

2. DallasTemperatuur

3. LiquidCrystal_I2C

4. PID-bibliotheek

De volledige code is voor flexibiliteit opgedeeld in het kleine functionele blok. Stel dat de gebruiker niet geïnteresseerd is in het gebruik van een LCD-scherm en blij is met de led-indicatie. Schakel vervolgens de lcd_display() uit de void loop() uit. Dat is alles. Evenzo kan hij, afhankelijk van de gebruikersvereiste, de verschillende functionaliteit in- en uitschakelen.

Na het installeren van alle bovenstaande bibliotheken, uploadt u de Arduino-code.

Opmerking: ik werk nu aan de software voor het implementeren van een beter laadalgoritme. Houd contact om de nieuwste versie te krijgen.

Update op 02.04.2020

Nieuwe software geüpload met een verbeterd laadalgoritme en implementatie van de PID-controller erin.

Stap 25: Laatste testen

Laatste testen
Laatste testen
Laatste testen
Laatste testen
Laatste testen
Laatste testen

Sluit de accupolen van de laadregelaar (BAT) aan op een 12V-accu. Zorg ervoor dat de polariteit correct is. Na aansluiting zullen de LED en LCD direct gaan werken. Ook op de 2e rij van het LCD-display ziet u de accuspanning en temperatuur.

Sluit vervolgens een zonnepaneel aan op de zonneterminal (SOL), u ziet de zonnespanning, -stroom en -vermogen op de eerste rij van het LCD-scherm. Ik heb een Lab-voeding gebruikt om het zonnepaneel te simuleren. Ik heb mijn vermogensmeters gebruikt om de spannings-, stroom- en vermogenwaarden te vergelijken met het LCD-scherm.

De testprocedure wordt getoond in deze demovideo

In de toekomst zal ik voor dit project een 3D-geprinte behuizing ontwerpen. In contact te blijven.

Dit project is een inzending voor de PCB-wedstrijd, stem alstublieft op mij. Uw stemmen zijn een echte inspiratie voor mij om meer hard te werken om meer nuttige projecten zoals deze te schrijven.

Bedankt voor het lezen van mijn Instructable. Als je mijn project leuk vindt, vergeet dan niet om het te delen.

Opmerkingen en feedback zijn altijd welkom.

PCB-ontwerpuitdaging
PCB-ontwerpuitdaging
PCB-ontwerpuitdaging
PCB-ontwerpuitdaging

Tweede plaats in de PCB-ontwerpuitdaging

Aanbevolen: