Időgép hiba

Mikrokontroller vezérelt digitális órák pontatlanságával foglalkozom ebben a bejegyzésben. Lelőttem a klikkvadász címet az első sorban… 😀

A lényeg, hogy anno domini, építettem egy digitális órát jó nagy LED-es kijelzővel, mert szemüveg nélkül nem látom a sötétben a kicsi kijelzőket rövidlátó vagyok. (nem, nem szódásüveg :D) Ez az óra nem naptár IC-ből olvasgatja ki az időt, hanem maga a mikrokontroller számolja az időt. Ez mind szép és jó, de fiatal és bohó lévén elhanyagoltam azt a tényt, hogy ciklus lefutási idők vannak egy mikrokontroller működése közben, pl. idő telik el amíg frissíti a kijelzőt. A hibát tetéztem azzal hogy delay-eket használtam, nem az elindulástól eltelt időt. (akkor is késne 😀 csak nem ennyit)

Ez elenyészőnek tűnik de egy óra esetében nagyon fontos, mert idő elteltével ezek a parányi idő szeletek összeadódnak és az óránk bizony késni kezd, oly annyira, hogy kompenzálnom kellett 6 óránként fél percet kell hozzáadnom az időhöz így viszonylag pontos, havonta egyszer kell beállítani.

Na most mi van ha teszünk bele egy ébresztő funkciót, mondjuk játszon le néhány akkordot egy számból. Amíg visít a pécészpíkerből a Finale Countdown (remélem érzitek az iróniát) idő telik el, és ezt is lehet kompenzálni. (ha naptár IC-vel csináltam volna akkor,a naptár IC közben szépen gyalogolna előre)

Következtetés -képpen, delay-eket el lehet felejteni, használjunk naptár modult (ez sem pontos), és érdemes szinkronizáltatni az órát időközönként. Ehhez lehet használni egy wifi modult, vagy óra impulzus modult, vagy egy GPS modult. GPS esetében érdekes módon 1 műhold mindig fogható még házon belül is, koordináta számítást nem tud végezni a modul de a pontos idő az jön belőle.

Itt nem fogom részletezni ezeknek a moduloknak a beépítését, leprogramozását, csak az egykori kvázi hibás programomat teszem közzé másoknak okulásul.

Az áramkört is csak linkelem (ezt nem én csináltam de a felépítés azonos)  mivel azok a kijelzők már nem kaphatóak és szemétre szánt játékgépből mentettem ki őket. De elég szép példája annak hogy shift-regiszterekkel hogyan lehet bármennyi kimeneted.

Tehát van egy buszunk amire fel van fűzve az összes shift-regiszter, így csak 3 kimenetet használunk a mikrokontrollerből. Ahány hétszegmens kijelző annyi regiszter. Az ULN 2803 tranzisztor mező azért kell mert ennek a kijelzőnek egy szegmense 6 sorba  kötött LED-ből áll. Az én áramkörömben 12V -ról üzemel. A mikrokontroller TTL szintekkel dolgozik tehát 5V és nem tud akkora teljesítményt illeszteni kell. Ilyen módon felfűzött regiszterekkel annyi kimeneted lehet amennyit meg tudsz címezni adott mikrokontrollerrel. Nem sebesség igényes dolgoknál megfelelő. Némi módosítással reléket is kapcsolgathatsz.

Program:

Itt letölthető.

Ez Bascom-ban íródott és elnézést kérek de nem vittem túlzásba a kommenteket. ATmega 8 a használt mikrokontroller a használt kimenetek a programból adódnak. (nem most készült :D)

A műszer:

Elektromos autó

Hát persze, hogy klikk vadász a cím. 🙂 Ha a médiának lehet akkor nekem is …

A fiam elromlott TESCO-ban vásárolt távirányítós autójáról van szó, amit úgy felturbóztam, hogy porosabb talajon driftel 😀

A mostani játékok elektronikájára jellemző, hogy ha egyszer elromlik mehet a kukába, mert javíthatatlan. Ha szétbontod találsz benne egy áramkört aminek a közepén egy műgyantával leöntött paca van, és max néhány ellenállást kondenzátort tartalmaz. A fenti autónál is ez volt. Így fogtam az egész elektronikát és veszélyes hulladéknak leadtam, távirányítóval együtt. Viszont ha már a veszélyes hulladéknál tartunk, volt egy laptop akkumulátorom ami elhalálozott. Tudni kell, hogy ezek az akkuk több cellából állnak és nem egyszerre pusztul el az összes. 1-2 cella benne feladja, és a “védőáramköre” biztonsági okokból letiltja a töltést. Természetesen ennek semmi köze a tervezett elavuláshoz, bárminemű ezzel való összekapcsolása a témának a véletlen műve.  (remélem egyet értetek kedves gyártók) Szétkaptam az akkut, kiszedtem belőle a működő cellákat, és már is volt egy amper-centrikus erőforrásom ingyen. 3,7V cellákról van szó, az autó kapott sorba kötve 3 db-ot az 11,1V. Eredetileg 4db ceruza elemmel működött, az 6V. Hogy, le fog égni majd a motor, igen le fog egyszer ha túl hajtjuk de addig remekül szórakozunk. 😀

