Skip to main content
Topic: Really universal soldering controller (Read 781818 times) previous topic - next topic

Re: Erratic HOLDER temp

Reply #2235
[quote author="salavat"]
Thanks for clarifying, so basically hibernation would not work in any shape or form unless supported by firmware?[/quote]
yep, basically software - needs to be assigned new input pin for it ( let say pin4 - CN8 ), new function Hibernation ( the same like "sleep", interrupt point for the function ( at this point needs to stop completely the heater, only at that point differs from "sleep"), display message and return vector. At hardware level is the same as pin8 - CN11, unfortunately I don't have enough knowledge and that is only suggestions.
And most important is to refine the code to support  quick tip exchange.

Re: Really universal soldering controller

Reply #2236
[quote author="Doomedahab"][quote author="Tony"]Hey

Now I did as you wrote, it should be OK. I tested, it works properly.

Tony

[quote author="roor"]Thnx, but it is not the same, now all menu is switched. If you can compile from source, then apply my changes please and make a build, or anyone else[/quote][/quote]

Hi Tony,

Thanks for the change, but still it's not perfect. if you go 1 level deeper in the menu the "up" button still is programmed to decrease the value and vice versa. For instance if you want to change t1 value. Can you maybe change that behaviour as well so it is consistent?[/quote]

If i understood problem correctly, here is a fix

menu.c
line 225
change
Code: [Select]
if(BTicks[0].d && (pars.b[CPar] < ParDef[CPar].Max))pars.b[CPar] += 1;
if(BTicks[2].d && (pars.b[CPar] > ParDef[CPar].Min))pars.b[CPar] -= 1;
to
Code: [Select]
if(BTicks[0].d && (pars.b[CPar] > ParDef[CPar].Min))pars.b[CPar] -= 1;
if(BTicks[2].d && (pars.b[CPar] < ParDef[CPar].Max))pars.b[CPar] += 1;

line 237
Code: [Select]
if(BTicks[0].d && (IronPars.Config[0].CurrentA < 256)) IronPars.Config[0].CurrentA++;
if(BTicks[2].d && (IronPars.Config[0].CurrentA > 0)) IronPars.Config[0].CurrentA--;
to
Code: [Select]
if(BTicks[0].d && (IronPars.Config[0].CurrentA > 0)) IronPars.Config[0].CurrentA--;
if(BTicks[2].d && (IronPars.Config[0].CurrentA < 256)) IronPars.Config[0].CurrentA++;

so it should change changing values in menu for general settings and calibration as well

Tony, can you make another build :D, and test it first, because i'm not 100% sure that it'll work but should. Would love to see this build as well, since i didn't tested previous build in menu for values.

Re: Really universal soldering controller

Reply #2237
Hi roor

Unfortunately, there are some errors on the T1 to BRIGHTNESS menu. It's best if you see it yourself. Write what OLED you have SH1106 or SSD1306.

Tony

[quote author="roor"]
...Tony, can you make another build :D, and test it first, because i'm not 100% sure that it'll work but should. Would love to see this build as well, since i didn't tested previous build in menu for values.[/quote]

Re: Really universal soldering controller

Reply #2238
i have SSD1306

I have edited previous solution, now should be all fine, thnx for testing, was quite stupid error

Re: Really universal soldering controller

Reply #2239
Roor
It works, beautifully. I do not see any errors. Thank you on behalf of the UniS group. How would you find a line where you can change the MENU opening time. It would be great.
Tony

[quote author="roor"]
I have edited previous solution, now should be all fine, thnx for testing, was quite stupid error[/quote]

Re: Really universal soldering controller

Reply #2240
thnx for build, Tony
[quote author="Tony"]
How would you find a line where you can change the MENU opening time. It would be great.
[/quote]

I would say it is
line 116
for opening
Code: [Select]
if((BTicks[1].o <= 100) && (BTicks[1].n > 100))

for closing
line 202
you need to change those pars of 100, i would say less value less time

but for me it is not clear what "o n d"  states of buttons are
open, double, none? i have no clue

Re: Really universal soldering controller

Reply #2241
Roor

See line 206, for me it changes the menu time.

Tony

Re: Really universal soldering controller

Reply #2242
[quote author="WSlomo"]
You should replace Ra .. Rg with 0ohm resistor or just short pads with solder.
[/quote]
I've actually added a note that appears below, when R[a-g] is selected, I might edit it to make the 47 ohm value disappear completely to avoid confusion.
[quote author="WSlomo"]
DS1(firs row of solder jonts ) and DS3(last row of solder jonts) should be replaced with gold pin sockets. DS2 should be removed.
[/quote]
Good idea, i will make an update once I am able too and make a special note appear when clicked that states how should the OLED be inserted as well as the lack of support for LED displays by the firmware.
[quote author="WSlomo"]
Q15, Q17 should be also removed. 
[/quote]
I've added notes in regards to these (when these are clicked on or found by typing the designator, a note appears below and tells that they shouldn't be installed).
[quote author="WSlomo"]
Could you also add second side of front PCB and mark pads that you need to short with solder.
[/quote]
Sure, I'll add it with the next release!

[quote author="salavat"]
Great tool, helped me a lot in assembling Unisolder. The first version had couple errors as compared to BOM (caps value was incorrect the one I remember), I do not remember which exactly. Have they been fixed in this one?[/quote]
Since I've completely remapped the components, the wrong values should be gone (the only thing that is the same, are the javascript search functions from the original unisolder-chips, everything else was changed).

Re: Really universal soldering controller

