Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Kiírattam LCD-re a shift értékét ez után: shift = ((shift << 2) | x) & 0x3f; , és ez alapján mindig két különböző értéket kaptam, ha jobbra forgattam az encodert, egymást váltogatva. Beleraktam mindkettőt az if-be, így minden reccenésre növekszik vagy csökken a változó, attól függően, merre forgatok. Nem ugrál, nem hagy ki tekerést. Arra kell figyelni, hogy milyen sorrendben van bekötve az encoder lába. Ha a két lába fel van cserélve egyből nem 0b111000-re kell kérdezni, hanem 0b011100-ra. A program fő része tökéletes, köszi a megosztást! Régóta kerestem egy ilyen egyszerű, mégis logikus megoldást.
Egesz biztosan nem eliras, mert egy mukodo keszulek forrasabol masoltam ide a kodreszletet.
Viszont nem mindegy, hogy milyen az encoder. A PEC-11 olyan, hogy amikor fix pozicioban van, akkor mindket kimenetet elengedi. Egy döccenésnyi elforditasra egy teljes szekvenciat lejatszik. Csak az a baj, hogy amikor az adott jel valt, akkor prellezik. Mellekelek egy rajzot errol. Bejeloltem, hogy hol van az ket eset, amikor az en programom allitja az encoder nevu valtozot. Nalad azert kell mas ertek az if-be, mert neked maskepp mukodik egy picit az enkodered. Nekem is van egy ALPS tekerentyum, ahhoz kicsit mas szamok tartoznak. Ha minden rendben van, akkor a ket lab felcserelese csupan az iranyt forditja meg, semmi mas hatasa nincs mukodesre. A hozzászólás módosítva: Dec 21, 2015
Sziasztok! XPT2046 témában sikerült előre lépnem. Az SPI kommunikációs sebességet lassítottam irreálisnak tűnő tized, tizenötöd sebességre a gyári max 2MHz-hez képest és láss csodát kezelhetővé váltak a kapott értékek. Nem tudok magyarázatot adni, hogy miért, de ez lett a megoldás. Így is elég gyors a kezelés, hogy 3-4 mintát begyűjtve a hibás mérések ellen kezelhető legyen a lenyomás koordinátája biztonsággal, kellő emberi léptékű sebességgel. Rajzolni folyamatos vonalat nem lehet vele, de nekem nem is erre kell.
Az a hibajelenség is megszűnt, hogy a nyomás erősségétől függően vándorolt a koordináta. Üdv! A hozzászólás módosítva: Dec 23, 2015
Elképzelhető, hogy az SPI busz zaja összezavarta. Milyen a nyák?
Nehéz kérdés, hogy milyen a nyák (kétoldalas, nagy integráltságú, üvegszálas). Ha a 10MHz képernyő kommunikációs sebesség átfér, akkor ennek is át kéne. Ráadásul jelenleg szalagkábeles próbapanelen dolgozom, ahol hosszabbak az utak, mert a nyák már nincs itt. Tehát a nyákon és a kábeleken is hasonló a helyzet, annak ellenére, hogy a nyákon sokkal rövidebbek a jel utak.
Arra gondoltam, hogy a pad kapacitása miatti beállási idők okozhatnak mérési hibát. Az Acquisition időt 1,5usec-re írja az adatlap, ami 2MHz mellett 3 órajel. Az 5"-os jobb minőségű paddal 2MHz mellett is értékelhető eredmények jöttek, de messze nem tökéletes. A másik 5"-os kijelzőn még rosszabbak voltak az eredmények, mint a 7"-oson (ezt még nem tudtam letesztelni, de szerintem ez is megjavul). Ezért gondolom, hogy a padtól függ inkább.
Sziasztok.
Dolgozok egy projekten ami PIC 18F66K80 vezérlőre épül, és UART-on kell kommunikálnom PC-vel bizonyos esetekben. A demo panel amit használok a fejlesztéshez nem tartalmaz külső kristály oszcillátort, a PIC belsó órajel generátorát használom. Egy olyan hibába ütköztem a tesztelések során hogy ha a panelnak labortápról adom a feszültséget (5V) akkor a soros kommunikáció nem működik megfelelően. Bekapcsolás után ha megtörtént minden inicializáció a PIC soros porton egy "serial port init OK" stringet küldene. Helyette csak valami random karakter érkezik. Ha viszont a panelhez csatlakoztatva van a PICKIT (akár elég ha csak a PICKIT VDD és VSS lába csatlakoztatva van) akkor már tökéletesen működik a soros kommunikáció. Első körben arra gondoltam, hogy a tápfeszültség esés miatt nem stabil a PIC belső órajele, ebből adódóan a baudrate is elcsúszik, viszont rámértem az összes tápfesz pontra és mindenhol 5,01V a feszültség. Van bárkinek bármi ötlete, hogy mi okozhatja ezt a problémát? eddig még nem tapasztaltam ilyet. Köszi előre is a válaszokat.
Tápszűrés.
A betáplálásnál van egy 100µF-os kondi, valamint a +5V vezetősáv mentén kb 10mm távolságonként pedig 100nF-os kondik vannak elhelyezve. Vajon ez nem elegendő egy stabil labortáp mellett?
MCLR engedélyzeve van, a láb hogy van bekötve?
Mi veszi a soros vonalat? Hogyan van összekötve a PIC és a soros vevő?
egy CP2102-re épülő USB-UART átalakítóra csatlakozik a pic. TX-RX RX-TX van összekötve
Szerintem nem ér össze a pic GND-je a CT GND-jével. Amikor rádugod a pickit-et, a PC USB csatiján keresztül összezárja és azért működik.
Gondolom minden táplábat bekötötted, stb. Ez esetben én is valami panel szakadásra, vagy egyéb eltervezésre, vagy más kontakt hibára gyanakszom.
Üdv!
I2C-n keresztül akarok kommunikálni egy DS1307 rtc-vel.A kód még csak próbálgatás szintjére lett megírva , de annyi a lényeg , hogy PORTB-n ledek vannak és arra kiraktam ideiglenesen a másodperc értékeket , ami a 0x00-n vannak az rtc-ben.7 szegmenses kijelzőt , akarok majd az óra jelzésére használni , aminek a számjegyeit a timer0-al szeretnék léptetni multiplexelve.Ha az init timer0() függvényt nem hívom meg akkor a PORTB ledeken jelzi a másodperc értékeket , viszont amint meghívom az init_timer0() függvényt , akkor nem jelez semmit.Szerintem azért , van , mert amikor éppen zajlik a kommunikáció i2c-n akkor megszakítja a timer0.Az lenne a kérdésem, hogy , hogy lehetne ezt a problémát megoldani?
Sziasztok!
Áramköri lehetőségekre szeretnék tippet kérni. Tápfeszültséget kellene kapcsolni pic-ről a másik áramkör felé. A másik áramkör Microchipék ethernet vezérlője lenne, 3.3v-on átlag 150 mA. Ami miatt aggódom, az a 10 mikros kondi töltése az enc624-esnél. Amikor megkapja a tápot, az hirtelenjében csúnya áramot is fel tud venni. Esetleg megzavarhatja a másik áramkört is, mert áramellátásban csak korlátozott lesz (usb tápos az egész áramköröm). Olyat se nagyon csináltam még, hogy kikapcsoljam az enc-et, mert a magfeszültségre ott lesz a töltött kondenzátor, miközben a táp megszűnik rajta, bár elvileg az minden kikapcsoláskor is úgy van, szóval túl nagy baja csak nem tud lenni tőle. Az egyik tippem, hogy pnp tranzisztort rakok oda (meghúzok valami darlingtont egy npn-ről, amit vezérlek a pic-el). A másik ki/bekapcsolható stabilizátor ic, de azokat annyira nem ismerem, hogy fejből típust tudjak. Vannak még az áramkorlát fetek, de azokat sem használtam még soha az életben. Ha valaki csinált már ilyet, vagy találkozott kapcsolási rajzon példával, bármilyen tapasztalt tippnek örülnék. A hozzászólás módosítva: Dec 29, 2015
Táp kapcsolásra már vannak cél ic-k (pl. MIC94091), de akár duál N+P fettel is meg lehet oldani. A Pickit3 kapcsolási rajzán van PNP-NPN tranzisztoros megoldás, de ilyen alacsony tápnál a P-FET kapcsoló jobb megoldás lehet.
Én KF33 -at használok hasonló helyen. SO8 500mA dropout voltage: 0.4 V
Idézet: „Amikor megkapja a tápot, az hirtelenjében csúnya áramot is fel tud venni. Esetleg megzavarhatja a másik áramkört is,” Szerintem a kapcsoló elem elé is kéne egy 2-3 x akkora kondi. Abból fedezhető a 10µF áramfelvétele. A hozzászólás módosítva: Dec 29, 2015
Szerintem a 10µF töltésének problémáját megoldja az ENC belső szabályzója, ha a Vcap lábon levő kondenzátorra gondolsz. Nem találtam most hirtelen, de szerintem nem tud az a szabályzó túl nagy áramot adni, így ebből következően felvenni sem.
De ha megis gond lenne, akkor a kapcsolast le lehet lassitani egy a kapcsoloelemen a bazis-kollektor (gate-drain) koze tett kondival (Miller integrator).
@ktamas66:
Köszönöm a tippet, a Micrel katalógus lapon találtam egy ilyet: Idézet: direkt kitalálva lavina áramok ellen is. A kapcsrajz a tranzisztorokkal egyébként pont olyasmi, amin filoztam, de szerintem mégis inkább az ic-t választom jelen esetben.„MIC94092 and MIC94093 provide a slew rate controlled soft-start turn-on of 790μs” @AZoli: Nézegettem ilyen low dropout cuccokat, de attól a 0.4v-tól usb táp esetén nekem a hideg futkos a hátamon. Nem merem megkockáztatni a gyengépp usb host esetét, amikor amiatt már nem tud meglenni rendesen a 3.3v sem a stab kimenetén. @potyo, @killbill: Köszönöm a tippeket nektek is, bízom benne, hogy a soft-turn-on megoldja a gondomat. Tündériek vagytok mindannyian ![]() Idézet: „Nézegettem ilyen low dropout cuccokat, de attól a 0.4v-tól usb táp esetén nekem a hideg futkos a hátamon. Nem merem megkockáztatni a gyengépp usb host esetét, amikor amiatt már nem tud meglenni rendesen a 3.3v sem a stab kimenetén.” Nem győzködni szeretnélek, de a 0,4V dropout nem annyit tesz hogy már 3,7V feletti bemenet esetén tudja a 3,3V -ot stabilan? Láttam már terhelt USB -n 4,5V -ot, na de 4V alattit? Az nagyon durva lenne... akkor egy csomó 4,5-5,5V -os mikrokontroller nem mehetne direkt USB táptól? Közben megnéztem az adatlapot, 200mA esetén a Dropout voltage: Typ.: 0,2V Max.: 0,35V
Opsz, nagyon eltévesztettem, mire is vonatkozott a javaslat. Újra fogom gondolni a kérdést, csak előbb beszerzek abból a cuccból tesztpéldányokat, mert az a 0.4V rendesen furcsának tűnik nekem a többi cucchoz képest.
A hozzászólás módosítva: Dec 31, 2015
Mivel ez egy regulátor és "kapcsoló" egyben, a másik meg csak kapcsoló...
Nem is azt furcsállom, hanem hogy a regulátorok el szoktak vinni 1V vagy fölötte.
De egyébként valószínűleg mégsem azt a stabot választom. A jelenlegi áramkörben fontos a miniatürizálás. A kf33-asnak az a nagyon nagy bűne van, hogy nincsen belőle to-220-as, és a dpaknak 100 kelvin / watt a hőellenállása. Jelen esetben nem merem hűtés nélkül hagyni, és úgy már nem 1, hanem 2 stabot kellene hűtőfelületeznem. A kapcsolónak nem kell hűtés. Idézet: Mármint 1W, ugye? Valaki a minap azt írta, hogy "game ower". Szóltam neki, hogy "over", mire azt válaszolta, hogy apróság, magyarul is rosszul ír. Szerintem meg nem apróság, de mindegy is, ez az ő bizonyítványa. Viszont a volt / watt esetében tényleg nem mindegy. „Nem is azt furcsállom, hanem hogy a regulátorok el szoktak vinni 1V vagy fölötte.” A hozzászólás módosítva: Jan 1, 2016
Ez egy low dropout regulátor. Az ilyeneknek alacsony a feszültség, ami esik rajtuk, ezért lehet hűtés nélkül használni, ha teljesíted ezt az alacsony feszesést. Ahol 5V és 3,3V is kell, ott jól lehet használni, némi diódás feszejtetéssel, vagy a nélkül, ha nincs nagy áram. Hogy nálad mi a helyzetm azt értem, de ettől még a kérdéseidre ezek a válaszok...
|
Bejelentkezés
Hirdetés |