Ar2uino Dummy Load – 6

I had not planned to continue with the Ar2uino Dummy Load any more for the moment until Step 2 – but the day before yesterday when I replaced the normally(?) noisy fan of my Rigol 1054z oscilloscope with a more silent one (Gelid Silent 5) I suddenly had a fan of the right size left over! Not such a bad fan either but to noisy to listen to over extended periods with the oscilloscope! But that did not matter in this case – any fan would do for the dummy load! Just one critical thing wrong with it – it was a 12V version! The 5V fan that I sent for was $10 with shipping and even if I have gotten that money back now – I still have no fan! Then I realized that I could use this “left over” fan just by adding a DC-DC Voltage Booster to bring those 5V up to the stipulated 12V – for less than $1/€1/10SEK! No need to send for another 5V fan and pay $10 again! 🙂

That is really a good idea that I will have to remember in the future! Power something by 5V (or even 3.3V) and need a fan? Then use a 12V fan and a DC-DC Voltage Booster and get variable fan speed thrown in! So now all my 12V fans can be used at much lower voltages! That is really cool! Eh!? 😉
(Albeit at the expense of higher current requirement.)

At least for the moment what I have is a manual speed control that I can use to lower the fan noise a bit when the load – and the cooling capacity needed – is not so high! 👍 I have had plans to make the fan temperature controlled in Step 2 or controlled by the ESP8266 depending on the load – but this might turn out good enough … I will see!

It is a scary moment when you have cut the wires at exactly the right length and then have to remove the insulation! You know that if you fail and cut through the wire – it will NOT fit very well and you will have to extend the cut off wire in some not so very elegant way! The critical de-insulation – went well after all! 🙂 Just to calm my nerves I added a back-EMF diode! That is to protect the booster from the high voltage generated by the fan motor working as a generator when the fan spins down. I just soldered a 1N4007 across the output terminals! (See the red arrow!) No particular reason for picking the 1N4007 – just because that was what I had at hand. Well it has to handle the desired max forward voltage naturally! The 1N4007 does that hands down! 😉 It was an SMD type with solder pads made from bent flat “wires” so I “unbent” the solder pads somewhat to be able to solder them a little easier.

Then is the question of if the fan is most efficient when “blowing” or “sucking” air? I will need to test this just to find out how it is – at least in this case! Not that I think the difference will be big enough to matter that much! It is just fun finding out! 🙂 Judging from the manufacturers sticker (assuming they want to be seen) it should probably be “sucking” the air out of the heatsink – but to my … ehrm … extra sensory perception – tells me it would be better with “blowing” air into the heatsink! 😉 A small test will give the answer … and the answer is …

Heatsink temperatures with the fan blowing air into or sucking air out of the heatsink. 5 min settling time on each.

To quote a nice song: “The answer my friend, is blowing in the wind…” Well, as expected the difference is not very big degree wise but it is definitely clear and big enough to motivate choosing it! Blowing into the heatsink is the most effective! See diagram above! As the fan was blocking the view of the heatsink innards I could not use an infrared thermometer so I decided to use the temperature add-on to the multimeter to find the temperature. This time I measured it at the transistor side of the heatsink, at the transistor metal tab. Measured with the fan set to be powered with 12V – that is “full blast”. Room temperature was 21°C and it was open space all around the heatsink.

The loads I measured was 20V and 300mA and 500mA – translating to 6W and 10W. The temperatures (above) that those loads gave translates to temperature increases of 0.5°C/W when blowing and 0.75°C/W when sucking air. That is around 50% worse when sucking air – not such a small difference after all! The temperature measurement was only possible in whole degrees Celsius so it is a bit coarse – and the measurement points were not very far apart – but the difference is clear! I removed the fan and let the temperature climb a bit and then replaced the fan again – and every time the temperature settled on the above levels! To go by these values a 50W load should raise the temperature around 25°C from room temperature and that puts it in the vicinity of 45°C – if the fan blows into the heatsink!
(I broke off the measurement of 500mA without fan as the temperature broke 48°C and was still climbing!)

I used heat glue to stick the DC-DC booster to the side of the fan – out of the way. The thinking was right – but NOT the glue! I was only left with a small “glue-coin” that did not stick to either surface! So I switched to superglue and that seems to have done the trick with a small distance put in between to cater for the soldering bumps! One thing that initially had me flabbergasted (just for a little while, mind you!) was that the booster would just “pass through” any voltage that I fed to it and no matter how much I turned the little trimmer screw (clockwise) nothing happened – not even when I turned it counter-clockwise did anything happen! 😦 Then I realized a small lead bridge over two pins at the small IC on the booster so I tried to fix that with a solder wick – but no improvement! I decided to try my other sample of the same DC-DC booster – but the same result! Both broken? Murphy hit me twice? Unlikely … so then I decided to turn it all the way counter-clockwise! Lo and behold – after about 5 to 10 turns the output voltage started to go up! I set it for 12V and connected the fan – and it was as noisy as before! But now I can adjust it! Lovely! 👍😁

Those small DC-DC Voltage Boosters are certainly both handy and cheap. But they are switching which means they are generating high frequency electrical noise. Will this disturb the dummy load maybe? We are dealing with some very minute voltages there! A look at the old oscilloscope would not be amiss!

See you sooner!
/Sfenn

 

Ar2uino Dummy Load – 5

DummyLoadReadyStep1TestIll

At last it is time for testing the Ar2uino Dummy Load! 🙂  The Corona pandemic has been very “mildly” handled here in Sweden with few restrictions on what we can do (but instead putting most of the responsibility on ourselves to behave with care) so I should not blame that for my slow progress but it has affected the ability to meet with friends – and talk about nice things like Dummy Loads. 😉

I would also like to again point out that the Ar2uino Dummy Load also can be seen as just an improved version of the Ar2uino Battery Tester (3) – but it has a wider scope than that and I have therefore changed its name! The battery tester functionality will appear in Step 2 of this project – when we add the ESP8266 microcontroller!

Things to test will be:

  • Ability to keep a constant load as voltage varies
  • The resolution – can I set it to the exact mA
  • What is the lowest current load setting I can make
  • What temperature will the heatsink be at a few different loads
  • What internal resistance will it have with 5V power, the Op-amp and transistor used – that shows how low I can go with a low voltage and a high current at the same time.
  • The stability of the load (Oscilloscope analysis)

Constant Load Test

