Kalandozásaim az elektronok világában 2

Megérkezett a Texas TTL Receptek könyv, amit rendeltem. '78-as második átdolgozott kiadás (az új nemzetközi szabványoknak megfelelő jelölésrendszerrel), szépállapotú antikvár példány. Az élén a felirat teljesen kifakult, a címlap viszont szép színes. A belseje olyan, mintha én olvasnám először. Úgy néz ki egy polcon töltötte az első és utolsó 40 évét a könyv. Nálam sajnos koszolódnak és gyűrődnek is a könyvek, de még így is rendeltetésszerűbben lesz használva mint eddig :-). (Kivéve ha egy hihetetlen pedáns mérnöké volt, aki úgy vigyázott rá 40 évig, hogy 1000 Forintot érjen még ma is!) Érdekes, hasznos könyv. Az első pár oldal sétagalopp "ezt már tudtam" és "hehe értem" érzéssel. Aztán úgy durvul be, hogy egy szemvillanás után vissza kellett lapozni és többször újraolvasni. Ezek a tranziens jelenségek nem egyszerűek... A Boole algebra és kapukból kialakított hálózatok rész kicsit feleslegesnek hat, a mikrovezérlők idején miért akarnék ilyet csinálni? Meg tanultam is digitből. Annakidején gondolom nem egy hamburger ára volt egy 8085-ös processzor, úgyhogy akkor még kapukból építettek logikákat.

Elhatároztam, hogy most már megtanulom egy NYÁK tervező program használatát és tapasztalatot szerzek a gyártatásban, összeszerelésben is. Persze maradva hobbi szinten lyukszerelt alkatrészekkel. Majd ha ezt az akadályt vettem, akkor talán elindulok az SMD-k felé. De ne hagyjuk ki a lépcsőket.

Mivel FOSS hívő és fan vagyok, ezért szabad szoftvert kerestem, és a KiCad programcsomagot választottam (http://kicad-pcb.org/). Egyszer régen már próbálkoztam vele, akkor el is jutottam odáig, hogy egy mini-áramkört már majdnem le is gyártattam, de aztán időhiány miatt nem lett belőle semmi. De legalább már nem teljesen ismeretlen a program.

Ubuntun a gyári repók tartalmazzák, ráadásul a 18.04-re frissített uborkában a latest stable verzió van benne, de az én gépemen egy elég csúnya bug rondított az élménybe: az egeret húzkodva a kurzor nyomot hagyott. Nem találtam hasonló bugreportot (én sem reportoltam, szánom bánom), úgyhogy workaround híján inkább a KiCad által karbantartott PPA repóból telepítettem a nightly-t (5-ös development ág). Ez minden probléma nélkül működött végig. (16.04-en is kipróbáltam, ott is tökéletes.)

A KiCad alap logikájára kezdőként kicsit nehéz ráérezni, de azért nem annyira bonyolult: Az áramkört két külön absztrakciós szinten kell megtervezni. Először egy elvi vázlatot - úgynevezett sémát, majd egy konkrét PCB rajzot pontos alkatrészekkel, geometriával, mindennel.

Első probléma az lehet, ha az adott alkatrész amit beépítenénk hiányzik a "gyári" készletből. Akkor magunknak kell felvenni az alkatrész sémáját és a PCB rajzát is, amit Footprint-nek hív a program. A gyári alkatrészekkel is akad némi nehézség, mert az elvi megjelenés nem feltétlenül definiálja a PCB rajzot, és ilyen esetekeben kézzel kell választanunk, hogy az adott alkatrész a NYÁK-on hogyan jelenjen meg. (Sőt, az alapértelmezett megjelenés úgy tűnik az 5-ös verzióban jelent csak meg, de én a régebbiket alig ismerem.) A Footprint választó felület igencsak pilótavizsgás, ráadásul hiába tudhatná elvben a program, hogy mik a passzentos footprintek, az összesből kell kitúrni amit szeretnénk. Ráadásul az alkatrészek séma és footprint neve nem mindig egyezik. Illetve a leírásból nem lehet minden paraméterre következtetni.

Például mikrokapcsolóból számtalan variáns létezik, elég nehézkes kibogarászni, hogy a polcunkról vagy egy alkatrészboltból melyik melyik footprintnek felel meg.

Egy idő után azért ki tudjuk ismerni magunkat, és akkor már lehet tobzódni, hogy például az ellenállásokat elhelyezhetjük helytakarékosan függőlegesen is, meg ugye választhatunk különböző méreteket is.

A függőlegesen elhelyezett ellenállások további előnye, hogy a 3D előnézeten remekül néz ki :-). A 3D nézet hihetetlen élményt ad. Egy rakás alkatrész esetén nem csak a lyukat látjuk, hanem magát az alkatrészt is. Ha értenék a 3D modellezéshez, a hiányzókat is összedobnám, mert élmény nézegetni a kész terven őket.

A locsolóautomata egyelőre nem sürgős - késő ősszel, vagy rossz esetben tavasszal válik csak aktuálissá a kertrendezés. Egy barátom megtalált egy hőszabályzós projekttel, úgyhogy most arra álltam át. Egy folyamatot kell adott hőmérsékletre szabályozni - első körben elég hűteni, mert a túlhűlés csak extrém körülmények között lenne esélyes.

