Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   855 / 1210
(#) hapci válasza Pali79 hozzászólására (») Szept 26, 2016 /
 
Az adatlapon a felhúzó ellenállással párhuzamosan van a FET, biztos, meg van az oka... Talán az, hogy a parazita táplálásnál kevés idő van a kondi feltöltésére, az ellenálláson eső feszültség miatt a töltés lassabb lenne.
(#) pajti2 válasza hapci hozzászólására (») Szept 26, 2016 /
 
A feteket már hagyd, az egy régebbi világ. A jelen kor a mosfeteket szereti. HEstore-ban is találsz egy halommal, és ott vannak az adatlapjaik is. Nézz meg 1-2-t közülük, amíg megjegyzed a működésüket, és a jellemző kapcsolástechnikáikat. Nem ördöngősség. Ha teljesítmény elektronikával / pwm-el foglalkozol, kötelező ismeret. Szeretik használni nagy sebességű, nem galván-izolált szintillesztőkhöz is. De azon túl én sem sok helyen találkozom velük a hobby gyakorlatban.
(#) Pali79 válasza hapci hozzászólására (») Szept 26, 2016 /
 
Sonajkniz kolléga csinált egy-két 1 wire megoldást, többek között olyat ami sokkal gyorsabb mint bármely gyári megoldás. Soha, sehol nem használt fetet, de ha megnézed a hőmérőd kapcsolásat a gugli képei között, kb. sehol nem fogsz fetes kapcsolást találni. De én nem akarlak meggyőzni, csak gondoltam jobb az eszerűbb megoldást választani.

Szerk: Megnéztem az adatlapot. A fet akkor kell ha nem akarsz külön tápot adni az ic-nek, tehát az adatvonalról táplálkozik, ezért parazita. Szerintem egy ritka hülye megoldás, nem is csodálom, hogy nem használja senki. Ha nem akarod nagyon messzire vinni akkor neked sem javaslom.
A hozzászólás módosítva: Szept 26, 2016
(#) Elektro.on válasza hapci hozzászólására (») Szept 26, 2016 /
 
Itt egy példa a Mikropascal fejlesztő környezetéből.
(#) hapci válasza Pali79 hozzászólására (») Szept 26, 2016 /
 
Köszönöm, hogy így utánanéztél. A kapcsolás tápvezetékkel nálam is kiválóan működik, de a kíváncsiság nem hagy békén, kipróbálnám az 1 vezetékes megoldást is.
(#) sonajkniz válasza hapci hozzászólására (») Szept 26, 2016 /
 
Bár parazita kapcsolást még nem használtam, de logikusan végiggondolva a működést, semmiképpen nem lehet nyitott állapotú a FET olyankor, mikor adatküldés történik. Tehát vezérelni kell. Épp ezért maga az adatvonal is kiadhatja a szükséges többletenergiát egy kb 50 ohmos ellenálláson keresztül. Ez az érték még az adatátvitelt nem befolyásolja, de a parazita kondi rántásától megvédi a PIC kimenetét.
(#) Lamprologus hozzászólása Szept 26, 2016 /
 
Azért, hogy tudjam figyelni a program futását, elhelyeztem a főciklusban egy sort, ami az egyik kimenetet állítja át a főciklus minden lefutásakor.
  1. output_toggle(LED4);


Asm-ben ha minden igaz erre fordította:
  1. 0x7CB4: BCLR 0x2C9, #7
  2. 0x7CB6: BTG 0x2CD, #7


Amikor soros porton adatokat küldök ki, látszólag megáll a főprogram futása ... legalábbis a LED4 erre enged következtetni ... Vagy teljes fénnyel világít, vagy sötét ... ( Logikai analizátorral figyelve a kimenetet, néha-néha egy rövid impulzus látható azért. Ezek szinte mindig 62,5ns-os impulzusok, 0,5-15ms-ként)

Elképzelhető-e az, hogy a fő program azért fut, csak épp a kimenetet nem állítja át a PIC(PIC24FJ2656GB106, 32MHz-n járatva)?
(#) hapci válasza sonajkniz hozzászólására (») Szept 26, 2016 /
 
A "biblia" szerint külön bit vezérli, ami direktben kapcsolódik a gate-re.
Köszönöm a hozzászólást, egyszer majd egy BS250 vagy hasonló típussal kipróbálom.
(#) Hp41C válasza hapci hozzászólására (») Szept 26, 2016 /
 
A 1-Wire kimenet úgyis egy PIC lábra csatlakozik. Elég időnként magas szintre kapcsolni és kimenetté állítani...
(#) hapci válasza Hp41C hozzászólására (») Szept 26, 2016 /
 
Az adatlap leírja a mikéntet, így ad elég energiát és nem zavarja az adatforgalmat. Egy dolgot nem ír, hogy miféle háromlábút kell/lehet használni. Szerencse, hogy nincs határidő...
Köszönöm a figyelmed!
(#) pajti2 válasza Lamprologus hozzászólására (») Szept 27, 2016 /
 
Milyen sebességű logikai analizátorral mérted a kimenetet ahhoz az órajelhez képest?
A hozzászólás módosítva: Szept 27, 2016
(#) Lamprologus válasza pajti2 hozzászólására (») Szept 27, 2016 /
 
Jó kérdés!
De amikor nem megy az UART kommunikáció, akkor us-os nagyságrendű impulzushosszakat is mér ...
Igazából az a kérdés, hogy előfordulhat-e olyan hogy a PIC kimenetén nem jelenik meg a küldött adat, mert a PIC-nek épp "fontosabb dolga" van, és mondjuk az UART kommunikáció magasabb prioritású.
(#) Hp41C válasza hapci hozzászólására (») Szept 27, 2016 /
 
Csak azt szerettem volna sugalni, hogy az a háromlábú már be van építve a PIC -be. A kommunikációt nem zavarja, ha a szünetben nem csak a felhúzó ellenállás viszi magas szintre a vonalat, hanem a magas szintre kapcsolt kimenet is. Az utóbbi ki tud adni náhány mA áramot is lényeges feszültségesés nélkül.
A hozzászólás módosítva: Szept 27, 2016
(#) hapci válasza Hp41C hozzászólására (») Szept 27, 2016 /
 
Igen, az adatlap szerint is általában elég töltést ad az adatvonal magas szintje, de EEPROM műveleteknél a "strong pullup" bekapcsolása szükséges max. 10 usec késleltetéssel.
Ezek szerint eléggé ki van hegyezve...
(#) jdani hozzászólása Szept 28, 2016 /
 
Üdv. Van egy PIC18F1320.
Vettem egy PICkit3 klónt, hogy ki tudjam olvasni a programot belőle.
)előzőleg megszokott PICkit2nél van olyan, hogy auto felismeri a PICet.
3asnál ilyen nincs? Muszáj manuálisan kiválasztani, de úgy se olvassa le a PICet.
Ha a PIC Code protect lenne, azt kiirná hogy védve van, vagy úgy viselkedne mintha nem is lenne csatlakozva PIC?
(#) Pali79 válasza jdani hozzászólására (») Szept 28, 2016 /
 
Nem! Vagy nem tudja olvasni vagy csak 0-át olvas mindenhonnan.
(#) Hp41C válasza jdani hozzászólására (») Szept 29, 2016 /
 
Idézet:
„Muszáj manuálisan kiválasztani, de úgy se olvassa le a PICet.”

Sajnos nincs olyan eljárás, amivel az összes PIC biztonságosan felismerő. Gondolj arra, hogy egy 3.3V -os kontroller valamilyen elkötés, szakadás miatt nem kommunikál a PICkit -tel. Az univerziális felismerő a legalacsonyabb tápfeszültségű családhoz tartozó módon kezdi a kelismerést és fokozatosan halad a nagyobb feszültségűek felé. Ha nem ismeri fel a típsut a saját családjánál, meg fogja próbálni a magasabb feszültségűekével is, ami halálos lehet a kontrollerre (egy sokszáz lábú beforrasztott SMD tok)...
Ajánlott a PICkit2 -nél is kézzel kiválasztani a csládot....
Idézet:
„Ha a PIC Code protect lenne, azt kiirná hogy védve van, vagy úgy viselkedne mintha nem is lenne csatlakozva PIC?”

A konfigurációs regiszterek tartalmát jelenítsd meg, ott ki kellene írnia a kódvédelem állapotát is.
A hozzászólás módosítva: Szept 29, 2016
(#) Pali79 hozzászólása Szept 29, 2016 /
 
Szeretném a forrásban elnevezni a bemeneteimet. Pl. a PORTD,0-ra teszek egy gombot, akkor a forrásban "gomb" névvel hivatkoznék rá. Azt hittem, hogy a "Gomb equ PORTD,0" kell nekem, de mégsem, nem fogadja el a fordító.
(#) cross51 válasza Pali79 hozzászólására (») Szept 29, 2016 /
 
Már nem emlékszem (rég assembly-tem), hogy az EQU mi pontosan, de így nálam működött:
  1. #define Gomb PORTD, 0
(#) Pali79 válasza cross51 hozzászólására (») Szept 29, 2016 /
 
Köszi! Így lefordult, este megnézem, hogy működik-e rendesen.
(#) Hp41C válasza cross51 hozzászólására (») Szept 29, 2016 /
 
Nyomkövetés esetén a btfsc PORTD,0 utasításban a PORTD -re állítva a kurzort megnézhető a PORTD aktuális értéke. A #define Gomb PORTD, 0 -t használó btfsc Gomb esetében a fenti módszer nem működik.
(#) Pali79 válasza Hp41C hozzászólására (») Szept 29, 2016 1 /
 
Akkor mi a megoldás?
(#) jdani válasza Hp41C hozzászólására (») Szept 29, 2016 /
 
Erre gondoltál?

untitled.JPG
    
(#) Hp41C válasza jdani hozzászólására (») Szept 29, 2016 /
 
Igen. Úgy néz ki, mint egy törölt vagy új kontroller: nincs benne program...
A hozzászólás módosítva: Szept 29, 2016
(#) kissi válasza Pali79 hozzászólására (») Szept 29, 2016 /
 
Megnézed a Watch-ban !
(#) Pali79 válasza kissi hozzászólására (») Szept 29, 2016 /
 
A Program memory-ban látható, jól fordul: BTFSS PORTD, 0X01
(#) cross51 válasza Pali79 hozzászólására (») Szept 29, 2016 /
 
De előbb nem a PORTD, 0-át mondtad? Vagy átírtad menet közben PORTD, 1-re?
(#) kissi válasza Pali79 hozzászólására (») Szept 29, 2016 /
 
Persze, jól használható, csak HP41C kolléga arra célzott, hogy ebben az esetben az egeret a helyettesítő szimbólumra (Gomb) mozgatva nem jelenik meg "gyorstippszerűen" a PORTD állapota és én ezért írtam, hogy akkor megnézheted a watch-ban !
Én egyébként mindig a watch-ot használom.
(#) Pali79 válasza cross51 hozzászólására (») Szept 30, 2016 /
 
Csak elírtam. De összesen 5 gombot használok.
(#) jdani válasza Hp41C hozzászólására (») Szept 30, 2016 /
 
Pedig van. Akkor code protect?
Következő: »»   855 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem