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   491 / 1210
(#) ktamas66 válasza pillesoft hozzászólására (») Feb 19, 2014 /
 
Ezt én is megcsináltam anno, nekem nem vált be, bár lehet az új letöltésben már újabb programverzió van.
(#) _ampervadasz_ hozzászólása Feb 19, 2014 /
 
Sziasztok. CCS C -n tanulok programot írni PIc -re.

Nagy segítség lehetne, ha lenne egy olyan szimulátor program, ami a program működsét szimulálja, de csak program szinten. Nem flowcode -ra gondoltam, hanem olyan alkalmazásra, ami mutatja, hogy hol tart a program, milyen értéket vesz fel, és adtovább.
Emlékeim szerint, már belefutottam évekkel ezelőtt egy hasonlóvba, ott elég volt a C. ASM. HEX. fájlt megadni, és kiírta a programműveleteket, mutatta, hol tart, és a PIC azon lábait amelyek aktíavak voltak "átsatírozta" vörösre például. A program nem volt nagy max 100 mega.

Előre is köszönöm a segítséget.

Megj.: Nem MPLAB, IDE, -re gondoltam.

Mégvalami. Aki C nyelvvel barátkozik, annak ajánlatos kódnyelven megtanulnia a program megírását ha néhány általános praktikát betart.
Először eleinte Simpi ajánlotta a Flowcode -ot, ami egy nagyszerű program, de azt vettem, észre ha magamnak érthető módon széttagolom a programot, leírom sorban a kezelő függvényeket, és a main fügvényben elvégzek minden műveletet akkor gyakorlatilag átláthatóbb kódot kapok vissza.
Egy nem elhanyagolható apróság, a kód optimalizálása. Azt vettem észre, bár ez a saját tudatlanságomból is eredt, hogy, a flowcode nekem eléggé pazarlóan bánt a programmemóriával viszonyítva a CCS C -hez mert ott 1% ROM 0%RAM -ot adott vissza 18f4520 -asra. Csak amolyan tájékoztatójellegel írom le ide, úgy hogy nullároól indultam három hete.
A hozzászólás módosítva: Feb 19, 2014
(#) vilmosd válasza _ampervadasz_ hozzászólására (») Feb 19, 2014 /
 
Idézet:
„Megj.: Nem MPLAB, IDE, -re gondoltam.”

Marpedig ennel jobb szimulator nemigen van. En probaltam eleg sokat, de eddig ez valt be legjobban. Van a PICsimulatorIDE, de az ala nem lehet betolteni csak a leforditott programot. Nem egy ordongosseg a MPLAB IDE SIM, es itt is lathatsz mindent amit akarsz. A Watch ablakban olyan valtozot, vagy regisztert figyelsz amilyet akarsz. A CCS C siman hasznalhato a MPLAB alatt, es a szimulatorban soronkent tudod vegrehajtani.
(#) matheattila válasza _ampervadasz_ hozzászólására (») Feb 19, 2014 /
 
Szia, azt hiszem a Proteus (Bővebben: Link) lesz az a szimulátor program amire te gondolsz, nagyon sok PIC-et találsz benne (főként a 18F családból), itt csak be kell töltsd a lefordított .hex fájlt, beállítod az órajelet és még amikre szükséged van és már mehet is a szimuláció. A watch ablakban itt is pont úgy nyomon tudod követni a portok, regiszterek és változók értékeit mint az MPLAB-ban, viszont nem tudod soronként léptetni a c kódot.
Az új 8-as verzióban már a c kódot is soronként tudod futtatni szimuláció közben, csak azt hiszem, hogy nem támogat bármilyen fordítót.
(#) mrobi válasza _ampervadasz_ hozzászólására (») Feb 20, 2014 /
 
Szia!

Real Pic Simulator.

Demó változatban nem lehet menteni. Csak a .hex kell neki! Azt hogy 18F-es családot kezeli-e azt nem tudom, mert nincs előttem a program. Az biztos, hogy 12F és 16F-es családot kezeli.
(#) Pali79 válasza _ampervadasz_ hozzászólására (») Feb 20, 2014 /
 
Szerintem tanuláshoz jobb valamilyen demo kártya. Én próbálkoztam szimulátorral, de pl egy változtatható sebességű futófényt már nem tudtam normálisan lekezelni, ahol egy analóg érték figyeléséhez volt rendelve a léptetési sebesség. Addig elment a program, hogy várja a bemenő analóg értéket és csak és csak várt és csak várt....
Csináltam egy egyszerű demokártyát, felprogramoztam a picet és gyönyörűen működött.
Persze lehet, hogy én voltam a béna...
(#) Hp41C válasza Pali79 hozzászólására (») Feb 20, 2014 /
 
Proteus - fizetős, Real Pic Simulator - fizetős...
Tanulmányozni kell az MpLab 8 stimulus beállítási lehetőségét. Nemcsak digitális jeleket (pl. egész percnyi DCF77 jelsorozatot. Valaki épített egy DCF77 szimulátort, pedig csak egy stimulust kellett volna írni ), nem csak uart kapcsolatot (pl. Modbus táviratok), hanem analóg értékeket is lehet megadni (állományből olvasható be). Nagyon sok mindent le lehet tesztelni, amélkül, hogy be kellene programozni a kontrollerbe. Egyszer még egy 4 * 4 -es mátrixba kötött billentyűzet kezelését és egy csúszka kezelését is megvalósítottam (SCL nyelv és mondjuk Excel segítségével - az Excel állományba írta a lenyomott gomb sor és oszlop számát, a csúszka pozícióját, az MpLab SCL stimulus az állományból olvasta be és a megfelelő időpillanatban átadta a port ill ADRES regisztereknek).
A hozzászólás módosítva: Feb 20, 2014
(#) Pali79 válasza Hp41C hozzászólására (») Feb 21, 2014 /
 
Nagyszerű dolgok ezek, de már bőven túlmutatnak a
Idézet:
„nullároól indultam három hete.”
kérdésen.
Azt már csak halkan jegyzem meg, hogy szerintem egy kezemen meg tudnám számolni, hogy hányan rendelkeznek olyan tudással, hogy azt amit leírtál meg tudnák csinálni.
Arról nem is beszélve, hogy egy kezdő úgy sem hiszi el a szimulátornak (legalábbis én nem), hogy működik amit csinált, ha látja élőben az az igazi!

Én is kínlódok a fordulatszám mérővel, hogy számoljon normálisan, de nem jön össze, pedig biztos pofon egyszerű annak aki érti mi-miért történik a programban.
(#) Hp41C válasza Pali79 hozzászólására (») Feb 21, 2014 /
 
Amit összeszedtem, az az MpLab Help -jében is metalálható. Egyáltalán nem nehéz kezelni (Csak időnként roppant kellemetlen. Szerencsére a stimulus állomány szöveges, lehet más szerkesztővek javítani). A stimulusnél csak a bemenet(ek)et kell kiválasztani, a változások idejét és a bemenetek állapotát megadni. A szimulátor egy logikai analizátor szerű képet is tud generálni. Még mérni sem kell...
(#) DJozso hozzászólása Feb 21, 2014 /
 
Kedves fórumtársak. Egy kicsit elakadtam. Csinálnám első karakteres lcd progimat egy 16f84a-s PIC-be. A nyelv assambly. Valahogy nem sikerül rendesen elindítani az lcd-t. Csak egy sor megy a kettő közül.
  1. initLCD                                 ; initialize LCD right after power up
  2.         movlw   15
  3.         movwf   del
  4.         call    delay                   ; a 15 msec delay after power is on
  5.  
  6.         movlw   3
  7.         movwf   PORTB                   ; start LCD init process
  8.         movlw   5
  9.         movwf   del    
  10.         call    delay                   ; wait for 5 msec      
  11.  
  12.         movlw   3
  13.         movwf   PORTB                   ; start LCD init process
  14.         bsf     PORTB, 4                ; toggle the LCD Enable pin
  15.         bcf     PORTB, 4
  16.         movlw   5
  17.         movwf   del    
  18.         call    delay                   ; wait for 5 msec
  19.  
  20.         bsf     PORTB, 4                ; repeat the reset command (2nd time)
  21.         bcf     PORTB, 4
  22.         movlw   40                      ; wait for 200 usec
  23.         sublw   1
  24.         sublw   0
  25.         btfss   STATUS, Z
  26.         goto    $-3
  27.  
  28.         bsf     PORTB, 4                ; repeat the reset command (3rd time)
  29.         bcf     PORTB, 4
  30.         movlw   40                      ; wait for 200 usec
  31.         sublw   1
  32.         sublw   0
  33.         btfss   STATUS, Z
  34.         goto    $-3
  35.  
  36.         movlw   2                       ; initialize LCD 4-bit mode
  37.         movwf   PORTB
  38.         bsf     PORTB, 4                ; toggle the LCD Enable pin
  39.         bcf     PORTB, 4
  40.  
  41.         movlw   0x28                    ; 2-line mode
  42.         call    writeCMD
  43.  
  44.         movlw   1
  45.         call    writeCMD                ; clear display
  46.  
  47.         movlw   5                       ; wait for 5 msec after clearing
  48.         movwf   del
  49.         call    delay
  50.  
  51.         movlw   0x06                    ; cursor move after each char
  52.         call    writeCMD
  53.  
  54.         movlw   0x0E                    ; turn on LCD and enable cursor
  55.         call    writeCMD
  56.         return
  57. writeCMD                                ; write to LCD a 1-byte command in W
  58.         movwf   temp
  59.         swapf   temp, w
  60.         andlw   0x0F                    ; leave only the high 4 bits in W
  61.         movwf   PORTB
  62.         bsf     PORTB, 4                ; toggle the E bit
  63.         bcf     PORTB, 4
  64.        
  65.         movfw   temp                    ; proceed with the low bit
  66.         andlw   0x0F
  67.         movwf   PORTB
  68.         bsf     PORTB, 4                ; toggle the  bit      
  69.         bcf     PORTB, 4
  70.  
  71.         movlw   40                      ; wait for 200 usec
  72.         sublw   1
  73.         sublw   0
  74.         btfss   STATUS, Z
  75.         goto    $-3
  76.         return

Azt tudom, hogy nyolc bitesen azt kellene küldeni a lcd-nek: b'00101100', hogy konfigurálódjon, persze átírva úgy, ahogy a lábak vannak kötve a pic és az lcd közt.
E= RB4
RS= RB5
r/w=GND
D4=RB0
D5=RB1
D6=RB2
D7=RB3
Tudna nekem valaki okosat mondani?
(#) ktamas66 válasza DJozso hozzászólására (») Feb 21, 2014 /
 
A 4 bites mód beállítás után nincs várakozás.
(#) DJozso válasza ktamas66 hozzászólására (») Feb 21, 2014 /
 
Ilyen egyszerű lenne a megoldás? Kipróbálom, és nagyon köszönöm.
A hozzászólás módosítva: Feb 21, 2014
(#) gaspar_zsolt hozzászólása Feb 22, 2014 /
 
Sziasztok!

A 4 és 8 PWM kimenettel rendelkező PIC-ek esetén minden kimenetet tudok függetlenül, időben egyszerre, különböző kitöltésre állítani?
Az alapfrekvencia, minden esetben ugyanaz.
Egyszerre szeretnék szervomotorokat állítani igény szerinti pozíciókba!

ktamas66 és Prendick, a ti véleményetekre különösen kíváncsi vagyok!
Köszi!
Zs.
A hozzászólás módosítva: Feb 22, 2014
(#) _ampervadasz_ válasza vilmosd hozzászólására (») Feb 22, 2014 /
 
villmosd, köszönöm a segítséget, lehet, hogy a vége MPLAB lesz.

matheattila A proteus telepítője megvan, csak eddig még nem volt rá szükségem, így fel sem raktam, de majd kipróbálom, hogy mi válik be belöle.

mrobi Ez a Real Pic Simulator, egész jónak hangzik, talán lehet ismerem is, de nem biztos

Pali79 Így szerettem volna kezdeni, mindenféleképp, de sajnos nagyon hosszú ideje vegetálok anyagilag, így meg a legegyszerűbb demópanelt sem sikerült összehozni, próbapanellel (kettő változat van megtervezve).

Nekem most a szimulációhoz, nem arra van szükségem, hogy a programom tudjam tesztelni, inkább a függvények és változók működését, értékátadást (ha van) amit vizuálisan is követhetek a tanulás idejére.

HP41C. A te megoldásod is tetszik, majd haladottabb állapotban ki is próbálok minden lehetőséget, egyenlőre csak épületesen haladok és keresem a legegyszerűbb megoldásokat a célok eléréséhez.
A hozzászólás módosítva: Feb 22, 2014
(#) Hp41C válasza _ampervadasz_ hozzászólására (») Feb 22, 2014 /
 
Szia!
Idézet:
„Nekem most a szimulációhoz, nem arra van szükségem, hogy a programom tudjam tesztelni, inkább a függvények és változók működését, értékátadást (ha van) amit vizuálisan is követhetek a tanulás idejére.”

MpLab: Debugger / Select cebugger / MpLab SIM. A View / Watch ablakot nyisd meg, a Symbol name mezőbe be tudod írni a változóid neveit (vagy az Add FSR ill. Add Symbol gombokkal). Újrafordítás után láthatod a változók értékét. A Debugger / Breakpoints ablakkal töréspontokat állíthasz be - csak olyan sorra, amihez kód is fordul. Ezekután lépésenként (F8) vagy törépontig (esetleg a kurzor soráig) hajthatod végre a programot. Magas szintű nyelven írt programnál az első sorok egyikére kell töréspontot tenni, így a bevezetőkód nyomonkövetését nem kell elvégezni.
(#) _ampervadasz_ válasza Hp41C hozzászólására (») Feb 22, 2014 /
 
Köszönöm majd megpróbálkozok vele (amint beszereztem).
(#) ktamas66 válasza gaspar_zsolt hozzászólására (») Feb 22, 2014 /
 
Igen. Sőt, bizonyos PIC-keknél még a PWM frekvencia is különböző lehet, a timerek számától függően.
(#) Balagemann2031 hozzászólása Feb 22, 2014 /
 
Sziasztok! Már pár órája bajlódom egy 18F67K90 (QFTP) (0,2mm es lábtáv) piccel. A picet felforrasztottam egy adapter panelra, és csináltam neki lyukacsos próbanyákon egy ICSP kiveetést, amire a gyári PK3-mat dugom. A problémám az hogy nem ismeri fel a PK3. próbáltam minden táplábat bekötve 100n-es kondikkal de semmi. (MCLR felhúzva 10K val VDD re, 20n-es kondi MCLR és VSS között.) két adapterem van és mindkettőn azonos típusú pic, mindkettővel próbálkozom, de nem ismerődnek fel Valakinek ötlet?
(#) Hp41C válasza Balagemann2031 hozzászólására (») Feb 22, 2014 /
 
Pickit3 Scripting Host nem tudja kezelni, csak az MpLabX vagy az Integrated Programming Environment.
(#) Balagemann2031 válasza Hp41C hozzászólására (») Feb 22, 2014 /
 
Letöltöm akkor az MPLAB X-et és megpróbálom. Egyébként a PK3 saját programozó programjával próbáltam eddig, nem MPLAb-bal.
(#) Hp41C válasza Balagemann2031 hozzászólására (») Feb 22, 2014 /
 
Az csak egy PICkit2 -t csinál a PICkit3 -ból és a Pk2devicefile.dat V1.62.14 -et használja. Ez a legutolsó gyári állomány. A PICkit2 klón topikba töltöttem már fel bővített állományt. Ne felejtsd el a Scripting Host -tal visszatölteni az MpLabX kompatibilis firmware -t.
(#) Balagemann2031 válasza Hp41C hozzászólására (») Feb 22, 2014 /
 
Sikerült megoldanom a problémát, kipróbáltam az MPLABx-et, de nem nagyon boldogultam vele. Viszont MPLAB 8.70 alatt megkerestem a pic típusát, és mivel zölden jelezte, hogy ismeri a pickit3 így próbálkoztam tovább. Végül olvastam, hogy másnak is volt hasonló problémája, és abból adódott, hogy nem volt bekapcsolva a tápellátás, ezért nem látta az eszközt. Hihetetlen hogy ilyeneken el lehet akadni
(#) gaspar_zsolt válasza ktamas66 hozzászólására (») Feb 22, 2014 /
 
Ezeket a PIC-eket néztem ki eddig. A 16F690, 16F1829 4db PWM-et, a 18F4431-es 8db PWM-et tartalmaz, ez utóbbi ráadásul 14 bites, legalább is az adatlapok szerint. Ezekre stimmel a független kimenetek vezérlése? A 16F-eknek a 4 kimenete külön programozható, ugye? Ssak azonos frekvencián.
A 18F-est azt nem régen találtam, azt még nem silabizáltam ki, csak megtetszett a felbontás nagysága.

Mondj egy olyat is, amelyiken mindent lehet állítani, légy szíves.
A hozzászólás módosítva: Feb 22, 2014
(#) icserny válasza gaspar_zsolt hozzászólására (») Feb 23, 2014 /
 
Idézet:
„A 16F690, 16F1829 4db PWM-et...”
Ne éld magad bele! A PIC16F690-nél az a 4 db PWM kimenet egy és ugyanazon csatorna négy, különböző fázisú kimenete, fél- és egész hidak vezérlésére!
(#) ktamas66 válasza gaspar_zsolt hozzászólására (») Feb 23, 2014 /
 
Nem tudjuk pontosan mi az elképzelésed motor vezérlésre, de:
- a 16F1829 tud 4 PWM csatornát, 3 féle órajel kapcsolható hozzá ( tehát 4 csatorna / 3 féle freki, viszont a kis lábszám miatt jól végig kell gondolni pontosan mit is szeretnél még),
- 18F4431 is csak 4 csatornát tud (a másik 4 a előzőek kimenete), de ez egy adott frekin megy.

Ajánlom használni a Microchip Advanced Part Selectort, itt jól paraméterezhetően lehet keresni (és sorba rendezni a találatokat ár szerint ).

Én utoljára 18F25K80-al használtam 4 PWM kimenetet, itt 2 féle frekiből lehet választani.
(#) pillesoft hozzászólása Feb 23, 2014 /
 
Sziasztok!
PIC16/PIC18-hoz szeretnék vmi tápfeszültséget készíteni.
Eleddig PICKIT3-al hajtottam meg a demo panelt (28 pin count demo panel). Egyenlőre a demo panelt még nem akarom elhagyni, de szeretnék olyan tápot adni neki, ami független a számítógéptől. Olyan kellene ami pl. 9V elemmel, vagy 4x1.5V elemmel működik.
Ha jól sejtem a 9V-ból lehetne 5V-t csinálni, a 4x1.5V lehetne 3.3V-t csinálni.
Viszont én nem értek ennyire az elektronikához...
Előre is köszönöm!
(#) Hp41C válasza pillesoft hozzászólására (») Feb 23, 2014 /
 
Keress egy kapcsolást a cikkek között (pl. LCM3). A legegyszerűbb a három lábú stabilizátor használata, de hamar lemerítik az elemeket. 5V -ra 100mA ig LP2950CZ-5.0, 78L05, 1A -ig 7805 (megfelelő hűtéssel). +3.3V ra 100 mA LP2950ACZ-3,3, LE33 CZ, 1A -ig LF33 CV (megfelelő hűtéssel). A kimenetükre az adatlap szerinti kondenzátort a lehető legrövidebb huzalozással kell bekötni. Ajánlott egy soros dióda az elem fordított polaritású csatlakoztatásának kivédésére.
A hozzászólás módosítva: Feb 23, 2014
(#) Prendick válasza gaspar_zsolt hozzászólására (») Feb 23, 2014 /
 
Szia!

A 16F1526/7-ben tudsz csinálni öt tökéletesen független pwm kimenetet (plusz még ötöt, amik függőek). A 18-asokat kevésbé ismerem, úgy emlékszem a 18F87Kxx típusokból lehet hasonlót kihozni.
Egyszerűen úgy lehet kiválogatni, hogy a táblázatban megnézed, hány timere van egy picnek. Pl. a 16F1626-nál van 6 db. 8 bites timer. Az első a TMR0, az nem jó, de a másik öt TMR2-es típusú és alkalmas pwm-re, vagyis abba raknak sok timert, amibe sok pwm lehetséges.
/A negatív dolog a 64 lábú TQFP tok, amivel el lehet játszani a panelon./
(#) Hp41C válasza gaspar_zsolt hozzászólására (») Feb 23, 2014 /
 
18F26J53, 18F27J53, 18F46J53, 18F47J53 7 db CCP és 3 db ECCP modullal rendelkezik és 28 ill 40 (44) lábú, még DIP tokban is kapható.
(#) gaspar_zsolt válasza ktamas66 hozzászólására (») Feb 24, 2014 /
 
Szervomotorokat szeretnék vezérelni, egységes frekvencia kell nekik, kb. 60Hz.
A különböző frekvenciásokat csak kíváncsiságból kérdeztem, hogy meg tudjam nézni az adatait összehasonlításképpen.
Köszönöm szépen.

A MAPSot használni szoktam, csak még a rutin hiányzik miket figyeljek és keressek.
A hozzászólás módosítva: Feb 24, 2014
Következő: »»   491 / 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