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   1034 / 1203
(#) sonajkniz válasza superuser hozzászólására (») Jún 10, 2018 /
 
Idézet:
„De mindenekelőtt mintha azt írták volna fordított polaritás?”

Én kérdeztem, hogy milyen átmenetet vár a RealTerm.
Mert az eszköz állandó magas jelet húz alacsonyra. A Salae-ben ezt lehet állítani, de a RealTermben ilyet nem találtam. Azért gondolom, hogy talán ez a hiba, mert 8 byte egy adatcsomag, aminek az első és utolsó byteja sosem változik, de ilyen formában stabil adatot 8 bytera állítva sosem kaptam.
(#) superuser válasza sonajkniz hozzászólására (») Jún 10, 2018 /
 
Ha nem tévedek egy darab tranzisztorral át lehet fordítani a jelet szabványos TTL soros jelszintre.
Valószínűleg érdemes lenne.
(#) sonajkniz válasza superuser hozzászólására (») Jún 10, 2018 /
 
Köszönöm.
Megpróbálom.
(#) Pali79 válasza sonajkniz hozzászólására (») Jún 11, 2018 /
 
Esetleg próbáld meg a PUTTY vagy az RS232 Analyzer progikat. Én valamelyiket a kettő közül használtam már, amikor az volt a téma, hogy az indulás után a regiszterek milyen értéket vesznek fel maguktól.
(#) Hp41C válasza sonajkniz hozzászólására (») Jún 11, 2018 /
 
Mivel a PC-s programok a szabványos PC-s kártyákat használják, így olyan szintet kezel, ami megfelel a kárytának. A legelterjedtebb az RS232 szabványú soros kártya. Ezekkel nem fogadható közvetlenül egy PIC soros 5V -os vagy 3.3V -os vonala. Kell közéjük egy TTL - RS232 konverter: MAX232, MAX3232 vagy egyszerű két tranzistoros.
Használható még USB - COM port. Ezekből van TTL szintekkel rendelkező felületű is.
Használható még a Hercules, TerraTerm program is.
(#) dani555 hozzászólása Jún 16, 2018 /
 
Sziasztok!

Sajnos megakadtam a PICKIT3-mal való programfeltöltésben. Ezerszer leellenőriztem a kapcsolást, nem egy bonyolult, led villogtatóhoz hasonló kapcsolás. Megírtam a programot, le is futott rendesen, rádugtam a pickit3- at, a pickit3 programmert megnyitottam, ki is írta rendben, hogy "pickit3 connected, pic device found" majd mikor importálni szerettem volna a hex fájlt, akkor azt írja ki, hogy "device error, hex file not loaded", piros háttérrel.... Ha a write-ra kattintok, akkor meg sárga háttérrel a "no device detectede" című üzenetet írja ki.... Több gépről is megpróbáltam ugyanazt a hex filet feltölteni rá, mindenhol ugyanaz a probléma... Eddig tökéletesen működött. Szerintetek mi lehet a baj/mit lenne érdemes csinálnom, próbálnom, illetve az a kérdésem, hogy találkozott e valaki hasonlóval?

Minden választ előre is köszönök, tényleg nem tudom, hogy mi lehet a probléma!
(#) Hp41C válasza dani555 hozzászólására (») Jún 16, 2018 /
 
Milyen típust szerettél volna programozni?
Töltsd fel a hex állományt és a hibaüzeneteket is tartalmazó képernyő mentéseket!
(#) dani555 válasza Hp41C hozzászólására (») Jún 16, 2018 /
 
PIC16F628A a kontroller
(#) Zed válasza sonajkniz hozzászólására (») Jún 16, 2018 /
 
Én csak nagyon a partszélről kérdeznék, hátha tudok segíteni...

Pontosan mit jelent az, hogy
Idézet:
„Egy távirányító jeleit szeretném látni...”
Tehát hol, milyen jeleket szeretnél figyelni? Van róla rajzod?

Milyen távirányító ez? Van valamilyen cél IC, annak a jelét szeretnéd vizsgálni? A PIC által kiadott jelet vizsgálod? (Az infra jel általában modulálva van, tehát nem mindegy, hogy hol és mit szeretnél mérni.)
(#) superuser válasza dani555 hozzászólására (») Jún 16, 2018 /
 
- Keresd meg a "run self test" menüpontot (??debuggger/settings/run self test??) és futtasd.
- A processzor legyen áramkörben és tápfeszültség alatt programozáskor

Ha ez nem elegendő akkor közölj velünk több infót.
MPLab IDE vagy MPLAB-X IDE, driverek rendben vannak-e, gyári-e a programozód, vagy klón, más processzorokkal működik-e, mi a bekötésed, kapcsolási rajz, stb.
(#) sonajkniz válasza Zed hozzászólására (») Jún 16, 2018 /
 
Szia!

A JJRC H 47-es drón mobilaplikációval is irányítható wifin keresztül.
Egy teljesen független egység küldi a telefonra a kamera képét és fogadja az irányítást.
Mindössze 3 vezetékkel kapcsolódik a drón vezérlőjéhez, és ebből kettő a táp.
Alap UART kommunikációt használ, egy 8 byteos adatfolyammal.
De legnagyobb sajnálatomra a program nem egyszerűen az irányítókarok pozíció adatait küldi, hanem egyből a motorok működésébe avatkozik be. Hogy értelmezni tudjam egy PIC-el a jeleit, és más eszközre szerelhessem, látnom kellene mikor mit küld.
A logikai analizátor ugyan elég hosszú ideig képes rögzíteni az adatokat, de több tízezer adatból nehéz kimazsolázni, mikor, mi jött.
Ezért kellene valami olyan megoldás, ami csak egy sor adatot jelenít meg, mert azon minden változás azonnal látszik.
Legvégső esetben összedobok egy áramkört, meg egy programot, hogy LCD-n megjelenítssem, de ha van más mód, akkor ezt szeretném megúszni.
(#) bbalazs_ válasza sonajkniz hozzászólására (») Jún 17, 2018 /
 
Eléggé nehéz elképzelni, hogy direktben a motorokat vezérelné.
Egy drónnál ez nem olyan, mint egy távirányítós kisautónál.
Sok más paramétertől függ az egyes motorok értéke.
Szerintem alaposabban tanulmányozni kellene a protocolt, még az is lehet, hogy szabványos.
(#) Hp41C válasza sonajkniz hozzászólására (») Jún 17, 2018 /
 
1. MAX3232 szintillesztő -> PC. A TERM95 program képes szöveges és bináris adatok megjelenítésére. Mit jelent a sor? Van valami végjel vagy adott mennyiségű adat átvitelét jelenti?
2. Mekkora a sebesség? A PICki2 -ben van egy UART tool is. Ehhez nem kell a szintillesztő.
A hozzászólás módosítva: Jún 17, 2018
(#) Zed válasza sonajkniz hozzászólására (») Jún 17, 2018 /
 
Idézet:
„Alap UART kommunikációt használ, egy 8 byteos adatfolyammal.”

Idézet:
„Mindössze 3 vezetékkel kapcsolódik a drón vezérlőjéhez, és ebből kettő a táp.”


Ezek az adatok honnan vannak? Van valamilyen leírás erre vonatkozóan? (Gondolom nincs, azért akarod megmonitorozni, hogy visszafejtsd... de valahonnan csak lehet tudni amiket leírtál.)
(#) sonajkniz válasza Zed hozzászólására (») Jún 17, 2018 /
 
Idézet:
„de valahonnan csak lehet tudni amiket leírtál.”

Először szkóppal vizsgáltam a jeleket, majd logikai analizátorra raktam.
Az analizátor mutatta meg, hogy 8 byteos csomagokban jön a jel, 10 msec-es frissítéssel, és hogy az első és utolsó byte sosem váltotik.
A hozzászólás módosítva: Jún 17, 2018
(#) pajti2 válasza sonajkniz hozzászólására (») Jún 17, 2018 /
 
Egy drónnál nem lehet csak úgy direktbe motorokat vezérelni, az nem úgy megy. Normális drónban van gyorsulás mérő, billenés detektor, azok a motorok "gondolkodnak". Fújni kezdené a szél a drónt, elkezd ellent tartani dőlésszög változtatással. A motorok teljesítménye sem mind egyforma, a vezérlő felszálláskor "profilozza" a motorokat. Mindazt nem lehet egy soros porton keresztül. Egy soros porton keresztül logikai szintű parancsokat tudsz adni maximum "előre", "oldalra", "emelkedj", "tartsd ott", "kamera rögzítés indul" - ilyesmik
(#) sonajkniz válasza pajti2 hozzászólására (») Jún 17, 2018 /
 
Idézet:
„egyből a motorok működésébe avatkozik be.”

Mivel te már a második vagy, akit ez a mondat félrevezet, így egész biztos, hogy hibásan fogalmaztam. Nem azt akartam ezzel mondani, hogy a távirányító vezérli a motorokat, hanem azt, hogy a kiadott parancsnak megfelelő motorok számára küld adott mértékű beavatkozásra utasítást.
Most csak emlékezetből, hogy nagyjából mit mazsoláztam eddig ki.
Lebeg egyhelyben:
0x66 0x80 0x80 0x00 0x80 0x00 0x80 0x99
Indul előre közepes sebességgel:
0x66 0xE3 0x65 0x00 0xE3 0x00 0x65 0x99
Oldalaz:
0x66 0xE3 0xE3 0x00 0x65 0x00 0x65 0x99
Azaz mindíg 4 byte változik, és 2-2 párban. De összetetteb karállásra, már 2-7 ig van változás, és a kezdeti szabályosság odalesz.
Ezért kellene pontosan lejegyezzem, milyen karállás, vagy épp gombnyomás hatására milyen kód jön, hogy rájöjjek a logikájára. Nem drónt akarok vele vezérelni.
(#) Zed válasza sonajkniz hozzászólására (») Jún 18, 2018 /
 
Aha. Így már világos.
Na de honnan jött az, hogy ez USART kommunikáció?
Segíteni sajnos nem tudok. De szerintem attól, hogy szkóppal/jelanalizátorral megnézted, még nem következik egyenesen, hogy ez USART kommunikáció. (Hacsak az ott látott jelekből egyértelműen ki nem derül, hogy valóban USART. De akkor onnan kell meghatároznod azt is, hogy milyen sebességgel, hány adatbittel, hány stopbittel stb. folyik a kommunikáció.)

Az USART-nak, mint minden más kommunikációs protokollnak, megvannak a szabályai. Ha aszinkron átvitelről beszélünk (esetünkben ez jöhet szóba, mivel egyetlen kommunikációs vonal van), akkor egy byte átvitele úgy néz ki, hogy start bittel indul, utána jönnek az adatok, amik lehetnek 7,8 vagy 9 bitesek, majd lehet utána paritásbit, illetve 1, 1.5 vagy 2 stopbit. De annyira én sem értek hozzá... Oda akartam kilyukadni, hogy a szkóp illetve az analizátor jeléből ezt sikerült biztosan megállapítanod, hogy itt USART kommunikációról van szó? Mert ha nem az, akkor hiába próbálod "USART-ként értelmezni", nem valószínű, hogy értelmes, konzekvens adatokat fogsz kapni.
(Azt hittem, hogy a gépkönyv esetleg említi konkrétan, hogy USART kommunikácóról van szó. Ez így lehet akármilyen egyedi protokoll is akár.)
(#) superuser hozzászólása Jún 20, 2018 /
 
ICD3-al mik a tapasztalataitok? Mindenkinek tetű lassú?
Korábban ICD2-t használtam MPLAB alatt. Kattintottam, csinálta amit kell.
Vettem egy ICD3-at az MPLAB-X-hez. Rányomok a 'hold in reset' ikonra, kb. 10 másodperc mire megcsinálja. Próbáltam 32 és 64 bites oprendszeren is, ugyanaz.
(#) Hp41C válasza superuser hozzászólására (») Jún 20, 2018 /
 
A régi MpLab 8.xx alatt is ilyen lassú volt vagy csak az MpLab X alatt?
(#) superuser válasza Hp41C hozzászólására (») Jún 20, 2018 /
 
Sosem használtam az ICD 3-at a régi 8.xx MPLAB-IDE alatt.
MPLAB v8-al ICD2-t, MPLAB-X-el ICD3-at használtam.
(#) JosKa válasza superuser hozzászólására (») Jún 23, 2018 /
 
Igen, nálam is tetű lassú. Nem mértem, de majdnem egy perc mire feltölt egy P24-et.
Nem oly` rég tértem át MPLABX+ICD3-ra MikroE termékekről - a feltöltés sebessége szempontjából az utóbbi a nyerő.
A hozzászólás módosítva: Jún 23, 2018
(#) sonajkniz hozzászólása Jún 24, 2018 /
 
Sziasztok!

Úgy látszik, én már sohasem fogok elboldogulni a hardveres kommunikációval.
Pali barátomtól kaptam egy MAX szintillesztőt, kipróbáltam minden ajánlott programot, de csak nem kaptam meg azokat a jeleket, amiket alogikai analizátortól.
Úgyhogy végül összedobtam egy áramkört egy 2x16-os kijelzővel, ami végre hozta a kívánt eredményt.
Természetesen a hardveres UART-al újfent nem boldogultam, így megírtam szoftverbe.

Ezúton is köszönöm mindenkinek a segítő szándékot!
(#) Hp41C válasza sonajkniz hozzászólására (») Jún 25, 2018 /
 
Mekkora az átviteli sebesség? Esetleg nem szabványos?
(#) sonajkniz válasza Hp41C hozzászólására (») Jún 25, 2018 /
 
A logikai analizátor szerint 19138.
Ennek még tűréshatáron belül kellene lennie.
Vagy csak az analizátor rugalmasabb a PC-nél?
(#) Hp41C válasza sonajkniz hozzászólására (») Jún 25, 2018 /
 
Bele kell férjen a 0.3% eltérés. Milyen kontroller? Mekkora az órajel frekvenciája? Hogyan állítod be az USART -ot?
(#) Keresztes Vitéz hozzászólása Jún 26, 2018 /
 
Jó reggelt! Egy elég kezdő kérdésem lenne. Lehet úgy programozni PIC-et, hogy az alkalmazás miatt a PGD, és PGC lábak egy ellenálláson keresztül fel vannak húzva tápfeszültségre? Vagy valamilyen módon le kellene választanom a programozás idejére?
Köszönöm a választ!
(#) icserny válasza Keresztes Vitéz hozzászólására (») Jún 26, 2018 /
 
Igen, lehet. Feltételezem, hogy az ellenállások értéke nem kisebb 1 k-nál.
(#) Keresztes Vitéz válasza icserny hozzászólására (») Jún 26, 2018 /
 
Köszönöm! 10k-s ellenállások vannak, illetve az áramkört leválasztottam egy szintén 10k-s ellenállással a PIC-ről.
(#) diginewl hozzászólása Jún 26, 2018 /
 
Tiszteletem!
Elakadtam egy nagyon egyszerű pic/asm dologgal, kérek segítséget, ha nem bonyolult.
Találtam egy egyszerű asm kódot Kód. Ezt szeretném beírni egy 16F628a PIC-be, amihez egy 8mhz kristály van kívülről hozzátéve (egy másik kapcsoláshoz az kellett DCC vasútmodell).
Természetesen a hex a PIC-ben meg sem nyikkan.
Mivel teljesen outsider vagyok, olyanból építkezem, amim van.
Egy olyan bonyolult feladatra szeretném rávenni a PIC-et, hogy kb fél másodpercenkét kapcsoljon be egy-egy új kimenetet (led-et), és a végén mind bekapcsolva maradjon. Ezt a fenti ASM-kódból át tudnám írni az egyik mintázatot, de nem tudom az alap miért nem működik.
-Másik a PIC (ez 16f84-re írták)
-rosszul fordítottam asm kódot hex-re (ott a 16F628, és 16F84-is kipróbáltam)
-a 8Mhz kristály nem megfelelő, hanem 10mhz-s kellene. Úgy gondoltam a 8 Mhz miatt nem pontosan 500msec lesz a váltás, hanem több/kevesebb, de nem sokkal.

Megtiszteltek Válaszaitokkal, de csak ha időtök engedi.
Köszönettel: Newl
Következő: »»   1034 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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