Arduino Based Powerful EHT (BSC25-T1010A) Driver
by MrityunjoyB in Circuits > Electronics
3273 Views, 3 Favorites, 0 Comments
Arduino Based Powerful EHT (BSC25-T1010A) Driver
This Arduino Based MOSFET Driver drives the EHT Flyback with High Efficiency Current Control Loop. Frequency of the primary winding and the supply current to the primary coils can be changed as per requirements. Arduino will be trying to maintain the set current by increasing or decreasing the PWM Duty cycle. Conventional ZVS circuit don't have the control over oscillating frequency. Hence I have decided to make Arduino based close loop current control mechanism to test with different frequencies. The output gave long Arc (approx 3.8 cm @1 KHz and 1.19 Amps)
Supplies
Main Parts:
1: EHT: https://www.amazon.in/dp/B08RYLPDHL/ref=cm_sw_r_e... or
https://m.snapdeal.com/product/eht-flyback-transfo...
2: P55NF06 MOSFET: https://www.amazon.in/dp/B08FRRNWZT/ref=cm_sw_r_c...
3: TLP250 MOSFET DRIVER: https://www.amazon.in/dp/B09655576B/ref=cm_sw_r_c...
4: ACS712 5A HALL EFFECT SENSOR: https://www.amazon.in/dp/B07D8XNM4X/ref=cm_sw_r_c...
5. ARDUINO NANO: https://www.amazon.in/Robotbanao-Nano-Usb-Cable-B...
6: 100 Ohm 1/4 Watt x 1
7: 10 Ohm 1/4 Watt x 1
8: 10K Ohm 1/4 Watt x 2
9: 0.1 uF / 100V Ceramic Capacitor x 1
10: Tactile Switch x 2
11: 10K Variable Pot x 1
12: 4SQMM Thick copper wire x 4 mtr
13: Dotted Verro Board x 1
14: 2.54 mm Barg Strip header x 1 full header
15: Connecting Jumper wire x 10
16: Heat Sink customized (if you want to use this flyback at high frequency, increase the heatsink size as the switching loss will be more), get aluminum heatsink from any hardware or furniture shop.
17. Miscellaneous: Normal wire for internal board soldering, solder wire, solder gun, solder paste, MOSFET mounting nut bolt, CD marker pen for marking on board
Be Careful Before Start
CAUTION: HIGH VOLTAGE WITH HIGH CURRENT AND HIGH FREQUENCY, CAN CAUSE SEVERE INJURY TO NERVE SYSTEM OR DEATH IF GOT SHOCK. NEVER EVER TOUCH ANY EHT PINS WHILE OPERATING IN ANY CIRCUMSTANCES AND ALWAYS KEEP DISTANCE WHILE OPERATING THE EHT. THIS PROJECT MADE FOR ELECTRICAL/ ELECTRONICS PROFESSIONALS, SO NEED TO BE HANDLED VERY CAREFULLY. I DON'T TAKE ANY RESPONSIBILITY FOR ANY INJURY/ LOSS/ DAMAGE CAUSE TO YOU.
Selection of MOSFET and Driver
From the calculation we can see the gate capacitance of P55N06 is 5nF @12V and 10KHz, hence the required gate current is .6 mA, too less. I have decided to use TLP250 Optocoupler based MOSFET/ IGBT Gate Driver, the reason is below,
1. It can give ample current (1.5 Amps) to the Gate (Definitely if MOSFET require more, for our case only .6 mA)
2. High efficiency totempole configuration.
3. No bootstrap diode is required
4. 5KV isolated electrically from input to output
5. Easy connection with Micro-controller
Know the Limit of Your Driver
There are some certain limitations for the driver,
1. The frequency limit for the TLP250 is 25 KHz, so better to use upto 24KHz maximum.
2. If switching speed is high (i.e frequency) the switching loss in MOSFET will be more, so better to use a good heat sink for the MOSFET.
3. Use 12 - 20 Volt power supply with at least 10 A capability. I have used a 12V/ 165AH Lead Acid battery, so supplying Amps to the driver will not be a problem. Even you can use a 12V/ 7AH SLA battery also without any problem. But be sure the battery voltage is more than 11 Volt, if battery voltage going less than 10 Volt, the MOSFET will be heating.
4. If MOSFET is getting heated too much try to reduce the frequency.
5. Try to use lower frequency like 50 Hz to 1KHz. Higher frequency operates the Primary coil as CCM mode, which may reduce MOSFET life, if heat is not transferred properly.
6. Battery supply voltage should not be greater than 20 Volt or MOSFET will get damage.
7. The driver should be operated by pure DC, as AC component in DC can have a noise at the Gate of MOSFET cause unwanted switching and heating. So if you are using a power adapter or SMPS be sure there are no AC component in it. Better to use a 12 Volt battery.
Make EHT Coil Primary Windling
Take 4 sqmm electrical wire for primary winding of the EHT Flyback. Make 12 Numbers of turn around the EHT Ferrite Core. According to BSC25-T1010A 4th pin is the ground, solder a 4 sqmm wire to the 4th pin. Refer the images.
Assemble the Driver Circuit
Assemble the flyback driver circuit on a dotted PCB verro board, try to reduce the length of MOSFET gate to TLP Output as short as possible to reduce Gate noise. For details of the connection Refer the schematic.
Arduino Flashing and Powering on EHT
NOTE: Never connect the Battery to the Flyback during or before flashing the controller. Always first flash the Arduino then start the serial monitor, set the values for FREQUENCY, CURRENT SET then Connect to Battery to EHT and start Run
Sequence:
Flash arduino --> Start Serial Monitor --> Set Freq (by POT)/ Current Limit(Tactile) --> Connect EHT Supply -- > Start (Tactile)
Code Details
TimerOne Library is required for PWM generation, get the library from link below if you don't have the library,
https://downloads.arduino.cc/libraries/github.com/...
1. Bluetooth Connection
On line 27 you can see bluetooth is configured as software serial
SoftwareSerial bt(BT_RX_PIN, BT_TX_PIN);
If you want to run this high voltage circuit without having connection with PC/ Laptop you can simply connect a HC-05 or Similar bluetooth module (as per the code Arduino's D8 to Bluetooth's RX and Arduino's D7 to Bluetooth's TX). For viewing the logs you can use Bluetooth Terminal app. But remember that Flashing of the Arduino has to done from PC/ Laptop.
2. Add your Frequency
On line 38 you can see the frequency selector,
unsigned int freqArray[] = {20000, 10000, 2000, 1000, 100}; // 50Hz, 100Hz, 500Hz, 1KHz, 10KHz
every time FREQ button is pressed, will be in incrementing manner means Startup will have 50 Hz 1st press will have 100 Hz, 2nd press will have 500 Hz and so on.. The array elements are in Microseconds, timerOne will be getting loaded with this value for PWM generation. If you want more frequency add the array elements, like below examples I have added extra 2KHz frequency
unsigned int freqArray[] = {20000, 10000, 2000, 1000, 100, 500}; // 50Hz, 100Hz, 500Hz, 1KHz, 10KHz, 2KHz
3. RUN/ STOP EHT
When you press run button, EHT will be start operating, once again if you press the same button will stop the EHT by asserting soft reset to Arduino. So before running set FREQ and Current values, then press RUN button.
4 Current Control Loop:
ACS712 5A hall sensor reads the present value of current to the primary winding and try to maintain the set current by incrementing or decrementing the Duty of the PWM. If you want to change the ACS sensor at higher rating, set the sensitivity accordingly see on line number 126
currentVal = ((SYSTEM_ACTUAL_VOLTAGE/ 2.00) - (currentValCount * (SYSTEM_ACTUAL_VOLTAGE / 1024.0)) )/0.185;
0.185 is the sensitivity for ACS712 5A.
Power the Flyback!
Power up the Flyback and see the arc.
Enjoy!