Nincs szükség túl nagy teljesítményre, úgyhogy az egyszerűsége miatt Peltier elemre gondoltunk. Ki is néztem egy 12V 3,6A-es példányt, hogy az lesz alkalmas nekünk - jelentősen túlmérezetett a hűtőteljesítménye, de még talán nem extrém az áramerősség. Ha már lúd legyen kövér, ezért folyamatos szabályzást tervezek hozzá (ki-bekapcsolás helyett állítható hűtőteljesítmény), illetve meg akarom oldani az "irányváltást" is, azaz hűtésre és fűtésre is alkalmassá szeretném tenni a rendszert.

Új szokásként - buckó tanácsát megfogadva - Texas Instruments Application note-ot is néztem (SLUA202A - September 2001 Closed-Loop Temperature Regulation Using the UC3638 H-Bridge Motor Controller and a Thermoelectric Cooler). Azt írják, hogy ha szabályozottan akarjuk hajtani őket, akkor arra kell vigyázni, hogy az áram ingadozása 10%-on belül legyen. A hivatkozott írásban 100kHz PWM frekvenciát használnak, és kétszer 100 uH indukció és 6.6uF kapacitás simítja a meghajtást.

A "Figure 3. Temperature Regulation Application" rajzon nem értem, hogy amikor a PWM zárja a tranzisztorokat, akkor hol tud az áramkör bezáródni, az induktivitások árama merre fog tudni körbe folyni?