First out to be tested is naturally the ability to keep a set load while the voltage varies. The theory behind this is as follows Ex: Start out with 100mA load at 5V. According to the standard formula Voltage= Resistance * Current this gives that the load should “pose” as 50Ω resistor (5/0.1). If we change the voltage to 10V it should keep the current constant at 100mA so it would need to “pose” as a 100Ω resistor (10/0.1). The same applies for 15V when it should “pose” as a 150Ω resistor. This is handled automatically by the feedback loop formed by the current sense resistor and the Op-amp. We just have to set the desired current load with the 100kΩ potentiometer. That is all! With any voltage applied the Dummy Load will change its resistance so the a 100mA current flows through it in the above example! What it really is about – is to keep the voltage over the sense resistor constant! A very appropriate task for an Op-amp with a feedback loop!

I have still not yet received my 5V 50mm fan from China (will I ever …?) – shipping times are really the worst with shopping from that far! I decided to go down to my local electronics store and buy the same fan there – for 10 times the price … well they did not have it in store but would get it in a few days – they are very helpsome and friendly! And it was really 10 times … 😦 AND I had managed to get a fan that did not fit my heatsink! 😦

Lacking the fan makes testing of the higher loads at higher voltages not really feasible – but I will try short time loading to avoid heat build up!

Testing: 10mA, 50mA, 100mA, 500mA, 1000mA, 2000mA – from 0.1V to 20V.

ConstantLoadDiagram2As the diagram shows the dummy load is very stable from 0.1V to 20V for all loads! Stupidly I measured the current with a current meter (they have a built-in sense resistor) – further adding to the internal resistance. This shows as the up-ramps between 0.1V-2V on the 500-2000mA curves indicating around 1Ω total internal resistance. (I will re-measure this later using a voltmeter over the dummy load’s own 0.1Ω sense resistor to see if I get steeper ramps – that is lower internal resistance! I managed to blow the fuse on my power supply during testing – and naturally I had no spare – so this will have to wait a little …)
The rest is just straight lines! 🙂 That is excellent! It shows that it manages to give the same stable load no matter what the voltage is! The difference is less than the last digit on the multimeter! I could not read anything below a 1 mA difference due to the multimeter ranges! This is really nice – stability is what I want in an electronic dummy load! 🙂

Resolution Test

PotentiometerEffHaving a 100kΩ trimmer 25-turn potentiometer should give us a very good ability to set the load according to our wishes! Each turn translates to just 4% of the total resistance and should give us an ample number of settings. In theory we should be able to set the potentiometer to an unlimited number of resistance values – BUT testing it out with an Ohm-meter I found that with a reasonable amount of fiddling the smallest fraction I could set it for in reality with any form of repeatability was in the region of 50Ω. That would turn out to be 2000 settings for the whole current span. In my case that is 5700mA (5.7A) which would be 2-3mA in each step. To my way of thinking this is much more resolution than I need!  With a bit of fiddling any load could probably be set! I am mostly interested in a stable load!

ESP12-FsIn the upcoming Step 2 of the Ar2uino Dummy Load when an ESP8266 will be used to set the current load – it will be handed via PWM instead of the trimmer potentiometer. According to the data sheet the ESP8266 features a 14 bit PWM resolution at 1 kHz refresh rate. That will give us over 8000 digital steps with (in theory!) less than 1 mA in each step!

 

Lowest Current Load Test

30mAWith the 100kΩ potentiometer I can relatively easy set it for around 30mA again and again. But it is like a “jump” in resistance at the lowest setting! When I fiddled a lot (several minutes!) I managed to set it for 10mA – I could not believe my luck – but it is not something I would like to do regularly! So I would say that 30mA is the lowest current that can be set with the trimmer potentiometer!

 

Heatsink Temperature Test

DummyLoadHeatSinkSAs the most heat will be generated at higher currents and higher voltages – that is what I will focus my testing on.  As the MOSFET transistor in use IRL540 will handle >20A current and a power dissipation >150W  (IF it has an enormous heatsink!) it will stay in the no risk zone with the “small” maximum load of 20V at 2A = 40W – which is almost the limit of what my old PSU can deliver. To get some idea how the dummy load heats up I will start with just 100mA at 20V. That will translate to just 2W of power that has to be turned into heat. At 500mA the power turned into heat is 10W.

Due to the problems with the stability of my old PSU (See below!) I have so far just tested 5V at 500mA and the heatsink did just about turn luke-warm! This gives just around 2.5W (5V*0.5A )to cool away…!

HeatsinkTemperature

Using a infrared thermometer the above heating was measured at a room temperature of around 22°C at different current loads (50, 100, 200, 500 and 800mA marked by the small blue points above). The temperature was measured at the centre of the heatsink – just about where the power MOSFET transistor was bolted on the other side of the heatsink. A very stable 12V lead acid battery was used and the dummy load was very stable – just showing a straight line on the oscilloscope! Thank you EW for the help!  🙂 I stopped the measurements when the temperature had risen to 50°C as it was really too hot to touch comfortably. At that point the current was 800mA (0.8A) and the heatsink had to take care off  around 10W of heat! This gives us close to 3°C/W in temperature raise for this heatsink. If we double the power we would theoretically be looking at a temperature of 80°C – far to hot to handle without a fan!

Higher loads will be measured in Step 2. The good thing with using a battery for this test is that I could see that the dummy load was really stable – no interference from a PSU! See more about stability below! 

Load Stability Test

PSU Direct Voltage 5V SwitchingSuppliesOn

This certainly was much more tricky than I expected! First of all there were so many sources of disturbing electrical noise! I set up the oscilloscope and switched on my old PSU and set it for 5V output – unloaded. Then I was really surprised to see the SAWTOOTH wave curve above – and to that a lot of “fuzz”!

Some easy testing showed that apparently it is my old LM723 based  linear PSU that produces the sawtooth shaped curve at 50Hz! NOT the dummy load! Our mains frequency here in Sweden is 50Hz – that must be involved in some way… That in itself is a question! The sawtooth is just 20mV but all the same – should it look like that? Google did NOT help – I could not find a single relevant trustworthy oscilloscope picture of a normal LM723 voltage curve! But mine has for all I know been like this for MANY years – and the sawtooth is not very big – and I have used it with no problems – until I got the oscilloscope and could see …!

Ignoring the sawtooth there is still all the fuzziness around – in my case it comes from a few different switch mode PSUs! I had 3 of them around me: one for my portable computer, one as mobile phone charger, one for a small desktop LED-lamp and finally the big culprit – one powerful magnifying lamp with a circular array of LEDs and a built-in switch mode PSU! 
(Click any of the oscilloscope pics and it will open in a new tab!)