Reply #2243
[quote author="minkok"]
try to re solder with an iron ( not by hot air ) U11 and U15 and U5/ pin11[/quote]

[quote author="salavat"]
'iron heats up while 26 C is shown' - you probably reversed plus and minus wires for iron heater somewhere.
'jumpy readings' - read one my posts above - the reason could be in bad soldering, resolder again those mentioned in the post chips.[/quote]

I checked all the pins and measure traces between components and all seems OK.
I checked heater connection and is connected properly.

I hooked up C245, but without middle connection (heater disconnected) and went to calibration menu. When it was cold ADC shows 0. Then I heat up iron with another iron up to 350°C and ADC value is rising steady and slowly up to 300 and over. I believe ADC part is working but when I connect heater and go to the main screen temperature stays at ~20 °C. I believe it has to do something with switching between heating and measuring temperature, but I can't figure it out where to check.

Re: Really universal soldering controller

Reply #2244
[quote author="Tony"]Roor

See line 206, for me it changes the menu time.

Tony[/quote]
for me its look like it is time for returning from menu if no buttons are clicked, but if it does what you have asked then it can be timer for button press,  good find
unfortunately i cannot debug it on mine machine, if i would it would be much easier to find proper property

Re: Really universal soldering controller

Reply #2245
Roor

Menu long time, plus patches + and -
I changed lines 206 and 207. Now it's OK

Tony

Re: Really universal soldering controller

Reply #2246
[quote author="jvolk"][quote author="minkok"]
try to re solder with an iron ( not by hot air ) U11 and U15 and U5/ pin11[/quote]

[quote author="salavat"]
'iron heats up while 26 C is shown' - you probably reversed plus and minus wires for iron heater somewhere.
'jumpy readings' - read one my posts above - the reason could be in bad soldering, resolder again those mentioned in the post chips.[/quote]

I checked all the pins and measure traces between components and all seems OK.
I checked heater connection and is connected properly.

I hooked up C245, but without middle connection (heater disconnected) and went to calibration menu. When it was cold ADC shows 0. Then I heat up iron with another iron up to 350°C and ADC value is rising steady and slowly up to 300 and over. I believe ADC part is working but when I connect heater and go to the main screen temperature stays at ~20 °C. I believe it has to do something with switching between heating and measuring temperature, but I can't figure it out where to check.[/quote]
Did you still get 21 error for a while?
Did you re solder U11 and U15? - re solder also R49, 50 and C66
Remove the iron, connect the calibration resistor and go to cal. menu - measure the senseA the time of jumps of adc and if it jumps also, re solder U10 and U12 and surrounding components.

read that also, from afedorov:
"The current through a 10 Ohm resistor in calibration mode should be about 380uA, thus voltage drop on it should be about 3.8mV. If it is not so, current source is not working properly (U10, U12, U14, Q22).
If it is OK, go along the signal path and measure voltages. U16:3=3.8mV, U16:8=0V, U16:13=3.8mV, U16:18=0V; U13:1=108.5mV; U17:6=1.53V
All values are calculated/simulated, so real measurements may vary slightly".

Re: Really universal soldering controller

Reply #2247
[quote author="Tony"]Roor

Menu long time, plus patches + and -
I changed lines 206 and 207. Now it's OK

Tony[/quote]
Hi Tony,
for me line 207 is
Code: [Select]
if(BTicks[0].n == 1)CPar++;
why do you changed it?

BTW, why you not like standard time, to long to short?

Re: Really universal soldering controller

Reply #2248
Hi Roor
 
When I changed line 206, time difference worked only in main menu. Changing
different parameters, like temperature, caused menu timeout to be the same.
To solve this I had to edit line 222.
 
Why did I change? Good question. Many times I struggled to switch
parameters in 5 seconds windows, therefore I modified this value to 7
seconds. Last Hex had 20 seconds window, which I find way too long - this
was only for testing purposes.
Obviously when working with UniS, there is no need to mess with menus.
Summing up UniS is an excellent device which has very intuitive menu. Also
there is always the possibility to modify the code and at least but not
last - if anything gets broken, we can always fix it.
 
In my case lines 206 and 222 looks like following

Code: [Select]
ModeTicks = 450; // It was 250, it is 450. It changes the MENU time.
Code: [Select]
if(BTicks[0].n | BTicks[1].n | BTicks[2].n) ModeTicks = 450; // It was 250, it is 450. It changes the MENU time.

Re: Really universal soldering controller

Reply #2249
Hi,

So new to the forum, but long time DIY:er. I've been building the UniSolder52 for a while now, some parts were harder to source than others.

I got a PicKit2 to program the PIC32, still have to figure out a few things about using that thing as PIC is something I've wanted to learn but never got around to doing.

The OLED, I'm not sure about the voltage on the one I got.
Quote
0,96 inches Arduino OLED display SSD1306 BLUE 128x64 I2C / SPI IIC modul
All parts except the ADUM isolator and FAN5331 are sourced from Farnell, oh and the zeners I had in minimelf already.
I'm waiting for a few things, the buzzer and a 120VA 0-24VAC toroidal transformer, a HAKKO handle for T12 tips and some tips.

When all has arrived, it's a matter of putting it in an enclosure and, hopefully, enjoy the fruits of my labor and sparkybg's design work.

Btw, what is "MPLab mode"?
Quote
As zed65 stated in the forum: "You can NOT program the PIC via the PicKit2/3 standalone programming software. You have to put the programmer into MPLab mode in the standalone software then program it via MPLab."

Edit: Had to remove external links as it looked to spamy according to the forum.
There's always more to learn...and remember that everyone was new to everything at some point.