
EL Load Analog
fietser28/EL-Load
The DCL8010 electronic load module features a DC Electronic Load with several modes and protections. This project is the for the development boards for this project. There is a seperate git project for the firmware.

Master's thesis: device for measuring the series resistance of PV panels. This device uses a MOSFET transistor as a variable load to measure the I-V curve of the PV panel. A custom PCB is developed, Arduino firmware and Python I-V curve fitting using the single-diode equation.
Zavrsni rad is an open-source printed circuit board by anniberi, from the anniberi/master-thesis repository on GitHub. It is a 2-layer board of 160 × 100 mm with 32 parts on 41 nets, routed with 115 tracks and 0 vias.
It is built around the ARDUINO UNO R3, LM358 and IRFP250MPBF. Its parts include 11 connectors, 8 resistors, 2 ICs and 1 transistor. It belongs with the power boards and the AVR (ATmega, ATtiny) boards of this library.
Master's thesis project covering the full development of a low-cost device that measures the series resistance of photovoltaic panels: from the single-diode model and simulation, through two prototypes, to a home-etched final PCB tested in the field. An IRFP250M MOSFET acts as an electronically controlled variable load that sweeps the panel's I-V curve in milliseconds. An Arduino UNO drives it through an MCP4921 DAC and an op-amp control loop and reads voltage and current with an ADS1115 ADC. A Python Nelder-Mead fit of the single-diode model then estimates the series resistance, and a field comparison of three op-amps (LM358, NE5532, MCP6022) identifies the MCP6022 as the most reliable choice.
Note: Apart from this summary, everything in this project is written in Bosnian: the rest of this README, the source code, the comments and the technical documentation.
Napomena: Izvorni kod, komentari i tehnička dokumentacija za ovaj projekat su napisani na bosanskom jeziku.
Slika 1: Izrađeni finalni uređaj
Završni rad drugog ciklusa studija „Razvoj uređaja za mjerenje serijskog otpora PV panela", izrađen na Odsjeku za automatiku i elektroniku Elektrotehničkog fakulteta Univerziteta u Sarajevu (septembar 2026. godine).
Serijski otpor fotonaponskog (PV) panela važan je pokazatelj stanja panela. Koristi se za dijagnostiku, praćenje degradacije tokom dugogodišnjeg rada i nadzor solarnih elektrana. Pošto je serijski otpor veoma male vrijednosti (manje od 1 Ω), ne može se izmjeriti standardnim metodama. Zato uređaj snima parove struja-napon, formira I-V krivu panela i iz nje, korištenjem jednodiodnog modela, estimira parametre panela, među kojima je i serijski otpor.
Slika 2: Finalna shema uređaja
Shema u punoj rezoluciji (PDF)
| Direktorij | Opis |
|---|---|
Rad/ | LaTeX izvorni kod završnog rada, slike i finalni PDF (Zavrsni_rad_MoE_Berina_Biberovic.pdf) |
Prezentacija/ | Prezentacija za odbranu (Beamer, tema metropolis) i finalni PDF |
IV kriva datasheet/ | Estimacija parametara jednodiodnog modela iz podataka proizvođača i skripte za grafike iz teorijskog dijela rada (Prilog A rada) |
Fitovanje krive/ | Estimacija parametara iz ručno i automatski snimljenih I-V krivih (Prilog B rada), uz mjerenja i rezultate |
Simulacija sheme/ | Simulacija baznog sklopa u alatu Proteus Design Suite |
Sheme/ | Proteus sheme prototipa A i finalnog uređaja |
Komponente/ | Proteus modeli pojedinih komponenti (ADS1115, solarni panel) |
Prototip A/ | Arduino kod, Python skripte i rezultati laboratorijskih testova prototipa A (verzije 1 i 2) |
Testiranje panela/ | Svih 20 terenskih testova prototipa B i finalnog uređaja: Arduino firmver, Python skripte, sirova mjerenja i grafici |
Rezultati/ | Odabrani rezultati za rad, razvrstani po operacionom pojačalu (LM358, NE5532, MCP6022) |
PCB/ | KiCad projekat finalnog uređaja (shema, PCB, vlastiti footprint hladnjaka, izvozi u PDF/SVG i 3D prikazi) |
Svaki direktorij u Testiranje panela/ sadrži firmver (.ino), Python skriptu za upravljanje mjerenjem i obradu, te sirove podatke i grafike tog testa. Nazivi direktorija ukratko opisuju svrhu testa (npr. ciljanje MPP-a, hardkodirani DAC kodovi, sidro, 100 tačaka). U samom radu detaljno su analizirani testovi 6, 13, 15, 19 i 20.
Finalno mjerenje s MCP6022 operacionim pojačalom nalazi se u direktoriju Testiranje panela/Test 20 (kao 18 ali za 6022)/:
iv_komplet/iv_komplet.ino: firmver koji snima 100 tačaka od napona otvorenog kola Voc do 0 V;iv_komplet.py: skripta koja pokreće mjerenje, prilagođava model svim tačkama (referentni Rs) i podskupovima od 4 do 10 tačaka, te računa relativne greške.Preduslovi: Python 3 s paketima numpy, scipy, matplotlib i pyserial.
python3 -m venv .venv
source .venv/bin/activate
pip install numpy scipy matplotlib pyserialPrimjer, estimacija parametara iz podataka proizvođača:
cd "IV kriva datasheet"
python3 main.pySkripte koje komuniciraju s uređajem koriste serijski port zadan na početku skripte (npr. PORT = "/dev/ttyACM0", 115200 bauda). Port je potrebno prilagoditi vlastitom sistemu.
Preduslovi: Arduino IDE i biblioteka Adafruit ADS1X15 (instalira se preko Library Manager-a).
.ino datoteku (npr. Testiranje panela/Test 20 (kao 18 ali za 6022)/iv_komplet/iv_komplet.ino).S preko serijske veze, što Python skripta radi automatski.Rad se prevodi standardnom LaTeX distribucijom (TeX Live ili MiKTeX) uz BibTeX:
cd Rad
pdflatex Zavrsni_rad_MoE_Berina_Biberovic.tex
bibtex Zavrsni_rad_MoE_Berina_Biberovic
pdflatex Zavrsni_rad_MoE_Berina_Biberovic.tex
pdflatex Zavrsni_rad_MoE_Berina_Biberovic.texPrezentacija koristi Beamer temu metropolis:
cd Prezentacija
pdflatex prezentacija.tex.pdsprj) otvaraju se u alatu Proteus Design Suite.PCB/zavrsni_rad/zavrsni_rad.kicad_pro (KiCad 9 ili noviji). Vlastita biblioteka simbola i footprint hladnjaka povezani su relativnim putanjama unutar projekta.
Slika 3: PCB layout (KiCad)
Slika 4: Maska za PCB pločicu korištena prilikom kućnog etching-a
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | Conn_01x01_Pin | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J6, J7, J8, J9, J10, J11 |
| 4 | 0.1 | Resistor_THT:R_Axial_DIN0922_L20.0mm_D9.0mm_P25.40mm_Horizontal | R5, R6, R7, R8 |
| 2 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2, R4 |
| 1 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 220 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3 |
| 1 | Arduino_UNO_R3 | Module:Arduino_UNO_R3 | A1 |
| 1 | Conn_01x02_Pin | Connector_AMASS:AMASS_XT60-M_1x02_P7.20mm_Vertical | J1 |
| 1 | Conn_01x02_Pin | TerminalBlock:TerminalBlock_Xinya_XY308-2.54-2P_1x02_P2.54mm_Horizontal | J2 |
| 1 | Conn_01x02_Pin_LM35_OBA_GROUNDA | TerminalBlock:TerminalBlock_Xinya_XY308-2.54-2P_1x02_P2.54mm_Horizontal | J5 |
| 1 | Conn_01x02_Pin_LM35_OBA_NAPAJANJA | TerminalBlock:TerminalBlock_Xinya_XY308-2.54-2P_1x02_P2.54mm_Horizontal | J3 |
| 1 | Conn_01x02_Pin_LM35_OBA_OUTPUTA | TerminalBlock:TerminalBlock_Xinya_XY308-2.54-2P_1x02_P2.54mm_Horizontal | J4 |
| 1 | IRFP250M | Package_TO_SOT_THT:TO-247-3_Vertical | Q1 |
| 1 | LM358 | Package_DIP:DIP-8_W7.62mm | U3 |
| 1 | MCP4921-EP | Package_DIP:DIP-8_W7.62mm | U1 |
The 23 most common of 32 parts.