PSU Direct Voltage 5V

Switching off all the sources of electrical noise I was left with the curve as seen above. A 50 Hz saw-shaped curve with a small high frequency wave superimposed on it. The ripple (saw-shaped) is around 17mV. This level is perfectly acceptable for this type of PSU according to knowledgeable friends of mine. Zooming into the curve as far as I can to see the high frequency part showed the following:

HiFreqJitter

This is as far as my oscilloscope will go! The high-frequency wave is 500uV with peaks extending as much as the double (1mV).  It has a period of around 4-5nS but wobbles a bit with a longer gap every now and then. This is precisely similar to what the scope shows when there is no probe at all attached to it or even with the input shorted with a special plug! So this high frequency wave must be from within the oscilloscope. These levels are perfectly acceptable and can not be avoided as I see it! With this I think I have eliminated most of the error sources – and understand the rest.

Only Cables

I decided to definitely eliminate the dummy load as the one to create the sawtooth by using a Li-Ion battery and load that with 50mA & 100mA! First out above is just the probe and cables in the setup – no dummy load connected! As can be seen above this gives a stable curve with the “standard” superimposed high-frequency wave. But the cable do provide some sort of noise pick up!

Li-Ion_4.2V_50mA

Dummy load 50mA at 5V above! Looks very similar to the “cables” above! My deduction is that it is stable!

Li-Ion_4.2V_100mA_a

Dummy load 100mA at 5V above! Also looks very similar to the “cables” and 50mA load above! So again I think that indicates that it is stable!

That concludes the Ar2uino Dummy Load tests – which I think shows it is stable enough for use as a – yeah – dummy load when testing other things.

 

Conclusion

DummyLoadReadyStep1sThis is definitely a worthwhile and simple device to build  👍 – every “little electrician” should have this in the toolkit. 🙂 Few and cheap components – maybe even in your scrap box? Easy to build, no complex diagram to follow! Layout non-critical! Even this Step 1 version with the little trimmer is very usable! Admittedly it is a little fiddly to adjust the load with the small trimmer – but you can naturally use ordinary full-size potentiometers if you want – you could even have two in series with one acting as coarse adjustment and the other as fine – but they will only be used as trimmers in Step 2 of this project!

Well now that it is usable I will be able to go back to the Ar2uino Digital PSU project where this Ar2uino Dummy Load  is very much needed! 🙂

I will return to this project after that the Ar2uino DPSU is finished and go on with the Step 2 and add the ESP8266 with the needed software.

UPDATE: As I will be using the Ar2uino Dummy Load some time before I go on with Step 2 and add the ESP8266 – I have seen the need of a “Power-on LED” so that I can verify that I have a working supply to the electronics (really just the LM358). I have added a small blue LED and a 470Ω series resistor over the supply lines from the small micro-USB connector for that purpose!

See you sooner!
/Sfenn

Ar2uino Dummy Load – 4

As can be seen above I have really gone for compact with the Ar2uino Dummy Load (aka Ar2uino Battery Tester 3) built according to step 1. Controlled just with the potentiometer. Very easy! Just set the current with the potentiometer and measure the current going through or measure the voltage across the sense-resistor. Remember that 1mA current will give only 0.1mV across! So 1A will give 0.1V.

Above you can see the side with the micro USB connection for 5V power to the Dummy Load. Also you see the 25-turn potentiometer for setting the current load. To the far right as a blurry green square on the other side you can see the screw terminals for connecting the load! There is room the the right of the USB connector for another power connection in case you want to power it in another way. At the moment (step1) it draws very little power – just about a mA! In step 2 when we add the ESP8266 it will draw substantially more power 2-300mA and even more in short bursts. We will make sure to include a proper reservoir capacitor to handle the peaks. I am waiting for the 5V 50mm fan that will be mounted on top of the heatsink – the “U” shaped form at the top takes 3mm screws so mounting should be easy! Even if I will test it I will not be able to go to very high loads swithout the fan! NOTE: The above USB is just for power – not for programming or communication!

Here is the other side slightly from above. On the very left you can easily see the screw terminals for the load. This is where you connect whatever you want to test. Power Supplies, Power Banks, Batteries … etc. In the shade under the heat sink you can see the 0.1Ω sense-resistor. It is soldered hovering a few millimetres above the PCB and also a few millimetres below the heat sink. Practical tests will show if this is a feasible solution heat wise. The connection wires have been bent to allow easy access in case you want to monitor the current by measuring the voltage over the sense-resistor. You also can see the two heavy wires (red and black) that carry the current up to the Power MOSFET that is bolted to the heatsink. Not seen is the LM358 op-amp hiding in the middle under the heatsink.

Here it is “unfolded” so all of it can be seen. Not much really – but it is a very simple circuit! Placement of the components is not very sensitive – but try and keep wires as short as possible and go for heavy gauge wires where I have so indicated in the schematic! I went for compact and that has forced me to use longer wires than would have been necessary with a more “sensible” layout. Another throw in just to looks is the red and black wires that I let extend out a bit – looked cool I think! 😉 A little blurry you can see the IRL504 Logic Level Power MOSFET bolted to the heatsink with an isolating silicon pad. Gold 😉 spacers keep the hot heatsink away from the rest of the components. Heavy gauge wires lead the current up/down to the board. Closest is the white 0.1Ω 5W sense-resistor. Behind that is the 1uF capacitor and the LM358 op-amp and its standard 0.1uF decoupling capacitor. Along the further edge is the micro USB power connector, a 470kΩ resistor and the 25-turn 100kΩ potentiometer.  A 10uF Tantal SMD capacitor finishes of the components just in front of the potentiometer. Left is only the screw terminal for the load! That is all there is to it! 😉

I have left space on the board for the ESP8266 ESP-12F module and the 3.3V voltage regulator to be added in step 2. As you can see I have also made a cut-out for the ESP-12F antenna so that will have free transmission in most directions.

As mentioned earlier the layout of components is not very critical but make sure to save space so that the ESP8266 module can have free transmission in most directions. The closer to the heatsink the antenna is placed the more the heatsink will block or weaken the WiFi-signal. Because of my small and cool heatsink I opted for cool and compact – but see that just as a not so optimal layout and maybe also not such an optimal heatsink! There is also no need whatsoever to go with the very compact and folded design layout that I did! But cool it is … 😉

Well, next up is the testing of the Ar2duino Dummy Load. Read about it in post no: 5!

