Konvertera en Weller till en JBC

Berätta om dina pågående projekt.
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Konvertera en Weller till en JBC

Inlägg av DanielM »

Introduktion:
Jag har en gammal Weller WECP-20 hemma som jag vill förbättra. Weller är ett mycket bra märke och är tyvärr ofta förknippat med dom där blåa tegelstenarna så som WECP-20, WS 81, WESD51, WES51 med mera. Det är liksom Weller budgetversioner. Men bara för att dom är budget betyder inte att dom inte kan utföra jobbet korrekt.

Hur som helst. Hemligheten bakom en lödstation vilar i följande:
  • Stabil temperatur reglermässigt
  • Snabbhet från viloläge upp till arbetstemperatur
  • Robust temperatur mot yttre temperaturförändringar
  • Lödspetsen har låg eller ingen läckageström
  • Lödspetsen har en god kvalité och behöver bytas sällan
Vem det är som skjutsar in strömmen till lödspetsen kvittar. Så jag har tänkt att konvertera denna Weller station. Detta är dock inte min station på bilden, men den ser likadan ut.
V05273-53_1_slide.jpg
Om ni vill veta exakt hur den ser ut, så ser den ut så här: viewtopic.php?t=109963 Dock så har jag korrekt hållare för MLR-21.

Planen:
En Weller WECP-20 är ett rentoldat AC system som styr värmelementet via en triac. Jag har tänkt och konvertera AC till DC och styra värmelementet via likström som regleras med en N-kanal MOSFET. Alltså en klassisk sak.

För att göra detta så måste jag först konvertera AC till DC och där efter så måste jag se till så en mikrokontroller kan utföra följande:
  • Reglering av strömmen till lödspetsen
  • Mätning av temperaturen i lödspetsen
  • Läckageströmvakt för att indikera om lödspetsen har fått en skada eller blir ledande
  • Läsning av inställningstemperaturen
Början:
I början så tänkte jag att vi skulle titta oss in i en Weller WECP-20. Denna Weller har en transformator som skalar ned 230V till 24V. Det är fortfarande växelström. Kretskortet är sitter fast med bara en skruv som röda pilen visar. Detta är en jord-skruv för ESD anslutning. Notera att en Weller WECP-20 har dock ingen jordanslutning via nätkabeln! Så blir det kortslutning där inne, ja, då blir troligtvis kretskortet laddat med 230V spänning om man har otur, vilket leder till att värmelementet kommer få 230V istället för 24V. Dock så kommer spetsen inte att bli laddad med 230V då en spets från en Weller är isolerad från värmelementet. Men detta hindrar inte att ledarbanorna på kretskortet går av först.
Skärmklipp.PNG
Visst, en Weller WECP-20 är ett helt analogt AC system som reglerar värmen med en PI-regulator.
wecp-20.jpg
Då tänkte jag att jag gör en klassisk AC till DC konvertering. Så här kommer vi få 24VAC till 24VDC med andra ord. Men jag måste konvertera enda ned till 3.3V för jag tänkte köra en STM32F051 uC! :mrgreen:
Skärmklipp.PNG
Regleringen:
Målet med detta är att försöka kolla om man kan implementera en Model Predictive Controller (MPC) istället för PID.
Om ni har svårt att förstå vad han menar så kan man säga att en PID reglerar med avseende på felet mellan mätsignalen (ärvärde) och referenssignalen (börvärde). En MPC reglerar på att vilka insignaler behöver jag för att mätsignalen följa snabbaste vägen till referenssignalen.


Om man vill ha en matematisk förklaring på detta så ska man först och främst bygga en modell av dynamiken i mätspetsen. När strömmen u kommer in i lödspetsen så kommer vi få y värme ut. Matriserna A, B, C, D beskriver bara dynamiken. Detta är ett sätt att skriva en Ordinär Differentials Ekvation (ODE) på första graden, då andra gradens ODE:er går inte att simulera, än. Denna modell kallas för tillståndsmodell där tillståndet är x. Ett tillstånd kan vara t.ex. innersta temperaturen på solen, medan y är endast mätbara signalen, t.ex. en temperaturgivare hos en rymdsond hos planeten Mercurius och u är förbrukningen av helium hos solen per sekund. Som sagt, x går inte att mäta på riktigt, men det går att estimera och få ett godtyckligt värde. Jag förstår om ni ser ut så här just nu: :humm:

\(x(k+1) = Ax(k) + Bu(k)\\y(k) = Cx(k) + Du(k)\)

