Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Megrajzoltam a magasságmérős kapcsolást az észrevételeitek alapján. Mellékelem, de van még néhány rész amiben bizonytalan vagyok. A panelt az USB fogja ellátni árammal. Mivel a HP03M-nek 3V körüli feszültség kell, ezért beraktam egy stab IC-t, amely 3.3V-ot ad. De nem vagyok benne 100%-ig biztos, hogy mindenhova a megfelelő méretű feszültséget vezettem. Meg tudnátok nézni? Az ICD2-es kivezetésnél pl. jó a 3.3V ? Vagy oda mindenképp 5V kellene? A szenzorhoz jól kötöttem a kvarcot? Köszi és üdv.: Zoli
1. VUSB-re 470 nF-ot tegyél!
2. Elsődleges oszcillátornak 12 MHz kell, ha USB-t akarsz. A 32 kHz viccenk is rossz... A 32 kHz-es kvarcot a 8-9 lábakra tedd, ha kell! (a 9. láb a kimenet,onnan viheted tovább a HP03M-nek) 3. A soros portra a földet is ki kell vinni! 4. A 100 nF-os kondenzátorok kevesen vannak! 5. A RESET lábrólhagyd ki a diódát és 10 kOhm-ot tegyél a 4,7 kOhm helyett! 6. Az USB mintapéldák az RC0..RC1 kimeneten szeretik kijelezni az USB státuszát. Esetleg lehet oda is tenni LED-et. Ha nem ezzel akarsz világítani, vagy nem tűző napon fog működni, akkor kisebb áram is elég (szobában, normál környezetben akár 1 kOhm is lehet az előtétellenállás). Az ICD2 kiosztását nem ismerem, de az biztos, hogy a 3,3 V-ot kell odavezetni! S a PIC18F14K50 különösen kritikus: a programozóra (az ICSP csatlakozóra) akkor is 3,3 V-on kell kötni, ha egyébként 5 V-ról járatod a PIC18F14K50 mikrovezérlőt! táplál 3,3 V-tal. Ezért azt javaslom, hogy első programozáskor csak tápfeszt kapjon az USB-ről (vagy bárhonnan), s első alkalommal töltsd rá a HID bootloadert. Utána a további programozás meg már az USB-ről mehet a bootloaderrel. (Debugolni meg úgy sem lehet, csak a PIC spéci változatát, amit az LPC USB kit-hez adnak). Mellesleg a programozással lesz egy kis gond, mert USB-re nem kötheted (a progamozó lábakat használja), az ICD2 meg tudtommal nem Magyarázat: így tudod rávenni a programozót, hogy 3,6 V-ot meg nem haladó jelet adjon a PGC és PGD lábra! Figyelmeztetés: A VUSB, PGC és PGD lábakra soha ne kerüljön a maximális 3,6 V-ot meghaladó feszültség, mert a PIC18F14K50 tönkremehet!
Kicsit összekeveredtek a mondatok, de már nem módosítható. Helyesen:
Idézet: „Mellesleg a programozással lesz egy kis gond, mert USB-re nem kötheted (a progamozó lábakat használja), az ICD2 meg tudtommal nem táplál 3,3 V-tal. Ezért azt javaslom, hogy első programozáskor csak tápfeszt kapjon az USB-ről (vagy bárhonnan), s első alkalommal töltsd rá a HID bootloadert. Utána a további programozás meg már az USB-ről mehet a bootloaderrel. (Debugolni meg úgy sem lehet, csak a PIC spéci változatát, amit az LPC USB kit-hez adnak).”
Félsikerem már van. Sikerült a kétsoros LCD-nek a második sorát begerjeszteni. De még mindig a teli karakterek vannak, most már mind a két sorban.
Az RS-t hiába rakom magas szintre nem tudok a kijelzőre írni.
Köszi az észrevételeket!
Átrajzoltam... Ledekre nincs nagyon szükségem, én csak egy pontos magasságértéket szeretnék látni a pc-n. Szerintem kell a 32.768-as kvarc is, legalább is a szenzor adatlapján is így van bekötve. Akkor ez a kapcsolás már megállja a helyét? Még egy kérdés, hogy a szenzor mennyire működik megfelelően dobozolva? Elég ha hagyok neki egy kis szellőzést? (hőmérséklet és légnyomás miatt kérdezem) Köszi
A rajz alapján nem lesz órajel szenzornak.
Csak azért tudom mert így már próbáltam. Az adatlap alapján 30-34khz közt kell hogy kapjon jelet és 40%-60% közti kitöltéssel szép négyszögjelet kell neki adni. Fentebb írták hogy PWM modul erre pont alkalmas. Így nincs is szükség a 32kHz kvarcra. Idézet: „Akkor ez a kapcsolás már megállja a helyét?” A 12 MHz-es kvarchoz kisebb kapacitást tegyél! De mindez (meg az előző körben felvetett problémák nagy része) kiderült volna, ha veszed a fáradtságot, és megnézed a linkeket, amelyeket reggel kaptál tőlem!
Az normális SPI kapcsolat esetén, hogy a CS-t fel-le kell rángatni minden egyes adat küldés előtt? Ha meg nem normális, akkor miért csak így működik a grafikus LCD vezérlésem?
Gondolom az LCD-d adatlapjában le van írva, hogy ez normális-e. Mi meg azt se tudjuk, milyen LCD-d van.
Hali!
Nem használtam még soha a PWM modult, de ha jól láttam az adatlapon, akkor a PIC RC2,3,4,5-ös lábai használhatók PWM kimenetként. Akkor ha az RC3 lábat összekötöm a szenzor MCLK lábával, akkor már jó lesz? És gondolom majd programból kell megadni neki, hogy PWM kimenetként működjön és hogyan... Köszi
Szerintem még a PIC és a szenzor mellé közvetlen tenni kellene 100nF kondikat a tápvonalba, és az adatvonalakat , mivel I2C-ről van szó 2.2k ellenállással fel kellene húzni tápra. De tényleg érdemes lenne elolvasni rendesen az adatlapokat , mert ezek mind bennevannak.
Idézet: „És gondolom majd programból kell megadni neki, hogy PWM kimenetként működjön és hogyan...” Igen, és ez lesz majd a valós PIC kérdés, mert a többi az egyáltalán nem tartozik ide...
Sziasztok!
Van egy érdekes problémám a Pickit 2 programozómmal. (gyári) Az a problémám hogy nem mindig ismeri fel a laptopom a programozót. Ha csatlakoztatom a laptophoz ki villan a power visszajelző, de ha a pickit2 szoftvert elindítom nem történik semmi, kicsit tölt a windows és ennyi, ezek után a folyamatoknál látom hogy fut a pickit2, annyiszor ahányszor rányomok a .exe-re. Ha kihúzom az USB kábelt akkor megjelenik a program hogy nem látja a programozót, visszadugom, rányomok hogy check communication és lefagy a program... Gondoltam elromlott volna a szoftver? újratelepít, semmi, utána Windows újratelepítés, utána néha felismeri ha kitartóan húzkodom az USB-t. De már az sem segít semmit. Gondoltam tönkrement a programozó? Feltelepítettem a régi gépemre a pickit2-t, (ugyanaz a Win XP SP3 op. rendszer, mint a a laptopon) és gyönyörűen fel ismert mindent, programoztam is vele. És most itt állok tanácstalanul hogy mi lehet rossz a laptopomban? Más USB-s dolgokat tökéletesen fel ismer. Ti mit gondoltok mi lehet a gond? Segítséget előre is köszönöm!
Kereken 5V
Szerk: Most megint ráraktam egy áramkörömre amiben egy 628 van, és most a target LED is világít, de 16F882-nek ismerte fel... de most is csak akkor hozta be a programot amikor már kihúztam az USB kábelt, utána megint check communication és lefagyott a program...
Egyenlőre úgy néz ki mintha megjavult volna, felajánlotta hogy frissítsem a Pickit2 fw-t és eddig hibátlanul fel ismer mindent! Úgy néz ki nincs baja... érdekes, nekem magas hogy miért csinálta azt amit, lehet valamitől megsérült volna a PIC-ben a firmware?
Azért köszönöm a hogy adtál egy tippet potyo. És azoknak is akik elolvasták a hosszú hsz-em, és agyaltak rajta!
Az adatlap 6. oldala szerint a chipselect-et nem kell fel-le kapcsolgatni, de így nem működik. Viszont rángatáskor működik...
Ebből az adatlapból nem nagyon derül ki, hogy kell-e vagy sem. Az egyetlen ábrán egy adatfolyam látszik. Az alapján akár lehet, hogy minden adat után ki kell kapcsolni a CS-t.
Oke, az az ujabb - a regi fekete gombosnak voltak nyugjei, es csak HW modositassal lehetett azt orvosolni.
Arra gondolok, hogy nem fejezed be az adatátvitelt rendesen, és azért nem működik a CS rángatása nélkül. Amikor a CS-t rángatod, akkor viszont a belső léptetőregiszterek alapállapotba kerülnek az átvitel előtt, majd utána hogy adatot viszel át, azt fel tudja dolgozni a kijelző. De ez csak tipp.
Minden lehet már. Így működik végülis, csak minden egyes adat küldésre elmegy - talán feleslegesen - plusz kettő utasításciklus.
Az ábrán (5. oldal alja) nem csak egy adatfolyam látszik.
Balról jobbra: D7-től megy D0-ig, aztán ismét elölről kezdi D7-től közben a CS nincs bántva A két 8bites adat között csak az A0 változik.
talán az angol adatlappal többre mentek
Bővebben: Link
De, csak egy látszik ami -mint látszik- nem egy bájt(14bites). Az más kérdés, hogy ezt hogyan és mivel olvasod ki! Valószínű a beépített SPI nem képes erre egyben, (hacsak nem 16 bites, de az is okozhat bonyodalmat), ezért kell két részben, vagy nem a beépített SPI modullal.
De igazából nem tudjuk mi történik, mert erről nem kaptunk infót. Idézem a kérdést: Idézet: „Az normális SPI kapcsolat esetén, hogy a CS-t fel-le kell rángatni minden egyes adat küldés előtt?” Tehát az a fogalom, hogy adat nem definiálja, hogy az hány bitből áll, és hogy mikor kell a CS-t rángatni, hogy működjön. Idézet: „A két 8bites adat között csak az A0 változik.” Nincs két 8 bites adat, ezért lehetnek gondok(ahogy potyo már érintette a válaszában a dolgot). A második adat csak 6 bites, és összesen 14 órajelet vár a kijelző. A 15. már a következő adat(14bites) első bitje lenne. El lehet dönteni, hogy melyik a lassúbb, szoftveresen kezelni a vonalat, vagy a CS-t bizergálni.
Sziasztok! Érdekes kérdésem lenne!
Van nekem egy PicKit 2 Clone Programozóm, és a PicKit 2 Szoftvert használom hozzá! A Pic-et a program felismeri, 3FFF értékeket olvas ki a PIC-ből, ami ugye az ÜRES részt jelenti! De ha beimportálok egy HEX fájlt, amit be szeretnék égetni, akkor beírás után ellenőrzésnél 0X000000 Hibát ír ki, vissza olvasva, megintcsak 3FFF-et tud visszaolvasni... Vadonat új PIC-ről van szó, mi lehet a baja?! Esetleg tönkremehetett valamitől?! Köszi Sziasztok!
Kapcsolási rajz? Konfigurációs bitek beállítása?
(Tudod: Az ördög a részletekben bújik meg...) |
Bejelentkezés
Hirdetés |