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   1150 / 1210
(#) silent15 válasza tigris127 hozzászólására (») Feb 12, 2021 /
 
Szia!

16F1847 a nagytestvére. 1:1 helyettesítésre lenne szükség? Milyen modulok kellenek?

Üdv!
(#) Bakman válasza tigris127 hozzászólására (») Feb 12, 2021 /
 
Miért kellene helyettesíteni? Kb. a sarki fűszeresnél is kapható.
(#) tigris127 válasza Bakman hozzászólására (») Feb 12, 2021 /
 
Azért gondolkodnék helyettesítésben, mert sajna nincs a sarki fűszeresnél. farnell: nincs, hestore: nincs, lomex: nincs, conrád: nincs, de ha lenne is horror...stb a chipcad 10 napot mondott.
(#) Bakman válasza tigris127 hozzászólására (») Feb 12, 2021 / 1
 
Ha vasárnap estig megrendeled, szerdán megkapod: Bővebben: Link.
(#) tigris127 válasza silent15 hozzászólására (») Feb 12, 2021 /
 
Erre nehéz válaszolnom, mert mostanában kezdtem foglalkozni a pic-el. Utánépíteni szeretnék egy kapcsolást, ahhoz kéne, csak pill nem kaptam egyenlőre. Maga az árakör nem bonyolult, igazából négy ledet hajt meg DCC üzemben

PIC.JPG
    
(#) Bakman válasza tigris127 hozzászólására (») Feb 12, 2021 /
 
Milyen az a DCC üzem?
(#) tigris127 válasza Bakman hozzászólására (») Feb 12, 2021 /
 
Vasútmodellek Digitális vezérlésere való rendszer
(#) nedudgi válasza glaci hozzászólására (») Feb 13, 2021 /
 
Bár nem 1wire kapcsolatban, de hasonló esetben I2C estén a példaprogramban azt a hibát találtam, hogy nem minden esetet kezelt le a programozó. Nem kezelte le azt az esetet, hogy az kontroller nem tudta lekezelni az eszköz hibajelzését.
(#) eSDi válasza tigris127 hozzászólására (») Feb 13, 2021 /
 
Hali!

Nem tudom, te melyikre kértél ajánlatot.

Chipcad.hu
PIC16F1847-I/P Raktáron: 28db
PIC16F1847-I/SO Raktáron: 4db

A QFN tokosból majdnem 500db van, mondjuk azt kicsit körülményesebb beforrasztani házilag.

A különbség, a kötőjel utáni betű a típus számban. A kiterjesztett hőmérsékletű többnyire nincs raktáron.

Temperature Range:
I = -40°C to +85°C (Industrial)
E = -40°C to +125°C (Extended)

Uhh, bocsi véletlen a 1847-re kerestem rá. A 1827-ből is van, de csak SMD. Bővebben: Link

A SOIC 18 könnyen forrasztható kézzel is.
A hozzászólás módosítva: Feb 13, 2021
(#) silent15 válasza tigris127 hozzászólására (») Feb 13, 2021 /
 
Ha 0-ról tervezel, néznék valami mást ha ez éppen nem beszerezhető, esetleg nincs olyan tokban mint amilyenben szeretnéd. A PIC-eknél az a nagyszerű, hogy nagyon hasonló kontrollerekből rengeteg van. Én általában azzal kezdem, hogy eldöntöm milyen modulokra lesz szükségem (Timerek, ADC, SPI stb., stb.), majd eldöntöm, hogy hány I/O-ra van szükségem (belevéve, hogy egyes lábak kizárólag bemenetként funkcionálnak egy PIC-en) és ezek szerint kiválasztok egy típust. Valószínű több féléből is válogathatsz majd. Javaslom számodra a Microchip MAPS keresőjét.

Én általában úgy választom a kontrollert, hogy az adott család középső tagjába férjen el minden (memória tekintetében), így ha kicsúszok, feljebb még simán elmehetek, ha pedig nagyon ügyesen írtam a kódot és elég a kisebb, arra is lehet mozdulni.
A te esetedben ez a PIC16F1826, illetve a PIC16F1827. Jelenleg fel kell készülni, hogy késéssel fognak érkezni a félvezetők, esetleg pár típus nem lesz, erre türelmesen várni kell...

UI: Itt van a 1826-ből DIP tokos. Ez esetleg megfelelő lehet neked. Kisebb a memóriája mint a 1827-nek.
A hozzászólás módosítva: Feb 13, 2021
(#) Laci66 hozzászólása Feb 14, 2021 /
 
Sziasztok!
Segítséget kérnék, mert a PIC-ekhez nem értek!
A munkahelyemen van jópár vészkijárati jelzőfény amik hasonló hibát produkálnak.
230V-ról a 8W-os fénycsövek világítanak, tehát az elektronikus előtétek jók. (Egyik panel.)
Másik panel az inverter lenne ami 3.6V-ból csinálna 230V-ot. A vadi új akkukat percek alatt lemeríti,
az IRL540N FET füt rendesen. A FET teszterrel ellenőrizve jó. A panelen van egy 12C508A PIC, gondolom az vezérelné az egész kütyüt. Lehet hogy több mint 20db készülékből egyszerre "kiessen a program" vagy más hibát keressek? A vészlámpák tipusa: SKW 8/1-LD W az inverter: KNE_2_8-65
2006.11. havi gyártású. Kapcsolási rajzot eddig még nem találtam.
Előre is Köszönöm a segítséget!
A hozzászólás módosítva: Feb 14, 2021
(#) Bakman válasza Laci66 hozzászólására (») Feb 14, 2021 /
 
Kicsi a valószínűsége, hogy a kontroller legyen hibás. Én inkább az invertert ellenőrizném, elsősorban a kondenzátorokat.
(#) Laci66 válasza Bakman hozzászólására (») Feb 14, 2021 /
 
Szia!
Összesen 2db elkó van benne (100µF és 47uF). Kicseréltem őket, de a hiba megmaradt.
Van pár SMD cucc az áramkörben, de azokhoz elvből nem nyúlok.
(#) pipi válasza Laci66 hozzászólására (») Feb 14, 2021 /
 
Hali!
Biztos hogy 3.6V-ból 230V-ot csinál? Keveslem a 3.6V akkut, nem inkább 12V 3Ah akksi van?
Inkább csak a fénycső égési feszültségére nyomja fel.
12V-os 8W-os UV lámpákat javítgattam, ott többnél a fet környékén volt még 33nF 63V kondi, szemmel láthatóan felpuffadt.
(#) Laci66 válasza pipi hozzászólására (») Feb 14, 2021 /
 
Szia!
Sajnos rajzot nem találok hozzá, így fogalmam sincs arról hogyan kellene működnie.
A panelen van egy relé, egy 230/7,5V-os trafó, egy ferritmagos trafó, egy diódahíd, egy PIC,
egy FET, 2db ELKO, és 10-12 SMD cucc.
(#) pipi válasza Laci66 hozzászólására (») Feb 14, 2021 /
 
Mekkora az az akksi? Ha ideálisan számolnánk, akkor a 8W fénycső, kb 2A terhelést ad a 3-4V-os akksin (veszteségek miatt inkább 2.5-3A), szóval kell oda a kakaó, "gombakksiról" nyilván semeddig sem megy.
(#) wadember hozzászólása Feb 14, 2021 /
 
Üdv! Kínlódok már egy ideje a csatolt kapcsolással. Már több programozót kipróbáltam PICkit K150 TL866II plus, de mindegyikkel ugyanaz a helyzet, hogy a bemeneti GP2 láb beáll 2.5V ra és 4.7k-val sem lehet testre kényszeríteni, és nem engedi az FT232 RTS kimenetét sem billegni. Ha szétválasztom őket akkor az FT szépen megy. Próbáltam smd és dil tokozású PIC-et is de ugyanaz a helyzet. Az IC-k a Farnell től vannak rendes szállítóval nem gondolom hogy fake lenne. Már a hajam kezd égnek állni. sajnos forrás nem áll rendelkezésre csak a hex.
(#) Hp41C válasza wadember hozzászólására (») Feb 14, 2021 / 4
 
Motto: "Jó dolog ez az Internet. Letölthetünk bármit, hihetjük, hogy működni fog, hiszen az oldalon van róla fénykép / video. A tapasztalat azonban az, hogy minden letöltött kódban van valahol egy kis hiba, amitől nem fog működni."

Idézet:
„... a bemeneti GP2 láb beáll 2.5V ra és 4.7k-val sem lehet testre kényszeríteni ...”

Adatlap: Table 5.1 - Order of precedence for pin functions
A táblázat szerint a GP2 láb
- elsősorban a FOSC órajel frekvenciájának negyedével változó négyszögjelet ad ki, ha nem kapcsoljuk ki.
- másodsorban a komparátor kimenetét adja, ha bekapcsoljuk,
- harmadsorban T0CKI illetve bemenet, ha a TRIS regiszter 2. bitje 1.
- negyedsorban digitális kimenet, ha a TRIS regiszter 2. bitje 0.

Adatlap 4.6 szerint az FOSC4 bit a OSCCAL regiszterben van a 0. biten.

Hogyan is indul el ez a kontroller?
Adatlap: 9.2.2 pontja szerint a vezérlés a programtár legnagyobb címéről kezdi a végrehajtást. Itt egy movlw utasításnak kell lennie, ami az oszcillátor kalibrációs értékét tölti a W regiszterbe. A programszámláló átfordul és a 0 címen folytatja a végrehajtást. A programnak így lehetősége van a kalibráció elvégzésére.

A programban ezt a kalibrációs értéket az OSCCAL regiszterbe tölti az első utasítás.

Eddig minden szép és jó...

De, mi történik, ha a programozás előtt nem olvassuk ki a kalibrációs értéket és a programozáskor nem írjuk vissza?
- Egy 0xFFF kód kerül a megadott helyre, ami egy xorlw 0xFF utasításnak felel meg. A W regiszter tartalma ismeretlen....
- A programozó tudja, hogy ide egy movlw utasítás kell, és 0xCFF utasítást programoz ide.
Az érték 0. bitje 1, azaz bekapcsolja az órajel kimenetet.
FOSC4: INTOSC/4 Output enable bit: 1= INTOSC/4 output onto GP2.

Így már érthető az a 2.5V.

Javaslat:
- A kiolvasott és eltárolt kalibrációs érték beírása a programtár legnagyobb címére.
- Ha ez már nincs meg, a program elejére egy andlw 0xFE utasítás beszúrni, hogy az a bizonyos 0. bit mindig 0 legyen.
(#) eSDi válasza wadember hozzászólására (») Feb 14, 2021 / 1
 
Hali!

Mivel a GP2 lehet az Fosc/4 kimenet is, ezért szerintem ott az órajelet méred. 50%-os kitöltés miatt van ott féltápfesz.
Az OSCCAL 0. bitje mindenképp 0 kell legyen.

Sikeres a program beírása és visszaolvasása?

pic10f20x.png
    
(#) wadember válasza Hp41C hozzászólására (») Feb 15, 2021 /
 
Köszönöm a segítséget. Közben meglett a forráskód is. utoljára 21-22 évvel ezelőtt foglalkoztam PIC-el még a suliban és akkor sem volt a kedvencem. Emlékszem már hogy miért

202.asm
    
(#) wadember válasza eSDi hozzászólására (») Feb 15, 2021 /
 
A verify a PICkit és a K150 esetében rapszódikusan adott jó vagy rossz értéket. A TL866II Plus viszont stabilan minden írás vagy üzemi próba után mindent rendben talált.
(#) sszasza hozzászólása Feb 15, 2021 /
 
Sziasztok, az XC8 forditó miért mondja ezt a hibaüzenetet:
cannot combine with previous 'short' declaration specifier
erre:
typedef unsigned short long uslong; //24bit
Hát akkor hogyan másképp?
(#) sszasza hozzászólása Feb 15, 2021 /
 
Következő bajom: mi gondja van a XC8-nak ezzel, ha a user guideban pont igy van leirva? (fix cim megadás) Interrupt rutinnál is helyesen értelmezi a leírás szerint.
void ABC(void) @ 0x200
{ ; //bármi
}
A hozzászólás módosítva: Feb 15, 2021
(#) benjami válasza sszasza hozzászólására (») Feb 15, 2021 /
 
Szerintem próbáld ki úgy, hogy a linker scriptben (*.lkr) létrehozol arra a területre egy PROTECTED régiót, vagy növeld meg a bootloader régióját úgy, hogy még az is beleférjen. Amúgy a fordítónak vagy linkernek nem tetszik?
(#) benjami válasza sszasza hozzászólására (») Feb 15, 2021 /
 
Változót sem tudsz deklarálni, vagy csak típusdefiniáláskor nem szereti?
(#) sszasza válasza benjami hozzászólására (») Feb 16, 2021 /
 
Változót sem. A short szót sehogy nem dolgozza fel.
(#) sszasza válasza benjami hozzászólására (») Feb 16, 2021 /
 
Kipróbáltam, nem az a baja. Konkrétan a @-ot megjelöli nyíllal mint hibás karaktert.
"expected function body after function declarator, aszondja"
(#) sszasza hozzászólása Feb 16, 2021 /
 
Egyébként másoknál is teljesen megszokott az, hogy a user guideban precizen le van valami irva, az ember ugyanolyan precizen begépeli, és nem működik?
(#) Hp41C válasza sszasza hozzászólására (») Feb 16, 2021 /
 
Idézet az XC8 user's manula -jából:
Idézet:
„2.5.2 Absolute Addressing
Variables and functions can be placed at an absolute address by using the __at() construct. Stack-based (auto and parameter) variables cannot use the __at() specifier.
2.5.2.1 EXAMPLE
The following shows two variables and a function being made absolute.
  1. int scanMode __at(0x200);
  2. const char keys[] __at(124) = { ’r’, ’s’, ’u’, ’d’};
  3. __at(0x1000) int modify(int x) {
  4. return x * 2 + 3;
  5. }
A hozzászólás módosítva: Feb 16, 2021
(#) sszasza hozzászólása Feb 16, 2021 /
 
Közben kiderült: mindkét kérdésemre megoldás, ha a XC8 C standardot C90-re állitom a gyári C99-ről. OKé, de miért a C99 a gyári? Mit tud az, mire jó, miért van (ha csomó minden nem működik vele)?
Következő: »»   1150 / 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