Fórum témák
» Több friss téma |
Sziasztok! A helyi vadásztársaság tagja vagyok és egy olyan feladatra kértek meg, hogy készitsek automata vadetetőtek. Az elvárás az volna, hogy lehetőség legyen 6 időpont programozására és szorási időtartam beállitására. A szorást egy 12 voltos motor végzi. Az egész szerkezet egy 12voltos 7Ah akkurol müködne. A szerkezet el is készült minden rendben is van vele egy dolgot kivéve. A pontosság.
A kapcsolást egy 16f628 picel csináltam, 4db 7 szegmense kijelzővel amelyeket egy 4511-es hajt meg. Az energia takarékosság érdekében egy olyan funkcióra is szükség van, hogy kilehessen kapcsolni a szegmenseket, ezt egy bit alapu változo segitségével oldottam meg A mellékletben megtalálható az általam irt forráskod Pic Basicben. Nem sokat foglalkoztam pic programozással ezért nem is bonyolitttam el tulságossan a forráskodot. Mint már emlitettem mindent sikerült gond nélkül leprogramoznom, eepromba való irás, olvasás, stb. 4MHZ oscillatort használtam a kapcsoláshoz, 33pf kodikkal. A pontosság sehogy sem jön össze. Probáltam variálni a TMR0 értékével, az előosztoval de csak nem akar jó lenni. Elméleti szinten véleményem szerint a következő beállitások volnának a megfelelőek 4MHZ osc esetén: TMR0=6 Prescaler: 1:16 Ezekből kiindulva a megszakitási rutin 0.00400000 sec következne be. 1 sec = 0.00400000 * 250 Remélem jól gondolom a számitás menetét, ha nem akkor örülnék ha kijavitana valaki. Na már most, nekekm ugye a main eljárásban van 4*1ms szünetem a szegmensek értékeinek mgjelenitésére. Gondolom ez 1 perc alatt jó néhányszor lefut tehát ezek a szünetek össze adódnak és késést eredményeznének. A fenti számitás és beállitás esetében ez igen csak számottevő eltérést okoz. Tehát szükséges volt a megszakitások számát csökkentenem hogy kompenzáljam a késés nagyságát. Jelen pillanatban 24 óra latt több mint 2 perc az eltérés. Ami mondjuk egy hét alatt kb 15 perc volna, ez már egy kicsit sok. Ha napi 1 percre tudnám csökkenteni a késést már elégdett volnék. Hogyan lehetne javitani a pontosságot. Igazábol az érdekelne hogy megoldható-e egy más felépitéső megszakitási rutinnal. Gondolom ha lcd-vel csináltam volna meg a kapcsolást, közel sem lenne ekkora késés, nem beszélve ha használtam volna PCF8583 is, dehát fontos volt az olcsó kivitelezés mivel nem tudjuk mennyire lesz kelendő a lelkes "természetjárók" körében, és nem örülnénk neki hogy ha pár nap mulva már el is lopnák... Elnzést ha egy kicsit hosszasra sikeredett az irásom, remélem nem hagytam ki semmi infót! Előre is köszönöm a segitséget és a türelmet. Tisztelettel Kardos Attila
Megszakításban késleltetést nem szabad használni. Az lesz az eredmény, amit leírtál. Elég lenne másodpercenként 1-szer az időzítéshez, közte pedig be lehetne altatni az eszközt.
Minden más legyen a főprogramban.
Elnézést, az imént hibás kodot töltöttem fel. A mostani mellékelt forráskod a "helyes".
1,5-2 perc késést produkál 1 nap alatt. Idézet: „Jelen pillanatban 24 óra latt több mint 2 perc az eltérés. Ami mondjuk egy hét alatt kb 15 perc volna, ez már egy kicsit sok. Ha napi 1 percre tudnám csökkenteni a késést már elégdett volnék.” Kalibrálni kellene az óráját a cuccnak. Azaz megmérni mondjuk 1 hét alatt, mennyit tér el, leosztani ezt mondjuk 4 órára, és szoftverből indőnként kompenzálni. Így sem lesz atompontos, ha kültéren üzemelteted, mivel a "mezei" kvarcok 20-30-40 fok ingadozás mellett elég sokat odébbmászhatnak. A másik dolog, amire ügyelni kell, hogy a kis kondik a kvarcon NP0 típusúak legyenek (ilyet kell venni a boltban). Filléres tétel, de ha nem ilyen van rajta, akkor a kondi hőfokfüggő lesz, és jelentősen ronthatja a freki hőfokfüggését.
Vagy venni egy rádiós órát és annak a jele generálna megszakítást.
Vehetsz esetleg egy ILYEN RTC modult, ezen rajta van az óra chip, vagyis az idő számolásával nem kell foglalkoznod, ha akksit cserélsz a készülékben, akkor is tartja az időt, és pontosabb. Lehet bele rakni egy DS18B20-as hőmérőt, ott van a helye a panelon, lehet hőfokhoz is kompenzálni, vagy akár hidegben több kaját adni.
A drágább megoldás egy GPS modul lenne, azt olyan 25usd körül lehet kapni, azzal viszont atomóra pontosságod lesz, csak többet fogyaszt.
Nézegettem az ilyen modulokat, csak ehhez a megoldáshoz már komolyabb PIC is kell. Mondjuk egy 16F873, mivel ha jol tudom a 16F628as nem tudja i2c kommunikáciot, legalábbis a leirásokban nem találtam erre vonatkozó infokat.
Valószinű, áttervezem a kapcsolást, és beiktatok egy rtc modult vagy megcsinálom egy PCF8583-al, mert amint látom a pontos órához ez elkerülhetetlen.
Ezek (akár a lenti modul, akár ez a PCF8583) pont annyira lesznek pontosak, mint a kvarc, amiket melléjük raksz/raktak a modulra.
Amit megkönnyítenek, hogy ne kelljen a másodperc <-> naptári idő konvertálgatással foglalkozni, ill. ha hálózati áramról üzemelne az egész, akkor áramszünet idejére lehetne lítiumelemmel védeni az órát. De pontosabb ettől nem lesz. Az sem reális, hogy hőmérő alapján kompenzáljad a hőfokfüggést, mert akkor kéne a karakterisztika, de azt meg senki nem fogja megmondani, azt úgy kell végigmérni különféle hőmérsékleteken. Na ez az, aminek semmi realitása.
Az i2c kommunikáció megoldható sima portlábakon is szoftveresen. Biztos van rá példa pic-re, én az avr-eket ismerem.
Az óra kvarcok azért lényegesen pontosabbak a kialakításukból adódóan mint amit a kontrollerhez használsz, nézd csak meg a faliórákat, karórákat a közeledben. Igaz, hogy ezek 26°C-ra vannak gyárilag készítve, ilyen spéci villa alakú kristály van benne, ami ha csökken, vagy nő a hőmérséklet, akkor is sietni fog, nem késni. (ha jól emlékszem) Szerintem ezzel már el tudod érni a napi pár másodperces pontosságot könnyedén. Ha még pontosabbat szeretnél, akkor csinálhatsz neki egy kis dobozt amit ha kell fűtesz. Létezik is ilyen, OCXO-nak hívják (oven controlled quartz oscillator) van benne ilyen kis termosztátos hőszabályozó, csak emiatt többet is fogyaszt. De ha leásod a földbe az egészet, akkor is elég csak egyszer bepontosítani, nem fog sokat ingadozni.
http://villanyaruhaz.hu/products/GAO-digit%C3%A1lis-heti-id%C5%91ka...n.html
ügyesen kiszeded belöle a gyenge áramú részt és annyi
A tmr2 -t használd az idő méréséhez , a tmr0 -t meg a kijelzőhöz (ne használj szünetet!) Így akár 1-2sec pontosságot is el tudsz érni havi szinten!
A hozzászólás módosítva: Júl 20, 2013
A vaddisznónak 1-2sec nem számít , viszont az egyszerűség olcsóság fontos egy ilyen cuccnál .
Idézet: Miért? K tipusú hőelemhez pl van adatlap, meg van benne határozva hogy mely hőfokhoz mekkora fesz érték tartozik, és már is nem kell karakterisztikát rajzoltatni, stb! „Az sem reális, hogy hőmérő alapján kompenzáljad a hőfokfüggést, mert akkor kéne a karakterisztika, de azt meg senki nem fogja megmondani, azt úgy kell végigmérni különféle hőmérsékleteken.”
Látom nem olvastok, simpi javasolt egy rtc-t ami belső kvarccal és hőmérséklet kompenzációval rendelkezik , innentől csak egy pic és egy program .
A hozzászólás módosítva: Dec 15, 2013
De olvasok, a hozzászólás neked szólt, megpróbáltam rámutatni arra, hogy megoldható könnyen a dolog, de mindegy...
Az hogy nekem szólt a hsz nem jelenti azt hogy más nem választhatja a legegyszerűbb utat , egy ilyen cuccot nagyon kár ennyire túlbonyolítani , egyébként meg inkább a lehető legegyszerűbb megoldásra voksolnék , az "ufók általi eltűnések " miatt . Minél olcsóbb az elektronika annál kevesebbet vesztesz egy eltűnés esetén ...
A hozzászólás módosítva: Dec 15, 2013
Sziasztok!
Én is szeretnék építeni egy vadetetőt és ehhez szeretnék segítséget kérni, esetleg találni valakit aki meg is építené. Nem túl nagy a jártasságom. Egy nagyon egyszerű dologra gondolnék, ami alkonyatkor egyszer szórna, és a szórás idejét lehetne változtatni . Találtam egy szerelt időzítő kapcsolást( http://www.hestore.hu/prod_10033245.html ) csak egy alkonykapcsolót kéne hozzá illeszteni. Legfontosabb volna a költség hatékonyság, mert ahogy írtátok sok az ufo a környékünkön. Segítségeteket előre is köszönöm. Üdv. Oszi |
Bejelentkezés
Hirdetés |