Inhoudsopgave:
- Benodigdheden
- Stap 1: Werkingsprincipe van een PWM-laadcontroller
- Stap 2: Hoe werkt het circuit?
- Stap 3: Hoofdfuncties van de zonnelaadregelaar:
- Stap 4: Spanningsmeting
- Stap 5: Huidige meting
- Stap 6: Temperatuurmeting
- Stap 7: USB-oplaadcircuit
- Stap 8: Oplaadalgoritme
- Stap 9: Laadcontrole
- Stap 10: kracht en energie
- Stap 11: Beveiligingen
- Stap 12: LED-indicaties
- Stap 13: LCD-scherm
- Stap 14: Prototyping en testen
- Stap 15: PCB-ontwerp
- Stap 16: Download de Gerber-bestanden
- Stap 17: PCB-productie
- Stap 18: De componenten solderen
- Stap 19: De ACS712-stroomsensor monteren
- Stap 20: De buck-converter toevoegen
- Stap 21: De Arduino Nano toevoegen
- Stap 22: De MOSFET's voorbereiden
- Stap 23: De afstandhouders monteren
- Stap 24: Software en bibliotheken
- Stap 25: Laatste testen
Video: ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02) - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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.
Tweede plaats in de PCB-ontwerpuitdaging
Aanbevolen:
ARDUINO SOLAR CHARGE CONTROLLER (versie 2.0): 26 stappen (met afbeeldingen)
ARDUINO SOLAR CHARGE CONTROLLER (versie 2.0): [Video afspelen] Een jaar geleden begon ik met het bouwen van mijn eigen zonnestelsel om mijn dorpshuis van stroom te voorzien. Aanvankelijk maakte ik een op LM317 gebaseerde laadregelaar en een energiemeter voor het bewaken van het systeem. Ten slotte heb ik een PWM-laadcontroller gemaakt. In april
IoT Power Module: een functie voor het meten van IoT-vermogen toevoegen aan My Solar Charge Controller: 19 stappen (met afbeeldingen)
IoT Power Module: een functie voor het meten van IoT-vermogen toevoegen aan My Solar Charge Controller: Hallo allemaal, ik hoop dat jullie allemaal geweldig zijn! In deze instructable ga ik je laten zien hoe ik een IoT Power Measurement-module heb gemaakt die de hoeveelheid stroom berekent die wordt gegenereerd door mijn zonnepanelen, die wordt gebruikt door mijn zonnelaadcontroller t
PWM-controller met transistors: 4 stappen
PWM-controller met transistors: bij het ontwerpen van RC-auto's, robots of elk ander project dat gebruik maakt van een motor, is het essentieel om de snelheid van de motor te regelen. Hiervoor heb je een PWM-motorcontroller nodig, er zijn een heleboel motorcontrollers op de markt, maar het ontwerpen van je eigen co
ARDUINO SOLAR CHARGE CONTROLLER (Versie-1): 11 stappen (met afbeeldingen)
ARDUINO SOLAR CHARGE CONTROLLER (versie-1): [Video afspelen] In mijn vorige instructables beschreef ik de details van energiemonitoring van een off-grid zonnestelsel. Ik heb daarvoor ook de 123D-circuitscompetitie gewonnen. Je kunt deze ARDUINO ENERGY METER zien .Eindelijk post ik mijn nieuwe versie-3 lading
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 stappen (met afbeeldingen)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Ik heb ryan97128 volledig opgelicht over zijn ontwerp voor Nintendo Controller MP3, versie 2.0 en ik hoor dat hij het idee kreeg van de alwijze Morte_Moya, dus ik kan de eer niet opeisen al hun genialiteit. Ik wilde gewoon het gemak toevoegen en opladen