Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Akkor egy konkrét kérdés :
Szükségem lenne arra hogy 2db PIC ugyanazon a kristályról járjon (20mhz). Próbáltam műszerrel mérni az órajelfrekit az out lábon (mármint ahova az inverter kimenete megy) de leállt az osc. Pedig a műszerem belső ellenálása 10Mohm.Ebből arra következtetek hogy nemigen lehet terhelni az egyik órajel lábat sem (gyk. 0). Valamelyik PIC adatlapjában mintha láttam volna valamit de most nem találom. Esetleg valami alkatrész free órajelgen. ami megy 20mhz-es kvarcal. AN849-be néztem bele hirtelen de nem látok erre megoldást.
CMOS IC-s kristályvezérelt oszcillátor már a HE-n is volt vesézgetve, talán az kellene neked (ennyire szükséges a teljesen azonos órajel?). Ha egy ilyet összedobsz, és két kimenetről a két OSC1 lábat hajtod (OSC2 nyitva), akkor együtt fognak futni (viszont arra nem fogadnék, hogy mondjuk egyszerre is élednek fel).
A teljesen azonos órajel nemszükséges. Ez egyfajta alkatrész spórólás lenne (mivel nincs itthon most 2db 20mhz-es kvarc nameg az itteni boltok mindent legalább 10-50x es áron adnak... nameg sok pic dolgozna együtt mindegyik csak 1-1 részfeladaton (vagy 10 biztosan))
"(viszont arra nem fogadnék, hogy mondjuk egyszerre is élednek fel)." Ha external clock módba állítom őket akkor (elvileg) egyszerre kellene feléledniük. Bár ez itt teljesen lényegtelen mivel teljesen más program futna bennük.
Ha mindenképp kell a 20 MHz körüli frekvencia, ki kell nyitni egy videót, alaplapot, ami elérhető, azokban keresgélni, vagy - sajnos - venni. Én legalábbis nem építenék be még egy tokot (a CMOS oszcillátorhoz) csak ezért.
Szerintem +1 IC az költséghatékonyabb mint majd a sok (akár tízen-húszon) pic-hez egyesével kvarcot venni.
Még azt esetleg megnézem hátha találok itthon ilyen négylábú kvarcot, azt felnyitom és kicserélem benne 20mhz-esre a kristályt. (CMOS oszcillátorhoz szerintem van minden itthon)
Nyugodtan hajthatod egy kvarcról a chipeket, simán mennek, feltéve, hogy nem túl nagy a távolság közöttük (max 7-8cm). Az ICD2 klónomban is egy kvarcról jár a két chip, de kötöttem már rá harmadik chipet is, akkor is simán ment. Ha sok chip van, akkor fűzd láncba őket. Az első chip hajtja meg a kvarcot, ennek az oszcillátorkimenetére (OSC2) kösd a második chip oszcillátorbemenetét (OSC1). A második chip kimenetére a harmadik bemenetét, és így sorba. A konfigurációs biteket meg állítsd HS módba mindegyiknél, hogy a belső inverter be legyen kapcsolva.
Szerintem a mérővezeték túl nagy kapacitása okozhatta a leállást.
Ezt még biztos megpróbálom (persze majd csak holnap ma már késő van) ICD2 kapcs.rajzába meg belenézek!
Üdv!
A véleményetekre lennék kíváncsi. Erasmus ösztöndíjjal Francioban vagyok, PIC-es projectem van. a PIC-hez egy komolyabb áramkört is terveznem kellett. A NYÁK tervem már teljesen kész volt ( az adott méretet teljesen kihasználtam) Az én tudomásom szerint a PIC16F877 nek és a többi PIC-nek is a két Vss és Vdd lába a kontrolleren belül össze van kötve. Tehát ha az egyik Vdd re rákötöm az 5 voltot akkor a másikon is megvan. Nem akartam fölösleges vonalakat rajzolgatni tehát én ezt kihasználtam, erre a tanárom közli velem hogy az ugy nem jó, kössem össze a két Vdd-t és ugy húzzam ki a másikból az 5 voltot. Ehhez a manőverhez a fél NYÁKomat ujra kellett terveznem. A kérdés a következő. Ha az egyik Vdd re rákötöm az öt voltot akkor az a másikon is ott van illetve ha az egyik Vss-t földre huzom akkor a mésik is földön lesz?Az én elképzelésem nem volt helytálló? Kezdő PIC es lévén ez most kicsit összezavart.Előre is köszii!
Többen vitatkoztak már ezen, én személy szerint úgy gondolom, nem azért használt el plusz két lábat a Microchip még egy ilyen régi típusnál is, hogy a tervezőnek könnyebb dolga legyen. Szóval én mindig bekötöm, és mindkét Vdd mellé teszek kondit is, a fene se bogozgatja, mi van belül.
Úgyis lesz, aki az ellenkezőjét mondja
Indulj ki abból, hogy vajon miért tettek két-két lábat mindkettőnek? Biztosan nem azért, hogy ezzel te át tudj a nyákon ugorni egy adag vezetősávot. Ha felesleges lenne valamelyik, akkor oda inkább pl. a PORTA kimaradt lábait vezették volna ki. Tehát más célra is fel tudták volna használni, ha nem tartották volna fontosnak, hogy mindegyikből 2-2 láb legyen. Az ok pedig az, hogy ha nagy a terhelés a pic portlábain (ami nem okvetlenül led, hanem pl. valami hosszú buszt hajt meg), akkor a buszon keletkező jelváltozásoknál is stabil maradjon a pic tápja. Ezért mindkét oldalit be kell kötni, és mindkét oldalon kell 1-1 100nF-os kerámiakondenzátort is tenné a táplábak közé.
Üzemi körülmények között be kell kötni minden táp lábat, mert különben nem fog jól működni a PIc, vagy bizonyos esetekben el is szakadhat a belső átvezetés, mert az nem arra való, hgoy azon follyon nagy áram, ha pl. több láb nagyobb árammal(pl. sok LED, vagy egyéb), van terhelve.
A stabil nagyfrekis működés is problémás lehet igencsak, ha már az számít, ha elfelejtesz betenni 100nF_okat a lábakhoz közel(pl. SMD a legjobb). Szóval a tanárodnak igaza van, csak nem értem ezt miért én magyaráztam el ezt neked helyette!? Ezt esetleg tolmácsolhatod neki!
kobold!
Aki az ellenkezőjét mondja, az nem ért hozzá!
Köszi. Megnyugodtam, nem vagyok (annyira) hülye
Itt senki nem hülye, legfeljebb még nem tud annyit, mint azok akik többet tudnak...
12Vos H-hidat szeretnék vezérelni PIC TTL kimenetéről ULN2803as darlingtonos meghajtón keresztül, a kérdés az az hogy kell e felhúzó ellenállás vagy nem? És hogyha valami alapvető hülyeséget akarok csinálni akkor állítsatok le. Kösz.
Rakok kapcsolást is. Idézet: „Ehhez a manőverhez a fél NYÁKomat ujra kellett terveznem.” Okolszabaly: Nyakod addig nem tervezunk amig a kapcsolast meg nem terveztuk es ki nem probaltuk probapanelen...
Már akinek van próbapanelje. Megesik, hogy úgy kell tervezni, hogy az ember addig még csak katalógusban látta az alkatrészt...
Persze, es akkor mikor legyartanak 1000 darabot derul ki, hogy az egesz nem mukodik... Ugyanez megy a szoftver iparban, meg mindig vannak olyanok, akik ugy gondoljak egy szoftvert vagy egy projectet nem kell megtervezni...
Lenne egy kérdésem.
Valaki megépítette már a Topi féle vezeték nélküli kommunikációt? Bővebben: Link Megmondom mi a gondom vele. Egyfolytában csak szemetet tolt a kijelzőre, és egy ismerős remek ötletétől vezérelve, kiszedtem belőle a rádiós elemeket, és az adó kimenetét vezérlő lábat egyszerűen rákötöttem a másik pic vevőtől jövő adatok fogadásának lábára. És láss csodát jött a szemét tovább. A változás annyi, hogy nem 16f877-et használok, hanem 18f458-at, ami elméletileg lábkompatibilis a 16f877-el, és mivel c-ben van a kód, ezért csak az includ-ot kell átírni (azóta a 20MHz-s quartzot kicseréltem 4Mhz-esre, mert nem tudtam a 20-as debugolni, túl gyorsan tolta az mplab-nak az adatokat) Van benne egy manchester nevű kódolás ami a következő képpen néz ki röviden: mivel az adó rövid impulzusokkal dolgozik, nem tudja átvinni a 255-öt mert az ugye binárisan így néz ki 11111111, magyarán túl hosszú ideig kéne felhúzva tartani az adást, ebből kb. annyi menne át, hogy 11110000, ezért ezt átalakítják úgy hogy az 1-sekből 10-át a 0-ákból 01-et csinálnak, így két byte-ot eszik meg, de legalább megy. A 0x0C-ből- ami 00001100 pl. 0101010110100101 lesz. Nos Topi c forrása ebből valami teljesen más gyárt, ráadásul elborult olvashatatlan c kóddal. Kerestem Topit, de nem válaszolt, gondolom napi több levelet kap. Az encodert már átírtam szép olvasható kódra, már csak a dekodert kell átírnom, viszont ha valaki megnézné és rábólintana, hogy tényleg szarul működik illetve ha nem, akkor felvilágosítana hogy miért nem jó a fentiekben leírt rövid összefoglaló azt megköszönném.
Köszönöm a kimeritő válaszokat, sokat tanultam belőle!
Én is javasoltam a próbapaneles megoldást, e erre a kedves tanáromtól az volt a válasz, hogy az felesleges. Szóval vannak számomra érthetetlen dolgok itt. De ma sikeresen legyártottam a nyákot. Köszönöm a válaszokat! Idézet: „Persze, es akkor mikor legyartanak 1000 darabot derul ki, hogy az egesz nem mukodik...” Javíts ki, ha rosszul tudom, de 1000 darabot sem próbapanel, hanem prototípus alapján gyártanak. De nem nagyszériás gyártásról volt szó (ahol nyilvánvalóan súlyos konzekvenciái vannak a legapróbb hibának is), hanem egyedi, 1-2 darabos kivitelezésről. Idézet: „meg mindig vannak olyanok, akik ugy gondoljak egy szoftvert vagy egy projectet nem kell megtervezni...” Azt nem mondtam, hogy nem kell megtervezni. Sőt, sokkal gondosabban kell tervezni ha biztosra akar menni az ember.
Ha ismered már a felhasználni kívánt alkatrészeket, és már gyakorlott vagy, akkor nem annyira lényeges a próbapanel. De ha valami olyan alkatrészt használsz, amit még azelőtt nem használtál, akkor legalább az áramkör egy részét érdemes próbanyákon összedobni, és kipróbálni. Pl. ledet nem fogunk minden alkalommal tesztelgetni, de ha még nem volt dolgunk 1-wire eszközzel, akkor érdemes azt, meg egy kontrollert összedugni próbanyákon, és kipróbálgatni.
Halihó! Van egy PIC-es áramköröm, ami saját önálló táppal rendelkezik. Ha PicKit2-vel ICSP-t akarok végrehajtani rajta, akkor megtehetem azt, hogy nem áramtalanítom a szerklit, hogy kapja a kis 5V-ját és közben csak VPP, PGD és PGC lábakat izgatom?
Vagy máshogyan is megkérdezhetem. Mi az a legkevesebb PIN amit be kell kötnöm a Pic és PicKit2 között és melyek ezek? Tehát elég nekem a VPP, PGD és PGC, vagy kell mindenképpen, hogy közös potenciálon legyenek és ehhez már a VSS-t is be kell kötnöm? Remélem valaki megért mit akarok ezzel! Köszönöm!
Vss mindenkeppen kell! Vdd-t ki lehet hagyni, akkor manualisra kell allitani a fesz szabalyozast es gondolskodni kell rola legyen kikapcsolva (az alapertelmezett az az, hogy o majd felismeri mi a helyzet es automatan vagy bekapcsolja vagy ki tool fuggoen van-e kulso tapellatas).
Namost a Vpp-t is extrem esetben meguszhatod, de akkor nincs kontrollod az egesz felett, ugyhogy ertelmetlen es nem is biztos mukodik ugy rendesen a PicKit2 ha manualisan taplalsz bele 12V-ot. Velemenyem szerint nem erdemes sporolni ezzel a par tuskevel... csak baj lesz belole... Idézet: „Mi az a legkevesebb PIN amit be kell kötnöm a Pic és PicKit2 között és melyek ezek?” Az első öt csatlakozópontját mindenképp kösd be. A hatodikat tudtommal nem használja a programozás során. Észre fogja venni, hogy nem ő adja a VDD tápfeszt, ilyenkor csak kijelzi az értékét. A VSS-t pedig csak természetes, hogy be kell kötni, hiszen a többi lábra adott feszültség ehhez képest értendő, illetve ezen kereszül záródnak a betáplált áram(impulzus)ok körei.
Üdv!
Adott egy próbapanelen lévő pic + lcd kijelző. Ezen gyakorlom a programozást. Olyan problémám akadt, hogy kb 10 perces állás után bekapcsolva az áramkört az lcd kijelző minden karakterhelyen fekete és a pic programja sem indul el. Egy leddel jelzi ha az inicializálási rutin indul. Újra kapcsolás esetén probléma nélkül indul minden és lefut az inicializálása az lcdnek. A táp 9V elem + 7805 stab. Mi lehet a probléma és hogyan tudnám kiküszöbölni?
Szerintem nincs bezárva a bejárati ajtó...
Kicsit zavaros a leiras. Mit jelet a 10 perces allas? Mihez kepest? Elotte be volt kapcsolva?
Probald meg eloszor az inicializalasi idoket novelni (a varakozasokat). Valami watchdog nincs bekapcsolva? A kontrasztfesz reendben van a sotetedes alatt is? Ugye, a kijelzo egy tapfeszrol jar PIC-el? Azert egy megszakitasi rutinbol villogtathatnal egy ledet. Honnan tudod, hogy nem indul el a PIC? Az oszcillator jol van kivalasztva? A kondik erteke megfelelo? LCD nelkul is ezt csinalja?
Topi cikkét én jónak és használhatónak tartom. Az abban lévő kódoló-dekódoló rutin viszont nem a cikkben leírt módon végzi a manchester kódolást és szerintem is bonyolult. Sokkal egyszerűbb, ha az előre átkódolt számokat - ugye, csak 16 db van - egy táblázatból (tömbből) vesszük elő. A neten keresgélve találsz ilyen megoldást: Pl.
A 10 perc az az utolsó kikapcsolástól számolva.
Már kb 1 sec-ig próbáltam a késleltetéseket. A kontraszt az jó, egy tápfeszről üzemelnek. Az oszcillátor jó mert ha pl ledet villogtatok akkor az megy. Onnan gondolom, hogy nem fut a program, hogy az első utasítás az inicializálás előtt a led kigyújtása. |
Bejelentkezés
Hirdetés |