A Peltier elem feszültség-áram összefüggése a hasznos tartományon eléggé ellenállás-szerű, tehát nekem úgy tűnik, hogy elegendő feszültségre szabályozni (biztosan hihető adatot nehéz volt találnom, de pl itt azt látjuk, hogy nincs meredek törés az U-I függvényben https://www.uweelectronic.de/en/temperaturmanagement-2/peltierelemente/… ). Akkor pedig elegendő egy nagy kapacitást tenni a körbe. Azzal nem lesz back EMF probléma sem.

(Az okoskodással szemben gyanúra ad okot, hogy a fenti application note-ban direkt induktivitással oldják meg a problémát. Lehet, hogy azért mert fordított polaritást tűrő kondenzátor kellene különben?)

A cél az, hogy 10% alatt legyen az áram ingadozása a Peltier elemen. Az ingadozást úgy becsültem, hogy a PWM frekvenciából és minimális kitöltési tényezőből adódik, hogy mennyi időt kell táplálás nélkül áthidalni. A teljesítményt a névleges 12V 3,6A-rel becsülöm és az idővel szorozva kijön a zárt tranzisztor alatt elhasznált energia mennyisége. Ebből a menyiségből kijön, hogy mennyit esik a feszültség vagy az áram, ha egy adott kapacitással vagy induktivitással számolunk.

Persze az áram és a feszültség sem állandó, ezért a fogyasztást felülbecsüljük, de amennyiben valóban sikerül 10%-on belül tartani az ingadozást, akkor ez a felülbecslés nem túl nagy.

A feladathoz alkatrészeket nézegetve feltűnt, hogy ritka az ekkora áramot tűrő nagyértékű induktivitás (legalábbis ahol én néztem), illetve kondenzátorból a nagy kapacitásúak elektrolitosak és nem tűrik a polaritásváltást. És erre jött az ötletem, hogy a polaritás megfordítását a DC-vé alakítás (PWM simítás) után kellene megcsinálni. És ekkor bevillant, hogy egy kétkapcsolós relét lehet polaritásváltónak használni. Amíg fűtünk, addig behúzzuk az irányváltó relét. Így az áramkör többi része egyszerű marad, nem kell H-híd, elegendő egyetlen PWM FET kapcsolgatni az áramot, és nem kell a szűrést polaritás-tűrőre megcsinálni sem. Mivel fűtés az első prototípusokon nem is lesz, ezért ez az ötlet megnyugtató a későbbiekre, hogy nem kell majd emiatt mindent újratervezni, simán meg lehet oldani az irányváltást majd. Viszont akkora elektrolit kondenzátort teszek fel, amit nem szégyellek, így a PWM frekvenciát lejjebb is állíthatom akár - kiszámoltam.

Érdekes még a Peltier elemekről ez a doksi, ami a jósági tényezőt vizsgálja: http://eik.bme.hu/~vanko/labor/kutato/NB.pdf - egyelőre nem rágtam át magam rajta, de azt ígéri, hogy fogalmat ad arra, hogy milyen tartományokban ésszerű egy Peltier elemet használni ha azt akarjuk, hogy működjön is.

A beavatkozót kitárgyaltuk, de a szabályozáshoz kell mérni is. A ds18b20 típusú alkatrész alkalmasnak látszik: egyetlen processzor lábon többet üzemeltethetünk belőle (praktikusan akárhányat) és meglehetősen pontosan mér a gyártó ígérete szerint. Egy ilyet már egyszer régen összeraktam, de sajnos a kód nincs meg, úgyhogy újraírtam. Persze hogy ne legyen olyan egyszerű úgy csináltam meg, hogy timerekkel ütemezi a protokoll lassú részét, így nem kell a fő loop-ban erre időt vesztegetni. Az AVR 328p timer0-ja marad Arduino szerint konfigurálva, a timer1 lesz a One Wire interfacere használva, és a timer2 fogja a 100kHz körüli PWM-et adni a Peltier-nek. A hőmérő programja működik. Igaz csak egy hőmérővel még, de nem hiszem hogy gond lesz többel. Jó lenne a rendszer és a környezet hőmérsékletét is mérni a pontos szabályzás kedvéért.

Magát a Peltier áramát is jó lehet esetleg mérni. Bár ha a tipikus munkapontok hasonlóak, akkor lehet, hogy felesleges. Mindenesetre az áram kapcsolgatását mégis egy fél H-híddal fogom csinálni, mert abban az alkatrészben van beépített current sense, azzal pontosan mérhető az áramfelvétel. Persze a kondi feszültségét is mérhetném. Bekötöm ezeket a boardon, de gyanúm szerint nem fogok ezekkel szórakozni a programban, mert felesleges lesz.

A képernyő vezérlőprogramján is dolgoztam - ha már lúd legyen kövér - megcsináltam, hogy a képfrissítéseket az I2C vezérlő interruptjaira felfűzve autonóm módon csinálja a program. Megint csak acélból, hogy a fő loop-ban ne kelljen erre várni. Mellékhatásként megoldódott az is, hogy az adatokat nem kell köztes pufferbe másolni - mivel a TWI(I2C) vezérlést újraírtam és az eredeti pointerekkel tud működni. Maga a rajzolás a frame bufferbe marad a fő loop-on és szinkronizálva van a kimenettel. A példaprogram frame számlálója pörög mint a veszedelem, még nem mértem hogy pont mennyi, de több mint 10 FPS. Látványosan gyorsult (vagy csak widhful thinking). Az I2C frekvenciája növelhető még (még nagyobb a pörgés), de a legnagyobb értéken instabillá vált (pár hibátlan frame után le is fagyott, mert a hibakezelés még hiányzik :-( ). Nem tudom ez milyen frekvencia mert lusta voltam kiszámolni, egy osztót állítottam 1-re. Az I2C busz felhúzó ellenállásán még lehetne tuningolni, de inkább visszaveszem az órajelet a "gyári" 400000-re, azzal atomstabil(nak tűnik).

A fagyásnak persze nagyon nem örülök, épp az a jó ezekben a beágyazott kütyükben, hogy sokkal megbízhatóbbak tudnak lenni mint akár egy PC. Ezzel a képernyős dologgal elértem egy bonyolutságot, aminél már erőfeszítést kell(ene) tenni, hogy megmaradjon a stabilitás. Bár elvben pont az interruptos megoldás miatt csak a képernyő fagy le, a szabályzás autonóm működne tovább. De ezt nem tudtam kipróbálni, mivel ez csak egy képernyő tesztprogram volt szabályzó nélkül.

Rájöttem arra is, hogy ez a szabályzó ott lesz hagyva jó hosszú időre magára. Hogy mit fog csinálni magában ki tudja? Átlépte-e a megengedett hőmérséklet határát a katyvasz? Ki tudja? Szükség lesz egy loggerre is. Kézenfekvő volna USB-vel PC-re dugni és oda írni egy loggert. De hol marad az élvezet? És egyébként is autonóm eszközt szeretnék csinálni, azért lesz képernyője is, hogy a használatához ne kelljen PC. Kell tehát egy logger is.

Loggernek egy micro-SD kártya slotot gondoltam. Utánanéztem, 512 bájtos blokkonként lehet írni-olvasni programból SPI-t használva, amihez van vezérlő az AVR-ben. 3 lábat használ, plusz egy device select vonal kell (ami sok device esetén talán lehet egy shift-regiszter, de nekem 1 SPI eszközöm lesz csak). Van belőle modul, amin a 3.3V->5V szintillesztés meg van oldva, nem bonyolult, de mégse nekem kell gondolkodnom rajta. Van hozzá fájlrendszer lib is Arduino-hoz, de az nekem egy gyanús óriási komplexitás. Helyette valószínűbb, hogy egyszerűen blokk-szinten fogom kezelni, és folyamatosan írni a logot. A blokk olvasás és írás primitívet kell csak megvalósítani.

Ami blokkot érintettem, annak az elejébe írok egy magic markert. Induláskor az indexet mindig duplázva (kivéve a 0-t mert ahhoz egyet kell adni) elmegyek odáig ahol íratlan blokkokat találok. Aztán bináris kereséssel megkeresem az utolsó írt blokkot. Ezzel gyorsan meglesz (Ordó logN, ugye?), hogy honnan lehet folytatni a loggolást.

A logot szövegesen is értelmezhető formátumban írom, és a végét mindig valami magic mintával zárom le. Így cat /dev/sdX | findVegeFilter paranccsal ki tudom listázni a logot Linuxról. Plusz jó volna, ha a log text fájlként is értelmezhető volna, sőt akár egy megjelenítőbe közvetlenül bepumpálható lenne. Mondjuk JSON. A magic markerek meg kommentek. Na majd kitalálom pontosan.

Érdekes probléma, hogy a blokkméret 512 bájt, ami az AVR SRAM-jának a negyede. A képernyő 1024 bájt, ami meg a fele. Így már a memória háromnegyedének találtam gazdát. Mondjuk más nagyfogyasztóra nem számítok. Amit be lehet esetleg vetni, hogy a képfrissítést és a "diszk" írást olvasást szinkronizálom, felváltva csinálom, így a puffer mindkét célra használható. Meg lehet oldani a képernyő részletenkénti frissítését is, de szerencsére nem kell garasoskodni a memóriával - ésszel használva épp elég lesz.

Ha már loggolás, akkor kellene bele értelmes timestamp is. Ahhoz meg RTC kell, vagy minden bekapcsoláskor állítgatni. I2C-s RTC modult néztem ki (elemmel mindennel), ahhoz nem kell külön processzor láb, csak rá kell kötni a már meglévő buszra. Olyan lesz a board mint egy karácsonyfa, és persze hogy már behúztam a drótokat mikor rádöbbentem hogy mi mindent kell még elhelyezni.

Fontos a NYÁK vezetékeinek a méretezése áramra. A Peltier elem 3.6A árama már elég komoly. Kalkulátorok elég vastag vezetékezést adnak ki. Vastagabb rézből csináltatni drága, és nem is oldja meg egészen a problémát. Ezért azt a módszert fogom alkalmazni, hogy ezt a vezetéket forrasztóónnal fogom bevonni, hogy csökkentsem az ellenállását. Pontosat mondani nem tudok, remélem nem fog túlmelegedni a végeredmény. Ahhoz, hogy lehessen forrasztani, a bevonatot (Mask) le kell hagyni ezekről a vezetékekről. Nem találtam erre Kicad opciót, ezért írtam egy programot, ami a KiCad save file alapján a vastag drótokat átmásolja a megfelelő Mask rétegre is: F.Cu -> F.Mask. A programban megnyitva ellenőrizhetően jól működik. De mivel nem értem a teljes folyamatot minden részletében, ezért van bennem bizonytalanság. Ki kell próbálni, aztán meglátjuk...

A legutóbbi posztom óta sem mértem ki szkóppal az ominózus védődióda és kondenzátor nélküli relé kapcsolást, hogy pontosan milyen rezgés alakult ki. De nem feledem és meg fogom csinálni a mérést.

Hozzászólások

egy linket dobhatnal a konyvre, vagy lefotozhatnad a boritojat.

Ha nem nagy keres.

A lyukszerelest meg hagyd a p*csaba. 1206 az baromi nagy, azt csukott szemmel be lehet forrasztani.

En most 0603-mal nyomulok. Csak csipesz kerdese, meg mikroszkop se kell hozza.
Mondjuk ha leejtem nem keresem meg a foldon, inkabb veszek elo masikat.

Sokkal gyorsabb beforrasztani az smd-t, mint a lyukszereltet. Epp eleg a csatlakozokat beforrasztani...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Linkké alakítottam a posztban is, ez a könyv, amit buckó ajánlott: https://moly.hu/konyvek/theisz-peter-texas-ttl-receptek

Köszi a bíztatást, legközelebb kipróbálom ezt a 1206-ot, de mondom nem akartam lépést kihagyni. Ez is hatalmas előrelépés, hogy rászántam magam a KiCad tervezésre és gyártatásra. Már elküldtem a megrendelést, kiváncsi vagyok mi lesz belőle.

7x5cm-es bakelit lyukacsos panelen en 0805-os SMD ellenallasokat szoktam hasznalni, teljesen jol mukodik. Az egyik lyukra ont teszek, aztan csipesszel beletolom az alkatresz egyik veget, aztan amikor megszilardult, kap a masik vege egy kis ont, es kesz.

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

> Köszi a bíztatást, legközelebb kipróbálom ezt a 1206-ot, de mondom nem akartam lépést kihagyni

Hat tervezheted ugy is, hogy minden alkatreszt beteszel smd es furatszerelten is.
(kapcsolasi rajz egy kicsit atlathatatlan, hogy mindig van parhuzamosan 2 ellenallas, 2 kapacitas, 2 optokapu, stb).

Van nehany egyszerubb kapcsolasom ami ilyen, hogy mindenkepp ossze tudjam szerelni, barmi is van itthon:)

KiCAD-bol nagyon ajanlom az 5-ost (es nem a 4-est), ne nezz vissza a 4-esre:), az alkatresz keresoje egy megvaltas a 4-es utan.
Meg van dinamikus netlist is (valamit kijelolsz a kapcsolasi rajzon, es kiemeli a nyaktervezoben is).

