Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   715 / 1320
(#) watt válasza peti13 hozzászólására (») Ápr 2, 2010 /
 
Lehet, hogy hibás szerelés miatt tönkre ment a PIC, és most azt hiszed, hogy a 16F egyszerűbb lesz! Hát nem! Az igaz, hogy az USB-s PIC-ek konfigurációja bonyolultabb(hibás következtetés ráfogni a 18F családra a dolgot!!!), de nem annyira, hogy ne lehetne megfejteni! Ha ez nem megy, ugyanúgy nem fog menni a 16F-sem.
Egyébként sem az a megoldás, hogy feladod, hanem az, hogy lépésről lépésre kideríted mi a valós oka annak, hogy nem működik az áramköröd!
Délután, ha addig felteszed a rajzát annak amit építeni szeretnél(nem szöveges infót kérek, rajzot, pontosan feltüntetve minden alkatrészt!), küldök egy projectet, amivel le tudod tesztelni a PIC-et!
(#) rogers hozzászólása Ápr 2, 2010 /
 
Sziasztok.

Szeretném a segitségeteket kérni. Megépitettem az alábbi kapcsolást? http://www.hobbielektronika.hu/kapcsolasok/usb-uart_atalakito_pic18...3.html

Az lenne a kérdésem hogy tökéletesen megy a program a picbe de ha pl. van egy lámpafelkapcsolás vagy kikapcsolom a pákát elszál a pic-be a progi és újraindul. Hogy tudnám a zavart szürni? A 470n kondi nem polarizált amit raktam a vsub közé az gond lehet?
(#) icserny válasza rogers hozzászólására (») Ápr 2, 2010 /
 
Az nem baj, ha nem polarizált a kondi. De az elszállást okát én inkább a Vdd körül keresném. Életfontosságú a jó minőségű 100 nF VDD és VSS között, s ezen kívül egy 10 µF sem árt (bár nem szabályos, de a gyakorlatban 100 µF nagyságrendű is lehet...). Ha a konfigurációban a BOR (Brown out detektálás) be van kapcsolva, akkor reset-elés szintje lehetőleg ne a maximális feszültségre legyen állítva, mert ki tudja, az USB-ről mennyit kapsz... Nálam ez a beállítás így néz ki:

  1. #pragma config BOREN    = SBORDIS
  2. #pragma config BORV     = 27


PIC18 támogatói programkönyvtár honlapjáról letölthető programcsomagban megtalálható a PICCOLO-HID-Bootloader-PIC18F14K50.hex állomány (a bootloader) amely a nálam legjobban bevált konfigurációs beállításokat tartalmazza.
(#) trudnai válasza rogers hozzászólására (») Ápr 2, 2010 /
 
Ahhoz, hogy kiszurd a zavart meg kell eloszor is ertened mi tortenik, mi okozza a jelenseget. Johet-e az USB felol egy tuske, vagy a tap felol jon a tranziens jel, vagy a tap kimarad egy kicsit, esetleg raszor valami az aramkorre mashonnan.

Az esetek tobbsegeben a PIC laban kozvetlenul levo un. hidegito kondi elegendo vedelmet nyujt az altalanos otthoni (domesztikai) zavarokkal szemben (feltetelezve persze, hogy a tap megfeleloen stabilizalt). Ilyen szurest kepvisel vegeredmenyben a C1 es C3 is.

Amit esetleg meg erdemes tudni, hogy szuresnek mindenkeppen alacsony belso ellenallasu kondenzator kell. Pl. a keramia ilyen, raadasul olcso is, igy tokeletesen megfelel ennek a feltetelnek. Az elektrolit epp ennek az ellenkezoje - az viszont egy olcso megoldas bufferelesre (rovidebb kimaradasokra, mivel kis meretben nagy kapacitast kepvisel).

Tapokban altalaban talalsz egy buffer es egy hidegito kondit is, es van ahol tobb kulonbozo erteku hidegito kondi is van egymassal parhuzamosan. Hogy miert van ez? Ugye a kondi belso ellenallasa es a kapacitasa tulajdonkepp egy RC tagot alkot. Ennek pedig ugye meghatarozhato a frekvencia tartomanya, ahol a tranziens jeleket meg tudja szurni. Vegeredmenyben a kulonbozo erteku hidegitokkel ezt a tartomanyt szelesitik ki novelve a szures josagat.

Eloszor szerintem probaldd meg kideriteni mi okozza a PIC resetet. Kozben azert atnezhetned, hogy a kondiknal nincs-e hideg forrasztas vagy zarlat.
(#) peti13 válasza watt hozzászólására (») Ápr 2, 2010 /
 
Az az igazság, hogy a projektet még el se kezdtem, csak a programozási részét, mert ha már az megy csak akkor fogom megvenni a többi alkatrészt, a pichez csináltam egy kis nyáklapot, aminek dip- kivezetései vannak és bele tudom rakni a próbapanelbe, de! a piccel nem lehet baj hiszen nem is csináltam vele semmit, nem azzal van a gond, hanem a programozással. Lehet nem az egész 18F-es család ilyen, ebben igazad van, de eddig 16F877-el kísérletezgettem, és azzal minden ment. De szerintem a programozás már csak azért se ment mert az MPLAB valamilyen okból kifolyólag beadta az unalmast Most elindítottam azt amit a pickit2 programja rakott fel, és ez jó... Most reggel újult erővel neki futok még egyszer hátha most már jó lesz. Amúgy jól esik, hogy ennyi segítőkész ember van itt a fórumon A projekt pedig annyira nem is idegen, mert a 16F877-en már csináltam ilyet, csak hát az nem smd. De próbapanelon már kész. És azért gondoltam, hogy akkor egy 16F-est veszek, mert azzal már megy. Inkább még próbálkozok a 18F2550-el. Üdv. peti.
(#) alex077 hozzászólása Ápr 2, 2010 /
 
Sziasztok!

Van egy kis problémám a PIC soros kommunikációjával.
PIC18F4685 10 MHz-es kristállyal, amit felszoroz belül 40 megára. Max232n-es kapcsolás elvileg működik.
A következő a jelenség: A PIC másodpercenként villogtat egy ledet és kiküld egy A betűt a soros vonalon. Ha jön be adat a soros vonalon, akkor a megszakításban kezeli és ha az A betű, akkor egy másik led állapotát változtatja meg. Ha rádugom a próbapanelre a soros kábelt és rövidre zárom a másik végén a TX RX lábakat, akkor a két led egyszerre villog (azaz minden remekül működik, kiküldi az A betűt és rögtön veszi is).
Ha rákötöm a PC-re a soroskábelt és rövidrezárom a túlvégét,akkor a PC-n látom visszajönni azt az adatot, amit kiküldtem. (CCS soros port monitorát használva)
Azaz a két cucc külön-külön remekül működik. Együtt már nem.
Kezdetben a PIC belső oszciját használtam 8 MHz-en. Gyanakodtam rá, hogy lehet, hogy jobb lenne karcot használni. Tettem rá 4,10,20 megás kvarcokat, használtam 9600-as és 115200-as Baudot is, de szóba sem állnak egymással a PIC és a PC. Minden kombinációban működtek külön-külön a kütyük, de együtt soha. Már teljesen tanácstalan vagyok, hogy mi a baj.
A kvarcon 15 pF-es kondik vannak, 47nF-os kondik vannak a tápvezetékeken. Csatolom a programot.
Mi a baj? Hogy lehet kiküszöbölni?
Előre is köszi.
(#) trudnai válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Nem egeszen ertem. Tehat mikor radugod a loopback csatlakozot, akkor a PIC tudja venni a sajat maga altal kuldott byte-okat? Masik PIC tudja venni az egyik altal kuldott adat folyamot? Arra akarok kilyukadni, hogy az RS232 illesztesnel keresendo vajon a hiba?
(#) alex077 válasza trudnai hozzászólására (») Ápr 2, 2010 /
 
PIC és számítógép(PC) között akarok kapcsolatot létrehozni.
A hiba valószínűleg az időzítéseknél van. Mást nem tudok elképzelni. Csak teljesen tanácstalan vagyok, mert elvileg minden stimmel (BAUD, stb.) és nem megy együtt a két cucc.
(#) Hp41C válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Szia!

Haladj lépésenként. A PC felöl a visszakötés megy, ezután a soros kábel PIC felöli végén csinálj visszakötést. Utána a max232 pic felöli oldalán (a pic -et természetesen vedd ki vagy az adás vonalát ideiglenesen kösd ki). A leggyakoribb hiba, hogy a két adás és a két vétel van egymással összekötve...
A sebességet ellenőrizd le....

Szia
(#) icserny válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Ha van PICkit2 programozód (vagy oszcilloszkópod), akkor nézd meg PIC TX kimenetén a jelalakot, és ellenőrizd a bitrátát!

PC oldalon használhatod a Hyperteminal-t vagy a putty.exe-t is.

Ez a FUSES=H4 biztosan jó? Más PICnél HSPLL van, vagy volt olyan fórumbeli hozzászólás, ahol FUSES=H4,HS-et írt valaki működönek. Ez is azt jelzi, hogy ellenőrizni kell a sebességet! Ha másképp nem, akkor ismert idejű késleltetéssel és a LED villogások számolásával és másodpercmutatós órával.
(#) alex077 válasza Hp41C hozzászólására (») Ápr 2, 2010 /
 
Megtettem, a PC-nek jó a sorosoprtja. Ha a max232 oldalán hurkolom vissza, akkor ugyan nem megy, de ez még nem nagy katasztrófa, mert az biztos, hogy a PIC küldi az adatot és az eljut a PC-hez(emiatt: Ha rádugom a próbapanelre a soros kábelt és rövidre zárom a másik végén a TX RX lábakat, akkor a két led egyszerre villog (azaz minden remekül működik, kiküldi az A betűt és rögtön veszi is)).
Tehát látnom kéne a terminálban az A betűket, de nem látom.
(#) alex077 válasza icserny hozzászólására (») Ápr 2, 2010 /
 
ICD2-vel nem tudom valahogy nézni a TX lábon a jelalakot? Nem lehetne ott valahogy megnézni, hogy stimmel-e a bitráta. Nem tudom, hogyan kell használni az ICD2-t debug módban.
(#) watt válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Próbáld meg beállítani 9600-ra és csak utána vidd feljebb!
(#) icserny válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Szerintem nem (nem csináltak hozzá szoftvert). Írj egy LED villogtató programot és számold az órával mért 10 (vagy akárhány) másodperc alatti villogások számát!
(#) alex077 válasza icserny hozzászólására (») Ápr 2, 2010 /
 
Nem értem mire gondolsz. Mire lehet kövtkeztetni a LED villogási sebességéből?
(#) trudnai válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Idézet:
„Megtettem, a PC-nek jó a sorosoprtja. Ha a max232 oldalán hurkolom vissza, akkor ugyan nem megy, de ez még nem nagy katasztrófa, mert az biztos, hogy a PIC küldi az adatot és az eljut a PC”


Kicsit szabatosabban kellene leirnod mit is csinalsz. Tehat mikor a loopback (hurok) kozvetlen a PIC laban van, akkor ugy tunik mukodik. Mikor a MAX232-n, akkor nem? Tehat a MAX232 kornyeken van valami hiba? Ha PC olvassa amit PIC kuld (mert ugye azt irod a PIC altal kuldott jelek eljutnak a PC-ig, akkor nyilvan az a resze megy...) Vagy nem latod? Nem latsz semmit sem? Sebesseget ellenorizted (nem PIC szoftvereben a forraskodot bongeszve, hanem ahogy javasoltak neked, kulso eszkozokkel). A PC hasznal valamilyen handshake-et ami meglete nelkul esetleg nem hajlando kommunikalni a PIC-eddel?
(#) icserny válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Idézet:
„Mire lehet kövtkeztetni a LED villogási sebességéből?”
Arra, hogy a PIC tényleg 40 MHz-en megy-e...
(#) watt válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Még annyit, hogy nem kéne inkább a gyári fordítót használni a 18F-hez? Talán kevesebb probléma merülne fel...
(#) trudnai válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Idézet:
„ICD2-vel nem tudom valahogy nézni a TX lábon a jelalakot?”


Nem, abban nincs PicKit2-hoz hasonlo logikai analizator, sem sorot port emulacio...

Epits egy oszcilloszkopot ami a hangkartyadra csatlakozik, allitsd alacsony sebessegre amit a hangkartya meg elvisel (pl 1200-2400-4800-9600 baud).
(#) watt válasza trudnai hozzászólására (») Ápr 2, 2010 /
 
Ja-Ja! Én is így szoktam!
(#) trudnai válasza watt hozzászólására (») Ápr 2, 2010 /
 
Regen igy meregettem az RC taviranyito jelalakjait (marmint nem a radio frekijet, hanem amit tovabbitania kell). Ha sikerul jo merofejet csinalni akkor egeszen hasznalhato szkopot tud az ember igy kesziteni En amugy egyszeru ellenallas osztokkal oldottam meg az illesztest. Sajnos ugy az induktivitas nagyon bejatszott, de digitalis jelekhez nekem ugy is megtette
(#) alex077 válasza trudnai hozzászólására (») Ápr 2, 2010 /
 
No akkor leírom részletesen a problémát:
A PC visszahurkolása a soros kábelen oké. A max232-es IC-re rádugva a soros kábelt és ott visszahurkolva (ott ahol már csak 5V van) már nem működik. Azaz hiába küldök adatot a PC-n, nem látom visszajönni.
Ha a PIC-et hurkolom vissza, akkor működik (azaz ha rövidrezárom a PIC TX RX lábát). Ha rákötöm a PICet a max232-re és arra rádugom a soros kábelt és azt hurkolom vissza, akkor is működik (azaz ott hurkoltam vissza, ahol a PC-be dugnám bele).
Mindezekből én azt a következtetést vontam le, hogy a jel eljut a PChez, de az nem tudja értelmezni, azaz az időzítéssel vannak problémák .
A PIC szerintem megfelelő frekin ketyeg, mert az nem létezik, hogy olyan sokféle órajelről járatva mindig rosszul ketyegne. Mindig ügyeltem rá, hogy megfelelő frekik és BAUD-ok legyen beállítva mindenhol. Ezért nem is értem, miért nem megy.
Szkópom nincs és nem hiszem, hogy hirtelen elő tudnék varázsolni egyet a fiókból.
Régen összeraktam egy próbanyákon a soroskommunikációt és arra emlékszem, hogy a PICet kvarcról kellett hajtani, hogy menjen az RS232. Egyszerű a kapcsolás, mint az 1x1 és 150x leellnőriztem, hogy jól raktam-e össze. Persze ennek ellenére lehet, hogy valahol, valamit benéztem. De a hiba jelensége szvsz akkor is arra utal ,hogy időzítésbeli probléma van.
Itt van egy fotó a panelről: ( a TX és RX lábakon nincs semmi, a többi vezeték egy kijelzőé, de az most nincs bekötve)
Bővebben: Link
Ja és nem egészen tudom mi az a handshake.
(#) icserny válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Idézet:
„A PC visszahurkolása a soros kábelen oké. A max232-es IC-re rádugva a soros kábelt és ott visszahurkolva (ott ahol már csak 5V van) már nem működik.
Ennek kellene utánamenni!
Idézet:
„Ja és nem egészen tudom mi az a handshake.”
Ez nem olyan tragédia, amíg a PC oldali szoftverben ki van kapcsolva...
(#) alex077 válasza icserny hozzászólására (») Ápr 2, 2010 /
 
Esetleg azt tudnám még elképzelni, hogy a kondenzátorok nem megfelelőek. 1 µF-osok vannak a MAX232-n, azokat ajánlja az adatlap. Régen tantál kondikat használtam, de ezek azt hiszem már elkók (bár ebben nem vagyok 100%-ig biztos, nem nagyon értek a kondikhoz).Itt van még két kép:
Bővebben: Link
Bővebben: Link
(#) t-dani válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Igen, azok elkók a MAX232 körül!
(#) trudnai válasza alex077 hozzászólására (») Ápr 2, 2010 /
 
Idézet:
„A PIC szerintem megfelelő frekin ketyeg, mert az nem létezik, hogy olyan sokféle órajelről járatva mindig rosszul ketyegne. Mindig ügyeltem rá, hogy megfelelő frekik és BAUD-ok legyen beállítva mindenhol. Ezért nem is értem, miért nem megy.”


Mi pedig nem veletlenul mundjuk, hogy egy kulso eszkozzel kell az ilyesmit ellenorizni... -- pl a LED villogtatas egy jo modszer, szkop meg a logikai analyzator a masik.

Idézet:
„Mindezekből én azt a következtetést vontam le, hogy a jel eljut a PChez, de az nem tudja értelmezni, azaz az időzítéssel vannak problémák”


En nem erre kozevtkeztetnek, mivel a PC-nek a sajat adatait fogadnia kell tudni. MAX232-tol vissza hurkolva is kellene mennie!

Idézet:
„Szkópom nincs és nem hiszem, hogy hirtelen elő tudnék varázsolni egyet a fiókból.”


Az elobb irtuk, hogy kellene egyet epitened -- vegulis egy illeszto a hangkartyadhoz, kb 20 Ft-bol megvan az egesz... Szoftvert meg lehet talalni amelyik a PC monitorara kirajzolja neked a jeleket...

Idézet:
„Ja és nem egészen tudom mi az a handshake.”


Ha soros kommunikacioval szeretnel foglalkozni akkor illene tisztaban lenni a mukodesevel es a fogalmakkal. Nem nehez megtanulni, az egyik legalapvetobb es majdhogynem legregebbi kommuniakcios modszer... Eddig ugye loopback helyett rx-tx osszekotest irtal, tehat annak a fogalomnak is nezz utana es hasznaldd is -- ugyanis nullmodem eseteben is rx-tx-et kotod ossze, tehat zavaro a megfogalmazas. "nullmodem": meg egy fogalom aminek utana kell nezned. Handshake -- ennek is, RTS/DTS ill. DTR/DSR es ha mar ott vagy akkor XON/XOFF.
(#) rogers válasza trudnai hozzászólására (») Ápr 2, 2010 /
 
Köszönöm szépen mindenkinek a segitséget.

Atnéztem a kapcsolást mert megy külső táprol is vagy usb-n keresztül tudom progizni a hardware-t. A baj olyan egycerü volt hogy csak na. Ugye magát a pic-et az usb csatin keresztül progizom fel a pickit-el. Viszont kell még 1 szál ami 1 kis forszemre lett kivezetve és ráforrasztottam a kábelt Vpp fixre amég tesztelem. Na itt szedett össze minden zavart.

Köszi mindenkinek a tanácsot ezért szeretem ezt a forumot.
(#) Oláh Róbert hozzászólása Ápr 2, 2010 /
 
Készítenék egy programot amely a kapott bitsorozat négyes csoportjait egymás után megjeleníti a PIckit2 tesztpaneljének 4 Led-jén, 2 s késlelteéssel.
A bitsorozat ott ahol logikai 1 van ott a led világit ahol 0 ott nem.Miután a bitsorozat első négy csoportja
a teszpanel 4 ledjén megjelent, azok szemmel követhető sebességgel, jobbra lesznek léptetve.
A tesztpanelen lévő potenciaméter középállásától, egyik szélső állása felé forgatva egy küszöb értéken felül a léptetés iránya megváltoztatható legyen.
Egy nyomógombot nyomva tartva 2 s ig a program futása indítható legyen és egyszeri megnyomására viszont leállítható legyen a program. Használjuk a reset funkciót a program újra indítására.
A programot elkezdtem írni de a fenti részhez nem értek hogyan kellene a kódhoz hozzáadni a funkciót.
Szeretném kérni a segítséget az elindulásban. Hogyan programozzam ezt le assemblyben a piros betűs részt?
MPlab IDE-t használnám a program megírásának céljára.
Sajnos még kezdő vagyok a témában, de szeretnék rá megoldást találni.
Köszönöm előre is minden segítő szándékú embernek a segítségét.
Én is igyekszek segíteni a fórumban.
  1. LIST P=16F690
  2.  #INCLUDE "P16F690.INC"
  3.  __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF
  4. CBLOCK 0x0C
  5. T1
  6. T2
  7. ENDC
  8.  
  9. ORG 0
  10. START BSF STATUS,RP0 ;BANK1
  11. MOVLW B'00011111'
  12. MOVWF TRISA
  13. MOVLW B'00000000'
  14. MOVWF TRISB
  15. BCF STATUS,RP0 ;BANK0
  16.  
  17. VISSZA: BTFSS PORTA,0
  18. GOTO BALRA
  19. BTFSS PORTA,1
  20. GOTO JOBBRA
  21. GOTO VISSZA
  22.  
  23. JOBBRA: MOVLW B'10000000'
  24. MOVWF PORTB
  25. CALL DELAY
  26. MOVLW B'01000000'
  27. MOVWF PORTB
  28. CALL DELAY
  29. MOVLW B'00100000'
  30. MOVWF PORTB
  31. CALL DELAY
  32. MOVLW B'00010000'
  33. MOVWF PORTB
  34. CALL DELAY
  35. MOVLW B'00001000'
  36. MOVWF PORTB
  37. CALL DELAY
  38. MOVLW B'00000100'
  39. MOVWF PORTB
  40. CALL DELAY
  41. MOVLW B'00000010'
  42. MOVWF PORTB
  43. CALL DELAY
  44. MOVLW B'00000001'
  45. MOVWF PORTB
  46. CALL DELAY
  47. GOTO VISSZA
  48.  
  49. BALRA: MOVLW B'00000001'
  50. MOVWF PORTB
  51. CALL DELAY
  52. MOVLW B'00000010'
  53. MOVWF PORTB
  54. CALL DELAY
  55. MOVLW B'00000100'
  56. MOVWF PORTB
  57. CALL DELAY
  58. MOVLW B'00001000'
  59. MOVWF PORTB
  60. CALL DELAY
  61. MOVLW B'00010000'
  62. MOVWF PORTB
  63. CALL DELAY
  64. MOVLW B'00100000'
  65. MOVWF PORTB
  66. CALL DELAY
  67. MOVLW B'01000000'
  68. MOVWF PORTB
  69. CALL DELAY
  70. MOVLW B'10000000'
  71. MOVWF PORTB
  72. CALL DELAY
  73. GOTO VISSZA
  74.  
  75. DELAY: MOVLW d'150'
  76. MOVWF T1
  77. DEL: MOVLW d'255'
  78. MOVWF T2
  79. DEL1: NOP
  80. NOP
  81. NOP
  82. NOP
  83. NOP
  84. NOP
  85. NOP
  86. NOP
  87. DECFSZ T2,f
  88. GOTO DEL1
  89. DECFSZ T1,f
  90. GOTO DEL
  91. RETURN
  92.   END

(#) lui144 hozzászólása Ápr 2, 2010 /
 
Üdv mindenkinek!
Szeretnék építeni 1 PIC-es Nixie órát. Nekem kellene 1 kis segítség, hogy az óra 24 órás üzemmód helyett, 96 órás módban működjön: van itt 1 forráskód, de nem tudom, hogy hogyan módosítsam úgy hogy így műkdjön vagyis 23:59:59 helyett 95:59:59-ig számoljon az óra. Hálás lennék a segítségért.
(#) potyo válasza lui144 hozzászólására (») Ápr 2, 2010 /
 
Szerintem a 205-ös sorban kell a 0FCh helyett 0FAh és a 224-es sorban 0FDh helyett 0F7h
Következő: »»   715 / 1320
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