Fórum témák

» Több friss téma
Fórum » Weller hőfokszabályzó
 
Témaindító: devid, idő: Feb 28, 2006
Témakörök:
Lapozás: OK   20 / 32
(#) kubichris válasza bundyland hozzászólására (») Júl 6, 2011 /
 
Hali.

QFN tokot paszta + szabályozható hőlégfúvóval, reflow-ra alakított szendvicssütővel , vagy egy tűhegyes pákával (sima Weller WSP80 páka + hegyes fej) is meg lehet forrasztani,
ugyanis az első, WSP80-hoz készített állomásomban nem volt bonyolult szabályozás, de
ezzel készült néhány ARM Cortex M3-as procis panel, amin QFN tok is volt...

Annyira nem érzékenyek a hőmérsékletre, hogy azt csak PID-del lehessen megforrasztani.

Ha viszont mindenképp PID-et akarsz:

A lényeg:
PIC PID Library

Ebben az esetben:

A PID bemenetét úgy kell megadni, hogy az
elvárt érték (SetPoint) abba a tartományba essen mint a mért érték (ProcessValue), azaz:
8 bites A/D esetén a SetPoint és a ProcessValue 0..255 tartományba essen.

A PID függvények kialakíthatóak úgy hogy a kimenet is megadott tartományok közé essen.
PWM esetén 0..100

A kontroller reakció idejét erősen befolyásolja az a ciklusidő, amiben a PID meg tudja vizsgálni a
feltételeket, azaz a PID időnkén ki kell hogy számolja az új értéket, illetve
az alább felsorolt 3 erősítési érték.

A mellékletben egy példakód AVR-re:

Ja és a lényeg pseudo kódban (Forrás: Wikipedia):
  1. setpoint : beállított, kívánt érték
  2. actual_position : mért érték
  3. output : kimenet
  4. Ki : Integráló tag erősítése
  5. Kp : hibajel erősítés
  6. Kd: Deriváló tag erősítése (hibajel változási sebességének erősítése)
  7.  
  8. previous_error = setpoint - actual_position
  9. integral = 0
  10. start:
  11.   error = setpoint - actual_position
  12.   integral = integral + (error*dt)
  13.   derivative = (error - previous_error)/dt
  14.   output = (Kp*error) + (Ki*integral) + (Kd*derivative)
  15.   previous_error = error
  16.   wait(dt)
  17.   goto start

AVR221.zip
    
(#) bundyland válasza kubichris hozzászólására (») Júl 6, 2011 /
 
Szia !

A PID szabályzót csak azért vettem meg a rezsóhoz mert 7000Ft volt újonnan hőérzékelővel és 25A-es SSR el. Ennyiért nem szabad hozzáfogjak, a feladat valóban nem igényelte ezt. Én a pákavezérlőmhöz sem terveztem PID szabályzót csak
vzoole vetette fel. Szerintem előszőr megnézem mit érhetek el sima ON/OFF módszerrel.
Ettől függetlenűl köszönöm a belinkelt dolgokat, át fogom nézni őket!
(#) kubichris válasza bundyland hozzászólására (») Júl 6, 2011 /
 
Üdv.

Az On/Off esetén is érdemes a felfutási időt vizsgálni, mert
pl. első bekapcsoláskor 400 °C elérésekor történő kikapcsoláskor a hőtehetetlenség miatt felszaladt
nálam a Weller 470-re!

Az On állapotát is így kell megválasztani, mert
szintén a feni miatt leszaladt 400-helyett 360-ra, amikor
egy nagyobb pad-et forrasztottam.
Az ingadozás legrosszabb esetben 110 °C !
Folyamatos használatnál persze egy idő után beállt, de
akkor is volt 50°C inga, ami egy flexi fólia forrasztásakor az
alsó határhőmérsékletre állított pákánál gyakorlatilag
féleszű őrültté varázsolt (egyszer odaragadt a páka, majd miután feltéptem a vezetőréteget, addigra a maradék meg is olvadt...)
(#) bundyland válasza kubichris hozzászólására (») Júl 6, 2011 /
 
Na igen ettől tartok én is és ezt nem lesz egyszerű leprogramozni. Viszont akkor nem értem hogy mondjuk a PU-81 es táp esetén ez hogy van megoldva mert az áramkört hirtelen átfutva nem látok erre megoldást benne.
(#) merciabc hozzászólása Jan 3, 2012 /
 
Üdv!
Valaki tudna segíteni???
Hőn szeretett Wellwer wepc-20 pákám egyik napról a másikra azt produkálja h bekapcsolásra elindul,fűt,majd kb 20mp múlva letilt-a led már nem ég-nem fűt.Ha feljebb tekerem a potit,megint megy egy ideig,majd tilt..néha bevillan a led,de nem fűt!Kábelt visszavágtam hátha,...de semmi. Aki tud segíteni,mi lehet a baja,írja meg mert nagyon szeretem ezt a pákát,nem akarnék megválni tőle!!! Zoli
(#) kubichris válasza merciabc hozzászólására (») Jan 4, 2012 /
 
Vissza is hűl teljesen a páka, vagy azért tartja a hőmérsékletét. - Ebben az esetben a hegy kis hőtehetetlenségű.
Ha visszahűl, akkor lehet, hogy fűtőszál, esetleg a termisztor, de lehet, hogy valamelyik kondi száradt ki.
Ez még hagyományos furat szerelt nyákra készült, lehet csere-bere módszerrel próbálkozni.

Próbálj meg szerezni egy másik pákát hozzá és ha azzal is ez a probléma, akkor az állomás maga a problémás.
(#) merciabc hozzászólása Jan 4, 2012 /
 
Az a baj,h vissza is hűl a páka.A hegy idáig jó volt...Gondoltam rá én is h esetleg zárlatos lett a fűtőbetét,azért tilt? De azt h mérném ki,hiszen valamennyit fűt. Nem tudom mennyi lehet a hideg betét ell.értéke.(?)Vagy csak kapcsoljam rá simán a 24v-ra,oszt nézzem meg meddig melegszik? A termisztort mivel mérjem?
(#) kubichris válasza merciabc hozzászólására (») Jan 5, 2012 /
 
22 ohm körüli az érzékelő
12 ohm a fűtőbetét

Bővebben: A WECP-20 doksija
Ennek a végén van némi technikai info

Ez egy rém egyszerű áramkör (mint a faék), nem hiszem, hogy le tud tiltani.
(#) merciabc hozzászólása Jan 6, 2012 /
 
A fütőbetét ok:12ohm,de az érzékelön 17,2ohm-ot mértem. Az még jo,vagy az lehet a bibi...?
(#) Jáger László válasza bundyland hozzászólására (») Jan 6, 2012 /
 
Talán segít egy kicsit:Bővebben: Link
(#) kubichris válasza Jáger László hozzászólására (») Jan 6, 2012 /
 
@Jáger László: A baj az, hogy ez WSP-81-es páka.

A korábban általam belinkelt doksiban szépen benne van a kiosztás és a mérendő értékek a hibaelhárítás szekcióban.
Ha tudsz egy picit angolul, akkor az itt leírt néhány mérés segíthet. A 17.2 ohm szerintem kicsit kevés, bár attól függ, milyen hőmérsékleten mérted. Ez az érték 25°C-ra van megadva.
(#) Johnny0004 hozzászólása Feb 15, 2012 /
 
Sziasztok!
Segítséget kérnék, weller pákába lehet kapni termisztort?
Vagy van rá ötlet, esetleg valaki alakított már át jlt-s állomás wellerhez?
Köszi.
(#) Johnny0004 válasza Johnny0004 hozzászólására (») Feb 15, 2012 /
 
Például arra gondoltam, hogy a termisztorral egy fesz osztót szabályoznék, amelynek a kimenetén az adott hőfokhoz a jlt hőelem által adott feszek lennének, így a jlt-s állomás vezérelné a wellert, csakhogy pl. a pt100-as termisztor 50 fokonként kb 18 ohmot változik, míg a hőelem 2mvoltot, az erősítő után 0,3 voltot, ilyen osztót nem tudok tervezni, segítene valaki?
(#) zamatőr válasza Johnny0004 hozzászólására (») Feb 15, 2012 /
 
(#) Johnny0004 válasza zamatőr hozzászólására (») Feb 15, 2012 /
 
Köszi, de termisztor kellene először is.
Vagy hőelemet is lehet venni pákához?
(#) Johnny0004 válasza Johnny0004 hozzászólására (») Feb 15, 2012 /
 
Senki?
(#) kubichris válasza Johnny0004 hozzászólására (») Feb 15, 2012 /
 
Én vettem egy wcp80-as pákát a vaterán csináltam egy
1v/100fok erősítő fogtam egy PSoC kontrollert, írtam egy PID szabályozót, és ez működik hálásan.
Persze azóta a PSoC már a digit tápomat is működteti.
Most építem az utódját egy Nuvoton NUC120-as ARM CM0 lélekkel.
(#) vzoole válasza kubichris hozzászólására (») Feb 15, 2012 /
 
Szia!

Érdekelne az a pid algoritmus!

Zoli
(#) eSDi válasza Johnny0004 hozzászólására (») Feb 16, 2012 /
 
Üdv!

Sajnos külön nem fogsz kapni hozzá termisztort, főleg azért nem, mert nem az ismert PT sorozathoz van igazítva az ellenállása. A Weller félének 0°C-on 20.9 Ohm az ellenállása.
(#) eSDi válasza kubichris hozzászólására (») Feb 16, 2012 /
 
Üdv!

Az én elmém is nagyon csorgatja a nyálát arra az algoritmusra...
(#) Johnny0004 válasza eSDi hozzászólására (») Feb 16, 2012 /
 
Kösz a választ.
(#) eSDi válasza kubichris hozzászólására (») Feb 16, 2012 /
 
Már észre vettem! itt van kicsivel feljebb a PID
(#) kubichris válasza eSDi hozzászólására (») Feb 16, 2012 / 1
 
Nos, engedek....

Ez jelenleg egy ARM Cortex M0-ás Nuvoton NUC120-ban fut.
Érdemes utánanézni a "kis okos"-nak, mert olcsó, és mégis ARM! ráadásnak USB támogatással, 8 csatornás ADC-vel, stb.
Bővebben: Nuvoton honlap vagy a ChipCad Extra helyeken.
Árak : komoly, 210-800 Ft + Áfa /darab! A fejlesztő és letöltő hozzá 4e!

Szal akit kicsit jobban érdekel, annak merem ajánlani, nem rossz!

A kódról még annyit, hogy kisebb teljesítményű 8bites
AVR, PSoC, PIC esetén lehet, hogy érdemes kicsit átalakítani a double típus elhagyásával.
Azt hiszem, itt a HE fórumon láttam valaki által portol AVR-es kódot 8bites kontrollerre írva.

Az ígért kód (Eredetileg c#, de portoltam Delphi-be majd C-be):
  1. double Integral = 0;
  2.   double LastError = 0;
  3.  
  4.  double ClampValue(double value, double min, double max)
  5.  {
  6.  double ret = value;
  7.  
  8.   if (value > max)
  9.     ret = max;
  10.  
  11.   if (value < min)
  12.     ret = min;
  13.  
  14.    return ret;
  15.  }
  16.  
  17.  double ScaleValue(double value , double valuemin, double valuemax, double scalemin, double scalemax )
  18.  {
  19. double vPerc = (value - valuemin) / (valuemax - valuemin);
  20. double bigSpan = vPerc * (scalemax - scalemin);
  21. double retVal = scalemin + bigSpan;
  22.  
  23. return retVal;
  24.  }
  25.  
  26.  
  27. double PID_Compute(double PValue, double SValue,
  28.                  double pvMin,  double pvMax,
  29.                  double outMin, double outMax,
  30.                  double PGain,  double IGain, double DGain,
  31.                  int32_t fInterval
  32.                       )
  33.  {
  34.  
  35. double pv;
  36. double sp;
  37. double perror;
  38. double outReal;
  39. double derivate;
  40.  
  41.  
  42.    //We need to scale the pv to +/- 100%, but first clamp it
  43.    pv = PValue;
  44.    pv = ClampValue(pv, pvMin, pvMax);
  45.    pv = ScaleValue(pv, pvMin, pvMax, -1.0, 1.0);
  46.  
  47.    //We also need to scale the setpoint
  48.    sp = SValue;
  49.    sp = ClampValue(sp, pvMin, pvMax);
  50.    sp = ScaleValue(sp, pvMin, pvMax, -1.0, 1.0);
  51.    
  52.  
  53.    perror = sp - pv;
  54.    Integral = Integral + (perror * fInterval);
  55.    derivate = (perror + LastError) / fInterval;
  56.    outReal = (PGain * perror) + (IGain * Integral) + (DGain * derivate);
  57.    LastError = perror;
  58.    
  59.    outReal = ClampValue(outReal, -1.0, 1.0);
  60.    outReal = ScaleValue(outReal, -1.0, 1.0, outMin, outMax);
  61.  
  62.    //Write it out to the world
  63.    return outReal;
  64. }

Érdekességek:
A rendszer a Scale és Clamp függvények segítségével a bemeneti és kimeneti értékeket úgy kondicionálja, hogy a bemenet lehet akár 0-10 közé eső érték, amíg a kimenet 0-100 közé fog esni (pl. ipari vezérlőjel -> PWM vezérlése)

Paraméterei:
double PValue - Mért érték (visszacsatolás)
double SValue - Beállított érték
double pvMin, double pvMax - A mért és beállított értékek tartománya (minimum/maximum)
double outMin, double outMax - A kimenet lehetséges minimuma és maximuma
double PGain, double IGain, double DGain - No ezek fifikásabbak, ezek komolyan befolyásolják a függvény működését! lásd lejebb
int32_t fInterval - Az idő összetevő, amin a változást követjük (ms)

A visszatérési értéke a vezérlőjel.


Egy 100ms -os függvénynél kis zavar esetén jó kiindulás:
PGain = 1.200
IGain = 0.003
DGain = 1.000

Ezek a függvények mindig az alkalmazási területnek
megfelelő finomhangolásra szorulnak! Ezekről a NET
tele van hasznos infókkal, tehát ha használatba veszi valaki, akkor mindenképpen sok teendője lesz még vele
a P,I,D Gain értékek belövését illetően.
(#) eSDi válasza kubichris hozzászólására (») Feb 16, 2012 /
 
Köszönjük! Nagyon hasznos leírás.
(#) mekkmesterke hozzászólása Ápr 7, 2012 /
 
Sziasztok
Én megépítettem az alábbi kapcsolást annyi változtatással hogy 12 voltos tápról megy. http://www.hobbielektronika.hu/forum/files/b6/b6870ea406dfb77785d0b...da.gif
Valami miatt nem fűt fel a pákát pedig a fűtést jelző led ég pontosabban vibrál és ugyan így a bekapcsolást jelző led is viszont ha lehúzom róla a pákát a bekapcsolást jelző led szépen világít probléma nélkül. Mi lehet a probléma?
(#) satlokk válasza mekkmesterke hozzászólására (») Ápr 7, 2012 /
 
De gondolom nem wellerhez használod,meg szerintem kevés a 12 volt is.
(#) mekkmesterke válasza satlokk hozzászólására (») Ápr 7, 2012 /
 
Igen, nem wellerhez. Ezt elfelejtettem megemlíteni.
A 12 volt a vezérléshez szerintem elég mert 1 7808 van a vezérlés előtt, így maga a vezérlés csak 8 voltot kap. A páka amit meg rákötök, az 12 voltos.
(#) satlokk válasza mekkmesterke hozzászólására (») Ápr 7, 2012 /
 
Rendben az más,de szerintem nem jó topicban tedtedd fel a kérdésed.
(#) mekkmesterke válasza satlokk hozzászólására (») Ápr 7, 2012 /
 
Hát itt találtam a kapcsolást ezért gondoltam hogy itt kérdezek rá
Következő: »»   20 / 32
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem