I have built a motor controller for my sewing machine that controls the motor speed rather than just controlling the power - in use, it is like the difference between using a soldering iron with temperature control instead using a soldering iron with a simple power control. Typical sewing machine foot pedals control only the power - mine controls the speed using a tachometer.
I used the controller for several hours over several days. It did what it was intended to do, namely make it much easier to sew leather and nylon webbing.
While I was doing some experiments to see if I needed to do anything to reduce RF interference (listening to an AM radio while running the machine under various loads,) the 16 ampere circuit breaker in the house tripped and the 2 ampere fuse in the controller exploded - literally. The fuse blew with such violence that there was nothing left of it but the metal end caps and some glass splinters.
Parts D1, D2, and Q1 all failed. D2 was shorted. Q1 had a short from drain to source. D1 had a short from the AC input to the "+" terminal.
I found that I had used a bridge rectifier (D1) rated for 400V instead of the intended 600V, so I replaced all the dead (shorted) parts (and replaced the rectifier with one rated for 800V) and tried again. It ran for a few minutes, then blew again - the fuse exploded and the breaker tripped this time as well.
I originally had a UF4007 for D2, so I rebuilt everything and upgraded to a 1N5408 under the assumption that there was too much current for the UF4007. Again, the fuse exploded after just a few seconds and tripped the breaker.
I put an NTC in series with the fuse, and replaced all the blown parts (D1, D2, Q1) and tried one last time. This time, the fuse blew but didn't explode. The circuit breaker tripped as well.
At this point, I am out of ideas.
Things I've considered:
- Capacitor C4 (400VDC, 47µF) is damaged. If it were damaged, it should show some sign - bulged, burned, melted plastic sleeve, etc. It shows no obvious damage, and it seems to do its job. I made one try without C4. The motor couldn't maintain its speed. With C4, it maintains its speed, but then the fuse blows. I only ran it for a couple of minutes without C4, so maybe I just didn't run it long enough for it to "go off."
- Motor is damaged. The motor turns and runs, so it can't be shorted. If it had to do with the brushes or the commutator, I'd expect to see sparking when the fuse blows - but there is nothing.
- U3 (ADuM4120) is damaged. If the PWM signal were distorted, then Q1 (NTPF190N65S3H MOSFET) would turn on slowly and overheat, causing it to fail. Q1 fails shorted every time the fuse blows. If Q1 died first, then the motor would speed up. I know that Q1 can stand running the motor at full speed because I specifically tried that out while building the circuit - I made the motor run full speed by setting the PWM duty cycle to 100 percent to see that it would be OK.
- A short to protective earth somewhere in the motor or the controller housing. This is unlikely since it is always the 16 ampere circuit breaker for the outlet circuit that trips, not the household GFCI.
Datasheets:
- Q1, NTPF190N65S3H MOSFET
- D1, KBP308 bridge rectifier
- D2, 1N5408
- D2 alternative, UF4007
- I don't have a datasheet for the motor. It is a common 100 watt sewing machine universal motor made for 230VAC.
Circuit diagram:
The circuit diagram doesn't include the NTC resistor - I've only added it to the PCB as a tacked on experiment.
Layout:
Q1 is bolted to the aluminum box with a mica isolator between Q1 and the bare aluminum. I am honestly not sure how much good it does since the tab of Q1 is plastic.
The Arduino Nano is programmed as a PID controller. There's a foot pedal with a Hall effect sensor to provide the set point and an infrared photo-interrupter with a slotted disc to detect the rotation speed. Both are purchased modules that connect to the indicated headers on the PCB.
The PWM signal runs at 20kHz so I don't hear a squeal from the motor.
The circuit itself is on a PCB in a grounded aluminum box. I've also added a ground wire to the motor since the cheap things aren't grounded.
Edit: 2023.01.02
I've accepted Dave Tweed's answer. It gives some suggestions that I can follow up on to eliminate some possible sources of problems.
Spehro Pefhany's answer suggests a short through the coils caused by the insulation in the motor windings not being up to the high voltage pulses. I have no way to check that, except for correcting the things that Dave Tweed suggested then seeing if the fuse still goes bang.
Planned changes:
- RC snubber across the motor connections on the controller board.
- Replace D2 with a UF5408. I originally had a UF4007 there, then replaced it with the 1N5408 because of the higher current capability.
- Lower the PWM frequency to 5kHz.
- Limit the PWM duty cycle to 70 percent since the DC voltage is higher than the AC RMS voltage (suggested by Transistor in the chat.)
- Lower the gate resistor to 20 ohms.
- New PCB layout to address the creepage distance issues.
If none of that helps, then the problem may be with the motor. That would mean I have to scrap the project since the point of it was to make a better controller for the typical motors used on vintage sewing machines.