...
I also got now the 0.1Ohm 3W resistors I ordered and can probably test and calibrate the current control. For some reason my multimeter shows these as 1.6Ohm and I have no idea if the meter is wrong or I got wrong resistors.
...
Just so you have a gauge to see if your DMM gone to the nut house:
Best would be if you can de-solder the 0.05 ohm and use that as guide. But I did some measurement of stuff
in circuit so you can compare without de-soldering. The B3603 is disconnected
without any external wiring. The screws (of Vin/Vout grounds are screwed in firm) without any wire in them.
These are REL numbers - ie:The probe resistance has already been subtracted off
Of course such small resistance is hard to be precise.
(1)
I measured the resistance between
Vin ground and
Vout ground at the screws of the connector block - DMM probes against the screws at the top and the screws are in firm w/o cables.
The 0.05 ohm is still in circuit. That resistance
between the two grounds at the screws (top) should be about 0.07 to 0.09 ohm. Note: I first shorted the two grounds (Vin ground and Vout ground) briefly to eliminate any possible remaining charge in any capacitors across this is in-circuit measurement. Between the two ends of the 0.05ohm in-circuit I got 0.05 to 0.06ohm.
(2)
Between
pin 11 and Vin Ground top-of-screw is about 0.01 ohm to 0.03 ohms. Pin 11 connects to the low side of the 0.05 ohm via a short trace about 1-2cm which then connects to Vin ground plate. So that 0.01 ohm is really the trace+pinHeader connection resistance.
(3)
R13 is a 100ohm, that resistor in-circuit measures 99.3 ohm on my DMM. R13 is just next to pin 13 and pin 14 on right of the female header pins.
Those are the "low ohm numbers" I can see on something we mutually have. If you found another thing on the board you want to measure and compare, just post it here or PM me, I will measure it so you can compare.
Hope this helps in determining the sanity of your DMM.
...
I also never really made the screen work since both of the units that I have had their screen go bust, or at least one has the screen busted and one has the regulation busted. I might try to replace the inductor and see if that would help on the regulation busted device or take the screen from that unit into the screen busted device.
...
If you have a scope, do put the internal 5V to a scope and see if you observe spikes and how high. Per datasheet, the
opAmps in there are only rated to 6V. The
shift registers are rated to 7V.
I had spikes as high as 7.6V. I suspect that is the reason my LED display doesn't work anymore. The individual segments of the LED works when I apply power to them individually (well, kind of, 2 segments lights up), but the display doesn't work.
I think the 7.6V spikes I had on Unit1 killed the shift registers and made some damage to the opAmps. Even with the controller from Unit2, it is more noise than Unit2. So I think the shift registers are dead. I just can't get a good connection of my scope to it when the board is plugged in. I may just replace the shift registers and see what happens.
If you do have spike nearing 6V, take out the inductor and use an external supply. Up until yesterday when I got my replacement XL1509, I was
using an external regulated 5V power supply. That works very well. In my case, I took out the XL1509, but taking out the inductor should also cut the 5V so you can connect the external 5V to pin 9 to 12 as ground and pin 13 or 14 as +5V.
I have ordered a pair of shift registers and I will make an attempt to repair my unit 1 (original one with dead LED).
I haven't attempted to progress at all on this project. I've switched back to another project of mine with a friend. I'm following the progress here when it's done and will be happy to compare notes if someone wants to discuss something on the topic or try my firmware on his device.
I have never bothered to implement the button control at all, I since learned that I was missing some option flag to take away the SWIM port for the button and I might get back to make the buttons work as well but that will have to wait a bit.
...
I made some progress but my "control buttons" on my Arduino based controller is just a routine to set an integer value to input specific variables. That allows me to control Vout at +-1mV. My slope/intercept is hard coded.
The stumbling block I came across is noise. Without serial active, I can get my DMM/ADC to read +-2mV to +-3mV of the voltage I set. Both DMM and ADC do averaging on samples. Looking at the output on the scope, the output has a 80+ mV noise. It is in general about 20%-30% higher than the stock controller. At some settings, the stock noise would be 130mV and my controller would be 150mV-ish.
So that begs the question, what is the point of having +-1mV (15 bit PWM) setting resolution when the darn thing is sitting on top of 100mV noise? That kind of "cooled my heels."
...I might get back to make the buttons work as well but that will have to wait a bit...
My big thing was serial - both monitoring and perhaps receiving control signal via serial. Once serial is active, I get about another 100mV+ instability - a pulse of higher voltage at the frequency of Serial.print() which I do at screen update every 500ms. In eliminating the LCD, I took that down to just Serial.print(). But Serial.print() causes much higher instability than the LCD.
USB serial presents a ground level problem. The controller will be sitting at ground that is I(out)*R(sense) below external ground. To avoid that, I got the Nano working with Bluetooth. Bluetooth adds over 100mV+ instability to the system even when not serial-printing. So I am at 200mV instability without printing. At Serial.Print (connected and printing), every 500ms, I get a Vout delta of 300mV or more.
I could
probably solve all those problems. I can separate the controllers: Volt-controlling function with one subsystem and the I/O with another subsystem. Even if that works, I would still have at around the stock-controller level of noise - that would be +-100mV-ish. The increase level of resolution (15 bit PWM) would have been worth it if it could be achieved by single simple system. But when it needs multiple subsystems to eliminate interfering noise from each other (16bit adc separate, 15bit pwm separated, I/O subsystem separated, screen management separated due to ram limitation...). All that trouble would make it difficult to be worth while.
I started this Arduino controller so I can get a quick replacement to my dead LED. That worked but not so user-friendly and not so noise-free. With none of the other things I want being easy, I too am taking it slow - doing it for fun alone instead of hoping to making it useful soon. Fun and learning doesn't need a return. Doing it for use means the usefulness has to exceed the trouble of making it work.
Rick