See you soon!
/Sfenn

Ar2uino Dummy Load – 3

This is how the Ar2uino Dummy Load Step 1 electronics design looks at present! It is a very simple design and not complicated at all! This is a standard design of using an op-amp! I have included the logic level MOSFET IRL504 so that it will work well at 5V. As I said you can use practically any MOSFET as long as you can drive it and do not exceed the max specifications. NOTE: If you use a standard non-logic level MOSFET you might need a voltage step up module or power it with around 9V instead.

We are using the MOSFET transistor to ‘burn off’ a selected amount of current so a heatsink is necessary! How big and if you will need a fan depends on how many Watts you want to load it with! In the schematic above you can see how to change components for different load maximums. I have gone for the lowest using a 470kohm R4 giving a max (theoretical) current of 5.7A. As the table (of a few standard resistors) shows that will generate around 3.2W and the 5W resistor I have chosen as R1 can handle that! It will definitely get really hot at max load. If you decide to go higher in current be sure to swap the R1 for a higher wattage one! I feel that it is best to limit the current by a selected resistor this way – then you can not by mistake turn the current load too high! Be sure to have a good Watt margin on your sense resistor (R1). NOTE: The table above is calculated for the Step 2 version of the Ar2uino Dummy Load when R6 is fed a stabilized 3.3V. Either you live dangerously (like me) and make sure you do not overload the sense-resistor by going too high – OR you use 820kΩ as the R4 resistor – that will limit the current to 5.7A and 3.2W. You should definitely do this if you do not intend to continue with the ESP8266 in step 2!

Picking the sense resistor is a almost always a compromise. You want the voltage across it to be of a reasonable level for it to not be riddled with electrical noise from the surroundings and at the same time small enough that the heat generated in it will not be too big. If we look at my design as an example: I picked 0.1Ω so 1mA will generate 0.1mV across it. That is very small but is still handled well with the op-amp. 5.7A will generate 0.57V and that turns into 3.2W and that in its turn turns into HEAT! I could have picked 0.01Ω and that would have made all the difference in heat generated – BUT that resistance is so low that almost everything will affect it – the soldering, the wires, the contacts, etc. On top of that the voltage generated for 1mA is just 0.00001V (10uV) and here the noise starts to be (too much?) more noticeable! It is doable but puts (in my opinion too much) demand on the construction!
Another thing that is affected is the internal resistance of the dummy load. The sense resistor of 0.1Ω together with the resistance of the MOSFET adds up to around 0.2Ω of total internal resistance. This is the lowest resistance that the dummy load can offer – or if you want the highest load it can offer! At lower voltages the load is restricted by the internal resistance!
Ex: At 1V the theoretical maximum load is 5A, at 0.5V it is 2.5A and at 0.1V it is 0.5A. I will test this to get real life values!

Just a few words about how wonderful op-amps are! 🙂 We want to have a certain amount of current going through our dummy load. We measure that by having a sense resistor (R1). Applying the standard equation volt=resistance*current we can calculate the voltage that a current will give over the resistor. In our case the resistor is 0.1ohm. We want max 5A so this is just 0.1*5 which gives us max 0.5V.
In this circuit we just tell the op-amp what voltage we want to have over R1 by setting that voltage on the non-inverting (+) input of the op-amp. It will then (“on its own”) adjust the output until the inverting (-) input is equal to the non-inverting (+) input. The wonderful part of it is: We do not need to know the exact level necessary as the op-amp will adjust that “automatically”! We do not need to know the exact voltage when the MOSFET will start to conduct or exact how much voltage to apply to the MOSFET gate to get it to conduct the right amount to let through the exact amount of current to get the voltage over the sense resistor to match the voltage we set! I do not even want to think of the work to do this precision work without an op-amp! It makes it sooo simple! (The IC is here placed on an apple!)
The op-amp will adjust this “automagically” for us! In short: op-amps are amazing! 😉
(We do need to design the circuit so all these things are “within reach” for the op-amp though!)

It is easy to change it from potentiometer controlled to an ESP8266 controlled later on – in step two. Until I return to this I will keep it connected to 5V and will have to use the potentiometer and a multimeter to set the load current! NOTE: That the table above is calculated for 3.3V! The potentiometer is not even wasted at all in step two – we will use it to calibrate the output from the ESP8266! We will just re-solder the R6 to 3.3V when we add the ESP8266!

Next step is to actually build the Ar2uino Dummy Load as in step 1 – with the potentiometer and no ESP8266. Read about it in post no:4!

See you soon!
/Sfenn

Ar2uino Dummy Load – 2

Building the Ar2uino Digital PSU has shown me that a variable electronic dummy load comes in very handy when designing prototypes for different projects. Every makers lab should have one! I have built two battery testers so far and as they really are just a form of specialized dummy loads I have decided that the new battery tester Arduino Battery Tester v3 should be more versatile so that it can both test batteries and also be used as a general dummy load – that makes it the all new Ar2uino Dummy Load! That is the reason why I have changed the title of this blog series! 🙂

Design

I am thinking of designing it along the lines of a load of max 25V and max 5A – but not both limits at the same time! That would handle the majority of situations I could think of. A fan would have to be included as there would probably be some heat that has to be ventilated away – and I do not want a massive chair-size heatsink! If I can avoid it! 😉

In case your requirements are totally different to the above it is easy to change the solution to handle these limits! First of all the Power MOSFET that I plan to use (I have a few IRFZ44N laying around!) will easily handle a continuous load of over 35A and up to 55V – as long as the total power dissipation is kept below 94W – AND the required cooling is available! So you could have for example 15A load at 5V or 1A load at 55V! BUT you would have to have a very good cooling to go so high! And then if that is still not enough you could also just swap “my” transistor for a beefier one … ! Use an IRL504 if you need higher voltage! It goes all the way up to 100V! As we are using this transistor as a sort of “variable resistor” almost any Power MOSFET will do! Or you cold have a few parallell transistors instead! The above is up to you but myself I will keep away from the extremes! 😉

How many Watts the Dummy Load will really be able to handle will depend a great deal on the level of cooling I will be willing to supply – and that I have not decided yet! I do not see that I will ever need a 94W load … but we will see how difficult it is to achieve this! I will probably use a small heatsink – and a fan to compensate for this! I am thinking “compact” for this device! I have an old CPU heatsink 50x50x35 mm (2″x2″x1.4″) that I plan to use.

