X-Mas Tree Decorations – Part 1

Every year around christmas I tell myself that next year I will have electronic christmas decorations, and as next year arrive it’s forgotten until it’s to late. A combination of STM32F030 and ULN2003 is excellent for a very small x-mas tree PCB with blinking LEDS and home made tree lights. In fact I have done this circuit before as a PWM driver with a single ULN2003, so what I will do is to make multiple PCB’s with LED strings connected through a RS-X (12V + RS485). These can then be wired in the x-mas tree and controlled by RS485 connection and 12V LED driver.

STM32F030F4 is excellent for this purpose, it cost 0.4 USD from AliExpress and all I need are sufficient to cover 20-40 of these. A 5A LED Driver should be more than sufficient. We make a harness with connectors up the tree where each decoration connect to this is a star network.

Application can be constant or random patterns as a start to make it simple. In fact I could make a small ESP32 control system with RS485 at bottom so I get the entire c-mas tree on Wifi or bluetooth. This could be a lot of fun.

The cost of this will be 2-4.- USD per PCB, around 10.- for the control system and a bit for the wiring. I probably end up spending around 100.- USD for a very attractive x-mas tree light system.

I can probably use up to 200mA per ULN2003 and a quick calc is that a single LED uses around 5mA, so in short – I will run out of space and LED’s before I run out of power. But, we should limit each decoration to ca 250mA max – I will probably need far less.

MC4X60V goes 50A

I decided to remove some of the PCB lanes and replace them with high current wires to support 50A currents. I had to extend the board ca 1.5mm at right, but to compensate I also remove the connectors because I need high current support all the way. I like having connectors for <10A solutions and playing in the lab, so will see what I can do. This will also free up 2-3mm that I desperately need at left.

At the end it simply made no sense to continue with 15A limit as I realized I would be using the same components and same space for a 50A design. And yes – this is a 50A design. The power wires are 3mm in diameter that actually is something like 64A while the 2mm wire for each channel is ca 41A. But, in addition to this you also have heat-sink at bottom as I connect the PCB itself to the heat-sink. I am confident that I will get sufficient out of this board.

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.

MC4X60V Routing

Using 100x40mm as format I actually seem to be able to move all components top-side and still add caps on board. I am not sure about density around MCU yet, but this is one driver. The weak links are as always the current paths, but I think this will be ok for 15-25A. This is just a routing experiment and this will be ok under the assumption that I do not need a heat-sink. I do however have the option to replace the big red lane with a 1 or 2 mm wire and use hole though to bottom lane to vent the SOP Advance. In which case I can even mount heat-sink on bottom. All components on top means I can use bottom lane as ground plane as well. Lets see.

This is 25% larger than the same channel with components on 2 sides. I have several times been surprised of how little extra space I need to make components on one side only.

Also I realize how little extra that is needed to target 50A here, but lets see how we go on MCU area first.

Updated 4X Motor Controller

This is just a simple block diagram over MC4X design to illustrate it’s components and summarize the planned changes.

  • More communication ports CAN and RS485. I hope to save some space and add more communication ports to support redundancy etc.
  • New PSU based on TPS54x60 providing 14-60VIN or 10-16V in. Support 10-12V for Gate driver, 5V for Hall sensor and 3.3V for MCU.
  • Added 2 temperature sensors on board located between MOSFET’s.
  • New INA194 base current sensors.
  • New SOP Advance MOSFET footprint will support both SOP-8 and SOP Advance allowing a wide range of MOSFET’s to be used.
  • 4 separate channels with IR2103 as Gate driver.
  • 4 separate high side current sensors.
  • 4 separate BEMF sensors,
  • Separate Hall Sensor port/Encoder port for additional positioning feed.
  • Separate end point connectors for positioning calibration.
  • Replace 2.57 pitch connectors with smaller 1.27 pitch
  • Move main caps on board
  • Change size to fit heat sink 100x40mm
  • Stick to 15A design as objective, maybe increase to 20A depending on what PCB can manage
  • Added pull-downs on PWM driver to avoid that gates are floating.
  • Use JST Micro as channel connectors.
  • New SWD Connector.

As for now I am still testing rev 1.0, so things are not written in stone. As for the new 3P controller I have put that on hold. I decided I wanted to do rev 1.1 of MC4X first. I do after all also have 3X coming in any day now.

I still have plenty of DRV10983 chips and boards so I will be playing around with that as well – we got plenty of motor fun coming up.

