Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „Rajz is nagyon hasznos lenne illetve a programot hogyan írjam meg? (mármint ezt a részét?)” Ez megint egy nem jó kérdés! A jó kérdés az lenne, hogy 'nekem ez az elképzelésem, szerintetek jó?' Rajzot nemrég csatoltam... Idézet: „PIC - el szeretnék csinálni egy nagyon egyszerű hőmérőt. Csak annyi lenne a lényeg hogy a hőmérséklettel arányos bináris szám legyen a PIC egyik regiszterébe.” A "bonyolult" hőmérők is ezt csinálják(pontosabban mindegyik)...
Ezzel egy Pickit2 -t és egy PICDEM2 -t szeretnék összekötni, van valakinek már tapasztalata? Szóval nincsenek ilyen mindig visszatérő "rejtélyes" szériahibák, trükközések ? Egyszer már beleestem egy hibába ( én hülyeségem miatt; nem szeretnék még egyszer ).
Ennek természetesen nincs értelme, ha közben "valamire" reagálni kellene... De ha valamire KÖZBEN kell reagálni, akkor azt megszakítással lehet csak megfelelő gyorsasággal kiszolgálni! A példádban szereplő részlet viszont jó lehet egy olyan helyen, ahol például egy jelzőhang megszólal (pl. 0,1s), de itt nem kritikus, ha 0,15 s lesz belőle ( ezért nem csinálok vele megszakítást!!)! Ezért nem kéne azt írni, hogy nem tartod követendő példának, legfeljebb Te nem így szoktad megoldani!
Steve
Nem esnél rejtélyes hibákba, ha megtanulnád azt az 5 vezetéket hová kell kötni, és készítenél magadnak egy kábelt. A kivezetések mindkét panelen fel vannak tüntetve!
Ha mindenáron venni akarsz ilyesmit(aranyáron), akkor pedig mérd ki, ha nem bízol benne, hogy jól van-e bekötve! Ha nem akkor kösd át, hogy jól legyen! (A kimérés nem azt jelenti, hogy próbáld ki egy PIC-el, hanem műszerrel a rajzok alapján megvizsgálva!)
Nos nem tudom hogy 1N4148 as dióda jó lenne e hőmérsékletérzékelésnek? PIC16F628 - a IC- m van otthon. Viszont az analóg digitális átalakítás még nem megy. Nem csináltam még. A rajzodat nem nagyon találom. Ezért kértem segítséget. Szeretném pontosabban megérteni az A/D átalakítást. 16F628 al is meg lehet csinálni vagy válasszak másik PIC et?
Idézet: „Szeretném pontosabban megérteni az A/D átalakítást. 16F628 al is meg lehet csinálni vagy válasszak másik PIC et?” Szeritnem nézz bele az adatlapjába és próbáld megérteni az A/D átalakítója működését. Aztán dönts, hogy jó lesz-e a 16F628, vagy másik kell! Az 1N4148 is jó, van is itt fenn a kapcsolások között hőmérő ICL7107-el, ami diódát használ szenzorként.
16f628-ban nincs ADC, én személy szerint a 16F690-et ajánlanám, okos kis pic, 20 lába van, olcsó.
szerk: (potyo most én lelőttem a poént, vagy tényleg nem tudod, hogy 628ban nincs adc?) Idézet: Ha ehhez a PIC-hez ragaszkodsz, akkor egy digitális kimenetű hőmérőt keress! „PIC16F628 - a IC- m van otthon.”
Én tudtam, hogy nincs, csak azt akartam, hogy sajátmagától jőjjön rá.
Ezt tudom javasolni, én ez alapján csináltam meg a kazánvezérlőmet.
http://www.hobbielektronika.hu/kapcsolasok/digitalis_homero_pic-el.html Idézet: „De ha valamire KÖZBEN kell reagálni, akkor azt megszakítással lehet csak megfelelő gyorsasággal kiszolgálni! A példádban szereplő részlet viszont jó lehet egy olyan helyen, ahol például egy jelzőhang megszólal (pl. 0,1s), de itt nem kritikus, ha 0,15 s lesz belőle ( ezért nem csinálok vele megszakítást!!)” A tight loopnal nincs gyorsabb modszer fel-le futo elek erzekelesere. Az megszakitasnal ott van az interrupt latency es mellette context saving, no meg sajnos a PIC-nek nem vektoros a megszakitas kezelese igy meg azt is ellenorizni kell kulon mi miatt tortent a megszakitas ami nyilvanvaloan ujabb kesleltetest okoz. Mindemellett az az elonye nyilvanvalo, hogy lehetove teszi a preciz aszinkron jelfeldolgozast, no meg a kesleltetes sem biztosm hogy akkora hatrany, hiszen ezeket bele lehet kalkulalni az algoritmusba.
Potyo azt írta, hogy " tipusú dolgokat sem tartom követendő példának, mert megfogja a program futását addig, amíg be nem következik az esemény, közben meg lehet, hogy valamire reagálni kellene."
A Te válaszod szerint is van létjogosultsága, én meg egy másik példát is írtam! Steve
Szerintem egy dióda nem alkalmas erre a feladatra, mert az a gyanúm, hogy erősítés nélkül nem elég a feszültség változás(habár lehet, hogy még is, na mindegy.). Azt a poént már lelőtték, hogy a 628-ban nincs A/D, de másik PIC helyett vegyél inkább egy hőmérő IC-t.
Idézet: „A rajzodat nem nagyon találom.” Pedig pont neked tettem fel! (dec. 18.)
Vannak olyan helyzetek, amikor megfelelő a várakozás sőt van mikor másképp nem is lehet, de a legtöbb esetben van jobb megoldás.
Ezért lehet azt mondani, hogy nem tartjuk követendő példának, hogy időzítést várakozással oldunk meg. Potyo felhozott példája pedig egy olyan eset, amikor beragadhat a program, ha a feltétel nem teljesül, tehát az a példa egyáltalán nem követendő! Így neked is és potyonak is igaza van.
-2.1mV/K a Si diódák hőfokfüggése. Ha 5V-os referenciát használunk PIC esetén 10 bites A/D mellett, akkor 4.88mV-os felbontás érhető el, ami erősítés nélkül több, mint 2 fokos lépésköz. Ráadásul illik áramgenerátorral meghajtani, mert ha csak egy soros ellenállás feszíti elő az 5V-os tápról, akkor rettenetes módon tápfeszérzékeny lesz.
A sok járulékos alkatrész, az OPA és az áramgenerátor miatt már talán megfontolandó valamelyik DS182x-es hőmérőszenzor használata, amihez még A/D-zni sem kell. Persze ha csupán tanulás a cél, akkor érdemes lehet összerakni egy ilyet és megírni hozzá a programot. Mind a hardver, mind a szoftver összeállítása rendkívül tanulságos lehet.
Megvan köszi. Szerinted akkor ez a legjobb. Nameg igy meg tudom oldani a 16F628 al. Úgy látom hogy sorosan küldi a TC77 a biteket. Majd átnézem az adatlapját. Remélem esetleg ha valami nem világos kérdezhetek, mert elsőre nem világos hogy pl. a TC77 4. lába ami elméletileg sorosan küldi a hőmérsékletnek megfelelő bináris értéket miért van rákötve a PIC RA2 pontjára. De még majd agyalok.
Idézet: „Szerinted akkor ez a legjobb.” Nincs olyan, hogy legjobb. Ez is egy megoldás. A kábel hossza max. 20cm, ezzel még számolj. Idézet: „Úgy látom hogy sorosan küldi a TC77 a biteket.” Ez részben igaz, mert az hogy soros, az elég tág fogalom. Ha az adatlapot megnézed, akkor látni fogod, hogy SPI illesztése van. Mivel a 628-ban SPI sincs, ezért ezt le kell kódolni. De az SPI az egy egyszerű kommunikáció. Gyakorlatilag egy léptető regisztert kell programból megoldani.
Éreztem, mikor írtam, hogy mi a helyzet(csak lusta voltam végiggondolni), úgyhogy egyetértek. A többivel is!
Ezt nem igazán tudom értelmezni "beragadhat a program", mert szerintem ez bármikor előfordulhat, ha a programozó nem elég gondos, illetve nem ismeri a feladatot. Az, hogy minden várakozást megszakításon belül kezeljek le, szerintem sokszor időpocsékolás is ( nem ér oda a fontos feladathoz az egyszintű megszakítással rendelkező processzor!). Szerintem mindig mérlegelni kell és nem lehet általános receptet adni, én ezért nem tartottam jónak a "nem követendő" kijelentést.
Bocs, nem kötekedni akarok, csak szeretném egyeztetni az álláspontunkat, hogy mindenki a lehető legjobbat hozza ki belőle ( például nekem eszembe se jutott, hogy beragadhat, mert olyan helyre nyilván ezt be se teszem!). Steve
Nem kell minden várakozást megszakítással kezelni. A Timer és a megszakítás két külön dolog, csak annyira kapcsolódnak egymáshoz, hogy a timer is tud megszakítást okozni, amikor túlcsordul.
Idézet: „például nekem eszembe se jutott, hogy beragadhat, mert olyan helyre nyilván ezt be se teszem” Te nem, de én rengeteg kezdő kódjában láttam már ilyesmit, sőt még megszakítási rutinban is láttam várakozást valami külső eseményre. Ezért kell kihangsúlyozni, hogy az ilyesmi nem követendő, hogy fel se merüljön a használata.
A 16F628-nak van komparátora, abból lehet követő AD-t rögtönözni. A referenciát másik lábakkal beállítani, és figyelni, hogy mikor billen be a komparátor. Programmal képeztetni a digitális értéket, és vezérelni a referenciát. Bár ez a megoldás is inkább tanulságos, mint hasznos.
Huh nem tünik könnyűnek.
Lenne egy nagy kérésem. Én legjobban a példákból tudok tanulni. Esetleg ha lenne a tersolyodban egy esetleg kommentezett kód ami pont ezt kezeki le nagyon hálás lennék.Csak valami olyan hogy az érzékelő küld egy hőmérsékletértéket és a PIC azt fogadja és elmenti egy regiszterbe. Azért nehéz ez nekem mert még hasonló progit sem láttam. A soros kommunikációt is egy példaprogi alapján tanultam meg. Persze ha csak nem esik nehezedre.
Csak egy komplett program van, aminek egy kis része ami téged érdekel. Ki kéne emelnem, makrókat mellétűzdelnem, rutinokat, és egyéb dolgot ami kell, mellékelnem. Sajnos az egész program nem publikus.
Ha lesz kedvem, esetleg megcsinálom... Idézet: „A soros kommunikációt is egy példaprogi alapján tanultam meg.” Tényleg megértetted, vagy csak le tudod másolni? Például hogyan állítanád be, hogy a 9. bit megszakítást okozzon? Hogy kezelnéd le, ha nem érkezik meg a kellő számú adat, amire számítottál? Hogy állítod be, hogy megszakításban legyen lekezelve a vétel? Honnan tudod, hogy nem vetted el időben a kapott adatot és a következő felülírta? nem sorolom... Inkább javaslom, hogy az adatlapból értsd meg a miérteket, és ne egy programból egy megoldást, ami nem mindenhová jó. Programot egyébként sokat találsz a microchip példái között, csak keresni kell.
Nagyon látványos és ötletes! Tetszik! Gratulálok!
Sziasztok! Elakadtam az mp labban, új projekt készítésénél megcsináltam a d meghajtón a pic könyvtárat, és megadtam a projekt nevét, és utánna mikor az asm fáljt át kell helyezni nem nyitja meg a pic könyvtárat a progi, ez miért lehet? előre is köszi a választ!
Köszönöm !
Nélkületek még mindig a loaderrel küzdenék...... Bár ez még delay-el van megoldva ,tanulgatok.... Nézegettem a ChipCad honlapját ,de nem igazán jövök rá ,melyik Pickit2 -őt kell vennem ,nekem nem kell demoboard....
Hali
Nagyon egyszeru homerot lehet csinalni a CC-nel kaphato analog erzekelokkel es egy PIC-el. Mint mar elottem is mondtak pl. '16f690 v '16f676. Az erzekelo tipusa MCP9700A v. TC1047A. az elso nincs 100Ft a masodik alatta van a 200 Ft-nak. A MCP+-1 C fokos a masik +- 0.5 fokos pontossagu. A MCP TO-92 a masik SOT-23 tokozasu. Analog kimenetu minketto. Az erzekenyseg 10 mV/C. Ezt konnyu feldolgozni egy 10 bites AD-val. Mindket tipus dolgozik -45-tol 125 fokig. Messzire el lehet vinni a jelet nem ugy mint a digitalis erzekeloknel. En nemreg csinaltam ilyent amin a homersekletet egy sima potival tudtam beallitani. Kijelzest nem tettem ra csak a futessel parhuzamosan egy lampat es kesz. A tobbi reszrol mar egy kicsit nehezebb a dolog de a MC oldalan vannak peldak ennek az erzekeloknek a felhasznalasarol. Erdemes benezni. Udv Vili |
Bejelentkezés
Hirdetés |