Meg mostmar tud 32 reteget kezelni:) (lassan jon a 128 reteg), step import/export, spice aramkorszimulacio, eagle import. Ilyesmi.

> Nem találtam erre Kicad opciót, ezért írtam egy programot, ami a KiCad save file
> alapján a vastag drótokat átmásolja a megfelelő Mask rétegre is: F.Cu -> F.Mask.

Szerintem sokkal jobb megoldas, hogyha azt a vezeteket alul felul vezeted, es osszevarrod.:)
Magyaran csinalsz egy zonat alulra, egy zonat felulre es rengeteg "via"-val megszorod.
Es aztan tehetsz ra ont is:)

Itt egy tutorial:
https://www.youtube.com/watch?v=vQ-p9Yl6Rm8

Szerintem. Bar nekem meg nem volt ra szuksegem.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Ez most nagyon hosszú, ameddig eljutottam, addig írok egy-két dolgot.

KiCad szerintem jó cucc. Lehet választani benne, hogyan érje el a VGA-t, például OpenGL, vagy valami más függvénykönyvtáron át, lehet, megoldja a kurzor problémádat.

Peltier-elemmel vigyázz, mert az energiamegmaradás törvényéből szerintem az jön ki, hogy ő generátor, tehát hőelem egyúttal. Azaz hőmérséklet különbségre feszültséggel válaszol, ráadásul kis belső ellenálláson. Ezért lesz kicsit para a feszültséggenerátoros táplálása. Lehet, de csak úgy, ha polaritáshelyesen vissza is tudod mérni a kapocsfeszültségét, s mindkét oldalának hőmérsékletét a mikrokontrollerrel. Különben kerülhetsz bajba. Biztosíts lehetőséget árammérésre, s ezáltal áramra szabályozásra is, azaz lényegében áramgenerátoros táplálásra.

Nyugodtan használj SMD alkatrészeket. Onnan, hogy gyártatod a nyákot, nem mindegy?

Az áram visszavezetése a MOSFET-ben történik. A drain-source között van ellenkező irányban egy dióda, nézd meg a katalóguslapot!

