Fórum témák
» Több friss téma |
És ha mindazt megcsináltad, amit mrobi írt és még mindig nem jó, küldd el légyszi a legenerált kódot (3 és 2 adc-vel is)! Emlékeim szerint a Flowcode C-t csinál, azt meg tudom gyorsan nézni.
igen, szerintem a chargepump kondik feltöltődési és kisülési idejével függ össze.
Tényleg, ez csak most jutott eszembe, amikor írtad. Az AD beállításakor több időzítési paramétert kell megadni, amik ha nem megfelelőek, teljesen rosszul működhet.
Értem, köszönöm a választ. Viszont elakadtam. PIC16F690-el próbálkozom, két számot összeadni. Eddig ezt a programot sikerült összehoznom, viszont nemjó, kitudnál segíteni?
Nemkéne bankválasztás, vagy rossz helyre írtam? Bank 1 ben van az accesses, f0h tól ffh címig. Start ; A program kezdete bsf STATUS,RP0 ;bank1 választás bcf TRISC,0 ;c port kimenet temp equ 0xf1 ;változó létrehozása(bank 1 access) movlw 0x01 ; movwf temp ; bcf STATUS,RP0 ; movf 0x01, W ; addwf A_1, W ; movf 0x01,W movwf PORTC goto $ end
Sziasztok!
Korábban kértem segítséget egy biztosítóberendezés-szimuláció projekt megvalósításában. (PIC18F4550 TPIC-es soros vezérlések stb.) Jelenleg ott állok, hogy felprogramoztam a PIC18F4550-est a MCHIP USB - HID - Bootloader hex fájljával. Kipróbáltam, a gép látja is, de pár másodperc után megszakad a kapcsolat. Megnéztem, hogy az 5V stabil táp lecsökken 5V alá, majd lezuhan 3.5-re és végül lecsökken 0-ra. Egy 7805-ös IC-m már meg is adta magát. Nem tudom mi lehet a baj, kiszedtem csak a PIC kapcsolását az áramkörből, ha valaki ránézne, megköszönném! Üdv! Idézet: „Értem, köszönöm a választ. Viszont elakadtam. PIC16F690-el próbálkozom, két számot összeadni. Eddig ezt a programot sikerült összehoznom, viszont nem jó, ki tudnál segíteni? Nem kéne bankválasztás, vagy rossz helyre írtam? Bank 1 -ben van az accesses, f0h tól ffh címig.” Jól összekavartak... A kedves tanácsadó a 18F szériáról regélt, Te a hagyományos 16F család egy tagját programozod... A hagyományos 16F -eken általában nincs Access bank, közös RAM terület van, ami nem úgy működik, ahogy a 18F -eken. Néhány 16F típuson van egy közös RAM terület (0x70.. 0x7F), ami bankiválasztástól függetlenül ugyan azt a 16 rekeszt kezeli. A 16F690 is ilyen. A 16F -eken az általános célú RAM memória az egyes bankokban 0x20 .. 0x6F, 0xA0.. 0xBF, 0x120 .. 0x16F, 0x1A0 .. 0x1BF közötti címeken érhető el. A típustól függ, melyik bankban mennyi van kiépítve. Némelyiken a 0x110 .. 0x11F ill. a 0x190 .. 0x19F taromány is használható. Használjuk a gyári ajánlásokat, megkönnyíti a program áttekintését, hordozását más (felépítésű) kontrollerre. Változó definiálás abszolut kódban:
Bankváltás - tudni fogja, hogy az ANSEL melyik kontrolleren melyik bank -ben van...
Az RC0 a komparátor egyik analóg bemenete. Az ilyen lábakat a kontroller reset után analóg bemenetként kezeli. Az ANSEL resiszterrel digitális módba kell állítanni. Allítsd be az MpLab szimulátorát nyomkövetőnek (debugger), vele épésenként nézheted, mit csinál a program...
Erre nem is gondoltam, hogy lehúzzam földre. De, ha berakom a harmadik AD-t, akkor elkezd ugrálni a második AD! A harmadik ADvel egyenlőre nem is foglalkozom. Azt szeretném kideríteni, hogy a harmadik AD-t berakom a programba (nincs rákötve semmi, nem is csinálok vele semmit, nem számolom, nem szorzom, stb), akkor miért esek le a második AD időről időre.
Felteszem a C kódot amint hazaérek.
Szia!
Zárlat a panelen, rossz alkatrész, téves értékű alkatrész, forraszhíd.. Ha automatával tervezted a panelt, az R3 bal oldali kivezetését is rákötötte az RC0 -ra. Ha az RC0 -at alacsony szintű kimenetnek programozod fel, rajta keresztül az 5V -os tápot leföldeled.
Csatorna válás után min. 2 * TAD kivárás az AD indítása előtt.
Szia!
Az R3 a valóságban is a RC0-hoz csatlakozik az USB csatlakozásának figyeléséhez (de a függőleges vezetékhez nem, csak hülyén rajzoltam). Mint írtad korábban, egy magas ellenállással kössem egy bemeneti lábra. De akkor ez okozná a zárlatot, mert rossz lábat választottam? Firmware még nincs a PIC-en, csak az alap bootloader, így aztán semmi beállítás nincs még. Idézet: „Az R3 a valóságban is a RC0-hoz csatlakozik az USB csatlakozásának figyeléséhez” Így gondoltam én is, de a rajz megtévesztő, az alkatrészek végpontjai számítanak csatlakozási pontnak, ott pedig két nem összekötendő vezekék is átmegy. A +5V -ot nem szabad közvetlenül az RC0 -ra kötni. Ha az áramkörben nincs összekötve a +5V az RC0 -lal, akkor jó a kapcsolás e része. Idézet: R4 rossz helyen van és rossz értékű. Nézd meg a Microchip FSUSB demó kártya leírását! Természetesen a tápfeszültség nem ettől esett le, annak valami más oka lehet: zárlatos kondi, miegyéb. Én leginkább a miegyébre gyanakszom... „kiszedtem csak a PIC kapcsolását az áramkörből, ha valaki ránézne, megköszönném!” Ha a Microchip gyári bootloaderét akarod használni, akkor nézd át a CONFIG bitek beállítását, mert a gyári beállítás nem optimális (engedélyezni kell a Brown out Resetet, különben a bootloader kinyírhatja magát a tápfesz lekapcsolásakor!
Még Hp41C javaslatára csináltam az USB figyelést: 100k ellenállással rákötöm egy bemeneti lábra az USB 5V-ot, illetve földre kötöm egy alacsony (2k7) ellenállással.
Hát mindent a gyári packból égettem bele, hogy többször ne kelljen égetni. Mivel csak egy alkalmi projekt ez, nem akartam pickitet vásárolni/csinálni. Gondolom akkor, hogy engedélyezzem a BOR-t, ahhoz újra kellene égettetnem az egészet....?
És hogyan kezdjek bele?pontosabban hogy hol találok leírést hozzá....Mert googleban nem nagyon találtam olyat ami értelmes dolog.
Szerintem PC-n kezdd el a programozast tanulni, ne a PIC-en.
Legalabb, amig az alapveto dolgokat megerted. A linearis programozas ugyanaz, szoval azokat fel fogod tudni hasznalni a PIC-nel is. Tulajdonkeppen a programozasi gondolkodast kell elsajatitani, hogy hogyan tudod reszelemekre bontani a problemat, amit aztan mar meg tudsz a geppel oldatni. Konyvnek meg a konyvtarat javaslom, ott talalsz eleget ezekrol. Az alapok nem valtoztak. De mindenkeppen parhuzamosan erdemes csinalni a programozast a nagyon egyszeru dolgoktol kezdve. Bepotyogsz egy peldaprogramot, elmented, aztan valtoztatgatod. Nem csinalhatsz semmi vegzeteset, ha vegleg elrontottad, akkor visszatoltod es kezded elolrol. Idézet: Fordítva logikusabb lenne. „100k ellenállással rákötöm egy bemeneti lábra az USB 5V-ot, illetve földre kötöm egy alacsony (2k7) ellenállással.” Idézet: Ha könnyen megoldható (közeli ismerősnél), akkor ez a legjobb megoldás. A honlapomról letölthető csomagban is található egy ilyen állomány, PICCOLO-HID-Bootloader-PIC18F4550.hex néven.„Gondolom akkor, hogy engedélyezzem a BOR-t, ahhoz újra kellene égettetnem az egészet....?” Ha nem oldható meg könnyen, akkor megvárhatod, amíg "elromlik" a bootloader. Ennek csak az a bibéje, hogy alkalmatlan időben jöhet rá a bolondóra (kikapcsoláskor, a CPU fél-szendergésében ráfut egy laptörlésre...). Akkor muszáj lesz újraírni. Azon viszont érdemes elgondolkodni, hogy milyen feszültségszinten reseteljen a BOR áramkör. Én meggondolatlanul alacsony szintre (2,7 V) állítottam. Jobb volna az adatlapot követni (aszerint csak min. 4,2 V-on garantált a hibátlan működés). Idézet: „Fordítva logikusabb lenne.” Szerintem azért 100k-val csatlakozik a PIC lábra az USB +5V-ja mert ha csak az USB-n van meg az 5V, az áramkör saját tápján meg nincs, ne táplálja meg a PIC-et a portlábvédő diódáján keresztül.
Köszönöm, a honlap nagyon jó, böngészgetem.
Kiszedtem a PIC-et a foglalatból és csak a tápokat forrasztottam rá... Sajnos így is leszalad a feszültség, úgyhogy gondolom kuka.. A stabilizátort megpróbáltam egy egyszerű leddel, akkor stabil marad.
Néha ezt a hibát egy fordítva berakott kondi is okozza.
A 100k-2k7 ellenállásosztón sosem tudja a lábat logikai 1-be húzni.
Idézet: „Idézet: „100k ellenállással rákötöm egy bemeneti lábra az USB 5V-ot, illetve földre kötöm egy alacsony (2k7) ellenállással.” Fordítva logikusabb lenne.” Ha megnéztétek volna a kapcsolási rajzot, kiderült volna, hogy a 2k7 közvetlenül az UBS +5V -jára megy (ott 2 mA terhelést okozva, ha megvan az 5V). Ha nincs meg az USB +5V, akkor földre hűzza a tápot. Az USB +5V pontjáról a pic lábára megy a soros 100k, az itteni impedancia viszonyok mellett röhögve megvan a min. 4V is a magas szinthez. A nagy ellenállás azért kell, hogy saját táp nélkül csatlakoztatva ne csináljon tápfeszültséget az USB +5V a bemenet védődiódáján keresztül. Amit ajánlottam, végiggondoltam, kimértem, bevált, összangban van a Microchip ajánlásával. Bármelyik láb használható a USB csatlakozás érzékelésére csak a MCLR nem. Hogy az FSUSB melyiket használja, az más kérdés, de erről nem írtam semmit sem.
Már kínomban a tápszűrő kondikat is leszedtem, de úgy is elszáll :S De csinálok új feszszabályzót, aztán meglátom mi lesz. De lehet azért a resetet be kellene kötnöm (?), majd otthon tesztelgetem. Veszek egy Pickit-et hamarosan, de ha tényleg rossz a PIC, nem tudom rámerjem-e a Pickit-et dugni.
Idézet: Ennek a "kemény" lehúzásnak csak akkor látom értelmét, ha van a kártyán kondenzátor is (max. 10 µF lehet, ha fejből jól emlékszem). Minden más esetben nagyobb ellenállás is lehetne itt, a 2k7 helyett. „a 2k7 közvetlenül az UBS +5V -jára megy (ott 2 mA terhelést okozva, ha megvan az 5V).”
Üdv!
Kaptam egy pickit3 mat és nagy problémám lenne vele még nem igazán vagyok jártas a programozásban egyenlőre a kapcsolatot se sikerül létrehozni. Hogy csináljam? MPLab IDE 8.90v van felrakva
Sziasztok!
3.5 digit-es lcd kijelzőt miként lehet pic-el meghajtani? Köszi A hozzászólás módosítva: Ápr 12, 2013
Ugynevezett multiplexelessel.
Azt hasznaljuk ki, hogy az ember szemenek van tehetetlensegem kb 100Hz felett mar a villogo dolgokat folyamatosan vilagitonak latja. Igy mindegyik szegmensnek a kozos labait osszekotod, a kozos masik polus ki van vezetve kulon-kulon. Igy tehat egyszer lesz 7 (vagy nyolc a ponttal egyutt) kivezetesed, valamint 4 masik, ami a szegmensek masik vege. A PIC eloszor tiltja az osszes szegmenst, majd kiadja a 7(8) vezeteken a szam kodjat, aztan engedelyezzuk azt a szegmenst, a tobbit tiltjuk. Utana megint tiltjuk az osszeset, a 7 vezeteken ki a kovetkezo szegmens szamat, majd engedelyezzuk a szegmenst. Es igy szepen sorban. Mikor vegere er, kezdi elolrol. Erdemes megszakitasba tenni, timerrel idozitve. Ha tul lassu, akkor villogni fog. Ha elmozditod a szemedet oldalra, akkor is erezhetsz villogast rajta.
Semmi extra, csak az MPLAB telepítésénél ne vedd ki a PK3 telepítését ( már régen telepítettem, szerintem "alap" beállításoknál semmi gond nincs vele! Azután, ha csatlakoztatod és a programozók között kiválasztod, akkor mennie kell !
szerk.: remélem jól értettem: a kapcsolat a PK3 és az MPLAB között nem megoldott, nem a PIC-et nem érzékeli a PK3 ?! A hozzászólás módosítva: Ápr 12, 2013
Köszönöm! Sikerült elindulni. Viszont most ott akadtam el hogy elindítom az MPLabot és rákötöm a Pickit 3 mat utána kiválasztom és elkezd gondolkodni majd kell neki valami 5 V meg 3,?? valamennyi és csak oké vagy mégsem van ha oké akkor piros hibaüzenet. Mit kell tenni?
Valószínűleg azt kérdezi, hogy a programozandó áramköröd saját tápról megy vagy a PK3 adjon neki tápot és Te a saját tápot választod. Mikor ellenőrzi, akkor azt tapasztalja, hogy nincs feszültség és ezt jelzi !
Jó lenne esetleg egy kép vagy a pontos hibaüzenet ( a barátod is tud egyébként segíteni, ha a szöveget beírod a fordítóba és egy kicsiit "beleéled" magad a helyzetbe ! ) ! |
Bejelentkezés
Hirdetés |