Fórum témák
» Több friss téma |
Ezek a lábak kétfajta kimenettel rendelkeznek és csak I2C módban OD egyébként CMOS.
Köszönöm szépen a választ, akkor most megnyugodtam.
![]()
Üdv. PIC18F46K22 bemeneti szinteket próbálgattam 5V tápfeszültségnél, hogy reagál analóg bemeneti jelre a TTL bemenet, az alábbi kóddal próbálva:
Portd.4 -re potival adtam lassan növekvő analóg egyenfeszültséget 0-5V -ig, portd.5 2.3V-nál felugrik, csökkenő feszültségnél 1.7V-nál leugrik. Ez olyan, mintha ST bemenet lenne, pedig adatlapon TTL van. Elvileg portd.4 bemenet a határozatlan szinteknél abnormálisan reagálna TTL miatt, ehelyett semmi probléma, zavar nélkül szépen váltogat 0V és 5V szinteket portd.5 kimenet szerint. portd.4 bemenet alap "Digital I/O", nincs semmi másra konfigurálva. Mi lehet a magyarázata, használható lenne analóg szintre is ez a TTL bemenet? Köszönöm.
Az adatlap is azt írja hogy ST típusú az RD.4 bemenet.
A hozzászólás módosítva: Jún 24, 2016
Közben mérd a PIC áramfelvételét is. A digitális bemenetek áramkörei komplementer MOS-FET -ekkel vannak felépítve. A munkapontokat úgy állították be, hogy nem számítanak arra az esetre, amikor a bemeneten levő feszültség sokáig tartózkodik a logikai szintek között levő tiltott zónában. Ha mégis abban a tartományban van sokáig, a bemeneten levő kapu P és N csatornás MOS-FET -jei nyitnak és nagyobb áram folyik hosszabb időn keresztül a táp és a föld között.
A hozzászólás módosítva: Jún 24, 2016
Nem figyeltem eléggé, a kimenetet írja TTL-nek. Valóban ST a bemenet.
Hp41c Mégiscsak ST a bemenet, áramfelvétel változatlan, egész pontosan 13.33mA, a ST tartományban 13.35mA, amikor lassan nő a feszültség a bemeneten. Köszönöm a segítségeket.
Eltartott egy ideig, míg olvasgattam ezt-azt mindenféléket ellenőrizni hozzá, de végeredményként ebben:
Idézet: „a lényeg, hogy 32MX795-höz illeszkedjen” tudok annyi könnyítést, hogy nem kell kimondottam mx795-höz alkalmazkodnia. Pic 32mx-eken a teljes skálán annyi az eltérés, hogy a pdipesek-nél pin reprogramming van, ami a többinél nincs, és a kevesebb lábszámú darabokon némelyik portláb nem létezik, ami a nagyobbakon létezik. Ha valamelyik usb rebooter olyan lábat használ indító ellenőrzésre, amit másra használnál, azt egyébként is át kell írni a forrásban. Azon túl bármelyik 32mx-re is készült a cucc, használhatod a többi mx-hez is. Kisebbhez is, nagyobbhoz is.
Köszi az ellenőrzést.
Közben a bootloader részt átríttam magamnak és működik is ahogyan kell. icserny fórumtársunk rávezetett, hogy valószínűleg (vagy elvileg tudnom kellett volna) az új MLA függvénykönyvtárban az USB bootloader és úgy ám-blokk az egész USB rész hiányos vagy egyáltalán nincs benne. Egy régebbi 2010-es verziót letöltve remekül működik a dolog. MPLAB X-et pedig jó messzire el kell felejteni még egyelőre.. (azon nem működik)
Én úgy emlékszem írtam már, de ha megnézed az új MLA PIC32-őn csak TCPIP stack-et tartalmaz minden más a harmony-ban van, amiről ugye sokan azt mondják, hogy semmire nem jó.
De ha új MLA-t akarsz használni a 16 bites PIC-ek USB stack-jét szerintem át lehet emelni PIC32-re egy kis ügyeskedéssel, bár ez nem biztos. Idézet: „MPLAB X-et pedig jó messzire el kell felejteni még egyelőre.. (azon nem működik)” Ha jelent bármit, én nem mondtam meg előre ![]()
Még mindig túl sok a fordító direktíva a mélyben, meg a változók szélessége sem ugyan az, nem lehet azt csak úgy átemelni 16 bitről.
Letöltöttem a harmony-t, hamar kukáztam.
Amúgy TCPIP majd fog kelleni később mert van olyan tervem amihez nélkülözhetetlen lesz.
Hehe, ezt az utat azt hiszem nekem is be kellett járnom
![]()
Sziasztok a kódóm miért nem fút le 1 másodperc allat???
kb 4-5 másodperc vagy több amire le futt
Köszi a segítséget elöre. A hozzászólás módosítva: Jún 25, 2016
Jó lenne látni, hogy mi van az oszlopok(), elsosor() és nullaz() függvényekbe.
Illetve, hogy a Delay_us() az jól van e beállítva. (OSC beállítások)
MikroC project Editnél 1mhzre állítottam belsó oszcillátor. pl4 et kikapcsoltam és minden mást MCLRT is A programban a kódba nincs bellitva semmise A hozzászólás módosítva: Jún 25, 2016
A PIC a/d lábára csak 0-5V-ot kapcsolhatok,vagy akár 0-24V-ot is?
Az adatlapban le van irva a max. ertek, de ez nagyjabol a tapfesz korul van, tobbet nem visel el.
A magasabb fesz mereset egyszeru feszultsegosztoval (24V eseten 1:4 koruli) lehet megoldani, erdemes a biztonsag kedveert egy 4.7-es (ha bator vagy, 5.1-es) zenert betenni fold fele.
Nem találtam,hogy mennyit lehet a bemenetre kötni,csak azt,hogy az operating feszültség 5,5V tipikusan
![]()
Abba belegondoltál, hogy 1Mhz órajel alatt valójában 4uS egy asm utasítás végrehajtási ideje? (Ráadásul egy egyszerű C függvény akár több asszembly sorbol is állhat)
Ne csak a Delay_us függvénnyel számolj, minden utasításhoz kell idő! 1. Emeld meg a processzor órajelér 2. A beépített debugger segít a valós végrehajtási időt kiszámolni
A mindenkor Vdd érték fölé nem érdemes menni, hiszen a konverzió max 1023-értéket ad vissza. A katalógus szerint a bemeneti feszültség Vdd+0.3V. Ez utóbbi a bemenet és a Vdd közti schottky dióda nyitófeszültsége, mely a túlfeszültségvédelmet adja. Ha biztonság kedvéért mégis zénert használnál az terheli a bemenetet, érdemes a lassabb mintavételezést választani. Természetesen egyik védelem sem ér semmit, ha a bemeneti áram nem korlátozott!
Ha javasolhatok valamit, állítsd a Pic tápfeszét 4,096 voltra, ha olyan PIC-et használsz amin ki van vezetve a REF feszültség akkor ref+ -t állítsd 4,096 - ra (az 5 voltos tápból leosztva). Így nagyban megkönnyíted a számolgatásokat.
Ha magasabb feszültséget akarsz mérni az osztó legyen a kettes számrendszer hatványa (8,16,32 stb). Így a számolgatásokat egyszerű bitléptetéssel megúszod. Az ad bemenetet a pontos méréshez kevesebb mint 10 kohm-mal kell meghajtani, ha ez nem teljesül használj műveleti erősítős feszültségkövetőt. Az ad bemenetre tégy egy 4,3, v. 4,7 voltos zenert és sorba egy ellenállást (pl. 220 ohm). A hozzászólás módosítva: Jún 25, 2016
Idézet: „ref+ -t állítsd 4,096 - ra (az 5 voltos tápból leosztva).” Üdv! Ha az ember normálisan akar mérni, akkor ezt szerintem azonnal verje ki a fejéből. Elég olcsón lehet venni feszültség referenciákat pl.: MCP1541-et. Persze, ha csak nagyjából kell megmérni az ADC-be jutó jelet, akkor jó lehet a feszosztós megoldás is.
Nem hiszem, hogy a PIC ad-je annyira minőségi darab lenne. És ugye túlnyomó többségben a tápfeszt használják referenciának, tehát nyugodtan lehet használni a leosztott feszültséget is (sőt a felbontás is javul).
A Zener -es védelmet el kell felejteni. Jelentősen terhelnek már jóval a küszöbfeszültségük alatt. Egy Schottky dióda a Vdd felé jobb védelem.
Vannak PIC -ek 12 bites A/D átalakítóval is (PIC18Fxxx3, PIC16F178x) A hozzászólás módosítva: Jún 25, 2016
Ebben igazad van én 5,1 es zenert szoktam tenni az már nem terhel 4 voltnál (mért adat). Abban is igazad van hogy 12 bites ad-s pic is van. Viszont pl. a 10 bites egy atomstabil feszültséget nem hajlandó kétszer egymás után ugyanannyinak mérni a tizedik bitnél.
Az A/D-k 1-3 LSB hibával dolgoznak ez 10 bites átalakítóval átszámítva kb. 5mV-15mV hiba leosztás nélkül. Ilyen kis felbontás mellett teljesen felesleges a spéci referencia. Némely esetben még a külső referencia is felesleges, viszont nagyon jó giskard megoldása, ugyanis nincs osztás a szoftverben.
Plusz egy indok a zéner sokkal lassabb. Előbb jelenik meg a feszültség a PIC bemenetén mire lezárna.
Igazatok van, hogy a diódás védelem korszerűbb.
Viszont eddig még a zener-es megoldás is bevált (pedig engedtem rá a tápfesz többszörösét is). De meg lettem térítve, ezentúl én is áttérek. |
Bejelentkezés
Hirdetés |