https://www.infineon.com/dgdl/irfz44n.pdf?fileId=5546d462533600a4015356…

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Azóta végigolvastam. A Peltier-t nem relével polaritásváltanám. Csinálnék egy vezérelhető, PWM-ws, ha úgy tetszik, kapcsolóüzemű tápegységet, ezt követően jönne egy MOSFET-ekből álló polaritásváltó „H”-híd. Áramot, feszültségeket, hőmérsékleteket mindenképp mérj! Arra is gondolj, hogy a Peltier két oldala között van valamekkora hővezetés. Ha túl nagy a hőlépcső a két oldal között, akkor a meleg oldalról a hideg oldalra a hővezetésen kialakuló hőáram egyensúlyt fog tartani azzal, amit a Peltier a hideg oldalról a melegre hőszivattyúz. Innentől kezdve legfeljebb a veszteség nő, s előbb-utóbb egy világító tűzgömb lesz az egész. :) Na jó, némi túlzással. Szóval csak ésszel, mert érhet meglepetés, ha nem gondolod alaposan végig.

I2C 100 kHz-cel vagy 400 kHz-cel szokott menni általában, hiába szinkron a vonal.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Khmmm. Ez egy kapcsolóüzemű tápegység. ;) Nézd meg valamelyik PIC adatlapjában hogyan működik a PWM full bridge módban. Rá fogsz jönni, hogy egyik fele mindig "földelt", a másik meg PWM. Ami nek a felső fele a kapcsoló elem, az alsó meg a dióda - helyett bekapcsolod, hogy csak az IxRDSON feszültség essen, ami kisebb mint akár egy Schottky nyitófeszültsége.

Az I2C 0..X k/MHz-ig megy, és abszolút aszinkron. Egyre kell vigyázni, ha I2C-nek hazudott SMBUS vagy MODBUS (különösen kínai) eszközöd van. Ott egyrészt a kezdő 0 nem igaz, az utóbbinál meg semmi sem igaz. ;)

Nem arról beszéltem, amit linkeltél, hanem arról, amit a blogger írt. Azt mondom, érdemes lehet - bár nem feltétlenül - szétválasztani a PWM tápegységet és a polaritásváltás problémakörét. Ezzel megnyerjük azt, hogy az árammérés egyszerűsödik, lehet unipoláris kondenzátorokat használni, s kapcsolóüzemű tápra lehet félkész, instant céleszközt alkalmazni.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Komolyan mondom: nem linkeltem semmit! ;)
Az unipoláris kondenzátor problémakörét tekintsd megoldottnak! Az egész kapcsolásban az egyetlen elkó a C1. Amit bipolárisnak hittetek az kb. ilyen. Helyette egy 10uF/35V sokkal gazdaságosabb választás.
Az árammérés problémakörét is tekintsd megoldottnak! Ez az áramkör egy áramvezérelt szerkezet. Az R6 és R6A a CS+ és CS- bemenetekre megy. (CS==current sense) Ha eléri a beállított áram maximumot, akkor kikapcsolja az éppen aktív tranzisztort a két RS flip-flop DISABLE kimenetén keresztül. A delta IL +/-10%-os méretezése esetén elegendően pontosan tudjuk az áramot.
Mindennek örülünk, de más a probléma. A Peltier csak egy ellenállás, - ami ugyan lassan változhat ,- de szó sincs a terhelés dinamikus változásáról. Ezért felesleges luxus az árammal ciklusonként vezérelni a kapcsolóelemet. Ha erről lemondunk, akkor egy mezei pwm is elegendő, amit lényegesen olcsóbb áramkörrel is meg lehet csinálni.

Van itt egy "instant" vezérlő. Némi hátránya, hogy alacsony a kapcsolási frekvencia. Ehhez rögtön 1mH/3A induktivitás kell, ami már egy nem hétköznapi/olcsó elem.

Árammérésre pl. ez is alkalmas. (ebay: felébe kerül)

Érdekes.
A gyártó szerint meg a következő a közelítő képlet.

Qc = 2 * N* [S * I * Tc -1/2 * I^2 * R * L/A – K * A/L * (Th – Tc)]
V = 2 * N * [S * (Th -Tc) + I * R * L/A]

Még azt is hozzáteszi: These equations are very simplified and are meant to show the basic idea behind the calculations that are involved. The actual differential equations do not have a closed-form solution because S, R, and K are temperature dependent. Unfortunately, assuming constant properties can lead to significant errors.

Tehát biztosan nincs igazad. :-D

Komolyra fordítva a szót: Írok egy fél oldalt és mindössze ez az okosság csapódik le számodra?
Szomorú.

Te azt írtad, a Peltier csak egy ellenállás, mire én azt válaszoltam, szerintem egy valamekkora belső ellenállással rendelkező feszültséggenerátor. A második összefüggés szerint valóban az, hiszen I=0 esetén a zárójeles rész jobb oldali tagja nulla, a baloldali tag viszont hőmérsékletkülönbség, s így hőáram esetén pedig nem nulla. Ezt már némi konstanssal szorozzuk. Tudom, közelítés, s a diffegyenletnek nincs zárt megoldása. Tehát mindehhez csúnyán nonlineáris, viszont ez nem változtat azon a tényen, hogy van generátoros üzeme is, s lényegében négy negyedes meghajtást igényel, nem elegendő a két negyedes, mintha egy ellenállás volna. Ez volt a mondandóm lényege.

