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   959 / 1210
(#) Elektro.on válasza kriszrap hozzászólására (») Jún 24, 2017 /
 
Bocsi, ezt most lehet ,hogy én értem fére.
VannRGB leded aminek a gnd je gyárilag közös, és másik három a színeknek. Ezeket közösítetted. Így értelmezve csak 2 lába maradt a ledeknek. Így ,hogy akarod színenként vezérelni?
Vagy csak rosszul fogalmaztad meg az előző hozzászólásod?
(#) pajti2 válasza kriszrap hozzászólására (») Jún 24, 2017 /
 
Ha a plussz lábakat közösítetted, a gnd-k pedig gyárilag közösek, fehér színű ledeket kaptál, amik nem lesznek színvezérelhetőek. Az volt a szándékod?
(#) kriszrap hozzászólása Jún 24, 2017 /
 
Egy lednek a gndje közösített (- + + + ) és Össze rakásnál szintenként közösítettem a pluszokat a saját lábával.
(#) ktamas66 válasza kriszrap hozzászólására (») Jún 24, 2017 /
 
Ha minden ledet külön ki tudsz választani (egyszerre csak egy kap GND-t), akár egyenként is állíthatod a színeket. gyakorlatilag 1/40 ideig világít mindegyik. Ez csökkenti a fényerőt, ezért nagyobb áramot lehet nekik engedni, úgyis impulzusszerűen van használva.
(#) kriszrap válasza ktamas66 hozzászólására (») Jún 24, 2017 /
 
Egy minusz egy szintnek a pluszok közösitve a saját lábával vagy is 8*3 + lábam van amit vezérelhetek és 5db gnd. Egyessével adjam meg a ledek színét vagy külön képként rajzoljam ki ??
Idézet:
„kirajzol(LED1,SZIN,LED2,SZIN,LED3,SZIN,LED4,SZIN,LED5,SZIN,LED6,SZIN,LED7,SZIN,LED8,SZINT);”
(#) pajti2 válasza kriszrap hozzászólására (») Jún 24, 2017 /
 
Ha össze tudtad valahogy kötni úgy, hogy +/gnd teljes tápot egyszerre csak egy led kapjon (nem igazán értem, amit csináltál, de ha jól csináltad, akkor jó úgy ), akkor abszolút mindegy, hogy az időmultiplex részleteit hogyan rendezed. Az egy amolyan kinek a pap kinek a papné kérdés.
(#) ktamas66 válasza kriszrap hozzászólására (») Jún 24, 2017 /
 
Ha ez azt jelenti, hogy 24 lábra kellene kiadni a megfelelő PWM jelet, én átgondolnám még egyszer ezt a megoldást. Valamilyen külső multiplexer IC-vel biztosan megoldható. Nem tudom mennyire statikus képeket szeretnél kirajzolni, de a leggyorsabb valószínűleg akkor lesz ha a megadott színhez való PWM értékeket tárolod le, tehát egy ledhez 3 bájt: R, G, B.
(#) kriszrap válasza ktamas66 hozzászólására (») Jún 25, 2017 /
 
Ha ennyire kevergetem a színekett akkor érdemes a shiftregisztert nem sorba kötni ha nem külön vezérelni??
(#) kriszrap válasza kriszrap hozzászólására (») Jún 26, 2017 /
 
Mind a 3 shiftregiszternek Blank lábán egy egy pwm láb van a pic által igy tudom majd aszineket keverni .
1 shift az a pirosért fele második a zöldért felel a 3 pedig a kékért és külön pwm lára van kötve a shiftek.
A hozzászólás módosítva: Jún 26, 2017
(#) silent15 hozzászólása Jún 26, 2017 /
 
Sziasztok, mint már néhányan találkozhattatok több topicban a felvetéseimmel itt is szeretnék kérdezni eggyet ami kapcsolódik hozzájuk. Szeretnék egy DHT22 (vagy DHT11) modullal és egy RTC-vel hőmérséklet és páratartalom adatokat loggolni (egy pincében). Ehhez szeretném hozzákapcsolni hogy egy SQL táblába töltse fel ezeket WIFI kapcsolaton keresztül, hogy ezeket az adatokat itthon is megtekinthessem.
A kérdésem az lenne hogy mennyire megvalósítható ez egy 18F szériás PICben (AN833 adatlapot bújom, de azért titeket is megkérdeznélek) ? Nem szeretnék összetettebb PIC-et használni a célra, mert fő az egyszerűség a projektnél. Ki mit gondol erről ?

Köszönöm a hozzászólásokat, meglátásokat, tippeket
A hozzászólás módosítva: Jún 26, 2017
(#) ktamas66 válasza kriszrap hozzászólására (») Jún 26, 2017 /
 
Akkor a feladat adott: a regiszterekbe olyan értéket léptetsz ki, hogy csak egy led legyen aktív, ez megkapja az RGB jelet, majd léptetsz a következő ledre, ha vége, a következő szintre. Lehet azt is érdemes megoldani, hogy ne kelljen mindig a teljes shift regisztert írni, csak a led kiválasztását arrébb tolni eggyel.
(#) cross51 válasza silent15 hozzászólására (») Jún 26, 2017 /
 
A WiFi miatt szerintem kényelmesebb nagyobb család.
Ha hobbi szerintem nyugodtan elindulhatsz felfelé is (16, 32 bit) már vannak a 18F árában lévő PIC32-ők is (meg néha érdekes errata ).
Én is így voltam vele, hogy "úúú" nagyon bonyolult aztán leültem 16 bithez egy kicsit azóta főleg 32 bit.
Sokkal sokkal kényelmesebb és azóta már 8 bitre soha nem akar semmi rendesen menni 32 biten pik-pakk minden.

Tehát ha van időd szerintem nem bánod meg 16 bit assembly/C sokan tudnak segíteni, páran vagyunk akik 32 biteznek én személy szerint c++-t is űzöm.
A hozzászólás módosítva: Jún 26, 2017
(#) silent15 válasza cross51 hozzászólására (») Jún 26, 2017 /
 
Nem riadok meg tőle, épp most érkezik egy PICkit3 szóval már akadálya sem lenne, csak sajnálnék egy akkora kapacitást egy sima data-loggerhez. Találtam egy projektet amiben 16f877a-ba tettek bele egy ESP8266 kezelő szoftvert, így már csak egy html post generáló részt kéne kitalálnom (amit lehet úgyszintén találnék). A szerveroldalt meg már megoldanám. Körbenézek 18F szériában, ha kevésnek bizonyulna akkor megyek felfele
(#) silent15 válasza cross51 hozzászólására (») Jún 27, 2017 /
 
Választottam hasraütve (legyen benne UART és SPI) egy 16f1454 kontrollert. Belefordítottam az ESP8266 könyvtárat és csak 3-3% ot kér a program/adatmemóriából. Szóval egyenlőre marad ez, ez kislábszámú is így eddig minden igényemet teljesíti
(#) nedudgi válasza silent15 hozzászólására (») Jún 27, 2017 /
 
Ha már ott van az ESP8266, nem lenne egyszerűbb rábízni a teljes feladatot?
(#) icserny válasza silent15 hozzászólására (») Jún 27, 2017 /
 
Ha WiFi kell, akkor mi lenne a szerepe a PIC-nek? A legbutább ESP-01 is képes rá, hogy egy pár soros Lua programmal, hogy WiFi kapcsolaton keresztül feltöltse az adatokat a ThingSpeak szerverre, ahol bármikor megnézheted a grafikonokat, illetve az adatokat táblázatosan is letöltheted a PC-re további elemzés céljából. A PIC-kel csak bonyolultabb lesz a dolog.
(#) zsoltee0001 hozzászólása Jún 27, 2017 /
 
Sziasztok

Elképzelhető, két azonos PIC esetén, hogy a belső órajelük nem azonos?
Csináltam egy időzítőt amit egy 12F675-re belőttem és pontos is volt, miután beégettem egy másikba utána jött a puszi.
10 percnél 15 másodperc a difi.
Szerintetek ez normális és mindegyiknél módosítani kell a programon?
Üdv
A hozzászólás módosítva: Jún 27, 2017
(#) silent15 válasza zsoltee0001 hozzászólására (») Jún 27, 2017 /
 
Szia

Ha belső oszcillátort használsz akkor simán. 90h helyen ott van az oszcillátor kalibrációs regisztere. Ezzel a regiszterrel össze tudod kalibrálni a két kontrollert. Pickit2/3-nál van lehetőség a kalibrálására.
Ha közös órajelet szeretnél, van mód hogy az eggyik PIC szolgálltassa a másiknak. Az eggyiket INTOSC re állítod kimenettel , ő fogja adni a jelet a GP4 lábon, a másikat pedig XT-re és ő kapja a másiktól a GP5 lábon.
Adatlap: 54-55. oldal + Figure 9-2
(#) silent15 válasza icserny hozzászólására (») Jún 27, 2017 /
 
Nem tudtam hogy tud ilyet, átnéztem az adatlapot, és a kapacitásának csak a 20%-át használja a WIFI szoftver. Ha más nem lesz szükséges akkor lehet csak ő lesz rajta.
(#) eSDi válasza silent15 hozzászólására (») Jún 27, 2017 /
 
Üdv!

Én a DHTxx szenzorok helyett inkább javasolnék másikat. BMP280, például. Igaz ennél számításokat kell végezned utólag, mert a nyers adatokat kapod csak meg és a kalibrációs értékeket. Illetve van másik fajta is, amiből már a valós értéket tudod kiolvasni, de erre most típust nem tudok mondani. Talán tudja valaki kapásból.
(#) kriszrap válasza ktamas66 hozzászólására (») Jún 27, 2017 /
 
Idézet:
„Akkor a feladat adott: a regiszterekbe olyan értéket léptetsz ki, hogy csak egy led legyen aktív, ez megkapja az RGB jelet, majd léptetsz a következő ledre, ha vége, a következő szintre. Lehet azt is érdemes megoldani, hogy ne kelljen mindig a teljes shift regisztert írni, csak a led kiválasztását arrébb tolni eggyel.”

Akkor érdemes sorba kötni a shifteket vagy vezéreljem öket külön???
Ha külön és nem sorba kötve akkor csak a Data és Clock lábakat vezéreljem külön?
(#) zsoltee0001 válasza silent15 hozzászólására (») Jún 27, 2017 /
 
Szia
Köszi a megnyugtató választ, akkor ezek szerint mindenképpen kalibrálni kell, de a lényeg az, hogy nem függ a perifériától és külső tényezőktől.
Üdv
(#) silent15 válasza zsoltee0001 hozzászólására (») Jún 27, 2017 /
 
Pontosan nem tudom mekkora eltérést szabadna így produkálnia, de az direkt egy kalibráló regiszter, elvileg gyárilag be kellene kalibrálva lennie (be is van), de itt jön ki akkor a +-1%.
(#) silent15 válasza eSDi hozzászólására (») Jún 27, 2017 /
 
Nézegettem azt a szenzort is, csak árban magasabb, és a pontosság ilyen szinten már nem kell nekem, bár érdemes ezzel a szenzorral is foglalkozni
(#) ktamas66 válasza kriszrap hozzászólására (») Jún 27, 2017 /
 
Nem tudom most hogyan van kötve, mindét módszer működhet. Ha páthuzamosan vannak, akkor mehet ugyan az a Data, Clock, tárolás mindháromra, hiszen minden szín ugyanazt a ledet választja ki, így egy 0x80-at írva, majd végigléptetve sorba végigmegy mind a 8 leden. A PWM jeleknek persze különbözni kell. Mivel így alacsony lesz a ledek kitöltési tényezője, emelni kellene az áramon, de ezt ugye a 595 korlátozza (bár az adatlap a dinamikus terhelésről nem ír). Érdemes kicsit utána számolgatni mire mennyi idő maradhat, ha ezt így oldod meg.
(#) kissi válasza silent15 hozzászólására (») Jún 27, 2017 /
 
Igen, van a FLASH-ben egy gyárilag kalibrált érték ( az utolsó memória helyen ), de az csak akkor számít/működik, ha BETÖLTÖD az OSCCAL regiszterbe és ez automatikusan nem történik meg !
(#) silent15 válasza kissi hozzászólására (») Jún 27, 2017 /
 
Ez eszembe se jutott, így viszont részben félreinformáltam. Így viszont meg lehet akkor a gyári kalibrációs értékkel próbálkozni.
Így viszont akkor kérdeznék én is; adatlap szerint amikor a codeprotectiont kikapcsolom akkor törli a kalibrációs értéket is, viszont sima memory erasenél is törli azt a területet ?
(#) kissi válasza silent15 hozzászólására (») Jún 27, 2017 /
 
Idézet:
„Így viszont meg lehet akkor a gyári kalibrációs értékkel próbálkozni.”


Igen, azért tették bele !

Idézet:
„adatlap szerint amikor a codeprotectiont kikapcsolom akkor törli a kalibrációs értéket is”

Ilyenre nem emlékszem, hol láttad ( szerintem ezt "simán" kihagyhatnák a védelemből ! ) ?

Idézet:
„viszont sima memory erasenél is törli azt a területet ?”


Adatlap szerint:
Idézet:
„Erasing the device will also erase the preprogrammed
internal calibration value for
the internal oscillator.”
, azaz igen !
A hozzászólás módosítva: Jún 27, 2017
(#) icserny válasza silent15 hozzászólására (») Jún 28, 2017 /
 
A rendes programozó szoftverek elmentik és visszaírják a memória végére a kalibrációs konstanst, illetve PICkit2 esetén regenerációs menüpontot is láttam.

Ha valaki kódvédelmet állított be, akkor viszont nem megy a kiolvasás, tehát a kódvédelem feloldása után elvész a gyári beállítás, csak a regenerációs megoldás jöhet szóba.
(#) silent15 válasza kissi hozzászólására (») Jún 28, 2017 /
 
Vajon miért nem tölti be gyárilag azt az értéket? Miért kell manuálisan betölteni. Ha INTOSC beállítást használok megoldhatták volna hogy betöltődjön, elvégre 4Mhz-es órajelet szeretnék , nem 3,9-et, nem 4,1-et, hanem 4Mhz-et
Következő: »»   959 / 1210
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