Se dessa filmer i serie. Då kommer du förstå tillståndsmodellen. A, B, C, D är bara en standardform för att simulera linjär dynamik. Notera att dynamik på riktigt är inte linjärt, men det går att approximera linjärt i en olinjär miljö.



Här är målet med tillståndsmodeller. Du kan simulera dessa. Låt oss säga att vi vet initiala tillståndet x_0. Det kan vara t.ex. temperaturen 20 grader C. Sedan applicerar vi strömmen u = 1A för alla u_n. Då kan vi räkna ut alla tillstånd. Om vi säger att tillståndet x är exakt som utsignalen y så måste matrisen C = 1, alltså tillståndet x är observerbart.

Då kan vi räkna ut
\(x_2 = Ax + Bu_1 \\
x_3 = Ax_2 + Bu_2 = A[Ax + Bu_1] + Bu_2\\
x_4 = Ax_3 + Bu_3 = A[A[Ax + Bu_1] + Bu_2] + Bu_3\\
x_5 = Ax_4 + Bu_4 = A[A[A[Ax + Bu_1] + Bu_2] + Bu_3] + Bu_4\\
x_6 = Ax_5 + Bu_5 = A[A[A[A[Ax + Bu_1] + Bu_2] + Bu_3] + Bu_4] + Bu_5\\
x_7 = Ax_6 + Bu_6 = A[A[A[A[A[Ax + Bu_1] + Bu_2] + Bu_3] + Bu_4] + Bu_5] + Bu_6\)


Vilket resulterar på slutet
\(x_7 = A^6x + A^5Bu_1 + A^4Bu_2 + A^3Bu_3 + A^2Bu_4 + ABu_5 + Bu_6\)

Men hela serien kan skrivas till:
\(x_n = A^{n-1}x_0 + \sum_{k = 0}^{n-2} A^{k}Bu_{n-k-1}\)

Då är frågan...vad ska vi ha med detta att göra? Vi kan alltså veta framtida insignaler igenom att simulera från initiala tillståndsväret x0.
Ja, det är detta MPC är skapat för!

Låt oss säga att skriver om hela serien som jag beskrev ovan, till matrisform:
\(\begin{bmatrix}
x_1\\
x_2\\
x_3\\
x_4\\
\vdots\\
x_{n}
\end{bmatrix} = \begin{bmatrix}
A\\
A^2\\
A^3\\
A^4\\
\vdots\\
A^{n-1}
\end{bmatrix}x_0+\begin{bmatrix}
B & 0 & 0 & 0 & \dots & 0\\
AB & B & 0 & 0 & \dots & 0\\
A^2B & AB & B & 0 & \dots& 0\\
A^3B & A^2B & AB & B & \dots& 0\\
\vdots & \vdots & \vdots &\ddots &\ddots & 0\\
A^{n-2}B & A^{n-3}B & A^{n-4}B & A^{n-5}B & \dots & B
\end{bmatrix} \begin{bmatrix}
u_0\\
u_1\\
u_2\\
u_3\\
\vdots\\
u_n
\end{bmatrix}\)


Ni alla som har läst första kurs i Linjär algebra 7.5 hp på ett valfritt universitet, så har ni säkert kommit i kontakt med Row Echelon Form och Gaussian Elimination för att lösa linjära ekvationssystem på formen:
\(Ax = b\)
Där A är en känd matris, x är en vektor okänd vektor och b är en känd vektor.

Så vad ska vi använda denna form till? Jo, för att vi ska konvertera till följande form. Notera att jag använder samma A och x för att beskriva standardformen för linjära system och tillståndsmodeller, men det är inte samma. Så skilj på dom.

\(\overset{\begin{bmatrix}
B & 0 & 0 & 0 & \dots & 0\\
AB & B & 0 & 0 & \dots & 0\\
A^2B & AB & B & 0 & \dots& 0\\
A^3B & A^2B & AB & B & \dots& 0\\
\vdots & \vdots & \vdots &\ddots &\ddots & 0\\
A^{n-2}B & A^{n-3}B & A^{n-4}B & A^{n-5}B & \dots & B
\end{bmatrix}}{A} \overset{\begin{bmatrix}
u_0\\
u_1\\
u_2\\
u_3\\
\vdots\\
u_n
\end{bmatrix}}{x} = \overset{\begin{bmatrix}
x_1\\
x_2\\
x_3\\
x_4\\
\vdots\\
x_{n}
\end{bmatrix} - \begin{bmatrix}
A\\
A^2\\
A^3\\
A^4\\
\vdots\\
A^{n-1}
\end{bmatrix}x_0}{b} \)


