Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Ja, és a Startba írd be a BSF WPUAx sort a TRISA állítás után, ezzel kapcsolod be bemenet esetén a belső portfelhúzókat...
Én is pont ezt akartam jelezni, hogy a leírásaid alapján nincs kondi a PIC-en! Ez lesz a baj, szerintem is... Egy SMD kerámia kondi a legjobb a lábakra forrasztva.
Elmondom mi a bajom veled. Ha akarod megsértődsz rajta, ha okosabb vagy, megérted a lényeget! Idézgetek:
1. Idézet: „ha nem nyomom le a gombot 0,6 ha igen 0,1 V megy a PIC-be.” Ebből látszik, hogy nem tudod, hogy a PIC bemenetei milyen feszültségeket érzékelnek a különböző logikai szinteknek(azt tudod, mik a logikai szintek?) 2. Idézet: „btfsc PORTA,3” Nem tudod, hogy mire való az a láb, amit használni szeretnél. 3. Idézet: „Nem igazán tudom, hogy miért kell az a 10k oda? Mi változik ilyenkor?” Alapvető elektronikai ismereteid sincsenek meg, ezért aki válaszol hiába magyaráz, mert nem értheted meg az alapok nélkül a választ. 4. Idézet: „Biztos nem én szúrom el? Nem ehet, h nem jó a panel?” Tipikus, hogy ekkora hiányosságokkal nem magadban keresed a hibát, hanem a panelen. De nagyobb hiba, hogy nem tudod megállapítani, hogy a paneled jelen kiszerelésben mire alkalmas, és azt sem, hogy miképpen lehetne különböző feladatokra alkalmassá tenni. 5. Idézet: „Van nekem egy gyári PICKit2-m, ezzel ismerkedem, 16F690-es PIC van benne” A PICKit2-ben egy 18F2550 van. Amiről te beszélsz, az a hozzá adott próba (demo) panelen található PIC. Idézet: „Hol rontom el, vagy egyáltalán hol lehet ezt elrontani?” Ott rontod el, hogy elektronikai alapok nélkül nekiálsz egy elektromos áramkört programozni! Amit lehet javasolni a felvetett pontok szerint: 1. Ismerd meg a PIC áramkörtét, működését! 2. Az adatlap és a demo panel lehetőségei szerint válaszd ki a felhasználni kívánt lábakat! 3. Ismerd meg az alapvető elektromos dolgokat! 4. Talán annyit, hogy ne használj értelmetlen, bosszantó rövidítéseket! 5. Ismerd meg a demo paneled felépítését, működését és a módosítási, utólagos kiegészítési lehetőségeket! Jelzem, hogy ezen feladatokhoz tartozó kérések nagyrésze a Kezdő kérdések topicba való. Ha sikerült az alapvető(nem PIC kérdéskörbe tartozó) kérdéseket tisztáznod, újra szívesen látunk a PIC topicban!
Gondolkoztam ezen a dolgon, mivel én is egy 690-essel és pont a gyári demók végigzongorázásával tanultam annak idején a PIC alapokat. Működnie kell ennek.
Véletlenül nem MPLAB-ból próbálod a programokat rátölteni a PIC-re? Mert nekem úgy tűnik, mintha az MCLR lábat alacsonyan tartaná szándékosan valaki (maga a PICkit2). Ez meg abból adódhat, hogy az MPLAB nem engedi tri-state állapotba programozás után. Valahol a Programmer menüben meg kellene találni azt, ahol be lehet ezt állítani. MPLAB 8.20-asban ez a "Release From Reset" pont, valamint a "Settings"-ben be kell pipálni, hogy "3-State on 'Release from Reset'". Idézet: „Jumper nincs a JP5ön viszont lemértem mind2 oldalán 4,88V van (?) .” Ez jó. Ugyennyit kell mérni R1 mindkét végén is. Lenyomáskor pedig R1 nyomógomb felőli vége lemegy nullára. Ha nem így van,akkor annak oke kell, hogy legyen. Az egyik lehetőség, hogy a reset láb lehúzva maradt. Erre megoldás,amit Szilva írt: MPLAB-ban a Programmer menüben Release from reset. (Ez akkor használ, ha a program egyébként láthatóan fut, csak a nyomógombra "nem érzékeny"...) A másik lehetőség az, ha a konfig bitek rosszul vannak beállítva (MCLR nincs inputnak konfigurálva). Ez esetben azonban a program sem fut az általad megadott feszültségértékek esetén. Ez a két eset a 6. Reversible demóprogrammal jól tesztelhető. Én ezzel küszködtem anno. Villogtak a ledek, csak a gomb lenyomására nem akart megfordulni a villogás sorrendje (1.eset). A Release from Reset megoldotta.
Helló midenki!
A probléma a következő lenne. Egy napelemen szeretnék áramot és feszt mérni. a kapcsolás már megvan és 0-5 voltot ad ki mind a fesz mind az árammérés. A kapcsolást mellékelem. A kérdés hogy nincs közös földön a két méröpont. Hogy lehetne megoldani hogy a PIC AD-val jól tudjam mérni? szotveresen meg lehet oldani vagy hardwert kell átalaíitani? válaszokat elöre is köszi! üdv.: tibiiii00
Ha a negatív ágba tennéd az áramfigyelő ellenállást, és egy spéci OPA-t használnál(pl. MCP6001), akkor sokkal egyszerűbb árammérő kapcsolást tudnál kialakítani.
Korrigálok, nem lenne egyszerűbb, de stabilabban működne és szimpla tápról.
Van speciális IC a feladatodhoz: MAX4080, ami "magas oldali áramérzékelő".
Kép: Hivatkozás A kimenetén kiadott feszültség a bejövő áram, ez érzékelő ellenállás és a fix erősítési tényező függvénye. Három típusa van (betűjelzés a típusszám után), amelyek 5V/V, 20V/V, illetve 60V/V fix erősítéssel rendelkeznek, s az ajánlott max. feszültségesés (Isense x Rsense) enne megfelelően 1000 mV, 250 mV, 100 mV <-bár ezzel már 6V jön ki!).
Ez szép, de jelenleg még az FDH-nál sincs raktáron és egyébként is majd 1000Ft áfástól! Esetleg tudsz jobb beszerzési forrást?
Én maradnék az MCP6001, vagy 6004-nél.
Egy másik topikban ugyanerre a feladatra az INA193 típusú IC ajánlották, de az sem sokkal olcsóbb.
Hát nem. Viszont nem nagyon van szükség arra a pontosságra, amit ezek képviselnek, legalább is nem egy 10bites AD esetében.
Én nem vagyok egy műveleti erősítős mágus, de mellékelek egy kapcsolást, ami szimulátorban működni látszik. A műveleti erősítő tápja 27V, így kb 24V-os kimenőfeszültségig tudja mérni a folyatott áramot. Amit feszültséggé alakít, ezt aztán lehet digitalizálni PIC -el. 1A hatására 1V a kimenő feszültséget ad. Így logikusan 5V-nál 5A.
Ha 24V nál nagyobb feszültségen kell mérni, akkor megpróbálnám leosztani a söntről vett feszültséget, elvileg mennie kell úgy is.
Neked is azt tudom ajánlani, hogy egy 5V-ról működő Rail-to-Rail Input/Output tulajdonságú OPA-t a negatív ágba tett áramfigyelő ellenállásról kapott feszültséggel vezérelve sokkal kézbentarthatóbb áramkört kapnál. Ebben az esetben teljesen mindegy mekkora feszültség áramát méred. Csatoltam egy vázlatos rajzot, mert úgy látom nem egészen érthető amit írok.
Ez ok, csak itt ugye a sönt az negatív oldalon van. Ha csak árammérés a cél, akkor jó ez. De az én rajz részletem egy saját tervezésű táp részlete. Ahol a kimenő fesz is állítható, namost ebbe bezavarna a test felől levő sönt.
Sziasztok!
Soros portot szeretnék emulálni(pic16f690), melynek kiindulásaként ezen a helyen találálható Bővebben: Link programot kezdtem el tanulmányozni.. A program futtatásához a leírást és hardver-es összeköttetést megcsináltam, de nem kapom a küldendő adatokat... Szerintetek hol van a hiba?
Megoldható ez is, de mivel itt nem tápokat tervezünk, ezért nem folynék mélyebben bele.
A 16F690-en van hardveres soros port. Van valami oka annak, hogy ezt szoftveresen akarod megoldani?
Szia!
Igen van. Két eszközzel szeretnék kommunikálni és mindkettővel soroson keresztül lehet
Sziasztok!
Az a kérdésem, hogy terveztem egy kapcsolást, és ha jó a kapcsolás, akkor tudom-e működtetni a ledeket? Még valami a PIC16F877-es pichez (mplab-ot használok) az
Megfogalmazás jó lehet-e? Válaszotokat előre is köszi!
Szia!
A fejlesztői környezet lehet, hogy MPLAB, de a fordító, ha jól látom CCS-C. Az MCLR bemenetet vagy tiltsd le, vagy húzd fel tápra 10k ellenállással. Az RA0- ra illesztett nyomógombot 5-10k- val húzd le GND- ra, a kvarchoz tegyél 2 darab kerámia kondit (22-30 pF, lásd adatlap). Nagyjából ezeket a kiegészítéseket tenném hozzá. Üdv.
Még valami. Nem látom, hogy beállítottad volna a Config Word-t. Ezt a #fuses direktívával teheted meg. Bővebben lásd a CCS helpet (valamint ha nem csak a fordító van meg, hanem a CCS IDE is, akkor ott a View menüpontban a Valid Fuses- ra kattintva ki tudod választani a uC típusát és kidobja, hogy milyen config beállításokat ismer az adott kontroller).
Üdv.
Tul azon amit El-Pinyo mondott: Ha multiplexelned akkor nem kellene enyi labat elhasznalnod. De azt hsizem errol mar beszelgettunk.
Ja, es hany LED lesz egyszerre bekapcsolva? Ezek maximalisna mekkora aramot vehetnek fel a PIC-tol? Elbirja ezt a PIC az adatlap szerint?
Épp ez az, hogy nem tudom a config word-öket a pic-emhez.
Kijavítottam amit mondtatok, és max 16 led lesz egyszerre bekapcsolva. Valamint a kondikat a GND-ra kössem? ?
Idézet: „A program futtatásához a leírást és hardver-es összeköttetést megcsináltam, de nem kapom a küldendő adatokat...” MPLAB szimulátorában kipróbáltad már (a logikai analizátor ablakban megnézted)?
Egyidőben kell kommunikálni, vagy jó felváltva is? Mert ha lehet felváltva is, akkor fel lehet osztani a hardveres vonalakat közöttük pl. 74LS125-el, vagy CD4066-al! Persze a programnak is működnie kéne, de nagyon erőforrás igényes a dolog, alig marad idő másra.
Elvileg lehetne Vcc-re is kötni a kondenzátorokat, hiszen szimmetrikus a CMOS (legalábbis valamennyire), de a GND-re szokás, meg a GND láb úgyis ott van a kvarc mellett.
16 LED 13mA-el számolva 210mA, valami ilyesmire emlékszem, hogy ennyivel szabad terhelni egy PIC-et, tehát ez nagyjából jó. Ha a 16F877-et használsz, akkor az #include <16F877.h> kell. A konfigurációs biteket egyrészt a pic adatlapjában találod, másrészt nézd meg a fordító helpjében és a fordítóhoz adott mintaprogramokban, hogy hogyan kell pontosan beírni. A #fuses szót figyeld, számomra ismeretlen okból így nevezik a CCS-nél a konfigurációs biteket.
#include <16F876A.h> ! Itt mindig az éppen használt PIC típusának megfelelő fáljt kell ideírni.
A konfig bitek beállítását az adatlapból kell megnézni, azt fejből szerintem senki nem vágja, még akkor is, ha ennél a típusnál nem sok mindent kell(lehet) állítani.
Sziasztok!
Ismét a segítségeteket kérném! 18f14k50 el dolgozom, minden tökéletesen működik rajta, kivéve 1 dolgot: Nem tudom használni a bemeneteket és egyszerűen nem jövök rá, hogy miért. Nem most kezdtem PICelni, szóval egy ilyen alapfeladatnak nem kéne nehéznek lennie és mégis! Az RC0,RC1,RC2 lábakról van szó. A TRIS biteket 1be állítottam. ADC kikapcsolva, COMPARATOR kikapcsolva, csak digit lábak és mégis! Igazából a megszakításra lenne szükségem, de még simán sem megy! Valaki tudna nekem segíteni? Sokszor elkövetem azt a hibát, hogy az adott lábon van valami más funkció is és azt nem kapcsolom ki, de most már 100szor átnéztem és én nem jövök rá!
Tanulságos! Ismét az volt a hiba mint szokott, ahogy írtam
Nem állította digitálisra a fordító a lábakat, hiába mondtam neki! Közvetlen írtam a regisztert és akkor már jó! Szóval a kérdésem tekintsétek tárgytalannak! Üdv |
Bejelentkezés
Hirdetés |