As previously described the general idea is to employ an ESP8266 as the main microcontroller. It has one big advantage with the built-in wi-fi but also a big disadvantage with only ONE analog to digital converter ADC. 😦 The version 2 of the Ar2uino Battery Tester did very well with just one ADC due to the fixed load resistance – but to build a variable electronic load one should really use two ADC:s – one for measuring the voltage across the load and the other to measure what the actual load current is.

That can easily be fixed by using an Arduino for the measuring job and the ESP8266 mainly for presentation and wi-fi. A tempting idea! Another alternative is to add an extra ADC – for example the 4-channel ADS1115. Either solution is roughly the same price ADC or Arduino Pro Mini – just below 2€/$2. An advantage in using an extra separate ADC is that it is higher resolution – 16 bit vs 10 bit! An advantage of using an extra Arduino is it can offload work from the ESP8266. I do not feel I would need the extra resolution in this case!

The offloading with an extra Arduino is not such a bad idea considering that the ESP8266 has more things handled in software compared to the ATmega328 where it is handled in hardware. PWM is handled in software. So there will be more of a challenge to develop the code for the Dummy Load in such a way that it does not disturb the “firmware”.

It just irritates me that I would have to add an extra module to the ESP8266 … but it can be avoided IF the set current value is accepted as a correct value … which is a quite a bit of an assumption to make! I will naturally have test it to see if it is acceptable!

I have already tested the PWM stability of the Arduino (ATmega328) and found it to be very good – so I will not add any digital to analog converter (DAC) either but will instead use the ESP8266 PWM with a small RC filter for 1024 steps. This helps to keep the circuit simple. The ESP8266 will hopefully be as stable as the ATmega328! Testing will give the answer!

Those 1000 steps would translate to 5 mA steps in my max 5A design. And I might add one lower-load setting with 1 mA steps up to max 1000 mA for measuring smaller loads/batteries. Load can also be varied by pulsing the load.

I plan to power it from an ordinary 5V USB cable. That will make it very easy to power it from a mains USB adapter/charger or a USB Power Bank – depending on your needs. Or you can even power it from a USB port of your computer. When using it with a Power Bank I plan to have the ability to switch on/off the wi-fi updates to save battery power!

Using a low cost easily available Power MOSFET with a threshold gate-to-sink voltage VGS(TH) of 2-4V might require a higher voltage than 5V to drive it properly so I will add a voltage doubler or a step-up module if necessary – as we only need mostly voltage and very little current. A step-up module might bring it all the way up to 12V making an easier selection for fan! Wish I had gone for the logic-level IRLZ44N (VGS(TH) of only 1-2V) when I got the MOSFETs … then I would not have to handle this! Well, there is an electronics component shop in town … 😉

UPDATE: I actually paid the electronics shop a visit and got a few IRL540’s – so I will be using those! It simplifies the solution a little. 🙂

Components list:
  • ESP8266 ESP12-E/F
  • Power MOSFET IRF540N/IRL540/IRFZ44N/IRLZ44N
  • Heatsink with 5/12V fan
  • LM358 Op-Amp
  • 0.1 ohm 5W resistor
  • Misc capacitors, resistors and diodes
  • Optional step-up module
  • USB to Serial adapter – for programming!

Software

The software can be considered consisting of two parts: the presentation/settings part and the electrical part.
The presentation part will first of all create the webpage where it will handle the setting up of the Dummy Load – how many mA load should load the source with or any pulses to be used or any other settings. Here you will also decide if you want to use it as an automatic battery tester or a general dummy load. The electrical part will control the loading as by the setting. It will also measure voltage across the load and calculate the load in mAh/Wh. With these values the presentation part will create diagrams and tables of the measurements.

I assume that the software will be the real challenge in this project – as always! 😉

To be able to use the dummy load as quickly as possible for the testing of the Ar2uino Digital PSU I am going to make it in two steps:

1:st step is to make a simple version that is controlled with just a potentiometer. That will be good enough for the testing I need initially with the DPSU. Read about it here!

2:nd step I will return to this Ar2uino Dummy Load project as soon as I have finished the DPSU and continue to add the ESP8266 and support for Wi-Fi!

See you soon!
/Sfenn

Ar2uino Digital PSU – 10

This is a the DPSU measured with a 0.5% precision multimeter and the built-in 10 bit ADC in Arduino (ATmega328P). Every 0.5V was measured. When doing any kind of measurements one has to have a reference! I have decided (with some evidence to support this) to trust my multimeter. Therefor both curves above needed to be corrected to coincide with the multimeter readings!

First of all there is an offset error with the DAC. The multimeter readings shows that the output from the DAC is generally about 45mV too high. The multimeter curve above has been lowered 45mV all over the voltage range to illustrate this. One would have to accept that the MCP4725 DAC:s that we use have this type of deviation! Pretty decent I think with around +-30mV over the entire voltage range – except for +50mV at 11.00V – is quite alright. I will probably want to do something more advanced about it in software later on – but for now this simple correction will have to do!

Secondly I automatically measured (at the very same time as above) the output from the DAC with the Arduino 10 bit ADC. That measurement had a slight gain error that I corrected with a standard linear formula. It brought down the deviations to much the same as the multimeter readings – but with generally bigger swings between too high and too low values. Still it is easy to see that both the multimeter and the Arduino ADC have measured the same DAC voltages. So if we squint a little the curves above shows roughly the MCP4725 DAC deviations. Also here I will do something in the software late on.

It would not be very difficult to make adjustments in the software to get deviations down to below just a few mV for all the above measurements. Also it would be “easy” to adjust all settings to within +-10mV for each 0.1V setting – that is 400 voltage settings. But considering that the DAC has over 4000 possible voltage settings, every 10mV from 0V-40V puts up some challenges! To correct all those is not feasible with the small EEPROM memory of the Arduino – even if we use compression of data – we would have to add extra I2C serial bus memory for around $1. That in itself is no big deal but we also have the question of HOW we should accomplish this! Manually measuring 400 values is ok – if tedious! But 4000 …? It would have to be an automatic or semi-automatic calibration!

The difference between the DAC with 12 bits and the Arduino ADC with just 10 bits means that we will be able to set it much more precise (4 times) than we can measure! It is possible to even out this difference and improve the built-in 10 bit ADC of the Arduino by using oversampling. We do this by oversampling (measure) 16 times and sum the results, right shift 2 bits or divide the result with 4. We will then be left with 2 extra bits! 🙂 So 10 bits turns to 12 bits! A small amount of noise is necessary for this “trick” to work. Just out of curiosity I will test it out. As we are only using the ADC for display purposes the extra time it takes to measure 16 times does not really matter. We will not update the display more than around 2 times/second anyway! My explanation is just the basics – search for “oversampling” to know more!

