Here's a link to the schematic for my project: https://easyeda.com/YeahWhateverMan/pk-due_copy_copy
I'm very much a noob when it comes to electronics. I've designed this circuit (probably very poorly) that uses 5 potentiometers to control 5 sperate 12vRGB LED light strips using an Arduino mega (I was going to use the Due, hence the name of the project folder, but later decided on the mega). Basically, the Arduino sketch just watches for the potentiometers to cross a specified threshold value, which then triggers a state transition.
On the other end of the Arduino, 5 PWM signals are used to drive the gate of 5 seperate logic level, N-channel MOSFETs (RFP30N06LE). The source of the MOSFETs are connected to the red channel of the light strips (green and blue are tied to 12v and unused for now).
To power everything, I'm using a 12v Li-ion battery. This is where I'm having problems. The battery can be plugged into a wall wart for charging, meaning that if connected to my circuit, would be supplying the charge voltage. This is too high for the Arduino Vin pin.
My solution was to use a buck/boost regulator to keep the supply at exactly 12v if connected to the charger, and keeping it as near 12v as possible while the battery discharges. Then I used a second buck/boost regulator to generate the 5v supply for the potentiometers as well as a logic IC. I did add a switch to disconnect the circuit from the battery while it is charging, but this is for something that my kids will be playing with, so you can't trust a simple switch for safety.
When prototyped on breadboards, I used 2 different regulators (buck converters) as I waited for the buck/boost boards to arrive in the mail. I added in a voltage/amperage/power meter between the switch from the battery and the rest of the circuit. On breadboard I was seeing max 1.5 amps with all led strips on at their fullest. Since changing to the buck/boost regulators, I can only turn 2 on full, and a third about half way, before the current draw exceeds the battery's ability to output. Can anyone explain what I've done wrong and how I might fix this?
I'm very much a noob when it comes to electronics. I've designed this circuit (probably very poorly) that uses 5 potentiometers to control 5 sperate 12vRGB LED light strips using an Arduino mega (I was going to use the Due, hence the name of the project folder, but later decided on the mega). Basically, the Arduino sketch just watches for the potentiometers to cross a specified threshold value, which then triggers a state transition.
On the other end of the Arduino, 5 PWM signals are used to drive the gate of 5 seperate logic level, N-channel MOSFETs (RFP30N06LE). The source of the MOSFETs are connected to the red channel of the light strips (green and blue are tied to 12v and unused for now).
To power everything, I'm using a 12v Li-ion battery. This is where I'm having problems. The battery can be plugged into a wall wart for charging, meaning that if connected to my circuit, would be supplying the charge voltage. This is too high for the Arduino Vin pin.
My solution was to use a buck/boost regulator to keep the supply at exactly 12v if connected to the charger, and keeping it as near 12v as possible while the battery discharges. Then I used a second buck/boost regulator to generate the 5v supply for the potentiometers as well as a logic IC. I did add a switch to disconnect the circuit from the battery while it is charging, but this is for something that my kids will be playing with, so you can't trust a simple switch for safety.
When prototyped on breadboards, I used 2 different regulators (buck converters) as I waited for the buck/boost boards to arrive in the mail. I added in a voltage/amperage/power meter between the switch from the battery and the rest of the circuit. On breadboard I was seeing max 1.5 amps with all led strips on at their fullest. Since changing to the buck/boost regulators, I can only turn 2 on full, and a third about half way, before the current draw exceeds the battery's ability to output. Can anyone explain what I've done wrong and how I might fix this?
Last edited by a moderator: