Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1186 / 1319
(#) kissi válasza attika hozzászólására (») Nov 2, 2014 / 1
 
Szia!

2V-tól működőképes, de a BOR ne legyen bekapcsolva a konfigurációs bitek között, mert letilt ( reset-el! ) !
(#) attika hozzászólása Nov 2, 2014 /
 
Köszönöm a gyors válaszokat.Azt sajnos nem tudom,hogy mi van bekapcsolva a konfigurációs biteknél mert sajnos annyira nem értek még hozzá,letöltöttem a hex fájlt és felprogramoztam a pic-et.Többször átnéztem kapcsolást is,de semmi hiba a rajz szerint.
(#) kissi válasza attika hozzászólására (») Nov 2, 2014 /
 
Melyik Dallas-t használod? A simát vagy a B-t ?!
(#) kissi válasza kissi hozzászólására (») Nov 2, 2014 /
 
Nem győztem kivárni a választ, használd a megfelelőt !
(#) attika válasza kissi hozzászólására (») Nov 3, 2014 /
 
igen a B-t használom,csak az volt itthon.
köszönöm.
(#) The_Saint hozzászólása Nov 7, 2014 /
 
Sziasztok,

ha jól tudom, akkor a PIC18Fxxxxx-ek át tudják írni a saját program memóriájukat. Tudnátok mondni példákat...legalább egyet...ennek a gyakorlati hasznára. Hol és mire lehet ezt a tulajdonságot használni?

Köszi!
Üdv
TheSaint
(#) nedudgi válasza The_Saint hozzászólására (») Nov 7, 2014 /
 
Egy bootloader megfelel példának?
(#) kissi válasza The_Saint hozzászólására (») Nov 7, 2014 /
 
Szoftverfrissítés ( a bootloader segítségével ! )
(#) proba válasza kissi hozzászólására (») Nov 7, 2014 /
 
Volt hogy EEPROM helyett is használtam. Ha sok adatot kell tárolni, ritkán változik, üres tárhely még van....
(#) The_Saint válasza kissi hozzászólására (») Nov 7, 2014 /
 
Szia,

Na ez már egy gyakorlati példa. Ez úgy nézne ki, hogy valami kommunikációs csatornán (soros, wifi, bluetooth) beküldöm az új progit távolról és a bootloader meg beírja a régi progi helyére. Jól értem?

proba: EEPROM helyett én is használtam már, de más nem jutott eszembe eddig
(#) benjami válasza The_Saint hozzászólására (») Nov 7, 2014 /
 
Én az USB képes PIC-eket szinte csak a HID bootloaderrel szoktam felprogramozni (leszámítva persze az első esetet, amikor magát a bootloadert bele tettem).
(#) kissi válasza The_Saint hozzászólására (») Nov 8, 2014 /
 
Jól !
(#) The_Saint hozzászólása Nov 12, 2014 /
 
Sziasztok!

Tudom, hogy már ebben egyszer valamikor régen segítettek, és én annyira meg akartam találni, de 60 oldal végigböngészése után feladtam. Íme:

PIC16F628-assal szeretném a következőket:
van egy halom adatom ilyen formában:
  1. const unsigned char picture_name [] = {0x3B, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}

Ezeket szeretném egyenként a PORTB-re küldeni.
Persze NEM így:
  1. movlw 0x3B
  2. movwf PORTB


Sajnos a TBLRD itt nem működik
Köszi előre is !

Üdv
TheSaint
(#) potyo válasza The_Saint hozzászólására (») Nov 13, 2014 /
 
Ez nem jó, ha már C-ben programozol? A fordító majd csinál belőle azt, ami az adott kontrolleren lehetséges

  1. for (i=0; i<(sizeof(picture_name)/sizeof(picture_name[0])); i++)
  2. {
  3.     PORTB=picture_name[i];
  4. }
(#) The_Saint válasza potyo hozzászólására (») Nov 13, 2014 /
 
Szia!
Bocs, nem C-ben programozok, asm-ben, csak a képkonverter program így adja ki a végeredményt és bemásoltam az egész blokkot elsőre. Aztán láttam, hogy túl hosszú és kivágtam nagyjából a 99%át és így maradt az eleje meg a vége
Még arra emléxem, hogy anno 16F876A-ra írtam valamit, mikor is egy 128x64 pontos kijelzőre kellett kiküldeni a képet....hát valami ilyesmi a helyzet most is.
Üdv
(#) nedudgi válasza The_Saint hozzászólására (») Nov 13, 2014 /
 
(#) kissi válasza The_Saint hozzászólására (») Nov 13, 2014 /
 
  1. GOTO START
  2. tabla:
  3.           ADDWF   PCL,F
  4. dt 0x3B, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  5. START:
  6.           CLRF    VALTOZO
  7. CIKLUS:
  8.           MOVF   VALTOZO,W
  9.           CALL    tabla
  10.           MOVWF  PORTB
  11.           INCF  VALTOZO,F
  12.           GOTO CIKLUS


Persze még hiányzik a ciklusból a kilépési feltétel ( az adatok végének ellenőrzése ), de mankónak jó lesz !
A hozzászólás módosítva: Nov 13, 2014
(#) The_Saint válasza kissi hozzászólására (») Nov 14, 2014 /
 
Szia! Igen, köszi erre gondoltam
(#) bbalazs_ hozzászólása Nov 17, 2014 /
 
Urak, kezdek megorulni, talan valakinek van hasznalhato otlete.

45k50-es PIC es SD kartya kapcsolata egy IC-n.
Az egesz rendszer egy Li-Po akksibol step-uppal 5V majd a 3.3V rendszerek ebbol egy ld1117-tel stabilizalt 3.3V-ot kapnak. A fold kozos. Az 5V vegig stabil (4.98V).
A PIC 5V-bol megy (egy kijelzo miatt muszaj).
Minden rendben van addig, amig az SD kartyat be nem dugom. Ekkor az SD tapfesze FELUGRIK 3.98 kore! Annak ellenere, hogy csak az LD1117-estol kapja a tapot, ennek a kimenete is felugrik. Az LD foldje nincs magasabban a tobbinel. A PIC adatlaban (sd kartya DI) jon a hiba, mivel ha inputra allitom, a jelenseg nem all fenn. RA2 - termeszetesen IO-ra allitva, AD es DAC kikapcsolva.
Ha a 3.3V-ot terhelem, akkor sincs valtozas.

Az adatlabat lemerve 1.42V van rajta. Egyetlen, SD kartyaba meno vonal sem haladja meg a 3V-ot. Innentol kezdve nincs otletem. Termeszetesen mindent ellenoriztem rovidzarra, atvezetesre, stb. Az SD kartya adapterrel csatlakozik, ha csak az adaptert dugom bele, nem all fent a jelenseg.
LD1117 kicserelve masikra, 100nF-ok a helyukon. A PIC egy holegfuvoval leforrasztott darab.
Az SD rendesen mukodik egyebkent, adatot nem veszit es egy masik, nagyon hasonlo alkalmazasban jol teljesit, ott nem huzza fel a szinten 1117-tel stabilizalt tapot.
Szkopom nincs.
A hozzászólás módosítva: Nov 17, 2014
(#) Hp41C válasza bbalazs_ hozzászólására (») Nov 17, 2014 /
 
Van 5V 3.3V szintillesztő az SD kártya CS, DI, CK bemenetén? Amennyiben nincs, a PIC kimenete közel 5V -ra megy magas szint kiadásakor. Az SD kártya bemeneteinek védődiódáin keresztül jut ez a feszültség az SD kártya tápjára.
(#) bbalazs_ válasza Hp41C hozzászólására (») Nov 17, 2014 /
 
Koszi, csak nem latom, hogy hol tortenne ez meg. Ha valami PWM-szeruseg miatt merek ennyit, akkor miert nem merek egyetlen befele meno labon sem ekkora feszt?
Es a masik kapcsolasban, ahol PONTOSAN ugyanigy kapcsolodik az SD kartya a PIC-hez (igaz, az egy 4553-as), ott miert nincs ugyanez a jelenseg?
(#) Hp41C válasza bbalazs_ hozzászólására (») Nov 17, 2014 /
 
Az LM1117 kimenetén megvan a min. 10µF tantál vagy kerámia kondenzátor?
A hozzászólás módosítva: Nov 17, 2014
(#) bbalazs_ válasza Hp41C hozzászólására (») Nov 17, 2014 /
 
Hat, az nincs. 100nF van. Akkor kiprobalom eloszor ezt. De a masik, emlitett alkalmazasnal nincs es ott jol megy. KOmponensek ugyanezek.
(#) bbalazs_ válasza bbalazs_ hozzászólására (») Nov 17, 2014 /
 
Nem segitett.
(#) bbalazs_ válasza bbalazs_ hozzászólására (») Nov 17, 2014 /
 
Kiprobaltam tobb mindent. Tartosan low-ba es kimenetre allitva nem adja a jelenseget.
Kiprobaltam a masik cuccban, aminel pont igy van kotve, az egyik labon 4.05V van, de ott nem adja a jelenseget ugyanaz az SD kartya.
Innetol kezdve csak arra tudok gondolni, hogy a PIC-ekben lehet a kulonbseg. Illetve meg leforrasztom az SD aljzatot, hatha valami nem erintkezik rendesen. Bar ez vadiuj volt...
(#) xNorbi hozzászólása Nov 18, 2014 /
 
Helló

Egy kvadkoptert építek, szeretném mérni az egyes motorok álltal felvett áramot, hogy ebből ki tudjam számítani mekkora töltést fogyasztottam el az akksiból.

4darab 30A-es ESC-et használlok, a motorok a specifikációik szerint legtöbb 20A körül vesznek fel, a tápfeszültség egy 11,1V-os LiPo akksi lenne.

Úgy tervezem, hogy az ESC elé sorba kötök egy ismert ellenálésú drótot amire forrasztanék 2kivezetést amin keresztül először "hitelesíteném" az ellenálását majd ezen a két kivezetésen az MCU ADC-je segítségével mérném a rajta eső feszültséget és ebből számolnám az áramot.

Úgy tervezném az egészet, hogy 20A melett essen olyan 0,1V a dróton ami 0,005ohm jelentene így maximum 2W melegítené a drótot amit ha 10-15cm hoszúságúra terveznék talán nem is mászna el nagyon a hőmérsékelete.

Mennyire működhet így ez a dolog? 0,1V-ot mennyire lehet pontosan mérni?esetleg erősítenem kéne egy műveleti erősítővel? Jó lenne nem bonyolítani az áramkört. 20A fogyasztás valószinűleg elég ritkán fog fellépni így talán lehetne úgy növelni a drót ellenálását, hogy 0,2-0,3V essen rajta 20Anál amit talán pontosabban tudnék mérni.

Igazából nem PIC hanem egy ilyen proci, de akár PIC is lehetne
A hozzászólás módosítva: Nov 18, 2014
(#) Peter65 válasza xNorbi hozzászólására (») Nov 18, 2014 / 1
 
Helló!
Szerintem ez itt OFF, de az áramot valóban sönttel a legegyszerűbb mérni. Nem muszáj drótból, vannak smd ellenállások ilyen célra. Az iparban sokszor csak 60mV-osat használnak, te is lemehetsz kisebb feszre, és akkor nincs akkora melegedés. A jelet erősíteni kell, vagy precíziós műveleti erősítővel, vagy ha nem kell olyan pontosnak lennie, akkor nem kell preciziós erősítő sem, és szoftverből amennyire tudod kioffszeteled. Fontos, hogy a műveleti erősítő bemenete tudjon azon a tápfesz szinten dolgozni, amin a sönt van.
(#) norbiv8 válasza xNorbi hozzászólására (») Nov 18, 2014 / 2
 
Szerintem hatékonyabb egy árammérő szenzor használata, pl TLI4970, ennél nem kell sönt, így nincs veszteséged, digitálisan kapod az adatot, így nem kell a zaj miatt sem aggódnod.
(#) gtk hozzászólása Nov 21, 2014 /
 
Sziasztok !

C18-at hasznalok, es az alabbi problemaba utkoztem. Program memoriaban levo stringet es const stringet ki tudok iratni, viszont valtozobol mar nem. Alabb a kodreszlet. A f_value_str_buff valtozoban benne van az adott string (egyetlen egyjegyu szam).

  1. while   (BusyXLCD() == 1);             
  2. SetDDRamAddr (0x00);            //Set first line;
  3. //putsXLCD (f_value_str_buff);  //First line text // Nem OK
  4. WriteDataXLCD((char)f_value_str_buff[0]); //nem OK
  5. //putrsXLCD("Hi"); // ez OK



Koszi.
A hozzászólás módosítva: Nov 21, 2014
(#) gtk válasza gtk hozzászólására (») Nov 21, 2014 /
 
A uC tipusa 18F4520.
Következő: »»   1186 / 1319
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