Amúgy nem szeretek veled beszélgetni, mert sohasem a mondandóm lényegére figyelsz, hanem eleve nem neked címzett hozzászólásaimat kezded rosszindulatúan szétcincálni. Majd, ha 300 évig fogok élni, talán jobban törekszem a pontosságra. Ugyanakkor nem beszéltem hülyeséget, s éppen a hozzád hasonló kötekedő arcok miatt írtam óvatosan, hogy mértem Peltier-t, volt vele dolgom, s arra emlékszem, hogy nem ellenállásként viselkedett, de azért ezt tessék fenntartással fogadni, mert nem jártam alaposan körül a témát. Erre belém kötöttél, elmondtad, hogy hülyeséget beszélek, majd a gyártó által adott közelítő összefüggéssel igazoltad, amit mértem.

Amúgy jól elbeszélgetünk... :-/

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Te meg ezt írtad: A Peltier-t nem relével polaritásváltanám. Csinálnék egy vezérelhető, PWM-ws, ha úgy tetszik, kapcsolóüzemű tápegységet, ezt követően jönne egy MOSFET-ekből álló polaritásváltó „H”-híd.
A nem relé rendbe is lenne.
Tehát nem ismerted fel, hogy a mintaáramkör egy irányváltó full bridge+PWM (azaz kapcsolóüzemű tápegység IS). Ez azért lényeges, mert ennél egyszerűbb kapcsolást nem igazán lehetne kitalálni - már ha van egy full bridge vezérlő áramköröd. Itt meg van, egy PIC-ben is szokott lenni.

van generátoros üzeme is, s lényegében négy negyedes meghajtást igényel, nem elegendő a két negyedes, mintha egy ellenállás volna
Nem.
Próbáld meg elképzelni az áramkör feladatát és működését!
Ha hűteni/fűteni kell, akkor egyik/másik irányban áramot hajtunk át rajta. A másik két negyedben nem történik semmi, nemhogy vezérlés.

Ha Th=Tc, akkor egy ellenállást kell meghajtani. (Mondjuk most kezdek el hűteni/füteni valamit.)
Ha Th!=Tc, akkor meg tényleg van egy olyan hatás, amikor az ellenállás egyenese eltolódik pozitív irányba. Egyensúlyi helyzetben ez egy konstans, tehát annyival több feszültséget kell ráadni, hogy kiegyenlítse. Ezt az áramgenerátoros meghajtás egész kiválóan műveli.
Ha (Th-Tc) polaritást vált, akkor az áramgenerátor áramiránya is megváltozik.
Ha "megállítjuk" az áramkört, akkor hiába lép fel feszültséggenerátoros hatás. A tranzisztorok és a parazita diódák zárnak - nem történik semmi, azaz ebben az áramkörben nincs ilyen üzemmód.

Már pedig azt állítottad, hogy ez nem ellenállás, tehát négy negyedben kell vezérelni. Akkor troll módban állítom: Ez egy ellenállás, mert csak két negyedben kell vezérelni. Naugye! ;)

A Peltier csak egy ellenállás, - ami ugyan lassan változhat ,- de szó sincs a terhelés dinamikus változásáról. Ezért felesleges luxus az árammal ciklusonként vezérelni a kapcsolóelemet.
Erre a válasz: Szerintem egy feszültség-generátor a maga belső ellenállásával.

Valamiért úgy érzem, nem fogtad a mondanivalóm lényegét. ;)

Erre belém kötöttél, elmondtad, hogy hülyeséget beszélek, majd a gyártó által adott közelítő összefüggéssel igazoltad, amit mértem.
Így van, ez trollkodás volt. Ha egyszer feleslegesen kijavítasz, akkor tedd pontosan!
De nem is erről van szó. Egy mérnök az ún. "mérnöki képletekkel" dolgozik, nem differenciálegyenletekkel. Egy Peltier esetén a gyártó megadja a görbesereget, amiből egyszerű módon meghatározható a munkapont. Természetesen tervezéskor szükséges valami halvány segédfogalom az elvezetendő hő mennyiségéről. A görbékből még a munkaponthoz tartozó feszültséggenerátor értékét is ki lehet következtetni, de valószínűleg senki sem érdekel. Csak az a fontos, hogy a hőszállításhoz elegendő áramot át lehessen hajtani az eszközön.
Ezek a görbék egy negyedesek, és a munkapont meghatározásához tökmindegy, hogy feszültséggenerátor, kis manók, vagy a sötét energia okozza, hogy az ellenállás nem viselkedik tökéletesen.

És nem, nem beszéltél hülyeséget. A blogger által linkelt SLUA202A szempotjából viszont csak ködösen hablatyolsz. Bár való igaz, az elektronok és lyukak mozgásáig még el sem jutottál. ;)
Szíved szerint eldöntheted, hogy el sem olvastad a cikket, vagy csak nem érted az áramkört.
Bármelyk verziót választod, a hozzászólásaid a bloggert nem segítik a probléma megoldásához, sem az áramkör értelmezéséhez. Ám tekintsd kötözködésnek, ha a félreértelmezéseidet kijavítom.

Egyrészt nem beszéltem arról, hogy mi lenne egyszerűbb, PIC-kel kellene-e vezérelni vagy pentódával, ezekről egyedül te beszélsz. Azt mondtam, hogy amennyiben van egy vezérelhető kapcsolóüzemű DC tápegységünk, majd ezt követően hídba tesszük a Peltier-t, akkor megússzuk azokat a problémákat, ami a polaritásváltásból fakad. Mondjuk részben csak, ez igaz.

