Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   1196 / 1206
(#) proli007 válasza Bubu58 hozzászólására (») Nov 16, 2023 /
 
Hello! Nem kell mindenkinek külön válaszolni. Olvassa ezt mindenki, még én is akinek semmi köze hozzá. Inkább a kérdésekre válaszoltál volna. Pld. Van-e beégethető Hex file a birtokodban..
De ha úgy gondoltad, hogy valamiből kimásolod, akkor az általában felejtős.
A programozás alatt mit értesz? Mert a program égetés és program írás, kicsit más témakör..
(#) Laja1 hozzászólása Nov 20, 2023 /
 
Sziasztok! Egy PIC vezérlő tápellátását biztosító elem állapotát szeretném figyelni. 9 V-os elemről megy egy L7805CV feszültségstabilizátoron keresztül kapja az 5 V-t. A 9 V-os elem feszültségét (feszültségosztóval 0-5 V közé csökkenteném) figyelném komparátoron keresztül a belsőleg előállított referenciafeszültséghez képest. Első kérdésem: mi az a feszültségszint, amin még elketyeg a PIC? Ez PIC16F877A. Azt olvasom a katalógusban, hogy minimum 4 V. (De nem tudom, hogy jót nézek-e.)
A másik kérdésem pedig az, hogy a belsőleg előállított referenciafeszültség függ a betápfeszültségtől? Tehát, ha a betápfeszültség csökken, akkor a referenciafeszültség is? Mert, ha igen, akkor ezt így nem lehet figyelni. Köszönöm, ha tudtok valami okosat erről!!
(#) asch válasza Laja1 hozzászólására (») Nov 20, 2023 /
 
Ha regulátoron keresztül csinálod a tápfeszültséget, akkor az 5V addig nem kezd csökkenni, ameddig a 9V-os táp le nem esik addig, hogy a regulátor feszültségesésével együtt már nem több mint 5V. A regulátor feszültségesését az adatlapnak tartalmazni kell, nem keresem ki neked. Speciális regulátorok esetén ez lehet 0 közeli érték is, de a tipikus inkább a néhány tized, vagy akár néhány V is. Mondjuk legyen az esetedben 2V. Akkor, ha a táp leesik 7V-ra és még tovább is esik, akkor onnantól kezdve fog a VDD leesni 5V alá. Ameddig 7V felett marad a betáp, addig a VDD marad 5V. Tehát a bemeneten kellően nagy kondenzátor esetén bőven lehet elég idő észrevenni, hogy baj van, és mondjuk EEPROM-ba menteni az állapotot mielőtt a VDD elkezdene esni. Vagy egyéb szabályos leállás óvintézkedéseket tenni, az alkalmazásnak megfelelően. Meg kell mérni a rendszered fogyasztását, mérni vagy becsülni a reakcióidőt, és akkor ehhez be lehet méretezni a kondenzátort, amivel stabilan jól fog működni a leállás.

Mennyi a minimum tápfeszültség? A konkrét típust nem ismerem és most nem nézem ki az adatlapból neked. Arra is figyelj, hogy mikrovezérlőknél szokott olyan is lenni, hogy a stabilan működő maximum frekvencia is tápfeszültség függő, azaz a magasabb frekvenciák csak nagyobb VDD mellett stabilak. Tehát a működési frekvencia is paraméter lehet, amivel számolni kell. Nem tudom ennél a konkrét csipnél így van-e.
(#) asch válasza asch hozzászólására (») Nov 20, 2023 /
 
Kimaradt és nem tudtam már beleszerkeszteni, hogy ha a VDD túl kicsi azt a "brown out detector" "brown out reset" kezeli. Ez nem engedi elindulni a processzort, ameddig a tápfeszültség nem elég magas, illetve leállítja, ha túl kicsi. Van ami tud jelezni amikor esik a tápfeszültség, és még ad időt szabályos leállásra. Ha a feladatod időzítései megengedik, akkor ezt is elég lehet használni, nem feltétlenül kell a külső tápfeszt mérni.
Ha mondjuk 3V felett stabil a referencia és 3.3V-nál kikapcsolja a procit a "brown out reset", akkor az azt jelenti, hogy nem állhat elő, hogy hibás referencia miatt hibásan mérünk. Lásd adatlap, de alapvetően úgy vannak kitalálva a processzorok, hogy ez teljesüljön.
Ennek a kiszámolásához is fogyasztást, leállás időt kell becsülni, és ehhez a kondenzátorokat méretezni.
A hozzászólás módosítva: Nov 20, 2023
(#) Laja1 válasza asch hozzászólására (») Nov 20, 2023 /
 
Köszönöm! A PIC adatlapjában az szerepel, hogy a 20 MHz-es frekvenciánál minimum 4 V szükséges. A brown out reset értéke (feszültsége) állítható? Mert erre nem találok utalást az adatlapon.
(#) kissi válasza Laja1 hozzászólására (») Nov 20, 2023 /
 
Szia!
Idézet:
„A brown out reset értéke (feszültsége) állítható?”


Van, amelyiknek igen, van amelyiknek nem (emlékeim szerint ennek fix, ha nem találtál rá utalást, akkor biztos!)!
(#) asch válasza Laja1 hozzászólására (») Nov 20, 2023 /
 
Mit építesz egyébként? Ha nem titok?
(#) benjami válasza Laja1 hozzászólására (») Nov 20, 2023 /
 
A 16f877a-nak nem állítható a brown-out feszültsége, és az adatlap 14.8 bekezdése szerint 4V körül van az értéke.
(#) Laja1 válasza asch hozzászólására (») Nov 20, 2023 /
 
Csak egy hőmérőt, min. max. kijelzéssel. Nem kritikus a leállás. Csak azt nem szeretném, hogy elviszem a munkaterületre és két perc múlva lemerül. Időben volna jó jeleznie, hogy cseréljek elemet.
(#) proli007 válasza Laja1 hozzászólására (») Nov 20, 2023 /
 
Hello!
Ha a 9V-os elemben 8V-nál kisebb a feszültség, akkor már le van merülve.
Az 5V+os stabi 7V-ig ellátja a feladatát. De keress valami kisebb fogyasztásút, mint amit belinkeltél.
Az F877A-ban nincs belső referencia. A komparátor fokozatot megnézed, nincs is olyan funkció, hogy ahhoz hasonlítson bármit. A külső referenciát az AN3-ra lehet/kell csatlakoztatni, ha van ilyen (136. oldal).
Törekedni kell a kis fogyasztásra. A 9V-os elem, kapacitásra és gazdaságilag nem túl jó választás.
Az adatlap DS39582B az "imakönyv", mindig azt kell tanulmányozni, de alaposan!
A hozzászólás módosítva: Nov 20, 2023
(#) KoblogPerGyok hozzászólása Nov 20, 2023 /
 
Sziasztok!

Baj van szerintem!
A lényeg:
dsPIC33FJ128-al ADC-t hajtok végre, ami már végre megy is. A gond az, hogy a jelet előállító áramkör GND-t és tápfeszt adom a Vref- és vref + nak, valamint a jel is onnan jön az ADC lábára.
A gond:
Ebben az esetben az AVdd és Avss lábakat is arra a tápra kell kötni? Mert én a PIC-et hajtó tápot kötöttem rá. Jel van, hallom is de iszonyú zajos. Ezt rontottam el?

Köszönöm!
(#) Bakman válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 /
 
Vref-nek ajánlott valamilyen stabil feszültség, ami kimondottan arra van használva és másra nem. Külön AVdd és AVss azért van, hogy az ADC áramkörnek egy stabil és zajmentes tépfeszültséget biztosíts, amit másra nem használsz.

Ezek hiánya okozhatja a zajos mérési eredményeket. Ha oszcilloszkóppal ránézel a jelekre, látni is fogod.

szerk.:
Referencia feszültség előállítására vannak dedikált integrált áramkörök, azokból válogass.
A hozzászólás módosítva: Nov 20, 2023
(#) KoblogPerGyok válasza Bakman hozzászólására (») Nov 20, 2023 /
 
A Vref fesz stab-ról kapja az értéket. Éppen ezért gondoltam külön készíteni neki. Azonban:

A PIC USB TTL átalakítóról kapja a 3.3V-ot. A jel azonban egy 12V tápról jövő mikrofonból kapja a tápot. Azaz két külön egység van, viszont értelemszerűen a jel a PIC-re abból a tápból táplálkozó áramkörről kapja a jelet.

Azaz:
-Vref- és a Vref+ a mikrofonos tápból lekevert 3.3V-ot kapja.
-A dsPIC a jelet a mikrofonos áramkör tápjából jövő jelből kapja.
-Az AVdd, és AVss a dsPIC-en azonban az USB TTL-ből kapja a szinteket/ forrást.

A jel a mikrofonból a csatolt képen látszik, igen szép, ráadásul pár száz Hz-el magasabb frekvencián, mint éppen kellene. Természetesen a jel és a GND azonos tápról jön ilyeenkor.
A hozzászólás módosítva: Nov 20, 2023
(#) Bakman válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 /
 
Egy ilyen hosszabb fejlesztésbe nehéz beszállni távolról.

Éppen az is okozhat gondot, hogy nem jó a mintavételezés, ezt tesztekkel ki tudod deríteni.
(#) KoblogPerGyok válasza Bakman hozzászólására (») Nov 20, 2023 /
 
Igen, elhiszem, még nekem is gáz, pedig előttem van.
A mintavétel ideje jó, a jel befelé jó, időzítés is jó. De zajos maradt a lelkem, nem kicsit.
(#) KoblogPerGyok válasza Bakman hozzászólására (») Nov 20, 2023 /
 
Mindenhol az javasolják, hogy külön tápról kell hajtani. A szűrő kondik bent vannak. Az USB TTL tápja lehet ennyire zajos?
Nem merem elvágni a két kábelt és egyesíteni őket!
Elvileg ennyi lenne a teszt, de már félek, hogy elrontom, fontos lenne!
A hozzászólás módosítva: Nov 20, 2023
(#) Bakman válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 / 1
 
Kicsit zavarosan fogalmazol, így, hogy nem tudjuk, milyen macska ez, nehéz segíteni. ADC-ről van szó, mikrofonról jön a jel amit az ADC-vel mérsz (már ha jól értem), ugyanakkor azt írod, "Jel van, hallom is de iszonyú zajos.".
(#) KoblogPerGyok válasza Bakman hozzászólására (») Nov 20, 2023 /
 
Igen!

Mikrofonról jön a jel, amit dsPIC-el mintavételezek. Annak eredményeit UART-on elküldöm PC-re, miután SPI RAM-ba mentem a mikrokontroller oldalon. Azaz fix hosszan mérek minden esetben.

PC-n dolgoznám tovább fel a jelet, de zajos. Elfelejtettem mondani, hogy WAV-ot csináltam belőle, PC-n hallom is. Bocs, ezt elfelejtettem mondani.

És ezt is azért, hogy halljam is, ne csak lássam a csv-ben és más kódban is. Rögtön hallani, hogy jó jelek is vannak benne, sőt ott van az, csak elnyomja a recsegés.
A hozzászólás módosítva: Nov 20, 2023
(#) Bakman válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 /
 
Van nyílvánosan megosztható hangmintád? Hátha abból lehet következtetni a hibára.
(#) KoblogPerGyok válasza Bakman hozzászólására (») Nov 20, 2023 /
 
Persze!

Felfutó jel. Minden ok a hangszóró felől, tisztán hallani mindent benne, de a mintavételnél ilyen. Bár most jövök rá, hogy a wav-ban csak pozitív tartományú jelek vannak, de a zaj fülre összhangban van a csv-k ben látottakkal.

1.WAV
    
(#) Gafly válasza Bakman hozzászólására (») Nov 20, 2023 / 1
 
Idézet:
„Egy állatorvos megbetegszik. Felkeresi a körzeti orvost, aki így szól:
- Jöjjön, üljön le ide, és mondja el, hogy mi a baja!
Erre az állatorvos:
- Ja, hát így könnyű!”

(#) bamino hozzászólása Nov 20, 2023 /
 
Üdv Mindenkinek! PIC24FJ16GA002-1/SP chipet vennék akár több darabot is ha van valakinél (DIP 28 tok) Ajánlatok privátban Köszönöm
(#) KoblogPerGyok válasza Gafly hozzászólására (») Nov 20, 2023 /
 
Én sem tudom, mi a baj, ezért állatorvosi az eset! Tényleg, tudom én ezt, de hátha...

De mondtam, hogy a jel jó amit kap a PIC. 1.65V-ra ül rá VPP 1V jel, ami szép. Tudok erősíteni csillapítani rajta, ez is megy. A kérdésem ugye az volt, hogy okozhat-e ilyen hibát a két táp különbsége? Mielőtt vagdosnék ki szertném deríteni.

Az ADC beállítások evileg jók. 1 channel, nincs alternálás a sample A-nál, B-nél, nincs interrupt, én indítom, a Vref-, Vref+ 3.3V arról a tápról, amiről a mikrofon is kapja a tápot egy Stab IC-ről, azonban a PIC AVdd és AVss lába az USB TTL átalakítóról kap feszültséget.

A jel különben olyan, hogy egy darabig ok, majd zaj, megint jó, megint zaj. A zaj is sokszor olyan, hogy 1 tüske ül rá a szinusz 1db jelére, minden periódusban. Ez sokáig ilyen, utána jó, majd teljesen hibás.

Hát ez van egyelőre, de már sírok néha . Az ADC elindítása sem volt éppen tankönyvi eset. A példakódokkal meg sem moccant.
Véletlenül 1x sokkal nagyobb mintavételt engettem rá, gyönyörűen kijött minden, de csak a mintavételezés elején, olyan 200-300 mintáig.
A hozzászólás módosítva: Nov 20, 2023
(#) Laja1 válasza proli007 hozzászólására (») Nov 20, 2023 /
 
Én csak ezt a feszültségstabilizátort ismerem, ami pontos 5V-t produkál.
A 9 V-os elem helyett mit ajánlasz? 3×1,5 V ceruzaelemet?
(#) Bakman válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 / 1
 
Érdemben nem tudok segíteni, csak ötletelni. Úgy tűnik, a zaj periódikus, egyes tüskék közötti idő talán 200 µs, a hangfájl mintavételezési frekvenciája 50 096 Hz (kb. 20 us periódusidő).

Amit én tennék: 50 Hz, tiszta szinusz és addig maszíroznám, amíg jó nem lesz. Alacsony, fix bemeneti frekvenciánál könnyen láthatóvá válik, hol a probléma.
(#) KoblogPerGyok válasza Bakman hozzászólására (») Nov 20, 2023 /
 
Elvileg akkor lehet szoftver hiba is. Nem jövök rá, hogy mitől.
50Hz-et nem tudom könnyedén kipróbálni, mert szűrők vannak benne, éppen ezért. A mikrofon jele szűrt, amit szkóppal ki is mértem, a várt eredményt hozza. Bár ott tisztán szinuszos jelek voltak.
Gyanús kicsit ez a 200µs. Ezen gondolkodok kicsit még. Ez éppen 5000Hz. Valami rezonál? Akár elektronikusan is? Csak próbálok rájönni, de fáradok s kicsit.
(#) Bakman válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 / 1
 
Rémlik valami a messzi távolból. Maximum mintavételezési frekvencián pörgettem az ADC-t és ha jól emlékszem, a kapott adat (ADRESH;ADRESL) feldolgozása rángatta a tápfeszültséget az elégtelen szűrés miatt, ami visszahatott az ADC modulra is. A dolog természetes, így működnek a kontrollerek (is), nem folyamatosan fogyasztanak hanem időnként harapnak a tápfeszültségből. PIC18F valami volt, ott nincs AVdd/AVss.
(#) Peter65 válasza KoblogPerGyok hozzászólására (») Nov 20, 2023 / 2
 
Szia!
Már kb. 10 éve, hogy dsPIC-re fejlesztettem olyan alkalmazást, ahol pontos ADC konverzió kellett.
El kell hogy keserítselek; minden számít, és minden zajt visz be.
Annak idején úgy tudtam valamennyire elfogadható eredményt elérni, hogy az analóg rész tápját nagyon erősen megszűrtem, a referenciákat kívülről kötöttem rá (nekem az analóg tápfesz volt egyben a referencia is), a processzort a mérés idejére leállítottam (ha futott közben, bármit csináltam, zajos lett a mérés), és egy mérés helyett több mérést eredményét átlagoltam, lehetőleg úgy, hogy a környező zajokat elnyomjam (50Hz-es elnyomás legyen). Ezekből látszik, hogy viszonylag lassan változó jeleket mértem. A fentiek betartásával tudtam a 12 bites ADC felbontását kihasználni, és elérni, hogy az effektív bitszám tényleg 12 bit legyen.
Annak idején assemblyben fejlesztettem, én állítgattam a regisztereket, nekem ez a rész rendben volt, az adatlapnak megfelelően működött a processzor. Ami nekem gondot okozott, hogy az ADC nagyjából lineáris volt, azonban az alja és a teteje nem, azaz kis analóg jeleket nem lehetett vele pontosan megmérni, csak némi korrekcióval.
(#) KoblogPerGyok válasza Peter65 hozzászólására (») Nov 20, 2023 /
 
Szia!

Kösz az infót!!

Elvileg 8 bit felbontás nekem elég bőven. A PIC ADC-je 10 bitre van állítva, majd átalakítom 8 bitre, mert nincs elég memória az SPI-RAM ban sem. Az alja és a teteje a méréstartománynak nem is nagyon kell, ez nem lenne gond. Azonban a kis jelek mintavétele sajnos már játszik. C-ben írtam, elvileg megy is minden (Szimulációban persze... ), de például itt:

while (!AD1CON1bits.DONE); // Wait for the conversion to complete
return ADC1BUF0;

A DONE bit soha nem lett 1. Meg kell várni az Acquisition time-ot, miután kell a konverziós idő is. Ez nélkül végtelen ciklus. Amire erre rájöttem, hát... Nincs az adatlapban ez az eset, még a neten sem nagyon. ÉS EZ NEM jelentkezik a szimulációban, ott persze minden ragyogó. A valóságban meg nem. PICKIT3 debuggal kell megnézni hol áll meg.

Esetleg kipróbálom azt, amit elsőre is gondoltam, hogy meghajtom azzal a táppal, ami az analóg jelet is adja, pontosabban a 3.3V ref feszt. Az azért meg van szűrve is, illetve 1A-t tud, remélem a kondit nem rángatja annyira meg.
Más esélyem már nincs.
A hozzászólás módosítva: Nov 20, 2023
(#) proli007 válasza Laja1 hozzászólására (») Nov 20, 2023 /
 
Nem tudom az áramköröd fogyasztásamennyi lesz (kijelzőtől is függhet), de vannak kapcsolóüzemű stabilizátorok is. Ezek hatásfoka jobb, mint egy analóg szabályzóé. De Quiescent Current vagy is terheletlen alapárama relatíve magas, mint egy 15mA átlagban. De mindig nem az abszolút érték számít, hanem viszonyítás a fogyasztókhoz. Az analóg szabályzónak is van 5..6mA alapárama és kötelező alapterhelése is kb. ennyi. De léteznek mikropower stabilizátorok is. Pld..
De a mikrokontrollernek megteszi a három ceruzaelem is. Ekkor ha mérsz valamit, kell a Referencia, mert a táphoz nem viszonyíthatod a mért értéket. Tehát az is fogyasztani fog, viszont ha van elég porta, akkor azt is kapcsolhatod csak a mérés idejére. Hőfokot, úgy sem kell mérni, csak ritkán. (Bár fogalmam sincs mit fogsz mérni, milyen hőfoktartományba és milyen érzékelővel.)
Egy Liion akksi is megteszi, bár vannak előnyei a telepes táplálásnak terepen. Mert ha az új elemet beteszed, akkor biztos működni fog, az akksiról meg nem tudod mennyre van töltve, mennyire nem.
Sok minden befolyásolhatja az ésszerű eszköz választást, így számolgatni kell..
A mikrokontrolleres csapat, fog tanácsokat adni, ha már tudnak valamit az igényekről és letetted valami mellett a voksodat. Mer addig "látatlanban", aligha fognak belekapcsolódni.
Következő: »»   1196 / 1206
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem