Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szia!
- 16F877 A port - nincs belső felhúzó ellenállása, a bemenet CMOS, a komparálási szint 0.15 * Vdd illetve 0.8V (4.5V < Vdd < 5.5V). A bemenet árama max. 5uA. - A lehúzás is majdnem ugyan olyan jó, mint a felhúzás. Az egyetlen eltérés, hogy kisebb a zavartartalék, azaz kisebb zavarjal át tudja billenteni a bemenetet. Használj kisebb értékű (1 .. 2 k) ellenállást és egy kis szűrőkondenzátort. - Ha van még szabad ST bemenet, akkor érdemesebb azt használni, mert a komparálási szint 0.2 * Vdd ill 0.8 * Vdd lesz... Egyszóval, működni fog...>>
Mivel csak az ADRESH értékét olvastam ki és használtam ezért a kiolvasott érték csak 8 bites tehát max 255 lehet. A kapcsolási rajzot te is könnyedén elkészítheted mivel mindent kommenteztem és felül megtalálod a bekötését a kijelzőnek. Az NTC bekötését csatolom, ha jól tudom a PORTA0-ra van kötve a középkivezetés. 25 foknál az NTC-m 4,7K-s ezért a feszültségosztó kimenetén pont a tápfeszültség felel lesz tehát 2,5V. Tehát már csak annyit kellett csinálnom, hogy az ADRESH értékét osztottam 5-el ekkor megkaptam egy számot melyből már meg tudom határozni a számokat a kijelzéshez maradékos osztással és sima osztással. A képlet nagyon egyszerű volt bár először csináltam ilyent egy kis logikával rá tudtam jönni hogy mivel is kellene osztani vagy éppen szorozni. Csak számolgatni kell ez az egész.
Sziasztok! Kész a pic-es strobim, most a programján változtatnék. A jelenlegi állás:
Idézet: „#include "C:\PIC programozasaim\stroboszkop\strobika.h" void main() { setup_adc_ports(NO_ANALOGS|VSS_VDD); setup_adc(ADC_OFF); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC); setup_vref(FALSE); setup_oscillator(OSC_4MHZ); while(1) { Output_high (PIN_A5); //A portA 5-ös kimenete legyen H szintű Delay_ms(40); //Várakozz most 40ms-ot és nincs feladat Output_low (PIN_A5); //A portA 5-ös kimenete legyen L szintű Delay_ms(40); //Várakozz most 40ms-ot és nincs feladat } }” Azt szeretném rajta változtatni, hogy szünetmentesen és megállás nélkül villogjon, addig míg ki nem húzom az USB-ből. Hogyan oldjam meg? Most szünetenként megáll, majd kikapcsol az egész, amig újra ki és vissza nem dugom..
Akkor ott valami baj van. A program jó, nem állhat le.
Akkor csak a tranzisztor lehet a vacak. Most egy 548-as van benne, mert a 2n3904-el el sem akart indulni. Majd veszek másikat bele. Ja, meg egyelőre 2 led van rajta..
Szia!
Az USB szabvány szerit a készülékeknek a kommunikáció kezdetén jelezniük kell az áramigényüket. A későbbiekben egy áramkorlátos táplálást kapnak. Kommunikáció nélkül csak korlátorott áramot adnak ki az alaplapi illesztők. Valószínűleg a felvillanás árama meghaladja a határt, a port lekapcsolja a táplálást.
Hp41C kipróbáltam egy 4,5-ös elemmel. Tényleg igazad van ! Így megy szépen !
Hogy mik vannak! Arduino kompatibilis 32-bites fejlesztői kártyák
A ChipCAD honlapján is hirdetik, tehát előbb, vagy utóbb itthon is kaphatók lesznek a DILIGENT PIC32 mikrovezérlőkre alapozott, Arduino kompatibilis fejlesztői kártyák. A ChipKIT Uno32 kártya központi egysége a Microchip PIC32MX320F128 mikrovezérlője. (ChiCAD ár: 5.190 Ft+áfa) A chipKIT Max32 pedig, amely PIC32MX795F512 mikrovezérlőt tartalmaz, az Arduino Mega kártya babérjaira tör. (ChiCAD ár: 9.530 Ft+áfa) Érdekesség, hogy a kártyák nem csak hardveresen kompatibilisek (a shield kártyák csatlakoztathatósága révén) az Arduni kártyákkal, hanem ugyanaz a programnyelv és fejlesztői környezet is használható hozzájuk, könnyű indulást ígérve a kezdőknek. Természetesen, annak sincs akadálya, hogy az MPLAB C32 fordítójával és PICkit3 programozóval "hagyományos" módon programozzuk a kártyán lakó mikrovezérlőt.
Amugy ezt mar egyszer megirtad ide De tenyleg jopofa egy dolog ez!
Idézet: Valóban. Mindenestre akkor még csak a Microchip honlapján láttam, most pedig már a ChipCAD is "beárazta". „Amugy ezt mar egyszer megirtad ide”
Sziasztok!
Egy PIC18F14K50 segítségével ismerkedek az AD átalakítással. Referenciafeszültségnek a belső 2,048V-ot használom. Az miért van: ha negatív referenciaforrásnak a VSS-t használom (ADCON1 NVCFG = 00) akkor hibásan mér, ha viszont negatív referenciaforrásnak a VREF- -t használom (ADCON1 NVCFG=01) és a VREF- lábat lekötöm GND-re akkor meg jól mér. Az analóg bemenet elé a gyári ajánlás szerinti kapcsolás van megépítve, azelőtt pedig egy ellenállásokból felépített feszültségosztó van.
A PICCOLO projektben mindenhol VSS-t használtam referenciának és nem volt gondom vele. Nézd meg az azokban taláható ADC konfigurálást, hátha találsz valami eltérést a sajátodtól!
Sziasztok!
Olyan kérdésem lenne valaki foglalkozott már 18fxxk22 spi modulal? pontosabban ssp2 modul részel. ssp1 modul tökéletesen müködik, természetesen ssp2stat stb.. átírva mindegyik regiszter a megfelelőre. persze bekimeneti konfiguráció is helyesen van beállítva, a portb felhúzó ellenállás is tiltva van. ha kell majd csatalom forrást is... Nincs már semmi ötlettem Válaszokat előre is köszi!
Szia!
Ez nem hiba, hanem teljesen normális (de parazita!) jelenség. Pont ezért találták ki a PIC AD-ját úgy, hogy van külön VREF- is. A PIC-re kötött dolgok felé folyó árama PIC-ből folyik vagy abba folyik el, a táplábakon keresztül. Ez feszültséget ejt a tápvezetékeken és hogyha a külső referencia negatívja nem közvetlen a PIC VSS lábára van kötve, akkor a mért jel is ugrálni fog. Vagyis igazából nem a jel ugrál, hanem a PIC AD-ja és ebből adódik az ugrálás. Ugyan ez igaz egyébként nem csak a referenciára hanem magára a mérőjelre is. Kár hogy azt sehol nem írják Microchip-ék hogy a bemenő jel negatívjának a VSS-t vagy a VREF--t tekintik. Bár ki lehet mérni végül is. Ezért örültem én nagyon amikor megláttam hogy (például) a PIC18F25K80-nak differenciális bemenetű AD-ja van...
Üdv Urak!
Tegnap egész nap szívtam egy számomra új problémával. Soros porton kellene adatot küldeni, fogadni egy PIC33 fj 256 mc 710 -el Az a gond, ha a rx lábra kivülről o érkezik, vagy gnd-re húzom akkor resetbe viszi az egészet. Ez csak akkor van így ha az UARTEN be van kapcsolva, I/O ként ez nem történik meg. Az adatirány bit 1-be van írva. Korábban egy másik PIC-el csináltam ilyet, ott nem jelentkezett. A kód részleteket onnan másoltam. Mi lehet a gond? Valamit be kell kapcsolni amiről nem tudok? Üdv mindenkinek kszabi
Az oldalon lévő programokat vettem kiindulási alapként.
A PIC-cel próbaképpen feszültségmérést valósítok meg 0-40V-ig, az eredményt egy LCD kijelzőről olvasom le. A mért feszültséget így kapom meg: Vref*20*ADRES[10bit]/1023. A PIC feszültségmérési tartománya feszültségosztó ellenállásokkal van kibővítve, amiket egy potméterrel kalibrálok. A PIC belső referencia feszültsége (2,048V) rá van kapcsolva a CVref kimeneti lábra. Az feszültségosztó beállításakor a CVref lábon megjelenő ref feszültséget egy követőerősítőn keresztül a feszültségosztó bemenetére kapcsolom, majd a potmétert addig állítom míg a helyes érték 2,048V jelenik meg eredményként. Amikor azonban nagyobb feszültséget mértem pl: 24,5V-ot (2 műszerrel ellenőriztem) eredményként 25,6V jelent meg. Próbaképpen a képletben a Vref értékét is módosítottam , növeltem csökkentettem, de ugyanúgy rosszul mér. Ha a VREF- bemeneti lábat k kb. 20cm-es vezetékkel kötöm le a GND-re akkor meg jól mér. Nem értem miért nem mindegy hogy tokon belül szoftveresen vagy tokon kívül 20cm vezetékkel kötöm le a vref- -t 0V-ra, Így egy láb "pocsékba" megy.
A belső 2,048V feszültségreferenciát használom.
A helyzet attól még ugyan az. A belső referenciát sem mindegy hogy hova kapcsolja rá. Ha a VSS-re akkor ugyan úgy jelentkezik a probléma, mert akkor meg a referencia negatívja és a bemenő jel negatívja nem közös.
Amúgy az áramkörben amivel épp most foglalkozom (egy forrasztóállomás) én is egy analóg lábat felhasználtam arra hogy csak úgy natúrban lekötöttem a földre.
Milyen beállításokat használjak a 4MHz-es belső oszcillátorról futó PIC18F25K80-on, hogy a PWM felbontása 10 bit lehessen? Az adatlapban leírt számításokat nem teljesen értem egyenlőre, a konkrét példa amit leírtak (egy kis táblázatban), az pedig 40MHz-es órajelre szól. Könnyítés hogy a PWM freki bármekkora lehet mert jó nagy integráló tag van utána, de ha a lehet akkor minél kisebbnek kellene lennie.
A PR2 legyen 256-1, ekkor a PWM felbontása 10 bites lesz.
Még egy kérdés: Hogyan állítsam be az AD-t?
Mindig Icserny EZEN hozzászólását veszem alapul. Most akkor 4MHz-ről van szó, tehát Fosc/2-nek kell lennie az 1,28us-os Tad-hoz. Ez 1Tacq-val kevés, kettővel meg már sok hogy az Icserny által írt határok közt legyen. Idézet: Úgy állítsd be, ahogy az adatlap mondja! Lásd pl. Table 23-1! „Még egy kérdés: Hogyan állítsam be az AD-t?”
Még egy adalék: meg kell nézni az adatlapban Table 31-26-ot is, mert TAD minimális értéke a referencia feszültségtől is függ! (0.8 us vagy 1.4 us)
Hmm... 2,048V lesz a belső referencia, úgyhogy ha jól értem Fosc/2 és 4TAD-kell lennie.
Építettem 1 PIC-es áramkört 12F675-tel, amit autóban használok törtem is a fejem a kérdés feltevése előtt, h melyik topicba írjak - pláne Watt #1016094 hsz.a után... Csak annyi a működése, h 1 lábon jelsorozatot dekódol, 1 másikon pedig annak megfelelő sorozatot küld ki. Ha csak a gyújtást adom rá, akkor elvileg sokáig működik.Viszont elindulás után menet közben egy idő után nem reagál.
Belső 4 megás oszcillátort használok: lehet, h pár perc után annyira elmászik a frekvencia, h emiatt nem jó? Azután gondoltam erre, mikor legutóbb még az autóban kikapcs/bekapcs (csak az áramkörnek) után sem működött, de másnap már megint jó volt. Nézegettem az adatlap idevágó részét (INTOSC FREQ vs. Temp.) a 114. oldalon, de a "sigma" -kkal nem tudok mit kezdeni..erről nem találtam semmi infót.
Van egy olyan érzésem, hogy a tápon bejutó zavarjel akasztja ki a PIC-et...
Első gondolatom nekem is ez volt, ezért cseréltem le a PIC-et (előtte 16F84 volt - ebből van 1 csomó ). Próbapanelen próbálgatva az áramkört (gyors ki/be kapcsolgatásokkal stb), F84 elég hamar feladta, a 12F viszont elég jól bírta - be van kapcsolva a BODEN is.
Ha járó motornál resetelem az áramkört (akár többször is), az sem használ.
Plusz tanulmányoztam potyo 2 autós cikkét is itt, így már eleve beépítettem pár zavarszűrő 100n -s kondit a PIC-nél közvetlenül, illetve a táprésznél.
|
Bejelentkezés
Hirdetés |