Fórum témák
» Több friss téma |
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.
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.
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
Itt egy példa a Mikropascal fejlesztő környezetéből.
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.
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.
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.
Asm-ben ha minden igaz erre fordította:
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)?
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.
A 1-Wire kimenet úgyis egy PIC lábra csatlakozik. Elég időnként magas szintre kapcsolni és kimenetté állítani...
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!
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
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ú.
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
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...
Ü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?
Nem! Vagy nem tudja olvasni vagy csak 0-át olvas mindenhonnan.
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
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ó.
Már nem emlékszem (rég assembly-tem), hogy az EQU mi pontosan, de így nálam működött:
Köszi! Így lefordult, este megnézem, hogy működik-e rendesen.
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.
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
A Program memory-ban látható, jól fordul: BTFSS PORTD, 0X01
De előbb nem a PORTD, 0-át mondtad? Vagy átírtad menet közben PORTD, 1-re?
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.
Csak elírtam. De összesen 5 gombot használok.
|
Bejelentkezés
Hirdetés |