Another, very tempting, and possibly better idea would be to add a much better ADC like the 16 bit ADS1115 and use that to improve the results! By also adding an extra EEPROM memory where to store the voltage corrections it would be possible for a simple automated calibration of EVERY single selectable  step from 0-40V. Note that I do not say every “10mV step” as these steps will be correct but probably not exactly 10mV each. They will be as correct as the new ADC will be! But as we only have a 12 bit DAC we have 4 extra “throw away” bits (that is 16 steps!) for accuracy! 🙂

Even if the above is possible it might be setting the goal too high with the components chosen! In case we want this kind of 10mV precision we should probably have got a more expensive and more precise DAC in the first place – and not have had to do so much “software-magic”! Setting the goal for 0.1V or 100mV steps is a better goal considering the components, I think. There is nothing that prohibits the drop in of both better DACs and an external and better ADCs for a higher spec DPSU – the solution will still be the same! If they are I2C controlled devices the swap is very simple! It depends mostly on your requirements and wishes! 🙂

See you soon!
/Sfenn

 

Arduino Reflow Oven – 20

 

This is a small update to the Ar2uino Reflow Oven! I have had some questions about a Reflow Profile Editor.
I wrote a small editor to edit reflow profiles – but as testing showed that my oven was not powerful enough (800 W in 8 litres) of following reflow curves that required a steeper profile – I have removed this editor! I should also add that I was so satisfied with the Lee’s Reflow Profile that I did not think I would experiment that much with other profiles. Removing the editor gave back a little over 1kB memory and lessened the risk of anything going wrong due to memory shortage! And will give a little space for other future improvements! 🙂

NOTE: Without the editor you can still add and edit the profiles but will have to do that through changing the predefined values in the code! Do that at line 1840 and onwards.

WARNING! I wrote this code a few years ago and I have not tried it since! I might have updated other parts of the code that might disturb this editor code. I do not know! I have added the code and recompiled it without any warnings 🙂 but I will not be able to test and verify that it works! I am sorry but I do not want to disturb my excellent reflow oven that works absolutely perfectly as it is!

Well, if you want to try and add the editor code I wrote a few years ago – this is roughly how to do it:

  • Find the lines below in the v1.2 version of the Ar2uino Reflow Oven code
  • At around line 313-320 uncomment the “editP();” line by removing the “//” first in the line
  • Download and add the new Reflow Editor code
  • After you have verified that it works – remove the “mode = GOTOMENUE” line.
  • Recompile and fix any errors that might appear
  • Scanning through the code I found a comment I wrote those years ago about a bug that you might have to toggle a restart after saving a new profile!

Please let me know if you get it to work! 🙂

As usual, clicking the button on the left will bring up a new window with a text only PDF.
Copy all of the code and then switch to your Arduino IDE and paste it in the extra code.
Compile and upload to the Arduino! Ready! Test and verify that it works!
This roundabout way via a PDF is because WordPress will not let me upload a text- or ino-file.

 

Good Luck!
/Sfenn

  /////////////////
  // Edit        //
  /////////////////
  else if (mode == 2) {
  //    editP();                 // 1430 bytes    Removed due to oven limitations making it of little use!
    mode = GOTOMENUE;      // Just returns to menue

  }

Ar2uino Digital PSU – 9

Here is the first (manual) measurements of unloaded output voltage on the Ar2uino Digital PSU. 🙂 I have used an input voltage of 19V. I have adjusted, with the trim potentiometer, the DAC setting of 1000 to give an output of 10V. Then I measured all the DAC settings from 0 – 1600, every 100 step. That should give output voltages of each whole volt from 0-16V. I have (just because it is sooo nice with a slanting “perfect” straight green line) shown the settings and the corresponding output voltage. 😉 Just to put things in perspective I included this line – with no visible deviations!

Not terribly interesting what you can actually see but if we calculate the difference from the ideal values and enlarges them 500 times we will see the small deviations from the ideal straight line as the dashed orange curve shows. NOTE: That orange dashed curve has its scale in mV on the right! The differences start out with not being exacly 0.000V but rather 0.009V or 9mV. Then the differences varies from -40mV to +60mV over the entire voltage range ut to 16V. Looking at the deviation in percent it starts out with 4.7% at 1V, dipping to 3% (2V) and 1% (3V). For the remaining voltages up to 16V it stays within 0.7% but stays mostly around 0.1-0.2%.

As we are controlling the DPSU with an Arduino Nano all these deviations can be corrected in the software – but I myself have no more accurate multimeter than a 0.5% one so I would not bother with any corrections except for the interval 0-3V to make sure it stays within 0.5% all the time! 🙂 I have calibrated the multimeter against a 5 decimal precision chemical voltage reference – a MUIRHEAD cell – for a voltage near 1V but I have no way of knowing how linear my multimeter is for other voltages! It is probably better than the guarantied 0.5% – but I have no way of knowing!

We must also remember that the origin of the settings are DACs so we can not expect values to behave in an analoge way with smooth curves! Each new digital value can behave in a unique way so it is rather cumbersome to manually correct these voltages. One could probably make some better estimation based on looking at the digital value from a bit perspective and with a bit (no pun intended!) of analysis might arrive at a way to compensate for bits that are a little high or a little low. I will do that just for fun! But maybe the best (at least easiest!) way is to accept the small deviations and correct some “important” voltages like 1.8V, 3.3V and maybe all even voltages 1-16V.

The Arduino Nano has built-in analog to digital converters (ADC) that we will use for showing the instantaneous voltage and current. That could easily be used to calibrate the DPSU automatically – but again for that to be useful we would have to know how precise that ADC is – especially how linear it is! To be useful it would anyhow have to be calibrated – according to the ATmega328 datasheet the voltage reference it uses has a huge +-10% variation! But development of that calibration is anyhow in the future …

These measurements also reveals that with a 19V input voltage the max voltage that can be output is 16.36V – that is -2.64V below the input voltage. That is perfectly OK for me! My ambition – though not very important – was to have som sort of future expansion and have at least 15V output voltage – accomplished! 🙂 Just by changing the input voltage I can go up to around 30V with no changes to the DPSU! That is future proof! 🙂

Using a constant current sink of 20mA I will now measure the same voltages as above and see how well the DPSU regulates the voltage under a (very) light load. I do realize that I will need a variable electronic load to do this properly! The measurements that involves higher loads will have to wait until i have (built) one! 😉