Ami a négy negyedet illeti, azt úgy értem, hogy az összes eset előfordulhat: pozitív feszültség, pozitív áram; pozitív feszültség, negatív áram; negatív feszültség, pozitív áram; s végül negatív feszültség, negatív áram. Éppen úgy, mint ahogyan egy villamosgéppel is lehet fékezni, így lehet pozitív a szögsebessége, de ehhez tartozhat negatív nyomaték, s így tovább.

Még mindig azt állítom, a Peltier nem ellenállásként viselkedik, az általad adott összefüggésből is látszik, hogy szakadással lezárva feszültség lehet a kapcsain, ráadásul még a polaritása is ismeretlen, ez a termikus viszonyoktól függ. Erre a meghajtó áramkört fel kell készíteni, vagy a problémát firmware-ből ügyesen el kell fedni, de foglalkozni kell vele.

Természetesen tervezéskor szükséges valami halvány segédfogalom az elvezetendő hő mennyiségéről.

Legfeljebb annak szélsőértékéről, mert amúgy még azt sem tudjuk, fűteni vagy hűteni akarunk. Ha az a feladat, hogy szobahőmérséklet közeli hőmérsékleten tartsál valamit tized fokos pontossággal, akkor csak a mérés és szabályozás segít, az viszont a legkevésbé sem, ha elfelejtesz a négyből két negyedet, mert belekényszeríted abba a kettőbe, amelyikről hallani szeretnél. Most éppen ezen ütköztem meg:

Ha hűteni/fűteni kell, akkor egyik/másik irányban áramot hajtunk át rajta. A másik két negyedben nem történik semmi, nemhogy vezérlés.

Hajtod rajta az áramot, csak azt nem tudod, a feszültséged éppen pozitív, vagy negatív közben. Az áram iránya a vezérlés egy-egy félsíkját jelöli csak ki, a pillanatnyi hőmérséklet-különbség előjele, a hőáram iránya miatt viszont lehet a feszültség polaritása ilyen is, meg olyan is, függetlenül az áram irányától. Azzal meg ne gyere légyszíves, hogy majd 4 A-rel kikényszeríted a megfelelő polaritást, mert ha pontos szabályzót akarsz, nem 4 A-t folyatsz rajta, hanem ami kiadódik a szabályozóból.

Sokadszor fordul elő, hogy értelmetlenül vitatkozom veled - most is ezt teszem -, csak tudnám, minek. Belém kötsz, személyeskedsz, a műszaki tartalom kevés benne, legfeljebb arról van szó, kicsit más megvilágításból szereted látni ugyanazt, mint én. Nyilván, mert ismereteim és emlékeim szerint te gépészmérnök vagy, én meg villamosmérnök, picit más a látásmódunk.

Szerintem hagyjuk, nincs nekem erre időm. Azt csinálsz, amit akarsz, meg én is.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

:-D
Való igaz, a gépészmérnökök tán kissé praktikusabbak. Bizonyára kiábrándító lesz, de soha nem dolgoztam gépészmérnökként. A "szakirányú végzettség" miatt a beosztásom ugyan gépész gyártmánytervező volt (~fejlesztőmérnök videotonéknál), de villamosmérnökként dolgoztam. Erről az osztályvezetőmmel egyeztem meg. Pályafutásom alatt mindössze két doboz tervezését követtem el. ;)
A mechanika gyak. vez., - aki utálta a nőket is, - azt tanítota, hogy az elektronikához egy gépészmérnöknek is értenie kell. A finomabb dolgokra meg ott vannak a fizikusok. Ennek alapján vajon mi szükség van a villamosmérnökökre?

van egy vezérelhető kapcsolóüzemű DC tápegységünk, majd ezt követően hídba tesszük a Peltier-t, akkor megússzuk azokat a problémákat, ami a polaritásváltásból fakad.
Ez is egy elgondolás, de a szükséges kapcsoló elemek és meghajtások száma 6, míg a szerinted bonyolultabb megoldásnál csak 4. Ráadásul a tápegység vezérlése mellett az átkapcsolás szükségességét külön kell detektálni. Ezért nem csinálják soha így. Inkább így vagy így. Ezek mindegyike D osztályú erősítő.

Hidd el, teljes mértékben tisztában vagyok a négy negyedes karakterisztika mibenétével!
Az a két negyed, amit én használok, a TEC mód. Amit meg Te szeretnél használni az a TEG mód. Az utóbbi csak akkor fordulhat elő, amikor hőenergiát pumpálsz be vagy ki a rendszerbe. (Ez eddig nesze semmi! ;))
Dehogynem tudjuk a feszültséggenerátor irányát! Stabilizálódott állapotban a (Th-Tc) megegyezik az I*R irányával, azaz a feszültségek összeadódnak. A hűtés/fűtés váltásával mindkettő polaritása fordul.
Lassan, hogy a modul tovább tartson.
Tudjuk a feszültség nagyságát is, ami kb. 0,01..0,05V/℃ - a modul vastagságától függően.

Nosza, találjunk ki olyan helyzetet, amikor akár igazad is lehet! ;)
De csak valós adatokkal pl. népszerű típus adatlapja alapján. Ennek a TEC modulnak hőellenálása kb. 1,5℃/W, -40..80℃ között működik, a feszültséggenerátor kb. 0,023V/℃ (ha tévedek, akkor kevesebb), DTmax=68℃. A meleg oldalra helyezzünk 0.5℃/W hőellenállású hűtőbordát! A CPU Rthjc az egyszerűség kedvéért 0.

