Category Archives: Motor Controllers

MC3X60V Working

I am only using 12V, but DRV8313 worked on 2nd attempt. First failed so I ripped it off, revoved a lane and placed a new that worked straight up. Just using trapsoidal for the moment, but it’s a start.

I need to code up a Sinusoidal algorithm and better Acceleration and Speed Control. I also want to see if I can get Hall sensors working.

MC3X60V DC/DC working again


This was a bit of work. Soldered 2 x 10uF in a bridge – simply removed the protection TVS for now. If you look next to the led you also see space for a coil where I use a 1206 component, so I can probably squeeze the 1206 caps in there. I don’t want to try 60V yet, I want to solder on and actually test the motor driver. I scoped 3.4V and it looks real nice. I will dig deeper into that later to see ripple.

60V DC/DC

This is the PSU from the MC3X60V – my small motor controller. It snapped at 35V. To save space I omitted the components in the yellow circle.

Reviewing this with a friend I believe that C10 is the cause. This circuit need a small cap close to TSP54060. I already know that this circuit misbehaved without the larger motor caps mounted (not shown), so it is something to this, but we will see as I get around to patching a PCB.

The resistors R11 and R12 should be ok according to the datasheet. This set the under-voltage cut off and can be left floating – or more correct that is my interpretation of the datasheet for TPS54060.

I will see if I can patch one of the PCB’s as proof of concept, but I also want to make and order a break out board for a few of the 60ich V designs. As you can see above – the PSU is in the top-left corner and I don’t have much space here either. Also – again I will need to allow 60V components on C10.

Next question – Is this actually a 60V design?

The answer is NO! The circuit say 60V, but if you actually operate a motor controller on marginal design terms you will break it. This is a design for 48V with a max limit of 60V allowing it some tolerance.

MC3P60V Cap Change

I was rather pleased with routing MC3P60V because it is a dense, functional design. But, as I reviewed the design I found this. The error here is that this is 60V and I used 0603 packages. 0603 usually hold 6ich V, so I will either need to upgrade to larger 60V or try something else.

 My first thought is to use 2 x 1206 components in series to achieve 60V, but I need to check around what I can get and actual size of components. I have 2 of these cap circuits related to DRV8301.

And looking at the current PCB you can see that I am a bit out of space. I have a heat-sink that cost 1ich USD and that is perfect size, so I seriously do not want to change size on this design.

3-4-phase – Motor Controllers

I have a load of motor controllers that I want to continue on, but to focus on the more advanced ones.

MC4X60V50A

This is an early draft of rev 1.1 of the MC4X controller. Notice the heavy wiring at right to support 50A + all components top-side so I can add heat-sink on the PCB. All transistors have pad’s and being cooled at bottom. Two temp sensors added between MOSFET’s.. INA194 as Current Sensors, CAP’s on the PCB etc.

The results from the previous 1.0 version was actually so promissing that I am looking forward to this one. But, it is still work in progress.

MC3P60V50A

This has been in the pipe a few weeks. It is a dedicated 3-phase controller. It is 15mm more narrow than MC4X60V50 and uses DRV8301. I want to do an upgrade before I ship for this – some of the small capacitors are 0603 and need to support 60V – that will not work + I need a better place to mount the main capacitor.

Comparing MC3P and MC4X I must admit that I get a lot of functionality for those 15mm extra. MC3P is a bit smaller, but MC4X can do the same and more. I still want to do MC3P because I want to play with DRV8301. ANother change is that I consider putting wires on top so I can use a 100x25mm heat-sink on PCB-bottom.

Another concern is that I on this planned thick PCB lanes on power – simply creating a thick solder path. I am considering upgrading that to wires like I did on MC4X.

MC3X60V3A

This is the smaller of the 60V design. First test failed at 35V, but I have been advised to make a change on the DC/DC that I want to try out.

MC3P28V3A

This is the smallest based in DRV10983. It works, but I am not impressed over DRV10983 speed regulation. I will find more time to play with the I2C interface on this, but I need to see a better controller if I am to continue with it.

60V Limitation

Investigating the issue one option is that what snapped the TSP54060’s is that my PCB tracks are to close for 60V. You need close to 3000V per cm to create an arch and that is 30V per 0.1mm. I can’t see a weak point, but those pins are 0.2mm apart. A bit of extra solder tin on them is all that is needed and 35V is suddenly dangerous. Again I can’t really see anything, but I realized that a MSOP might be to small to actually support 60V safely.

I will try a different circuit, but I will also knock up a few test circuits with different DC/DC designs to see if I can find a stable 60V design. In the meanwhile I will test on 24 and 12 V because I also want to test he actual motor driver. I also realize that as DRV8313 also have 0.2 mm between pins and I actually limited that to 0.15mm as I widened the tracks – I might have a second 60V issue here. Now 60V was never a main objective on this small controller and I am not sure this is the problem, but standards indicate that I need more distance.

TPS54060 breaks at 35V

I received the MC3X60 Motor controller PCB’s yesterday and as always it is awesome to see how small my designs are. As this is the first time I use TSP54x60 I instantly assembled this to test and was pleased to see 3.4V out.

This circuit worked well giving 3.4V out with input from 12 to 30V, but TPS54060 snaps as I try 35V input.

