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   775 / 1203
(#) icserny válasza cross51 hozzászólására (») Ápr 18, 2016 /
 
Nem tűnik életszerűnek. De a "megvannak"-nak nem az "egyiken sincs" a logikai ellentéte. Tehát lehet olyan szituáció, hogy az adatvonal fel van húzva, az órajel vonala meg nincs (vagy nem jut el a jele az eszközre).
(#) KaiserA válasza icserny hozzászólására (») Ápr 18, 2016 /
 
Ugyanezen a vonalon van egy hőszenzorom, az működik.
(#) f2f2 hozzászólása Ápr 19, 2016 /
 
A 782es lapon írtam egy assembler fájlt PIC12F683 ra
egy kedves tag le is fordította kérésemre
viszont a pdf jét nézve a CONFIG bitjein elakadtam.

  1. PROCESSOR 12F683
  2.     #include "P12F683.inc"
  3.     __CONFIG _CP_OFF&_CPD_OFF&_BOD_ON&_MCLRE_OFF&_PWRTE_ON&_WDT_OFF&_INTOSCIO&_FCMEN_OFF&_IESO_OFF


A pdf ben levő 12 CONFIG bit:
FOSC0 ; FOSC1 ; FOSC2 ; WDTE
PWRTE ; MCLRE ; CP ; CPD ;
BOREN0 ; BOREN1 ; IESO ; FCMEN

A fordított HEX nél most így néz ki CONFIG 03C4
a 12 ből áll bitON: FOSC2 ; CP ; CPD ; BOREN0 ; BOREN1
viszont az Assembler fájlban
CP OFF
CPD OFF
BOD ON (BOD regiszter nemhogy a CONFIGban de még a PDF ben sincs)
MCLRE OFF
PWRTE ON
WDT OFF (Az E betű nem is kell ? WDTE)
FCMEN OFF
IESO OFF

Jó lenne ezt tisztázni lassan át kellene adnom a panelt.

Ha nem rendelkezünk semmiről akkor minden CONFIG-bit 1 lesz
ahogy nézem. Ha rendelkezünk pár bitről
és ha csak azt nézem, ami a rendelkezés szerint OFF,
akkor hogy lehet hogy Pickit2 programban importálom a hex fájlt és CP=1 ; CPD=1
ha a FCMEN=0 ; IESO=0 ?

ezer Kössz
(#) f2f2 válasza f2f2 hozzászólására (») Ápr 19, 2016 /
 
Vagy a soron következő INTOSCIO nél nem tetszett és nem folytatta a fordító az FCMEN és IESO val ?
INTOSCIO szintén nincs a configban és nem állt utána OFF vagy ON.
(#) pajti2 válasza f2f2 hozzászólására (») Ápr 19, 2016 /
 
Egészen biztosan nem számoltad el a címeket a bitekhez? Megnézted az erratát is, hogy nem a doksiban van-e elírva valami? A config bitek miatt egyébként még újrafordítani sem kell, csak átírod a hex file-t egy sima notepaddal.
(#) nyekk hozzászólása Ápr 19, 2016 /
 
Üdv .
MikroC -hez keresek segítséget.LCD kijelzőre kellene kiírnom 16 karaktert,majd 1-2s várakozás után ,újjabb 16 -ot,ugyan abba sorba,és ezt ismételgetni.A internetet böngészve találtam különböző,programokat amik siftelgetik a beírt szöveget,de erre nem találtam megoldást.Bármilyen előre megírt program,lényegtelen milyen PIC-re,jól jönne,ami tudja az álltalam felvázoltakat.Szóval a lényeg annyi volna ,hogy lássam a parancs sort ami ezt végre hajtja.
Válaszotokat előre is köszönöm!
(#) Elektro.on válasza nyekk hozzászólására (») Ápr 19, 2016 /
 
A MikroC súgójában minden benne van!
De ITT egy korábbi ultrahangos távolság mérő kódom, igaz Mikropascal de benne van az LCD kezelés.
Mikro pascal és Mikro C közt csak némi szintaktikai eltérés van.
A hozzászólás módosítva: Ápr 19, 2016
(#) Elektro.on válasza nyekk hozzászólására (») Ápr 19, 2016 /
 
Két gyors kép a MikroC súgóbol:
Az első az inicializásáls, a második szöveg írás adott pozícióba.
(#) Pali79 válasza f2f2 hozzászólására (») Ápr 19, 2016 /
 
Üdv!
A PK2 saját programjában meg lehet nézni a CONFIG biteket külön is. Ott jól látszik, hogy melyik milyen állapotban vanés át is tudod állítani egyesével ha nem jól van. A hexa szám nem embernek való.
(#) sonajkniz válasza Pali79 hozzászólására (») Ápr 19, 2016 /
 
Idézet:
„A hexa szám nem embernek való.”

Ezért létezik az assembly.
(#) Hp41C válasza Pali79 hozzászólására (») Ápr 19, 2016 /
 
Idézet:
„A hexa szám nem embernek való.”

Miért??? Akkor kinek? A gép csak a binárisat érti....
(#) Pali79 válasza Hp41C hozzászólására (») Ápr 19, 2016 / 1
 
Idézet:
„Miért??? Akkor kinek?”
Nemtom, de Te mondtad ezt egyszer már...
(#) djadji válasza eSDi hozzászólására (») Ápr 19, 2016 /
 
Szia!
Feletettem az MPLAB IPE-t, és szuper, tetszik, de nem tudom használni. Mikor connectre katintok, kiírja, hogy 5Vot adok 3,3Vos programozáshoz, akkor gond lehet (ha jól értem).
Amikor programozni szeretnék ezzel, akkor kel a PICre tápot adni? (a pickit3nál nem adtam, ezért nem egészen tudom hogyan is használjam).
Van valami ötleted miért írja ezt ki?
(#) eSDi válasza djadji hozzászólására (») Ápr 19, 2016 /
 
Ilyenkor csak figyelmeztet, ha rosszul választod meg a tápfeszt, akkor tönkre teheted a PIC-et.
Alapesetben a céleszköznek kell biztosítani a tápfeszültséget, mert a PK3 csak minimálisan terhelhető (egy karakteres LCD a tápvonalon már bekavarhat).
De átállítható:
Settings->Avanced Mode->Log on. (a jelszó microchip)
Ezután a Power fülön válszd ki a Power Target Circuit from Tool opciót.
(#) Hp41C válasza djadji hozzászólására (») Ápr 19, 2016 /
 
Az MpLabX IPE alapból nem ad tápfeszültséget a programozandó kontrollernek. A kiindulás az, hogy a kontroller be van forrasztva a panelbe (lévén a többségük sokszáz lábú SMD tok), a tápfeszültséget a panel biztosítja (a PIC32MZxxDAyy -nak már nem is elég egy tápfeszültség).

Ha mégis tápot szeretnél adni:
Settings / Advanced modde után jelszó megadása majd Power kiválasztása a feszültség beállítása és a Power circuit form PICkit3 négyszög kipipálása. Ne állítsunk be 5.00V -ot, mert a Schottky dióda miatt a visszamérésnél túl nagy hiba lesz, használjunk inkább 4.75V -ot. Nem tudom, miért csak ilyen nagy lépést valósítottak meg, amikor pl. a PIC16F628 -nél a 4.70V a chip erase művelet minimális feszültsége. Mindegy Ők tudják.... Ha ójraindítod a programot, a power beállítást elfelejti, de a feszültséget nem....

Hogy ez miért ilyen bonyolult és lassú, az is csak Ők tudják...
Sok türelmet!
(#) f2f2 válasza Pali79 hozzászólására (») Ápr 19, 2016 /
 
Honnan láttam volna hogy minek veszi a PK2 prog
hex betöltéskor, hogy melyik config bit hogy áll, ha nem léptem be
a config részletezésébe, ahol még editálhatok egyszerűbben
mintha a hex et módosítanám ?
Hát persze, hogy ott néztem meg nem a chipben kukucskáltam.
Azért rendesen átsiklotok a részleteken. BOD,WDT stb.
Persze örülök, hogy próbáltok segíteni.
Az Assemblerben látott config szerint én kézzel, hogy állítsam be
a 12 bitet ?
Ha off akkor bit=1 ha on akkor bit=0 ?
Egy másik programozóban a config biteknél pipával jelzik az OFF ra állítottakat.
Kellene már átadnom a ketyerét.

FOSC0=1_NR ; FOSC1=1_NR ; FOSC2=1_NR ; WDTE=1_NR
PWRTE=0_ON ; MCLRE=1_NR ; CP=1_OFF ; CPD=1_OFF ;
BOREN0=1_NR ; BOREN1=1_NR ; IESO=1_OFF ; FCMEN=1_OFF

NR:assembler fájl nem rendelkezett róla
FOSC oknál full elbizonytalanodtam
Kössz
A hozzászólás módosítva: Ápr 19, 2016
(#) Hp41C válasza f2f2 hozzászólására (») Ápr 20, 2016 /
 
Induljunk a kályhától:
Egy törölt kontrollernek nem lehet kiolvasásvédett a program és/vagy az adatmemóriája - honnan tudnád, hogy sikerült a törlés...
A törölt kontroller minden adata (kivéve a DeviceId) 0x3fff, azaz minden bit 1.
Ezekután a kikapcsolt konfigurációs bit (pl. CP, CPD) 1.
A konfigurációs bitek szerepét a 12F683 adatlapjában (DS41211D-page 84) a Special features of the CPU / Configuration bits fejezeben találod meg.
bit 6 = 1 jelenti a _CP_OFF -ot,
bit 7 = 1 jelenti a _CPD_OFF -ot,
bit9..8 = 00 jelenti a _BOD_OFF -ot másnéven a _BOREN_OFF -ot,
bit 5 = 0 jelenti a _MCLRE_OFF -ot ,(MCLR pin function is digital input, MCLR internally tied to VDD)
bit 4 = 0 jelenti a _PWRTE_ON -ot,
bit 3 = 0 jelenti a _WDTE_OFF -ot, másnéven a _WDT_OFF -ot,
bit 11 = 0 jelenti a _FCMEN_OFF -ot,
bit 10 = 0 jelenti a _IESO_OFF -ot,
bit 2..0 = 100 jelenti a _FOSC_INTOSCIO -t (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN).

Ebből az essembly -nek szóló sor:
config _FCMEN_OFF & _IESO_OFF & _BOREN_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _WDTE_OFF & _FOSC_INTOSCIO

Az assembly neveket a c:\Program Files\Microchip\MPASM Suite\PIC12F683.inc állományban találhatod meg.
(#) pajti2 válasza Hp41C hozzászólására (») Ápr 20, 2016 /
 
Idézet:
„a PIC32MZxxDAyy -nak már nem is elég egy tápfeszültség”

Kérdés: hol lehet azt a családot kapni? Én valahogy nem találkoztam vele.
(#) kontár hozzászólása Ápr 20, 2016 /
 
Valaki nem tud egy olyan rövid összefoglalót a mikrokontrollerek adatairól (ADC,PWR , külső belső oszcillátor stb,stb) , hogy ne kelljen az egész adatlapot átnézni. Androidra létezik ilyen ,de én windowsra szeretném valamilyen formátumban.
(#) Elektro.on válasza kontár hozzászólására (») Ápr 20, 2016 /
 
A Microchip gondolt erre:
Microchip Advanced Part Selector
(#) kontár válasza Elektro.on hozzászólására (») Ápr 20, 2016 /
 
Örök hála .Köszönöm
(#) f2f2 válasza Hp41C hozzászólására (») Ápr 20, 2016 /
 
Zsolt köszönöm és világos. ahogy újként megvesszük a vezérlőt
és minden bit1 akkor eszerint képlékenynek kell lennie
és a CP és CPD értelmezése eleve nem lehetne ON állapotban bit1.
Zsoké. Tehát ezenkívül egy configban az, hogy még mi van fordítva
OFF=bit1 azt az adatlapja írja le. PWRTE az általánosan is ilyen mint a CP,CPD ?
Ja és az include állomány asm nevek oké.
Tehát pont jó volt a config, amit hexben kaptam.
Hálám nektek
(#) Koncsar hozzászólása Ápr 21, 2016 /
 
Sziasztok! Segítséget szeretnék kérni, ha esetleg Valaki ismeri a 12F683 at. Mekkora a belső kvarc órajele? Köszönöm.
Adatlapjából nem tudtam értelmezni.
A hozzászólás módosítva: Ápr 21, 2016
(#) Zsolt2 válasza Koncsar hozzászólására (») Ápr 21, 2016 /
 
8Mhz (adatlap Figure 3-1, 21o), azonban ezt meg le lehet osztani ha tul nagy.
(#) Koncsar válasza Zsolt2 hozzászólására (») Ápr 21, 2016 /
 
Köszönöm Zsolt. Egy motor PWM meghajtásához kellene 20kHz es freki.
A hozzászólás módosítva: Ápr 21, 2016
(#) sonajkniz válasza Koncsar hozzászólására (») Ápr 21, 2016 /
 
Szia!
Ez a PIC van neked, vagy most akarod megvenni?
Azért kérdezem, mert ha csak egy, vagy max kettő motor PWM meghajtása a cél, akkor a 10F320, vagy 322-őt ajánlanám. Roppant egyszerű vele összehozni.
A hozzászólás módosítva: Ápr 21, 2016
(#) Koncsar válasza sonajkniz hozzászólására (») Ápr 21, 2016 /
 
Igen, ebből van több darab.
(#) sonajkniz válasza Koncsar hozzászólására (») Ápr 21, 2016 /
 
Megnéztem a PIC adatlapját.
Teljesen hagyományos felépítésű.
Az osccon registert állítsd '01110001'-re.
A t2con registert '00000100'-re.
A PR2-őt 100-ra.
A ccp1con registert '00001100'-ra.
A ccpr1l -el 0-100-ig szabályozhatod a kitöltést.
Az 5-ös lábat (GP2) állítsd kimenetnek. Ott adja ki a PWM jelet.
Amúgy milyen motort akarsz 20KHz-n szabályozni?
A hagyományos szénkefés motoroknak ekkora frekin romlik a teljesítménye, és minden melegedni fog. (fet, vezeték, motor.) Én a tizedét szoktam max használni.
(#) korgua hozzászólása Ápr 21, 2016 /
 
Hali,
segítséget szeretnék kérni egy hiba feltárásához:
Adott egy 16f873-as IC, aminek a fent nevezett része instabil
(legalábbis a Proteus szerint, ugyanis rendszertelenül villog),
pedig ennek kéne "aktiválni" az L293D motorvezérlőt.
2 gombot használok, az egyik a PWM_duty-it emeli, a másik csökkenti.
Amíg a pwm_duty 0, addig semmi gond nincs, amint kap egy magasabb értéket, máris instabillá válik. Próbáltam csökkenteni/növelni az alapórajelet, nem történt változás...
Mellékelem a Proteus szimulációt, illetve a MikroC kódot.
Illetve, még az lenne kérdésem, hogy a pcb tervezéshez nem konyítok annyira, mint szeretnék,
de ha a szimulált áramkört egy az egyben megcsinálom nyákra, akkor működni fog a való életben is, vagy még kell valami hozzá?
Előre is köszönöm, ha valaki segítene benne...
(Zárójelben, ugyan ez a pcb terv p16f877-tel nem eredményezett hibát a szimulációban)
A hozzászólás módosítva: Ápr 21, 2016

proteus.rar
    
(#) Hp41C válasza korgua hozzászólására (») Ápr 21, 2016 /
 
Idézet:
„TRISC = 0xFF; //PORTC as output”

Ekkor a PORTC minden bitje bemenet.
  1. TRISC = 0x00; //PORTC as output
Következő: »»   775 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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