Så vad ska vi göra med denna form då?
\(Ax = b\)

Jo, om vi sätter alla x_n till samma värde t.ex. "350 grader C" så har vi bara insignalerna u_n att lösa!
Superenkelt! Detta är fundamentala grunden till optimal reglering, men problemet är att om vi skulle reglera med detta så skulle vi dom absolut bästa signalerna redan vid första tiden vid start. Detta låter osannolikt att temperaturen kan öka från 20 grader C till 350 grader C på en iteration hos processorn. Så vi måste sätta in begräsningar på hur kraftigt insignalen u_n får vara. Vi kan bestämma att den får inte gå starkare än 1A i ström och den kan inte gå under 0A i ström.

Så ni kommer vi in på optimeringslära. Här kan vi använda den linjära formen Ax = b och skriva om den på den kvadratiska optimeringsformen:

\(J = \frac{1}{2}x^TQx + c^Tx\)

Där J ska vara så liten som möjligt. Visst kan vi sätta x = 0, men då blir egentligen felet större för om tillståndet ej rör sig, så kommer avståndet mellan referensmålet och initiala målet vara stort, alltså J blir stort.

Jag tror detta är lite väl för mycket teori för er, men i grund och botten handlar MPC om att räkna ut hur mycket effekt vi behöver för att uppnå till en viss referens (börvärde).
Jag skriver min kvadratiska MPC regulator i rent ANSI C. 8) Jag använder inte samma algoritm som MathWorks använder, utan jag kör en numerisk kvadratlösare, mest bara för att den är riktigt snabb för små matriser, vilket jag använder oftast.

24V till 7.5V:
Tidigare ovan så berättade jag att jag vill konvertera 24VAC till 24VDC. Men jag har även behov utav att konvertera 24V till 7.5V, likström alltså.
Jag kommer även konvertera om den switchande nätaggregatet från 7.5V till 3.3V igenom en linjär spänningsregulator. Mest bara för att den linjära spänningsreglatorn har inte så mycket brus.
Tanken är att 3.3V ska driva processorn
Skärmklipp.PNG
Processor:
Processorn är en STM32F051R8T6 processorn som jag ska programmera i C99.
Den har några fåtal intressanta in- och utgångar:
  • TEMPERATURE: Detta är temperaturmätningen hos termoelementet i JBC spetsen
  • CURRENT: Detta är strömmätningen som går igenom JCB spetsen
  • HEATER_PWM: Detta styrningen för att pytsa in strömmen till JBC spetsen
  • LEAKAGE_LEVEL: Detta är spänningsmätningen hos JBC spetsen för att avgöra om termoelementet börjar läka ström
  • LEAKAGE_THRESHOLD: Detta är ett fixerat gränsvärde i form av en spänning som läckaget i termoelementet ej får överstiga
  • POTENTIOMETER: Referensvärdesinställningen, även kallat börvärde. Detta är samma potentiometer på Wellern.
  • LEAKAGE_ACTIVE: Detta är en digital utgång som indikerar om termoelementet i JBC spetsen börjar läka mer än normalt
  • N_SLEEP: Detta är en pull-up som ska anslutas mot JBC spetsen. JBC spetsen ska vara väldigt nära 0V, fast inte helt 0V. Kanske några mV ovanför. Men när N_SLEEP ansluts mot JBC spetsen, så kommer lödstationen gå ned till 100 grader C
Skärmklipp.PNG
Styrningen:
Styrningen är enkelt. Det är en vanligt MOSFET Gate drivare som driver en liten N-kanal MOSFET.
Lite enkelt förklarat så går strömmen igenom N-kanalen och vidare till RED som är den röda kabeln på ett JCB handtag. Strömmen går sedan spetsen och ut på BLUE, vilket är den blåa kabeln på ett JBC handtag. Notera att strömmen går vidare till 5 mOhm motståndet som har väldigt hög effekt. Detta har med att jag ska mäta spänningsfallet över motståndet för att räkna ut strömmen. Annars så finns det en diod mellan RED och BLUE och denna är till för att leda bort spänningsspikar då ett JCB värmeelement har en stark induktans. Ja, klassisk "diod över spole"-teknik. Inte så många som tänker på detta för en JCB spets :)
Skärmklipp.PNG
vFnpGyi5Vf0JeV9a3HP7FJUruHz7jpRZU5wQ8q3V.jpeg
Mätningen:
Mätningen är väldigt enkel. Ena mäter temperaturen och andra mäter strömmen. Men här finns något som heter GREEN. Det är en gröna kabeln i ett JBC handtag. Denna är själva "GND" kabeln i ett JCB handtag, men inte helt exakt 0V. Utan den är något upphöjt för att man ska kunna mäta termoelementets temperatur. Som du ser så är varje fysisk rörbar in och utgång skyddad med TVS dioder.
Skärmklipp.PNG
Läckage:
Här kommer läckaget. Notera att här förekommer GREEN igen. Som du ser så kör jag strömmen från GREEN igenom två stycken 100 mOhm motstånd på 0.25W. Detta har med att jag gör en spänningsfördelning. För låt oss säga att RED som är 24V och GREEN som ska vara väldigt nära 0V, men om termoelementet är sönder, t.ex. kortslutning, då kommer GREEN och RED få samma spänningsnivå. Då kommer LEAKAGE_LEVEL att vara runt 3.044V.

