![]() |
Forum Index : Electronics : 150V 45A MPPT - roll your own
![]() ![]() |
|||||
Author | Message | ||||
mab1 Senior Member ![]() Joined: 10/02/2015 Location: United KingdomPosts: 128 |
You need to know what its inductance is in uH and, more importantly, what is its saturation current? Hard to tell from the picture, but it looks too small to handle 45A. If course if the saturation current is lower you could limit the mppt to match the inductor, but you still need to know what it is. |
||||
soudirector![]() Newbie ![]() Joined: 14/05/2023 Location: NigeriaPosts: 23 |
Can someone please educate me on who to calibrate this mppt because i am stuck there. I need a step by step on how to accomplish that. I have already the build the brainbox and power board. i don't want my money and effort to be a waste. how times flies ![]() |
||||
Revlac![]() Guru ![]() Joined: 31/12/2016 Location: AustraliaPosts: 849 |
This might help, https://www.thebackshed.com/forum/ViewTopic.php?TID=15935&P=2 Edited 2023-09-01 20:08 by Revlac Cheers Aaron Off The Grid |
||||
soudirector![]() Newbie ![]() Joined: 14/05/2023 Location: NigeriaPosts: 23 |
https://www.thebackshed.com/forum/ViewTopic.php?TID=15935&P=2 thanks Revlac, i appreciate. i am now getting the scope on to calibrate. The only things i need to calibrate are the Vin, Vout, Iin and Iout. the rest should leave at default? Edited 2023-09-02 12:44 by soudirector how times flies ![]() |
||||
mab1 Senior Member ![]() Joined: 10/02/2015 Location: United KingdomPosts: 128 |
I think i may have discovered a possible 'bug' in MPPTv5_BV_tempco_day_totals ? ![]() At the very end of Void init_controller there's this bit of code: if (nvd.pwm_freq != 20 && nvd.pwm_freq != 40) { // set default at 20 kHz timer1_period = 833; baud_waits = 1; ints_second = 19200; freq_scale = 1; } else { timer1_period = nvd.timer1_period; baud_waits = nvd.baud_waits; ints_second = nvd.ints_second; freq_scale = 2; } If my reading is correct(?!), then if nvd.pwm_freq == 20 it will actually set freq_scale = 2 instead of 1 I dug this up as i seemed to be getting radically longer delays at 20kHz than at 40kHz, and noticed freq_scale = 2: void dlay(int n) { int d; if (freq_scale == 2) d = n * 8; else d = n; dlay_timer = 0; // a simple delay loop that uses the 20kHz pwm interrupt as a clock while(dlay_timer < d) ; // This while loop will only exit if pwm interrupt is working. } Trouble is,i've hacked my version of the code so much i'm not sure what i've messed up, but that appears to be in the original code. ![]() I'm still not sure how i did this to the day 4 total ![]() |
||||
poida![]() Guru ![]() Joined: 02/02/2017 Location: AustraliaPosts: 1342 |
Hi Mab1 you have found a bug. This is good, I can fix it for us. Thanks for that. we need to apply the correct frequency scale factor which is used in a few places in the code. The fix is in Red if (nvd.pwm_freq != 20 && nvd.pwm_freq != 40) { // set default at 20 kHz timer1_period = 833; baud_waits = 1; ints_second = 19200; freq_scale = 1; } else { timer1_period = nvd.timer1_period; baud_waits = nvd.baud_waits; ints_second = nvd.ints_second; if ((nvd.pwm_freq == 20) freq_scale = 1; else freq_scale = 2; } the next bit also seems an error and likely a remnant of testing something or other. void dlay(int n) { int d; if (freq_scale == 2) d = n * 8; else d = n; dlay_timer = 0; // a simple delay loop that uses the 20kHz pwm interrupt as a clock while(dlay_timer < d) ; // This while loop will only exit if pwm interrupt is working. } change this to void dlay(int n) { int d; d = n * freq_scale; dlay_timer = 0; // a simple delay loop that uses the 20kHz (or 40 kHz) pwm interrupt as a clock while(dlay_timer < d) ; // This while loop will only exit if pwm interrupt is working. } here is the updated code mpptv5_BV_tempco_day_totals.zip wronger than a phone book full of wrong phone numbers |
||||
Ziki_the Newbie ![]() Joined: 13/04/2023 Location: YugoslaviaPosts: 19 |
Today I played with fire, the result is extremely unusual. The original choke(epcos) was 1.4mH from the motor inverter 11KW. An iron torus cut in half. I will try to wound some wire and give a litle test. Did someone stumped on something lile this? ![]() ![]() ![]() Thanks ![]() Pozdrav iz Srbije |
||||
andymc70![]() Regular Member ![]() Joined: 30/06/2019 Location: AustraliaPosts: 42 |
Hello All Just had another 2 IRBF4110 fail on my MPPT's, i just notice they are only rated to 100V VDSS, i just wondering if i can replace them with irbf4115, these are rated to 150v VDSS. But the gate voltage is only at 5V, whereas the 4110 is at 20. I am unsure of the gate voltage required or if 5V is not enough. Its also weird that the 2 IRBF's where on different MPPT's connected to the same battery. Thanks Andy Edited 2023-09-16 22:01 by andymc70 |
||||
Ziki_the Newbie ![]() Joined: 13/04/2023 Location: YugoslaviaPosts: 19 |
@andy Yes you can use irbf4115, gate voltage for them is -+20V. This mppt give out to gate 12V max. For dead mosfets, only one per board died? All best. Edited 2023-09-16 22:17 by Ziki_the Pozdrav iz Srbije |
||||
Tribal Tronix Newbie ![]() Joined: 14/09/2023 Location: NigeriaPosts: 2 |
Just did a speed read on this thread. Wow is all i could say. Please which code has the i2c on the main board. I would prefer only one controller... |
||||
![]() ![]() |
![]() |