Fórum témák
» Több friss téma |
Szia!
16F1847 a nagytestvére. 1:1 helyettesítésre lenne szükség? Milyen modulok kellenek? Üdv!
Miért kellene helyettesíteni? Kb. a sarki fűszeresnél is kapható.
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.
Ha vasárnap estig megrendeled, szerdán megkapod: Bővebben: Link.
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
Vasútmodellek Digitális vezérlésere való rendszer
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.
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
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
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
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.
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.
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.
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.
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.
Ü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.
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.
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?
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
![]()
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.
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?
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
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?
Változót sem tudsz deklarálni, vagy csak típusdefiniáláskor nem szereti?
Változót sem. A short szót sehogy nem dolgozza fel.
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"
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?
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.
A hozzászólás módosítva: 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)?
|
Bejelentkezés
Hirdetés |