I received MC3X60V yesterday and was very pleased to see the DC/DC actually working. I had to adapt values to E24/E48 series – R7 became 240K, R6 became 75K, R4 became 33K, but it gave 3.4V out which is fine. I can adjust it back with a E48 combination of R4/R5 later, but the requirement is actually 3-3.6V. As I turned up the Lab PSU Input it works perfect up to 30V input, but snaps as I try 35V. Exact same behavior on two different TSP54060 chips so far. 

This was a bit disappointing because it should not have snapped before I reach 65V, but I will test with TPS54160 and TPS54260 as well. I will also solder up a 2nd circuit. I also detected that the circuit behaved strange if I did not have a 1000uF capacitor over the 60 attached. I have double checked the circuit and components – it is only the TPS54060 that snaps.

My first thought is that I have gone wrong by leaving pin 3 and pin 6 floating. Pin 6 can be left floating it states, while pin6 is an output signal.

Regardless – I also have TSP54160 and TPS54260 chips to test + I only planned to develop with 12V anyway, so I can continue on two paths here (1) testing 60V PSU and (2) testing the rest of the motor Controller.

Don’t worry, I will get to the bottom of it. But, as usual I am my own enemy and don’t make breakout boards I can test new circuits With easily. It is straight on a dense, small design. I am a bit spoiled as I get things working most of the times 🙁

New MC4X60A – First Glance

Always funny to share 3D models. This shows the right side of the new 60V Universal Motor Controller. I have spaced out the MOSFET channels and moved all components top-side as well as added 2 temperature sensors, a new 60V DC/DC, capacitors on board and enabled JST channel connectors. I have routed 1 channel, but need to route the 3 remaining (copy) and then comes the big question.

To support more than 15A I need to lay down solder tin on the paths up from the power connector and I also need a wire from the between MOSFET’s to right side of the shunt. I will in reality need 2x3mm holes for that wire and I need to find those 6 mm. If I push those capacitors further to left I will have no room for MCU or I will need to exceed 100mm. One alternative is to push the right power lane to bottom that is ground plane anyway.

I am very happy with MC4X as is, so I am looking forward to this modified board that deal with the remaining issues. It will still be work in progress for a week or so, but I think we might be assembling this during x-mas.

So will this be a 1KW, a 3KW or even a 6KW design? As Is we talk about 60A @ 15A per channel – that is 3600 Watt limited only by power lanes. If I increase to 50A we would be talking 12KW – again the real limiter here is not each channel but those lanes feeding each channel. 12KW would require support for 200A – so no – it is not impossible, but it would require some more space – lol. It is just funny to think that it now should be lanes and wires that limit this design. This amount of energy from a 100x40mm board is insane!

MC4X INA194 Current Sensor

This show the new current sensor with INA194. The main reasons for changing to INA194 is that this supports -16 to +80V sensor range on high side + the chip is SO23-5 package that is a bit easier to mount than INA210 was.

C15 is a filter capacitor mounted as close to the shunt as possible. C25 is another filter mounted as close to V+ as possible and R32/C32 is a classic low pass filter. C25 is absolutely needed attempting to reduce noise on 3.3V as much as possible. The two other filters can be discussed. They can actually be done in SW as well.

I use a 0.001R shunt and INA194 do 50X gain. It is pin compatible with INA193 and INA195 that does 20x and 100X gain. With 1mOhm shunt we will get 15mV at 15A which amplified with 50X will be 0.75V. Also 15A over 0.001 is 0.225W. For a 15A design we can benefit from increasing the shunt to 4mOhm as this will be 0,9W and full 3V at 15A. Using a 0.001Ohm is actually a 50A design. The concern is currents below 1A. 1A is 50mV and max sensitivity for a 12 digit ADC is 0,007mV. In theory we should be fine, but I am worried about the signal/noise at these low currents. I will however need experience on this, so it’s nice to have gain and shunt options to play with. For a low current we should increase Shunt, but I will not worry too much about low currents on this design. I am not going to use a 3KW design to run a small, fiddly motor as I have other controllers for that.

With regards to 15A versus 50A design. The PSU lane is currently 4mm and limiting the total current usage to ca 15A. After this the PCB itself will start to heat up. I can easily fix that by using the trick of extra solder tin on the path. The 2nd limit is the lane from the Half-H-Bridge to the Shunt that will sustain 15A, but need to be a wire for 50A. If I replace this with a wire top-side I can also support heat-dissipation on the MOSFET through the PCB and a heat-sink directly on bottom side with a thermal layer will cool down both PCB and MOSFET’s to assist. I am more and more considering to just do this change, but let us see as I am also running tight on space here. 

Comparing this with the MC3P design I am using 15mm wider for 1 extra channel, main capacitors on the board and temperature sensors on PCB. I would actually struggle to get main capacitors on the MC3P design at all. I want to test DRV8301 anyway for fun, but the only functionality I actually lack is the is the over-current trip in DRV8301. We can do the same in SW, but an analogue trip is faster. Assuming I upgrade this design to 50A it would not make sense to use the more limited MC3P design at all – that said – I actually want to test DRV8301 so don’t worry – I will complete this as well in time.