Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Hali,
Alakul, igaz most kicsit leköt az RFID, de ha befejeztem ezt a pár kapcsolást, kb. január közepe, elkezdem a panelfúrómat. Végleges PIC-es programot meg vezérlést Február előtt semmiképpen nem ígérhetek. De az biztos, hogy elkészül, mert már csomó mindent beszereztem hozzá!
Hölgyek, Urak!
Eszembe jutott, hogy konstruálok egy PIC programozót. Tudom, hogy már ezer féle van, de olyannal még nem találkoztam, amire én gondoltam. Röviden erről lenne szó: usb-ről megy, soros portos emulációval, esetleg közvetlenül soros portról. A soros portos működés miatt nem kell hozzá semmilyen külön program, csak egy terminál. A terminálban a programozó kommunikál a felhasználóval, tulajdonképpen a "GUI" a pic-ben van megírva, a megjelenítője pedig a terminál. A programozás úgy történik, hogy a megfelelő hex file-t egyszerűen szövegfile-ként bepaste-eli a felhasználó. A poén az lenne ebben a megoldásban, hogy akármilyen oprendszeren működne, soros terminálprogi mindenhol van. Mi a véleményetek róla, érdemes nekikezdeni egy ilyennek?
Ennek lehet értelme... Én jó ötletnek tartom. De előre szólok, hogy csak akkor fog elterjedni ha open-source az égetőbe írt szoftware.
Ha ezt csak vásárolgatni lehet tőled, vagy csak a HEX tölthető le, akkor én nem jósolok neki sok jövőt.
Semmiképp nem pénzes cuccra gondoltam, az nem az én műfajom
Akkor már kezdheted is a fejlesztést Sőt... közben/végén szívesen látnánk cikket belőle az oldalon!
Rendben, akkor fogok a témával foglalkozni, és ha már valami kézzel fogható eredménye is lesz, akkor készülhet belőle cikk.
Ez remek ötlet szerintem is. Különösen a linuxosok fognak neki örülni. Hajrá!
Kérdésem lenne:
BSF STATUS,RP0 ;BANK1-be átlépünk BSF INTCON,7 ; PORTB FELHÚZÓ ELLENALLAS OFF CLRF CCP1CON MOVLW B'00000110' ; PORTA DIGIT I/O MOVWF ADCON1 ;------------------------- PORTOK BEÁLLÍTÁSA 1-> BEMENET, 0-> KIMENET -------------------------------------------- CLRF PORTA CLRF PORTB CLRF PORTC CLRF PORTD CLRF PORTE mikor a CLRF PORTD sorra elér debug módban a program, akkor a sor mellé egy vonalkát rak, és resetelődik a rendszer, indul előlről a kód. Ez mitől van?
Lehet, hogy be van kapcsolva a watchdog.
A konfigurációs biteknél off-on áll. Egyébként a fényfalhoz kéne, gondoltam játszok egy kicsit egy 16f877-el amíg el nem tudok menni a chipcad-be a 18-as ic-ért, csak itt az elején megpunnyad már, és nem értem miért.
a kód elején a konfig rész: LIST P=16F877 #INCLUDE "P16F877.INC" __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF
PORTD valamelyik bitje nincs zárlatban (vagy nagyon kis ellenállással terhelve) a Vdd felé?
hmm. most hogy mondod le is akartam mosni már azetonnal meg fogkefével, utána kiderül.
Ez érdekes, én ki sem próbálok semmit azelőtt, hogy lemosnám. Csak én szappannal, forróvízzel, körömkefével csinálom...
Az acetonos fogsikálós módszer jó, mert eltávolítja könnyedén a forrasztásnál széfolyó gyantát, csak ezt azért nem mostam le, mert előtte végigónoztam az a összes vezetéket.
Idézet: „csak ezt azért nem mostam le, mert előtte végigónoztam az a összes vezetéket.” Nem értem az összefüggést
Túl szépen forrasztottam, nem fröcskölt, nem volt semmi gáz, de most mindjárt nekiállok és kimérem az összes lábat, mert még mindíg ugyan azt csinálja.
Hát a portd úgy ahogy van nem megy bár sok zárlatot nem látok de tekintve, hogy lassan leragad a szemem és már semmit nem látok ez nem is csoda. Köszi a tippeket, holnap végigbogarászom a portd 8 lábát.
Öröm éd bódottág, műtögyik.
A problémát a 270 ohmos ellenállások hiánya okozta, ezt ha valaki elmondaná, hogy miért volt, annak nagyon örülnék. Itt főleg Wattra gondolok de felrakom a sematikus ábrát windows metafile-ban (acdsee vel meg lehet nézni (trial-el is)) ha valaki még kíváncsi a problémára.
Nem tudom, milyen tápegységről próbáltad, de a 270ohm áramkorlátozó hiánya miatt óriási áram alakul ki a LED-eken. Ha a táp bírja, akkor a LED vagy a meghajtótranyó pukkan el. Ha a táp nem bírja, és a nagy áram miatt megbicsaklik, akkor az összeeső táp miatt a PIC resetelődik. Valószínűleg ez utóbbi történt.
Hát spec szerintem a táp bicsaklott meg, mert az csak az icd2-es programozó volt. Az érdekes az, hogy a próbapanelen ugyan úgy nem használtam ezt a 270 ohmos ellenállást, és ott nem okozott ilyen gondot, azért is merészeltem kihagyni belőle, főleg, hogy ezek a ledek sokáig nem égnek, hiszen multiplexben megy a 150-ből x darab.
Most megyek beszerzek valami aprószemű rácsot amire fel lehet fogatni a dolgokat, (hegeszteni sajnos nem tudok, mert nem értek hozzá), aztán nekilátok mind a 150-et összedrótozni.
Mitöbb, most épp bootloader írása is felmerült, nevezetesen egy olyan cuccra, amin van RS232 port. Ez a terminálos, közvetlen hex-file fogadásos móka oda is kiváló megoldás lenne, a firmware-frissítéshez csak egy terminálprogi és a hex file kellene.
Tulajdonképpen az "idegen eszköz" programozásához és a saját firmware bootloaderes beírásához gyakorlatilag ugyanaz a keretrendszer kell. Elgondolkodtató...
en most a 12f508-ra csinaltam szoftveres UART-ot, 9600 bit/sec, es 3 kimenetet tudsz vezerelni az ASCII 1,2 es 3 karakterekkel (ki-be kapcsolgatva), vegulis van vagy 4 kimeneted, vagy 3 kimenet + 1 bemeneted, ezzel akar lehetne programozot is kesziteni. (es kevesebb mint a negyedet foglalja el a programmemorianak)
Soros porton beeteted a HEX-filet, ez meg felprogramozza a PIC-et... mar csak a programozasi algoritmust kellene ismerni.
vicces volt leprogramozni, mert csak 2 szintu a stack, meg 512 utasitas fer el benne + 41 byteos a memoriaja
Úgy emlékszem, leírtam, hogy az ICD2 csak kis terheléshez tud elegendő áramot adni (50-100mA). 150LED 10mA árammal az már 1,5A. Nemis értem, miért kell ilyeneket ráakasztani...
USB port is csak 500mA-t tud max kiadni, még jó hogy nem vágtad tönkre vele
500mA, ha az eszköz kéri a descriptorában. Alapból csak 100mA. És hiába írtam át az ICD2 firmware-ét, hogy kérjen 500mA-t, első alkalommal, amikor az MPLAB-ban Connect-et nyomtam, az MPLAB érzékelte, hogy a firmware nem az eredeti, és visszaírta az eredetit. Azt meg nem túrtam, hogy az MPLAB melyik fájlban tárolja az ICD2-ben levő 18F4550 programjának másolatát. De majd sort kerítek rá, ha legközelebb kisérletező hangulatban leszek...
Egyébként alaplapfüggő, hogy korlátoz-e, és hogy mennyinél. Az NF7 lap 4A-nál (nem elírás) kezdett korlátozni, csak nem volt kéznél másik műszer, hogy néztem volna, közben mennyit esett a feszültség.
ezt én is tudom...
mindjárt meglesem én is az mplab könyvtárat... több szem hátha többet lát.
Nekem itt volt egy csomó .hex file... szerintem ezek azok.
\Microchip\MPLAB IDE\ICD2
meg megvan a két keresett file is:
ICD2_4550_BOOT_0182.BIN ICD2_4550_OS_0102.BIN szerintem ezek lesznek azok |
Bejelentkezés
Hirdetés |