I have ordered separate test circuits for INA194 and this part is the only one that concerns me because of noise. I need to see if I can get a INA210 working on the existing design to test noise and noise filters.

 

MC4X24V becomes MC4X60V

The 40V or 30V or 26V – ouch limits have always annoyed me, so with new MOSFET’s, current sensors and PSU I change to 60V design. Making Space for SOP Advance I can always use SOP and 30V MOSFET’s anyway.

I finally found several temperature sensors in SOT23 package, so I ordered 2 different ones to test. SOT23 with no passive components means I should be able to sneak these in between the MOSFET’s – add 2 on MC4X.. and 1 one MC3P..

Testing MC4X I realize that I probably need to re-route revision 1.1 from scratch. I need a minimum of 1mm extra space between channels for SOP Advance package options + I want JST connectors on each channel rather than 1.27 pitch headers. I need space for INA194 as well as the temperature sensors. I also want 1000uF on the controller directly etc.

On the present controller I tried for a more narrow board and ended up adding space. Truth is that MC3P end up being a smaller design with components only on top side – I don’t think I can or want top-side only on MC4X, but I would like 100 x 40mm format due to the availability of heat-sink’s in that size. So if I include capacitors on that size it will be good.

I am not going to bother with higher currents on this solution as it would require to much. I got the 3P design for higher currents and 3-phase motors even if I realize that my first routing here also need to be modified.

It will be a bit of work before I order either MC4X or MC3P as both needs changes, but it is worth it. I am actually impressed with MC4X testing so far despite a few set-backs. I expected PCB lanes to be a problem and not dodgy MOSFET’s, so things are looking very good for a 15A design. With new MOSFET’s I might very well upgrade current ratings, but that is not an objective right now. I will also be using 3X-, 4X- and 3P-Controller as terminology from here. Writing the full names are a bit confusing and at present I only want to continue with 3 controllers. Others do small, insane 3-phase drivers better than me, so I focus on actuator Controllers. I can never compete With the smallest size using 2-layers anyway – but, it is real fun to see what I can achieve.

MC4X24V15A Motor Controller Upgrade

I still want to test more with rev 1.0 of MC4X24V15A, but I am also planning an upgrade. I initially drew a rev 1.1 using 78M12, but I will replace LMR14206 with TPS54x60 and AMS1117 with SPX3819. That will increase range to 60V which basically means 48V. I do have the challenge that I also want 12V and I need 12V on the Gate Drivers. The only solution I know of is by bypassing the DC/DC if input voltage is below 14V.

The supercap stays, that part of the design was really succesfully, but I need to consider if I need 5V as well for the Hall Sensors etc. In which case I need 4 voltages on the controller.

I will change to the new SWD to save some space + this should be better in this case as it won’t be in the way.

I will also change the connectors to JST Micro as I see little purpose in the larger ones.

I would like to find smaller diodes for the Gate Driver chargers.

I also consider dropping that cap add-on and get the caps directly on the board. Use 1000uF 16/35V in series etc.

INA210 will be replaced with INA194.

I need to test that Hall Sensor circuit and consider changing it.

Temp1 and Temp2 needs to be changed.

Resolver port can be removed.

And then comes the question about the MOSFET’s. IRF7862 is great, but some of the new ones are just in a different scale. 3.3mOhm versus 0.65mOhm is a huge difference as the later will allow much, much higher currents. But, if I make the footprint for SOP Advance a SOP-8 will also fit onto that. The only difference is the PAD on SOP Advance. I can even stick SOP Advance on SOP-8 with some care – I just do not get the advantage of the PAD’s heat dissipation. But, I do need to remove a place-through underneath the IRF7862. With this I can interchange MOSFET’s. New product name will be MC4X60V15A. I don’t plan on changing the 15A limit. MOSFET’s will take far more, but PCB lanes will start burning.

Returning a bit to MC3P60V50A I realize that I have done a few mistakes. Some of the smaller capacitors needs to be 60V+ and I need to put the main capacitor somewhere. All in all I might have to use a few more mm in width which is fine.

I am still waiting on PCB’s for MC3X3A. As for the micro one using DRV10983 I am actually considering ditching that one. It run’s the motor, but I am not impressed. After a while it heats up and misbehave. I tried a L293 just to compare and was more impressed by how easy it was to use this to run the same 3-phase motor. I liked DRV10983 over DRV8313, but – well – I will code it’s I2C interface and see what I can achieve.