30.11.2003 - Včera přišli vzorky hallovych senzoru od firmy Allegro Microsystems. Tato firma vyrábí docela zajímavé obvody. Toto je jeden z lineárních senzorů intenzity magnetického pole, které nabízí. Objednal jsem ten nejvíce citlivý a s největším pracovním teplotním rozsahem. Zatím jsem ho nezkusil v autě, protože mám nakalibrován prototyp v.1 (pt-1) a nechce se mi ho rozházet. Takže musím sehnat nkoho, kdo má taky LPG. To asi nebude těžké. Bojím se jednoho. Že citlivost je příliž velká. Uvidím. Narozdíl od senzoru v pt-1 je tenhle o hodně citlivější. Magnetek, který nadoraz u senzoru, který je v pt-1 vyvolal odchýlení z 2,5 možná na 2 resp. 3 V nyní už na vzdálenost 1cm vyvolá "saturaci". Tenhle senzor je skoro rail-2-rail. Takže výstup je normálně na 1/2 Ucc ale při určité intenzitě pole může být na výstupu téměř Ucc nebo GND. Tento senzor je taky dobrý (aspoň se tím výrobce chlubí) v tom, že elimituje zbytkovou vodivost nebo tak něco. Principem je asi to, že do vlastního hall senzoru posílá ne SS proud ale střídavý proud a výsledek nějak filtruje. Taky eliminuje vlastní vodivost senozru, která se mění s teplotou, takže pro běžné pracovní teploty je teplotní závislost minimální. Moc jsem od této firmy nečekal, protože neměli chuť poslat mi vzorky zdarma ani neodpovídali, když jsem říkal, že chci zaplatit, až se nakonec ozval distributor pro ČR a vzorky zajistil. Patří mu dík.
Více méně ještě čekám na obvod od Analog Devices. Ale asi nebude lepší. Je to totiž v pouzdře jako IO s 8 vývody a potřebuje externí součástky. Takže by to znamenalo problém s umístěním na nádrži. Asi by bylo nutné mít vzadu kruhovou PCB a na ní kromě obvodu několik odporů a součástek. A mám dojem, že lepší bude vzít tenhle obvod se 3 nožičkama se bude montovat mnohem lépe. Proděravět víčko a zalít lepidlem, nasadit na nádrž a to je celé. Je to o hodně jednodušší. Navíc cena obvodu od AnalogDevices je asi 4× větší než než od Allegra. Takže teď všechno záleží na tom jaký signál to bude dávat na nádrži. Jestli bude dostatečný pro použítí bez zesílení je volba asi jasná. Toď pro dnešek vše. Myslím, že jsem napsal víc než dost. Podle tohoto deníku by chytrý vývojář dokázal udělat to samé, co dělám s minimálním úsilím. Přestávám mít pocit, že je rozumné to takhle troubit do světa.
26.11.2003 - Uplynulo mnoho času. Rozhodl jsem se, že přejdu od prototypu 1, který by těžko někdo bez měřící techniky a vlastního upravní obvodoví sestavil, k prototypu 2, který bude navržen tak, že pokud se správně osadí deska, bude fungovat bez dalšího nastavování.
K tomu potřebuju pořádnej HALL senozor. Pokusil jsem se sehnat obvody od Infineonu, ale bez úspěchu. Úspěšně vypadá Allegro Microsystems, kteří mě nakonec po handrkování možná pošlou i vzorky zdarma. A nejlepší jednání je se zástupci AnalogDevices u nás, kteří mi sice vzorky zadarmo nenabídli, protože jsem dal najevo, že je chci platit a tak mám objednané 3 kousky fakt pěknejech telotně kalibrovanejch hallů od AD. Dodací doba je 3 týdny, takže další zápis bude asi až přijdou a vzykouším je.
Mám problém s procesorem, protože v práci bych sice mohl jeden kus uzmout za účelem testování, ale bohužel nemáme tan co chci a tak budu muset probádat cestu jak u nás nakoupit MSP430ky. To bude zase zábava. Pořád přemejšlím o tom, zda zvolit jednodušší obvod s větším pouzdrem a desku nechat dělat místně velmi levně, nebo použí dražší obvod, který nabídne možná další možnosti toho zařízení, ale prodraží se plošné spoje, protože budou muset být zadány profi firmě, i ten procesor bude dražší a nic víc do kvalit toho zařízení to nepřínese, navíc si ho pak těžko doma někdo postaví na koleně. Tak nevím, jestli mi chce někdo poradit, ta ať mi napíše.
13.10.2002 - Prototyp včetně programu hotov. Od těď bude následovat ověření funkce v reálném provozu, což může trvat třeba i měsíc. Hlavní stránce halltanku jsem dnes umístil zrojové kody programu, jsou psané v jazyce C. Pokud by někdo chtěl narážet na to, že na těch pár funkcí jsem skonzumoval skoro 4KB paměti, tak ať klidně má námitky, mě je to jedno. Hlavní je to, že to plní to co jsem od zařízení chtěl a jestli ušetřím 1KB nebo neuštřím, na to kašlu. Jistě, že by se dalo jinak udělat krokování při nastavování, nějak nezávisle na rychlosti programu a takhle tam šaškuju s 32bitovými čísly jen abych z nich zobrazil horních 16 bitů... všechno je udělané narychlo abych s tím nestrávil celý den u počítače.
Ohledně HW mám již teď už pár výhrad, ale jestli bude potřeba změna a v čem to chce důkladnější testy. Mám dojem, že je to příliš teplotně závislé a ne z důvodů závislosti senzoru ale závislosti obvodoví. Například použití superlevné 358 taky není zrovna nejlepší, určitě se najdou lepší operáky, které budou mít lepší parametry. Například nějaký rail-2-rail by se hodil.
4.10.2002 - Zkusil jsem si ověřit dostatečnost snížení zesílení a vypadá to, že stupnice, tedy 62000 hodnot bude stačit, už to nevyletí mimo. Průměrování na průměr z posledních 65 tisíc hodnot je trošku silné kafe. Jak podotkl kolega: je to sice přesné na tisícinu litru, ale o tom, že má plnou nádrž se doví až 2 dny po tankování. Snížil jsem tedy úroveň filtrace a jiný způsob náběhu. Nabíhání trvá 10s a většinou se nesplete o víc jak 50 jednotek. To však neznamená, že nebude palivoměr ukazovat již po zapnutí, ale prvních 10 sekund bude docházet k většímu kmitání hodnoty, nevím co to udělá, když člověk nastartuje a rozjede se, rozhýbá hladinu a... Problém je zatím jen trochu s tím, že rozhoupaná hladina má v průměru výšší hodnotu než uklidněná. Co s tím nevím. Zřejmě sledovat maxima a minima za posledních X samplu, spocitat rozkmit a prumer pak snizovat o ... no asi nejaka odmocnia a nevim, asi bych to musel experimentalne zjistit. Dneska jsem na to sedl a predelal vsechno na preruseni, hlavni program dneska nedělá skoro nic. Jelikož jsem nemocný a nikam o výkendu nepujdu, ani na kolo ani něco dělat po domě, zkusim naprogramovat to co jsem si zadal. S jednou výjimkou. Automatická kalibrace plnnosti nádrže nepříchází do ůvahy, musí se udělat funkce kterou řeknu teď je plná nádrž. Myslím si, že by se to mohlo spojit s nastavením objemu nádrže. Prostě nastavovat objem nádrže musím když je plná, ono si to odecte hodnotu. Proč? Protože sou lidi, kteří peplňují nádrž a nebo jim nechodí zavírací ventil. Proto bych viděl proces kalibrace tak to:
zamontuji palivomer, resetuji, jezdim dokud nedojde plyn, palivomer si to uz zaznamenal nic nedelam, dojedu k cerpacce, natankuju plnou, popojedu nekde na rovnou plochu, provedu vlozeni kalibracniho bodu, zarizeni nabidne hodnotu, potvrdim, nabidne hodnotu v litrech, zadam to co jsem natankoval, potvrdim, mam nastaveno maximum, priste az natankuji vic, ukaze palivomer taky vic litru, jenze priste se budu snazit brat u stejne pumpy, vyjedu nadrz a najakych 25% a kalibrace viz dale uz zadani, resp. navod, totez zopakuji pro asi pulku nadrze a jeste jednou pro 75% a mam bezne nakalibrovano. Pokud jsem fajnsmekr, domluvim se s pumparem a necham si poustet do auta tak, ze to po 5 litrech pozastavi, pokazde provedu zadani kalibracniho bodu a zapisu litry podle stojanu cerpaci stanice, az dojdu na plnou nadrz, jednoduche, sice narocne na to udelat to, ale vysledek, verim ze to bude dobre merit.
Pak jsem dostal pozadavek prevodu na palivomery v aute, jo to je pekna vec ale totez co se dela zde pro nadrz, coz se opravdu bude muset udelat na kazdem aute, protoze nikdy neni stejny magnet, neni stejne daleko hal, nebude stejna zmena magnetickeho toku, nebude stejny prubeh prevodni funkce, a tohle vse plati i pro rucicku na palivomeru, takze totez pro palivomer, asi by to slo, clovek by nastavil postupne 0, 1/4, 1/2, 3/4 a plnou pomoci tlacitek by menil proud do budiku a pak by jeste zadal objem nadrze odpovidajici 100% na budiku a bylo by, jenze me se vic libi displej... komu ne, at si udela vlastni palivomer.
Jen jedna drobnost, asi jsem pri snizeni zesileni nekam posunul rozsah, nevim, musim overit na osciloskopu, ale nechce mi to klesat pod 8 tisic units.
29.9.2002 - Ani dneska nebudou žádné nové fotky jak to vypadá v autě. Vypadá to stále stejně. Hromada drátů na jejich konci 5 červeně zářících čísel. Ovšem je tu něco nového. Napsal jsem si zadání a popis ovládání. Případám Vám divněj, mě to divné nepřijde. Pokud nevím co to přesně má dělat, nemohu to neprogramovat. Zadání je na stránce ze které jste se dostali na tento deníček. Jinak pro informaci změnil jsem zesílení vstupního zesilovače, jen odhadem jsem změnit 22k na 15k, zdá se mi, že to kromě jiného posunulo zesílené napětí pro převodník. Možná ještě budu muset upravit referenci a nebo prostě otočím čidlem na nádrži. Zpět zadání. Pokud jste si ho už přečetli, tak vás musím ujistit, že z toho není zhola nic hotového. Pouze jsem udělal novou filtraci. Hodnotu převodníku nyní uchovávám jako 32 bitové číslo, desetiná tečka leží přesně v polovině. Pro filtraci používám plovoucí alias "zapomínací" průměrování. Tedy vezmu 255/256 aktuální hodnoty a přičtu k tomu 1/256 nové hodnoty. Tím, že mám 16 bitů desetiných čísel nedojde ke ztrátě informací. Takováto filtrace je stále slabá. Bohužel nevím na co jsem v sobotu ráno myslel, když jsem to programoval, protože jsem si stále říkal, že víc než 256tinu nemonu udělat a když jsem viděl výsledek dumal jsem nad tím jak to ještě zpomalit. Až v neděli večer mi došlo, že nemám 8 bitů desetiných ale celých 16 bitů, takže mohu klidne počítat průměr jako 65535/65536 původní hodnoty plus 1/65536 nové hodnoty. Takže filtrace bude 256x pomalejší. Což by mělo již opravdu stačit. Změnit ale budu muset systém nabíhání hodnoty. Dneska používám menší sílu filtrace a po několika desítkách měření, kdy se obvykle příblíží hodnota na +-300 jednotek k posléze vyfiltrované hodnotě přehodím na dvěstepadesátišestiny. Zkusím vymyselt princip jak postupně zvyšovat míru filtrace a tím plynule najet na střední hodnotu. Pokud si myslíte, že taková filtrace není nutná, tak jste na omylu. Pouhé otevření dveří auta, jeho změna těžiště a změna naklonění již způsobuje v nádrži vlnění, které je tímto typem snímačem detekovatelné!!! Na úplné rozvíření hladiny stačí posadi se do auta a můžete to dělat sebeopatrněji, stejně to nepomůže a LPG začně dělat vlny. Můj názor, na to, že vůle na mechanizmu plováku je velká a že bude dělat nepřenosti tímto odvolávám. Vůle tam asi někde bude, ale v praxi dochází zřejmě k otáčení stále k jedné straně vůle a tak sebemenší pohyb hladiny se přenese na magnet a i na můj snímač. S těmito informacemi mi připadá k smíchu metoda měření opticky. Má pouze jedinou výhodu - optodioda není moc telotně závislá, což HALL je. Myslím, že by se však dal sehnat hall s teplotní kalibrací přímo v pouzdru a pokud ne, lze to řešit pomocí druhého shodného hallu, který bude někde poblíž, ale kolmo na hall měřici, aby nebyl ovlivněn plovákem a bude poskytovat pouze referenční hodnotu pro eliminaci vlivu teploty. Pak však bude nutné doplnit program ještě o konstantu nastavovanou tak, že zařízení vyjmeme z nádrže a nakalibrujeme si hodnotu pro nulové magnetické pole a pro danou teplotu, se zmenou hodnoty referenčního hallu pak budu měnit, posouvat hodnoty získané z měřiciho, nevím přesně, jestli není ovlivněna i nějak citlivost se změnou teploty, to by se ukázalo, v každém případě by to mělo poskytovat lepší parametry, než jen samotný hall. Ovšem tohle všechno je jen otázka nákupu správné součástky a nebo doplnění primitivní funkce. S tím si mohu hrát, až budu vidět, že se mi objem paliva v nádrži mění o 2 litry podle toho jestli je -10 nebo +50, pokud jde o mě a uvedené 2 litry, asi bych to neřešil. Pokud to bude horší, budu to řešit. Myslím že to nechám až na příští léto, až zase nekdy vyjde slunce, teď je však počátek doby ledové a tak jsem si již připravil zimní gumy. Ne nejsem blázen, včera odpoledne na Souši již byl v zátokách na hladině led, což je neklamý důkaz, že zima se blíží. To je pro dnešek všechno.
25.9.2002 - Zapojení bude nutné změnit, po čerpání zjišťuji že jeden litr je asi 2300 jednotek a rozsah převodníku je 0 - 55000 a plná nádrž je kolem 50 tisíc jednotek, takže prázdná je daleko pod nulou (pokud by to bylo lineární). Takže žádná kalibrace nebude, spíš bude zase měřeníčko a zkoušeníčko. V tomhle stavu by bylo rozlišení na víc jak 3 místa, tedy na jeden mililitr a to mi připadá víc než ujeté. Zmenším tedy zesílení vstupu.
18.9.2002 - Za dobu, kterou jsem zde nic nepsal se událo hodně. Nemá cenu to popisovat zde, zřídil jsem samostatnou stránku pro TankMeter v.1.
13.9.2002 - Pátek, třináctého, ale zatím se nic zvláštního nestalo, mám opravené schéma. V děliči na kladném vstupu OZ v integrátoru neměl být 68k ale 6k8, se 68k se to nabíjelo na nějakch půl voltu a to je k ničemu. Více napíšu během weekendu.
11.9.2002 - Deska je osazena, program opraven na jiné zapojení vývodů, ale nechodí to. Chodí to vlastně až moc dobře, kromě jedné části. Tou je vstupní zesilovač, který, mrcha jedna, nedělá to co má, zřejmě je ten OZ odpálený, nebo nevím, co s ním je. Takhle nějak to vypadá. Dalo by se to udělat samozřejmě menší, ale vzhledem k tomu, že jsem použil LED displej, který žere proudu jako celé stádo obvodů, musím tam mít sakra velkej chladič, skoro by se tam vyplatil spínaný zdroj. To je pro dnešek vše. Další záznam bude, až odstraním zmíněnou závadu.
5.9.2002 - Mám přeroucené desky, a jsou již ve výrobě, takže zase chvíli nebudu nic dělat. Očekávám, že příští týden se výrobce ozve a destičky budou hotové. Pak jen počkat na to až bude procesor a začnu s programováním. Rozhodl jsem se, že ladění způsobem, že budu koukat na hodnotu převodníku a zapisovat si, kolik jsem při tom natankoval, není nejrozumnější. Kalibraci udělám tak, že se bude moci zmáčknout učící tlačítko, před čerpáním, zaznamená si to hodnotu, po natankování se na displeji nakrokuje kolik se nabralo LPG a potrvdí, systém si to zapíše do paměti a od těď bude v tom místě ukazovat jak se nastavilo, stejně tak půjde daty listovat a opsat si je a smazat a napsat tam ručně jiná. Jak tohle celé udělám, nemám páru, snad jsem zase neudělal chybu a nezvolil si moc nízký procesor, maximum v tomhle pouzdru je 4KB flasky. Když jsem s tím začal chtěl jsem udělat krásnej AD převodník na komparátoru toho procesoru a přitom se mohl použít klidně procesor co má v sobě 12 bitovej převodník, ale já jsem prostě magor a asi jsem si chtěl dokázat, že dokážu udělat přesný převodník jen s komparátorem, přesný je, má rozlišení víc jak 15 bitů, ale zase je tam hromada externích součástek a ty jsou teplotně závislé a v autě bejvá jednou -20 a jindy +60 a bojím se abych neměl odchilku podle teploty třeba několik litrů. Uvidíme, chybama se člověk učí a čím víc chyb nadělá tím je pak chytřejší, nebo ne?
27.8.2002 - Hotové desky jsem zahodil, protože není procesor v daném pouzdru. Takže zase to bude chvíly trvat, přeroutit desku, nechat vyrobit a nakonec to asi je dobře, protože tam rovnou dám jinej procesor, pak už bych to ale viděl na samoučící režim, nějak jak jsem popsal, vypustit nadrž, napouštět a po 5 litrech potvrzovat tlačítkem, nebo možná úplně jinak.
26.8.2002 - Tak mám hotové PCB. Sice jsem přecenil možnosti místního výrobce, spoje tloušťky 300um se téměř zneviditelnili, ale zdá se, že přerušené nejsou. Zapájel jsem zatím jen konektory, tlacitka a velké klasické součástky (7805), protože na procesor musím počkat do zítra a právě u něj bude problém s pájením. Rozteč 635um sice není nejmenší, ale na té desce to bude dost zábavné. Ještě zbývají drátové propojky, kterých je víc než dost a pak už jen SMD. Na druhou stranu si nemohu stěžovat, za podobnou destičku bych v Pragobordu určitě 8 stovek a proč to hrotit, když stejně budu dělat pouze jeden jediný kus. Pokud bych použil sehnatelný hall, tak by se dalo uvažovat, že by se zařízení dalo zreplikovat, ale vzhledem k tomu, že hall je neznámého typu, procesor má tak málo paměti, že o učícím režimu a aproximací úsečkami definovanými tabulkou hodnot, uživatelem měnitelnout, si mohu jen nechat zdát, nelze vlastně o replikaci ani uvažovat. Pokud by byl ovšem zájem, hlavně někdo z okolí, možná by se dalo uvažovat o tom, že by se to dotáhlo do konce, ale stále nevím, jak by se to ladilo, snad naučit se dost přesně průběh hodnot na určité nádrži a kalibrovat pak jenom minimalni hodnotu a maximalni hodnotu, ale ani to není přesné, protože každý má určitě jinak přihnutý plovák, jedině snad, že by měl někdo známého pumpaře a byl ochoten uškrtit tankovací pistoli (viděl jsem to v dobré vodě u M.H., kde když jsem chtěl naplnit za částku zavřel normálně hadici kulovým ventilem) tak, aby to tam teklo opravdu pomalu a zapisovat si hodnoty displeje po treba 5 litrech objemu nadrže, jestli s tím za mnou někdo přijde, pak je možné, udělat to stejně jako to chci udělat já, nalít testovací program, zapsat si čísla, přepsat to do programu, a prepsat to v procesoru, ovšem se změnou polohy hallu to znamená novou kalibraci. Jestli někoho napadá nějaký chytrý fígl jak to udělat, tak sem s ním. Klidně mi napište, jak to vidíte a co si o tom myslíte...
18.8.2002 - Prototyp je upraven, zapojení je zřejmě již finální. Převodník je tak citlivý, že jsem s tím schopen velmi hrubě určit světové strany, asi jsem to s tou honbou za maximálním rozlišením přehnal!!!
Pokud to někoho zajímá, nabízím aktuální schéma, ale jak sami vidíte, kvalita přenosu není nejlepší, hodnoty jsou ujeté někam, musím se zaptat odborníků, jak to nejlépe dostat do bitmapy, protože originál soubor z vývojového prostředí by byl většině lidí k ničemu. Úpravy jsem dělal v pátek odpoledne (tak nevím jestli půl osmé je ještě odpoledne???) a až dnes v něděli večer jsem se dostal k tomu, abych upravil program pro zobrazovač a vypadá to, že všechno chodí.
Do příštího výkendu bych chtěl mít desku, protože tenhle bastl se do auta dát nedá, ale uvidíme, jak bude výrobce vytížen, třeba se to protáhne, času je však dost, nejde o život...
11.8.2002 - Bastl prototyp s funkčním komparačním-integračním AD převodníkem je hotov, obsluha LED displeje naprogramována, takže jsem zkusil změřit co bude lést z hallu když ho strčím k nádrži. Byl jsem překvapen, jak slušný signál z toho jde. Magnet v nádrži má pouze 2 poly a u mé naádrže je když je plná zhruba vodorovně, vlevo mi na sondě napětí vzrůstá a vpravo klesá. Nejlepší signál je zhruba v polovině kovového mezikruží mezi špuňtíkem uprostřed a stupnicí na kraji. Vzhledem k poloze magnetu a jeho otáčení minimálne o 90 stupňů (tolik svírají risky na stupnici, ale ono se to bude otáčet víc), spíše tedy 120 stupňů, bych volil umístění čidla někam na severozapad nebo na jiho vychod, nebo spis na zapadoserverozapad či východojihovýchod. Teď jsem začal pracovati na PCB, resp. na konečném zapojení a zjišťuji, že budu muset mít 3 stabilizace, 3.3V pro procesor, 5V pro sondu a operaky a 5V pro LED display, možná by se dalo těch 5V sloučit, ale pokud chci dosahnout lepší pesnost, tak nemohu z 5V napajet sondu, operaky a zaroven jejich pracovni body a k tomu LED display, ktery bere střidavě od 0 do 200mA, podle toho co zrovna svítí. Jelikož mi nejde o cenu ani rozměry, tak tam prostě 3 stabilizatory dám a neřeším to.
Veškeré informace na těchto stránkách jsou autorským dílem z pohledu autorského zákona a je nutno k nim i tímto způsobem přistupovat. Pokud chcete některé obrázky nebo části textu dále jakýmkoli způsobem rozšiřovat nebo publikovat, je nutné mít výslovné svolení autora.