Här kan vi notera att GREEN är ganska låg på spänning. Skulle N_SLEEP ta kontakt med GREEN så kommer N_SLEEP få en låg spänning.
Skärmklipp.PNG
Utgångar:
Här är utgångarna. Jag har valt 2.54mm pinnar som jag ska montera Weller-kablarna i, istället för att sätta dit stift och sedan löda fast kablar på stiften.
Skärmklipp.PNG
3D model:
Kretskortet är ett 2 lagers kretskort. Ingen impedansanpassning. 0.3/0.5 vior och ibland 0.3/0.7 vior för starkare strömmar. Minsta ledarbana är 0.24mm i bred. Minsta isolationsavstånd är 0.2mm. Då kan vilket arsle som helst tillverka kretskortet (Fick höra detta från en på mitt jobb, tyckte det lät som ett fint uttryck för att beskriva tillverkare :mrgreen: ).
Skärmklipp.PNG
Skärmklipp.PNG
Skärmklipp.PNG
Att göra:
  • Fixa så en gröna LED-dioden på Weller WECP-20 kan styras av processorn
  • Stitcha massvis med vior (0.3/0.5) så alla signalvior kan få sin referensvia
  • Välja systemidentifieringsalgoritm för att bygga tillståndsmodellen
  • Bygga på C biblioteket för Model Predictive Control
  • Fundera på hur man ska kunna kalibrera systemet utan att använda potentiometrar eller interaktiv LCD...... :humm: Kanske UART är en lösning.
  • Gå igenom så allt ser bra ut t.ex inte missat något
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
ASEA
Inlägg: 954
Blev medlem: 11 januari 2015, 14:07:27

Re: Konvertera en Weller till en JBC

Inlägg av ASEA »

Intressant projekt! :)
Det kommer bli högre spänning än 24V DC efter likriktning, så du har koll på det.
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Re: Konvertera en Weller till en JBC

Inlägg av DanielM »

ASEA skrev: 9 juli 2024, 19:50:02 Intressant projekt! :)
Det kommer bli högre spänning än 24V DC efter likriktning, så du har koll på det.
Ja, det blir ca 32V.
24VAC är RMS. Så då betyder detta att det måste bli
\(V_{peak} = V_{RMS} * \sqrt{2} = 24 * \sqrt{2} = 33.94V\)

Sedan blir det spänningsfall över dioderna SS510 SMC.
\(V_{dioder} = 2*0.85 = 1.7V\)

Och resultatet
\(V_{DC} = V_{peak} - V_{dioder} = 33.94V - 1.7V = 32.24V\)

Hmm, bra att du sa detta. Som tur så har jag 35V elektrolyter och en switchade spänningsregulator som kan hantera ingång mellan 4V till 36V.
lmr54406.pdf
Övrig uppdatering:
  • UART med RS232
  • LED-diod för Weller monterad (Den är blå dock på bilden!)
  • RED och BLUE ledarna för värmeelementet i spetsen är 1mm i bredd - Inga vior
  • GREEN ledaren för strömmen från termoelementet är 0.5mm i bredd med 0.3/0.7 vior
  • Stichat med 1 mm avstånd och med 0.3/0.5 vior
Skärmklipp.PNG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av DanielM 9 juli 2024, 21:46:01, redigerad totalt 2 gånger.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46784
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konvertera en Weller till en JBC

Inlägg av TomasL »

Jag kan inte för mitt liv begripa varför man lägger ned ett sådant fullständigt meningslöst jobb på en fullt fungerande lödstation.
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Re: Konvertera en Weller till en JBC

Inlägg av DanielM »

Du vet väll om att det är semestertider? :mrgreen:
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46784
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konvertera en Weller till en JBC

Inlägg av TomasL »