Természetesen Arduino pro mini áramkörökkel építettem fel mind az adó, mind a vevő áramkört 1-1 433MHz-n működő adó-vevő modullal virtual-wire osztály felhasználásával. Még a lebegény (légpárnás) készítésének idejéből polcon hevert egy apró szervó motor, ez szabályozza a kanyarodást.  Találkoztam azzal az inkompatibilitási problémával, hogy az Arduio alap szervovezérlési modulja nem kompatibilis a virtual-wire class-al, így ki kellett cserélnem a modult és egy másik szervovezérlési modult használnom. Természetesen mindent mellékelek. És akkor…

Hozzávalók:

L298 motorvezérlő modul
Szervó motor
RF modul adó-vevő 433MHz
Arduino Pro Mini 5V
Arduino Pro Mini 5V 2db

Kapcsolási rajz távirányító:

Távirányító

Kapcsolási rajz autó:

Autó

Működés:

Azt hiszem a működést nem kell különösebben részleteznem. Röviden annyi, hogy a távirányító potméter állását leolvassa az AD átalakító ami a Pro Miniben van ebből generálódik egy szám (ez a kormányállás) ennek a számnak a végére hozzácsapunk egy karaktert 0-> áll, 1->előre, 2->hátra és ez kerül elküldésre.

Az autóban az Arduino modul visszaalakítja ezt a számot és értelmezi. Először szétszedi kormányállásra és irányra, majd a kormányállásból generál egy szervó állást. A többi értelem szerű. Program forráskódjában erősen kommenteltem. Még annyit, hogy a távirányítóban lehet használni az Arduino pro mini butábbik verzióját is amelyben ATmega165 van. Mert olcsóbb. 🙂

Programok:

Letölthető itt.

Végeredmény:

Na meg a videó (részeg sofőrrel) 😀 :

A tartalom nem elérhető.
A sütik használatát az "Elfogadás" gombra kattintva lehet jóváhagyni.

 

Múnsájner 2000 :D

Párlat készítők életét hivatott megkönnyíteni a következő projekt. (gyengébbek kedvéért párlat értsd pálesz) Mentes készítők ajánlásával. 😀 Mentes itt zárjegy mentes. 😀 (nem bíztatok senkit semmire mielőtt még a NAV nyomozni kezdene 😀  ez  kifejezetten egy projekt tanulási céllal természetesen, a tudomány érdekében) Régebben pálinkátornak neveztem a projektet de azt hiszem a Múnsájner 2000 jobban hangzik 🙂

Projekt célja:

Desztilláló rendszer, mindenki ismeri mi az, ha nem Wikipédia, legalább emiatt tanuljatok kémiát 😀 . Nos, tartalmaz egy hűtőt, (nem hűtőszekrényt) egy kondenzációs egységet ahol a pára kicsapódik és folyadék lesz belőle, esetünkben pálesz. Ezt a hűtési feladatot általában hideg víz szokta ellátni, de mivel folyamatosan meleg áramlik rajta keresztül egy idő után a teteje a víznek melegedni kezd és a hatásfok ennélfogva csökken. Ezért a hideg vizet cserélni kell, hogy továbbra is hideg maradjon. Ezt a feladatot hivatott átvenni a következő áramkör.

Hozzávalók:

Alkatrész lista itt.

Kapcsolási rajz:

A mágnesszelep bekötésénél ne felejts egy diódát kötni a szelepre pl.: 1N4007 párhuzamosan ellen irányban, hogy a tekercs visszarúgása ne okozzon zavarokat a vezérlésben. A hőmérsékletet egy 10K NTC termisztor érzékeli, úgy tudod vízhatlanná tenni , hogy ráforrasztod a vezetéket, lezsugorcsövezed. Az egészet egy műanyag csőbe helyezed és feltöltöd szilikonnal. Pl.: amit fugázáshoz használnak.

Program:

Letölthető innen.

Bekötés, Használati utasítás.

Végeredmény:

Múnsájner 2000