As can be seen loaded or not loaded the DPSU gives the same output voltage up to about 12V where the 20mA loaded voltages are slightly higher topping out at +40mV. This surprised me as I thought that the output voltage would go down under load – not the reverse. The max output voltage with 20mA load is a little bit lower though at 15.63V. Will it dip even more with heavier loads? Will I not get my 15V output voltage? But reality is what it is – reality! I will try to clobber up  something soon so we can see how the DPSU performs at higher loads!

See you soon!
/Sfenn

Ar2uino Digital PSU – 8

Above is a typical oscilloscope response from the current limiting in action. The voltage is set at 4V and the current limit is set at 10mA. The load is a 10ohm resistor. No adjustments have been made yet! As soon as the load is applied the voltage is brought down to 80 mV (should be 100mV). I assume that the slope is due to the discharging of the 220uF output capacitor taking 5-10mS to discharge. According to the normal discharge calculation it should take around 8mS so it seems to fit. Using a 100ohm load this discharge time is longer (See below!) – sort of proving it to be the capacitor and the load in conjunction that determines how quickly that slope will reach the correct voltage.

Here the load is 100ohm and the voltage set for 6.6V. Current limit is again set for 10mA. The sequence of events we see here is first of all the voltage from the DAC (also the input to CA3140) is brought down very quickly when the current limiter is activated. That is the cyan curve that starts out at around 800mV. The reaction is very quick and the output voltage (yellow curve) immediately begins to fall – but will be slower this time as we only have a 100ohm load to discharge the output capacitor. During the 60mS that we can see the voltage has not time to reach its intended voltage of around 100mV.

As the DPSU can only supply a voltage and has no means to force down the voltage that is kept up by the output capacitor I might include a MOSFET that can short out the output capacitor and thereby make the output voltage go down quicker! I will do some tests on this. It might be controlled in parallell with the first MOSFET via a capacitor for a very brief discharge. I will test this idea out and be back if it works well! 😉 But it might be too coarse as I have no means to limit the discharge to a proper level … I also do not want to introduce any “ringing” … Well we will see! Everything is a compromise!

At these very small voltages there is some non-linear response and I plan to handle that in two ways: By adding a constant current source at the output I will avoid the very lowest voltages. At 1mA the sense voltage is just 0.1mV over the 0.1ohm sense resistor. Having 20-40mA constant load will ease this a little bit. Every step will still be just 1mA=0.1mV but al least we have left the GND proximity. The rest will be handled in the Arduino software. For example: Having a constant current of 20mA and wanting the output current to be limited to 5mA means I will have to set it for 25mA! I hope that is clear? Although the sense voltage is amplified around 12.5 times still the voltages will be very low and the LM358 Op-amp does not work very well so close to GND.

Now it the time for more varied measurements and more testing with more varied loads: capacitors, motors, relays and naturally with more voltages!

See you soon again!
/Sfenn

 

Ar2uino Digital PSU – 7

Above is the main board with most of the components in place. Missing is the 2.4″ TFT display – as that would obscure most of the view. As I now will do the very first testing of the analog design I will try and keep the testing as simple as possible and test as small pieces as I possibly can! I will use another lab power supply as the power supply for this Arduino Digital PSU so that I can vary the voltage and limit the current under test! That way hopefully I will be able to keep any damages to a minimum … Let me say that this careful testing of every step is absolutely necessary for ME as I have not tested the whole design yet – this is the first time! It does not mean that the tests are complicated or that very advanced functions are tested – just that the different functionalities needs testing! I will naturally correct any bugs as soon as I discover them! If you decide to build this DPSU you should also (as always) do proper testing as there could be some sort of building error! Or maybe you are not that type that makes mistakes? 😉

The voltage setting, current setting and the zero offset can all be trimmed but during these tests there is no idea to trim these properly – but we can at least have a try to see that trimming works!

Voltage Setting Test

We will use an even simpler piece of software then that we used to test the DACs with. It will just set the DAC to output the corresponding voltage to the “1000” level. It should be around 1.25V – if you power the DACs with 5V. That voltage will then be amplified by the CA3140. During this test we will only use the output from the CA3140  (Max 40 mA!) and not the power Darlington transistor yet so we can make sure that the voltage part is working properly before going on with the next step – current limit setting! This first test is really only testing to see that we get the proper amplification of the voltage from the voltage setting DAC! Therefore we will also not connect the current limiting part of the circuit – that means we will leave pin 8 (inhibit) open on the CA3140.

For this test we will need two voltages to power the DPSU – a stable 5V for the digital electronics and any voltage higher than 13V for the analog part. The 5V will (eventually) come from the 5V voltage regulator we soldered together in posting #5. So if that is easily available then use it! An even easier way to test this is to let the digital electronics be powered by the USB connection. That will probably not be as close to 5V as the proper voltage regulator – but it is ok for these tests!

Download Voltage Test Code!
As usual, click the button on the left to bring up a new window with a text only PDF.
Copy all of the code and then switch to your Arduino IDE and paste it in a new empty window.
Compile and upload to the Arduino! Ready!
(This roundabout way via a PDF is because WordPress will not allow text- or ino-files!)

Run the test code! If measured directly at the DAC output it should now be around 1.25V – or around 25% of the voltage that powers the DAC. Now adjust the trimmer for an output from CA3140 pin 6 of exactly 10.00V – that will set each step on the DAC to be 10mV. After this (simple) adjustment we should (at least theoretically) be able to output any reasonable value from 0 to 1000 and get a corresponding voltage 0-10V in 10 mV steps! Well, you should be able to go up to around 2V below your analog input voltage!

Test a few other voltages by changing the value for variable “v” in the code! Compile and upload! Measure! Expect a few mV differences to theoretically expected values. Remember that the smallest step possible is 10mV! If everything checks out then you are ready for the next test! 🙂 Otherwise I am sorry you will have to check all connections and correct the fault – and redo the test! 😦

I am happy to say that this first test went OK! 🙂 The voltage output from the DAC was correct at slightly over 1.25V and I managed easily to adjust the output voltage from the CA3140 pin 6 to 10.0V. Not a very complicated test but necessary non the less! The whole analog part of the PSU depends on this!

Now on to the next test!

Current Indicating Voltage Test