Hűtsünk le egy CPU-t, 40℃ célhőmérsékletre!
Kikapcsolt állapotban hűtsük az egész rendszert 0℃-ra. Kikapcsolt elektronika mellett fűtsük fel a CPU-t úgy, hogy Tc=66℃! A szállított hőmennyiség 33W, Th=15,5fok.
Ekkor kb. -1,14V feszültséget fog termelni a feszültséggenerátor, ami meg se nyekkenti a két body diódát, tehát a kapcsolás védett.
Legyen Th=66℃ és Tc=40℃ (a célérték) és keressünk >33W munkapontot! (16,9V)
Az összes kimenő hőmennyiség 145W, ami elég közel áll a hűtőborda által leadott 130W-hoz. (Lehetne még iterálgatni, de minek.)
Ehhez a munkaponthoz tartozó áram kb. 6,3A.
A modul ellenállása 2..3 Ohm, így a vezérlés akkor sem hagyja el az I. negyedet, ha a modul nem ott tartózkodik.

További tanulságok:
- Látszik, hogy a COP 0,33 körüli, ezért érdemes lenne nagyobb modult választani.
- Ezt az üzemmódot is csak kikapcsolt vezérlés mellett beállt egyensúly után sikerült elérni.
- Ezt a vezérlést egyszerű full bridge móddal is lehet biztosítani. (Ahol egyszerre csak az egyik "H" kap meghajtást.) Valódi D osztályú (BTL mód) meghajtással meg igazán mindegy, mert az még a negatív feszültségeket is lekezeli. (Még ha nem is fordul elő.;))

Mindez persze nem igaz, ha egy gonosz manócska és folyékony nitrogénnel, vagy enyhén olvadt lávával locsolja a hűtőbordát. De az már mindenképpen a termodinamika II. főtételének a megszegése, no meg TEG mód lenne.

Éppen hasonló projektem csúszik, szóval végtelen számú jótanácsom van. ;)
Azonnal a doksi végére kellett tekernem! (évszám) Ez az áramkör a 80-as évek technológiája. Ilyen, rengeteg tranzisztoros meghajtást ma már nem csinálnak. Sőt, P feteket sem használunk. Viszont Hi-Lo gate drivert igen.
Ha a "legrosszabb" munkapontban is CM (continous mode) a PWM, akkor nem kell figyelni a "visszacsapó dióda" áramának a nullpontját. A H bridge alsó tranzisztora vezet. (És nem a FET parazita diódája, mert az elég rossz ötlet lenne a nagy nyitófeszültség miatt.) Persze a dead band-re figyelnik kell. A PWM kontroller helyett pl. PIC16 vagy PIC18 mcu-t lehetne használni, amely beépítve tartalmaza a PWM, vagy a CWG modult. Meg occsóbb is. ;)
Az induktivitás gyors méretezéséhez (minimális áram+delta IL < 10%) pl. ez az oldal jó segítség.
A Peltier elem két irányú vezérléséhez meg 2 db H bridge kell. Ez a full bridge. ;)
A kondenzátorok nem polarizáltak, valószínűleg metalized típusú. Helyette mindkét kimenetre pl. 10uF/25V MLCC (SMD!!) kell, de a GND felé. Azt írja, hogy olyan mint a D osztályú végfok. Az meg pont nem úgy néz ki, mint a doksiban. ;) Esetleg számolj utána, hátha arra bazíroznak, hogy a két induktivitás összeadódik - nagy ötlet.
Az induktivitás porvasmag toroid vagy ferrit. A választás alapja előbbinél 100kHz-re az üzemi áram (az áram középértéke), az utóbbinál inkább a csúcsértéke.
Én inkább ferritet használnék és megnövelném a frekvenciát 2-300kHz-re.
Itt van a korábban említett probléma! Vajon miért használunk 40-50A-es és 80-110W teljesítményű tranzisztort 2,5A meghajtásához? Mert lábasjószágban nincs más! Erre elég egy SO8 tokozású dual FET némi hűtéssel, esetleg 2db SOT(2)23 tok is jó lehet. Az ára 1/5 1/10 körül mozog. (A kiválasztás: UDS~30V, I>2xImax, RDSON, Ug és Qg minél kisebb)
A Peltier-t érdemes túlméretezni, mert (ez csak úgy hasraütésre) a hatásfoka >100%..500% között mozoghat, ha 1/4 árammal hajtod. Ja, és áramra érdemes szabályozni. Itt egy adatlap, amiben kicsit más szemszögből látszanak a görbék.

Annakidején gondolom nem egy hamburger ára volt egy 8085-ös processzor, úgyhogy akkor még kapukból építettek logikákat.
Ez a könyv írásakor tán még igaz volt, hiszen a 8080 is csak 2 éves lehetett. Viszont a 80-as évek közepén nem "terveztem logikát" a 8085 mellé, csak elvétve. Utáltak is érte: - Döntsd már el, bipoláris processzort építesz, vagy programozol! ;)
Viszont láttam már - lényegében a TTL receptek alapján tervezett - 300 tokból álló, 16 bites és 22 bit utasításszélességű 8MHz-es videoprocesszort (video formattert). Ez egy 60 lap/perces Delfax ionnyomtatót vagy lézernyomtatót tudott kiszolgálni.
Tehát LS/S TTL kapcsolásokat főként az olyan feladatokra használtuk, ahol a processzor nem volt elég gyors és adatokat is fel kellett dolgozni. Ugyanekkor nyugaton már 16/32 bites bit slice vagy ún. dataflow processzorokat is használtak.
A 80-as években 3 RC tagnál (időzítésnél) többet használó áramkörben egyértelműen gazdaságosabb volt a 8085. De a pc klaviatúrát is egycsipes processzorral tervezték. A NYÁK is sokba kerül!