fietser28/EL-Load
The DCL8010 electronic load module features a DC Electronic Load with several modes and protections. This project is the for the development boards for this project. There is a seperate git project for the firmware.


katzgo/s8_PCB_invitacion_grad
Invitación para la graduación de las carreras IE/IRS/IMD

mhechavarria/color-caps-classifier
A project made mostly in python to classifie color caps using OpenCV

AndersBNielsen/Relatively-Universal-ROM-Programmer
Hardware to program W27C512 EEPROM or any 24/28/32 pin ROM requiring from 5V to 27V programming voltage.

AlanFord/self-balancing-stick
Dual Axis Reaction Wheel Inverted Pendulum

Edging-Machines/Edging-Machines
This repository is intended to contain as much information as possible about building, designing, prototyping, and using automated edging machines.

PedroCNeves/AC_ChargingStation
A learning project to create an EV AC Charging station based on an Arduino Uno
It measures 160 × 100 mm and has 2 copper layers, 1.6 mm thick.
32 parts, built around the ARDUINO UNO R3, LM358 and IRFP250MPBF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the anniberi/master-thesis repository on GitHub, at the commit this page was made from: the board is PCB/zavrsni_rad/zavrsni_rad.kicad_pcb and its schematic PCB/zavrsni_rad/zavrsni_rad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask anniberi before reusing the design.