After testing the voltage output from the CA3140 we want to test that voltage from the LT6105 corresponds to the current! To do that we need to add the 0.1 ohm current sense resistor to the circuit and naturally the LT6105. Also we will need some sort of load over the output like a low ohm resistor, lamp or a few LEDs – or we could just connect our multimeter over the output “terminals”. I did that and managed immediately to blow my fuse! 😦 Better to connect a 10 ohm resistor as load!

We will not connect these parts together with the CA3140 yet! Instead we will let the current be supplied from our lab power supply! Doing it like this we can test and see that it gives the correct “current indicating” voltage output while minimizing the risk of damaging anything!. The output of the LT6105 should output a voltage that is around 12 times the voltage across the 0.1 ohm current sense resistor and it should be related to GND. If we let our extra lab PSU supply 100mA – we should have around 12mV.

This test was also OK! 🙂 Setting my old lab PSU for 100mA I got a voltage across the 10 ohm load resistor that is around 1V. Across the current sense resistor (0.1 ohm) I got around 10 mV. Just according to the calculations! Again an extremely simple test! 🙂 Measuring on the output (pin 5) of the LT6140 I get 125mV after adjustments. Remember that I have designed this for a maximum of 4A output and that 4A equals 400mV sense voltage, 5V from the LT6105 balanced against 5V from the DAC.
This is also what we expect! 🙂

Now on to the next test!

Current Limiting Mechanism Test

Then we can test the workings of the LM358 combined with the DAC that sets the current limit and the voltage from the LT6105 and see that it acts correctly as the current exceeds the set value. But note here that we have not yet started to use the pin 8 – meaning that we are just testing the mechanism for current limiting but we are not actually – yet – limiting the current! The LM358 should go high when we exceed the set current and kept low otherwise! NOTE: As we use the current from the old lab PSU we can set it to any value – as long as the load resistor will not get too hot! I settled for a target of 100mA. Hold on! Set it for a low value to start with! Like 1-5 mA!

Here we use the same software as with the Voltage Setting Test above – but we change the DAC_ADDR to 0x61 (for the current setting) and “v” to 100 – in this case meaning 100mA. Compile and upload and measure the voltage output from the DAC. It should be around 125mV. Then connect the voltmeter at the output of LM358. It should show a low voltage slightly (10-40mV) above the GND. Now increase the current on the lab PSU. At around 100mA the LM358 output should swing over to a high voltage instead – a few volts. Try setting the current at 100mA and use the trimmer to make it swing from low to high and vice versa! Adjust it for a midpoint. There is no idea to trim this output properly – but we can at least have a try to see that everything works!

Again the test worked as it should! 🙂 But the fact that there is a conversion factor of around 12 made me jump to the wrong conclusion first! It was possible to adjust it for the correct result! The trimmers has sufficient reach. This swinging between low and high of the LM358 is planned to be used together with the inhibit pin (8) on the CA3140 for current limiting. Now we know we have the potential to get it to work! How well is yet not known! But soon… 😉

 

Adding POWER to the test

Now there is no way to avoid testing the full PSU – including the power transistor! But I will start with low currents and work my way up! I will not be using the current limit through pin 8 (strobe/inhibit) of the CA3140 yet! For me doing these tests – testing also the design not just the build – I will use my other lab power supply with current limiting set low – to start with! 😉

Yes! 🙂 This test also went OK! The added Darlington Power Transistor gave exactly the same voltage as the voltage directly from the CA3140! So far all the tests have worked well! Now is the time for testing if the current limiting through pin 8  of the CA3140 will work! Scary…!

 

 

 

 

Current Limiting Test

The ability to limit the current to a pre-set value is crucial to our lab PSU! We have above seen that the mechanism with the LT6105 – the current sense amplifier – worked well with the LM358. It made it react when the current was exceeding the set limit! But now it is time to connect the LM358 output to the strobe/inhibit pin (8) of the CA3140!

I am sorry to say that it did not work as intended! 😦 This has been a uncertain point in the design as I could find very little information in the data sheets! Searching for this on the internet also did not give much info on how this pin really works! The Intersil data sheet stipulates that: “Terminal 8 is also used to strobe the output stage into quiescence. When terminal 8 is tied to the negative supply rail (Terminal 4) by mechanical or electrical means, the output Terminal 6 swings low, i.e., approximately to Terminal 4 potential.”  This led me (incorrectly) to assume that is was controlled by the potential (voltage) at pin 8. Proof for this was also seen (I thought) at an application example where a zener diode connected to the strobe pin could limit the voltage at the CA3140 output to the zener voltage minus two base-to-emitter voltage drops!

Well, how do I think that the CA3140 strobe pin actually works? I think that it works as a sink! If it has a potential that is lower than the output voltage it will limit the output voltage to that level as said about the zener above! The problem with my design was that when the LM358 swung high it swung to near the full input voltage – and affected the output voltage of the CA3140! This was NOT what I wanted! I did NOT suspect that the strobe pin would affect the output voltage if it was fed with a higher voltage – just that a lower voltage would eventually – if it was low enough pull the output low (ground)! If I had looked more closely at the inner design of the CA3140 I could possibly have seen this! But I am much better as using op-amps than I am at understanding exactly how they work! I need a description of the features so I can use them…!

UPDATE 2: Some of you might wonder why there has been no new posts in this series?
The reason is that I have had unforeseen problems of oscillation when I connected the current limiting circuits. I have now at last found the culprit and will continue with the postings!
🙂

Well, the blame for this is on me anyhow and I have redesigned that part of the circuit and will now try that new design! Not much changed but I swapped the inputs and added a MOSFET transistor to pull the strobe down toward ground.

YES! I have now retested the current limiting with the second new design and it has finally passed! 🙂 But this was a hard obstacle to overcome. My first redesign was using the strobe/inhibit pin 8 pulling it to ground with a MOSFET but this did not give a good enough response. It was not linear enough and also I had problems with oscillations. In my second redesign I just moved the MOSFET to the non-inverting input of the CA3140. Shorting out the voltage from the DAC – and limiting the output voltage in this way. This worked better and showed a good response when current limiting was activated! I am still confused and slightly irritated that I could not get the elegant pin 8 solution to work! It was like made for an application like this!
If any of you reading this has an explanation to why I could not get pin 8 of CA3140 to work properly – pleeeaase let me know!

As I write this as I go along building the Arduino Digital PSU lucky all of you that can read about my failure! Later when I have found the correct/best design I will probably rewrite some of these posts – as then this detour will not be of much use I guess!? I will also go back and add the final Eagle Schematic – making it much easier to follow along and understand what I am talking about! 😉

Finally time to go on with the next post…

See you soon!  🙂
/Sfenn