A történet ami megihletett kicsit hosszú lesz, de remélem nem haszontalan. Már régen nem írtam a tanyára semmit, így most bő lére eresztem a posztot.
Az egyik kiinduló pont az a tény, hogy notórius elektronikai hulladék gyűjtő vagyok. Vagyis ami másnak szemét, azt én összeszedem, "valamire majd csak jó lesz" felkiáltással. Az évek során elég sok ilyen cuccom jött össze. Sok van közülük olyan, ami nem csak alkatrész bányaként funkcionál, hanem megmozgatja a fantáziám és tudom, hogy fel lehetne használni még valamihez. Persze az esetek nagy részében még jó sokáig fognak porosodni a "kincses ládában".
A másik szál ott indul, hogy több évi halogatás után elhatároztam, hogy az idén elkezdek gyakorlatban is ismerkedni a PIC mikrovezérlők világával, amit olyan formában gondoltam megtenni, hogy a bontott cuccaim közül igyekszem olyanokat találni, amelyek valahogy összeházasíthatók egy PIC-el és kitalálok valami értelmes projektet ahol ezeket fel lehet használni.
Mint szinte mindenki, először én is olyan alap dolgokkal kezdtem a PIC programozást, mint a LED-ek villogtatása, nyomógombok állapotának beolvasása. Mivel volt több olyan különböző, általában UPS-ekből kibontott panelem, amelyen LED-ek és nyomógombok is voltak, így ezeket próbáltam felhasználni.
Néhány hulladékban talált kezelő panel:
Persze ezekre egy idő után ráuntam és valami komolyabb dolgot szerettem volna kipróbálni. A választásom egy olyan kijelző panelre esett amely eredetileg egy papír szalagos regisztráló műszerben volt. A panelen van 3 db kijelző modul, amelyek egyenként 8 karaktert tudnak megjeleníteni. A karakterek 5x5 pontos LED mártrixból rajzolhatók ki. A panelen található még 8 db nyomógomb is. Na ezt a cuccot szerettem volna feléleszteni és a PIC-el működtetni.
Az kijelző panel egy mindössze 6 eres szalag kábellel csatlakozott a műszer többi részéhez, így biztosra vettem, hogy valamilyen soros interfészt használtak, aminek a működéséről semmilyen információm nem volt kezdetben. Első körben a kijelző modulok adatlapját töltöttem le. Ezek típusa SCD5883. Az adatlapból kiderült, hogy milyen módon lehet ezeket működésre bírni. Persze ehhez még ki kellett derítenem, hogy a panelen lévő többi áramkörnek mi a funkciója? Szerencsére a körítés nem volt annyira bonyolult. 3 db 74-es sorozatú IC van még a panelen, meg pár darab tranzisztor. Az IC-k típusa és az összekötések felderítése után már kezdett kirajzolódni az elvi működés. Az egyik IC egy soros bemenetű, párhuzamos kimenetű shift regiszter. Gyakorlatilag ez szolgál a panelen lévő egyéb alkatrészek címzésére. A másik IC ennek éppen fordítottja. Párhuzamos bemenetű, soros kimenetű shift regiszter. Erre vannak kötve a gombok és ezen keresztül lehet kiolvasni a gombok aktuális állapotát. A harmadik IC különböző engedélyező jeleket állít elő részben az órajel, részben az adat vezeték megfelelő vezérléséhez. Sok méregetés után kezdett összeállni a kapcsolási rajz. Nem törekedtem arra, hogy mindent teljes részletességgel visszafejtsek, megelégedtem annyival, hogy a lényegi működést követni tudjam.
Nem akarnám untatni a tisztelt olvasókat az összes részlet ecsetelésével, mert azért elég sokat kellet küzdeni, amíg végre megjelentek az első karakterek a kijelzőn. Sok apró problémát kellett megoldani kezdve attól, hogy a jeleket megfelelően invertálva kellett kiküldeni, mert a panelen a NAND kapuk mindent ellentétes polaritásra forgattak. A gombok kiolvasásának megoldása még egy külön történet volt, mivel ezt a részt áramköri szinten nem sikerült igazán jól visszafejtenem, így elég sok homályos részlet volt a pontos működésben. Végül siker koronázta az erőfeszítéseket. Immáron magabiztosan uraltam a kijelző panel minden funkcióját.
Miután volt egy 23 karakteres, 8 nyomógombos működő kijelző panelem, valamit kezdeni is akartam vele. Két ötletem volt. Na a második egy PIC alapú frekvencia mérő lett volna. Az első ötletem is megvalósítottam, de arról majd talán egy külön posztban írok.
Térjünk vissza a freki mérőhöz. Alapvetően azért gondoltam egy ilyen műszer készítésére, mert úgy éreztem, hogy a jelenlegi tapasztalatommal a siker reményében vághatok bele a fejlesztésbe. A mérés elvét ismertem, ez nem okozott gondot. Csupán csak azt kellett kitalálnom, hogy a PIC-ben ezt hogy lehet leprogramozni?
Nem volt még szó róla, de némi keresgélés után, némi szerencsével találtam egy, az én ízlésemnek tökéletesen megfelelő fejlesztő rendszert, ami a mikroBasic Pro for PIC. Itt található a weboldala: http://www.mikroe.com/
Szóval ezt a fejlesztő rendszert használtam a program megírásához.
Amit a fejlesztés kezdetén tudtam, hogy olyan műszert szeretnék készíteni, ami a szokásos frekvencia mérésen kívül tud periódus időt is mérni és rendelkezik számláló funkcióval. Az összes többi részlet menet közben alakult ki. Jelenleg az alábbi funkciókat tudja a műszer:
- Frekvencia mérés: 1 Hz ... 2,5 MHz méréstartományban.
- Választható mértékegység a megjelenítéshez: Hz, kHz, MHz
- Választható periódus idő kijelzés, amit a frekvencia reciprokából számol a program.
A képen frekvencia mérés látható, kiloHertz mértékegység megjelenítéssel:
- Periódus idő mérés. Felbontása jelenleg kb. 0,33 mikroSec
- Választható mértékegység a megjelenítéshez: uS, mS, Sec
- Választható frekvencia kijelzés, amit a periódus idő reciprokából számol a program. Ez a funkció kis frekvenciák pontos méréséhez hasznos, mivel mint tudjuk, alacsony frekvenciák mérésénél jelentős hiba adódik, ha rövid a mintavételi idő. Viszont ezt praktikusan nem célszerű túl hosszúra venni. Viszont ha a periódus időt mérjük jó pontossággal, akkor abból a frekvenciát nagy pontossággal számíthatjuk.
A képen az látszik, hogy a mérés elve periódus idő mérés, de a kijelzés frekvenciában történik:
- Számláló funkció: 32 bites, a határfrekvencia 2,5 MHz.
- Start/Stop és törlés gombok.
- Ki/be kapcsolható digitális szűrő. Ez egy 8 elemű tömbbel van megvalósítva, gyakorlatilag az utolsó 8 minta átlagát számítja ki. Ez akkor hasznos, ha a kijelzett érték nem stabil. A szűrő kicsit csillapítja a gyors ingadozást.
Ami eddig készen van szoftveres téren, az csak az alap. Kb. ezt szerettem volna megvalósítani és most már elmondhatom, hogy sikerült elérni a célt. A továbbiakban főleg a hardver fejlesztését szeretném elvégezni. A tervek:
- 20 MHz-es hőmérséklet kompenzált kristály oszcillátor használata. Ezzel és a PIC belső előosztójával ki tudnám terjeszteni a határ frekvenciát több mint 30 MHz-re és a periódus idő mérés is nagyobb felbontású lesz. Mellesleg a pontosság is javul.
- MB501 előosztóval szeretném majd megnövelni a mérési tartományt 500 MHz-re vagy akár 1 GHz-re.
- Normális dobozt gyártanék a műszernek.
Szóval ez a PIC frekvencia mérő projektem eddigi története. Remélem sikerült bemutatnom, hogy kis találékonysággal hogyan lehet felhasználni értelmes célra elektronikai hulladékokat. Végezetül a saját készítésű PIC demo board-omról néhány kép:
Ez is egy UPS kezelő panelja volt:
Kiegészítettem egy fejlesztő NYÁK-kal. A szalagkábelek szintén valami bontott cuccból vannak, jelenleg a PIC kártyát kötik össze a a demo board-al:
2. felvonás
Immáron befejeztem a freki mérő építést, habár szoftveres munkák vannak még hátra. Köszönet a segítségért, amit a fórum társaktól kaptam. Elkészült a 2 db bemeneti fokozat. Egyik a kisebb frekvenciákhoz, a másik a GHz-es méréshatárhoz.
Ilyen lett a belseje:
Az eredeti koncepciónak megfelelően jórészt innét-onnét összeszedett alkatrészekből épül fel. A hálózati trafós panel a cégemnél elbontott beléptető rendszerből származik. Kisebb átalakítás után pont megfelelő lett számomra. A mögötte látható stabilizátor egység egy légtechnikai vezérlő szekrényben lakott eredetileg. Sínre szerelhető kivitelben készült és DC 12V-os kimenete volt. A stabilizátor IC-t és néhány ellenállást kicseréltem és kisebb módosításokat végeztem rajta. Így ez szolgáltatja a stabil 5V-ot a műszernek.
Az egyéb apróságok mint koax kábelek, csatlakozók, szalag kábelek, LED-ek, stb. is különböző bontott, selejtezett cuccokból lettek kitermelve.
A bemenő fokozatok rajzait a NET-ről szereztem. A NYÁK-ok saját tervezésűek, de nem én készítettem el őket, mert otthon nincs hozzá felszerelésem. A PIC board teljesen saját tervezés. Ami jó benne, hogy soros portot is terveztem rá, így a program módosításokat, letöltéseket egy egyszerű soros kábelen keresztül meg tudom csinálni, anélkül, hogy ki kellene vennem a PIC-et. A soros port akár arra is felhasználható, hogy a freki mérő ciklikusan elküldje a mérési értékeket egy számítógépnek, így akár adatgyűjtést is lehet végezni, ha ilyesmire lenne szükség.
Szerencsére volt otthon egy megfelelő műszerdobozom, amibe be tudtam pakolni a részegységeket. Így viszonylag ki is néz valahogy az alkotás. Az előlapot alu lemezből alakítottam ki. A feliratozás úgy készült, hogy megrajzoltam egy vektorgrafikus rajzoló programban mérethelyesen, kinyomtattam színes nyomtatóval, majd műanyag fóliát lamináltam rá, aztán körbe vágtam és lyukasztóval kivágtam a gombok, csatik, LED-ek helyét. Így egész jól néz ki és vízálló is valamennyire.
Ilyen lett a végeredmény:
Persze akadnak itt-ott kisebb hibák. Van egy-két nem teljesen profi megoldás, de a végeredmény összességében egész jó lett szerintem. Ami még hátra van, az a kalibrálás lenne, csak nem igazán tudtam eddig szerezni egy nagy pontosságú ellenőrző műszert. A GHz-es bemenetnél pedig van még némi szoftveres munka, mivel itt más osztást kell használnom a PIC-ben, mivel a bemeneti fokozat eleve tartalmaz egy osztó áramkört. Sajnos mivel nem tudtam még szerezni egy olyan jelgenerátort amivel akár 1 GHz-es jelet is elő tudnék előállítani, így ezt a bemenetet szinte egyáltalán nem tudtam még élesben kipróbálni. Kisebb frekikkel meghajtva úgy néz ki, hogy működik.
Szia!
GRATULÁLOK!!!
Ezt még Mc Giver sem csinálná utánad...
stonhy
0
szia
Ugyess,igy tovabb!
0
Gratulálok!!!
0
Csatlakozom az előttem szólókhoz!
Példa értékű leleményesség! Gratula!
0
Ügyes gratulálok!
További sok ilyen cikket
0
Köszi mindenkinek a jó szavakat. :-) Remélem még tudok hasonló dolgokat mutatni. Csak sok idő kellene, ami sokszor sajna nincs.
0
Szia Big Blaster!
Gratulálok nagyon szép munka !
Szép napot mindenkinek !
Padra Sándor
Alias :sasa11
0
Szia!
Nagyon szép és remek cikk,a kreativitások határtalan :)
ez az igazi újra hasznosítás!
gratulálok a cikkedhez!
Üdv Stewe!
0
Ügyes munka gratulálok!
További sok ilyen ismertetést
0
Én is hasonló gyűjtési mániával vagyok megáldva, családom meg nem értő kritikája mellett. Szintén gratulálok a leleményességhez és a kitartáshoz.
0