Måste ju finnas bättre sysselsättningar än att göra nånting bra till nånting sämre.
ASEA
Inlägg: 954
Blev medlem: 11 januari 2015, 14:07:27

Re: Konvertera en Weller till en JBC

Inlägg av ASEA »

Hur hög spänning klarar lödelementet?
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Re: Konvertera en Weller till en JBC

Inlägg av DanielM »

TomasL skrev: 9 juli 2024, 22:07:25 Måste ju finnas bättre sysselsättningar än att göra nånting bra till nånting sämre.
En Weller WECP-20 är inte bra jämfört med dagens standard.
ASEA skrev: 9 juli 2024, 22:08:18 Hur hög spänning klarar lödelementet?
En JBC spets är skapad för 24V och en JBC station har sin maximala effektförbrukning på 130W. En JBC spets har ca 2.5 ohm i sitt värmeelement.
Alltså vid maximal effekt så borde det vara

\(P_{spets} = \frac{U^2}{R}\)
\(U = \sqrt{R*P_{spets}} = \sqrt{2.5*130} = 18.02V\)

Men notera att denna MOSFET som jag har nu så är det en V_GS på 1.2V till 2V. Detta betyder att om TG är 7.5V så kommer source att vara 5.5V då gate måste alltid vara ca 2 V högre än source för att mosfeten ska vara helt öppen. Så om det ska vara 5.5V spänningsfall över spetsen så måste det gå mycket ström igenom misstänker jag. Ca 2.2 ampere låter rimligt.
Senast redigerad av DanielM 9 juli 2024, 22:36:37, redigerad totalt 3 gånger.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46784
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konvertera en Weller till en JBC

Inlägg av TomasL »

En Weller WECP-20 är inte bra jämfört med dagens standard.
Rent kvalificerat skitsnack.
Den är precis lika bra som alla andra lödstationer i samma effektområde.
Du borde koncentrera dig till andra saker istället.
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Re: Konvertera en Weller till en JBC

Inlägg av DanielM »

TomasL skrev: 9 juli 2024, 22:25:02
En Weller WECP-20 är inte bra jämfört med dagens standard.
Rent kvalificerat skitsnack.
Den är precis lika bra som alla andra lödstationer i samma effektområde.
Du borde koncentrera dig till andra saker istället.
Jag vet att du har en Weller. Du avslöjade dig redan för några trådar tillbaka.

En modern JCB är alltid bättre än en Weller WECP-20 från 80-talet.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46784
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konvertera en Weller till en JBC

Inlägg av TomasL »

Fullständigt skitsnak.
Det enda en lödstation skall göra är att hålla spetsen vid lämplig temperatur, och det gör din weller.
Naturligtvis har jag Wellerstationer, eftersom de är enligt mitt tycke bäst.
En modern JCB är alltid bättre än en Weller WECP-20 från 80-talet.
Nej, naturligtvis inte.
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Re: Konvertera en Weller till en JBC

Inlägg av DanielM »

Lugn nu Tomas.
En lödstation ska även vara snabb och ergonomisk. Detta är inte en WECP-20 med sina enorma lödkolvar till lödpennor.

Weller är riktigt bra faktiskt. Men jag har bara stött på JBC när jag har varit ute hos företag.

Du bör motivera dig varför en modern JBC är sämre än en gammal Weller från 80-talet.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46784
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konvertera en Weller till en JBC

Inlägg av TomasL »

Varken sämre eller bättre.
ergonomin, tja, byta elektroniken löser ju inte detta.
LR21 är riktigt bra verktyg, slår det mesta faktiskt.
DanielM
Inlägg: 2404
Blev medlem: 5 september 2019, 14:19:58

Re: Konvertera en Weller till en JBC

Inlägg av DanielM »

Ett problem är att det finns inte att köpa MLR-21 spetsar längre.
nifelheim
Den första
Inlägg: 2470
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Konvertera en Weller till en JBC

Inlägg av nifelheim »

DanielM skrev: 9 juli 2024, 21:05:05
ASEA skrev: 9 juli 2024, 19:50:02 Intressant projekt! :)
Det kommer bli högre spänning än 24V DC efter likriktning, så du har koll på det.
Ja, det blir ca 32V.


Hmm, bra att du sa detta. Som tur så har jag 35V elektrolyter och en switchade spänningsregulator som kan hantera ingång mellan 4V till 36V.
det är lite klent dimensionerat,
när termostaten slår ifrån blir den likriktade tomgångsspänningen nog över 40 volt.

mät spänningen på trafon olastad, vad får du då?

:)
Skriv svar