Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   513 / 1319
(#) watt válasza szilva hozzászólására (») Jún 25, 2009 /
 
Igen, én is ilyesmire gondoltam, de ez annyira előre mutat, hogy nem látom jelenleg, hogy segítene.

Ezt ebből gondolom:
Idézet:
„Előtét 14V-on 3 ledre: 390 Ω 0.14W
4 ledre: 270 Ω 0.088W
Ezeknek a vesztesége nem sokkal lenne nagyobb, mint az áramgenerátoros meghajtónak?”

Úgy tűnik, nem ismert, hogy az áramgenerátor és az előtét ellenállásos megoldás egy fix feszültség esetén azonos eredményt hoz. Ebből arra következtetek, hogy az sem ismert, miként működik a PWM teljesítmény vezérlés, és az miért jobb hatásfokú. Ha ez nem ismert, akkor a program megírása nem sikerülhet. Ezért javasoltam, hogy egy másik topicban lehet ezekre az alap kérdésekre választ kérni, feltéve, ha kikristályosodik, mit is kéne kérdezni. Ha már ez megvan, akkor jön a PIC PWM megoldás kérdéskör.
Azért neked írom, hogy ne tűnjön személyeskedésnek, nem annak szánom.
(#) elektroláma válasza szilva hozzászólására (») Jún 25, 2009 /
 
Köszi!
10-15 ilyen lesz. Attól függ, hány szabad láb lesz, illetve hány ledsor lesz egy "zónában". 4 zónát terveztem, egy zónában 3-4 ledsor.
De akkor lehet a 7 helyett 8 LED, és egyszerűbb 2*4-et párhuzamosan kötni, majd ezekből 3-4 et még párhuzamosan, majd ezt vezérli a FET. Az egész fényerejét lehetne egy FET-tel vezérelni PWM-ről.
Inkább csatoltam rajzot. Szal az alsó piros kör lenne a fet, a felső piros téglalapok az előtétellenállások, az oszloponként lévő meg vagy FET, vagy tranyó.
PWM-mel meg lehetne pulzálni az egészet az utolsó FET-en. Azt lehagytam, hogy ezek éghetnek egyszerre, vagy lehetne őket random villogtatni az oszloponként lévő kondikkal. Igen, csicsának lesz...
Rendben, nem írtam, hogy ennyi LED lehet, tehát így már eltörpül a PIC fogyasztása.
(#) elektroláma válasza watt hozzászólására (») Jún 25, 2009 /
 
PWM-et vágom. Áramgenerátort nem vizslattam, de a linkelt oldal nagyon jó. Az ellenállást meg az itt található progiból másoltam be gyorsan.
Minden lábat nem tudok PWM-ről vezérelni, azért tettem az előbb csatolt képen a végére egy külön FET-et.
(#) elektroláma válasza watt hozzászólására (») Jún 25, 2009 /
 
És bocs, hogy nem az elején tettem be a rajzot, az valóban segíthetett volna.
(#) Amarton hozzászólása Jún 25, 2009 /
 
Sziasztok!

Foglalkozott már valaki CAN vagy ECAN modullal a 18-as PIC-eknél?
A 16-os sorozatot már szépen kiismertem, de a 18-asnál gondban vagyok.
Olvasgatom az adatlapját és két lehetőségem van a bankolással. Ha az 'a' = 0, akkor az SFR a 15-ös bankból átmegy az ACCESS bank területre és a GPR is oda kerül, szóval elvileg nem kell bankot váltani.
A CAN SFR viszont már más bankban van, szóval az 'a' át kellene állítani 1-re.
Itt már kicsit össze is zavart az adatlap.
Berakom a kódrészemet. Nekem már az nagyon nagy előre lépés lenne, hogy egy egyszerű üzenetet kiküldjek a TXB0 bufferből.
Segítséget előre is köszönöm:

  1. LIST P=18F2480              ;directive to define processor
  2.         #include <P18F2480.INC> ;processor specific variable definitions
  3.  
  4.                 cblock  0x060
  5.                         Delay1
  6.                         Delay2
  7.                         Delay3
  8.                 endc
  9.  
  10.                 ORG 0
  11.                 goto Start             
  12.  
  13. Start
  14.                 movlw           B'11111010'
  15.                 movwf           TRISB
  16.         movlw           B'11111100'
  17.                 movwf           OSCCON  
  18.                 bsf                     OSCTUNE, PLLEN
  19.                
  20.  
  21. Loop
  22.                 banksel         TXB0CON
  23.                 movlw           B'00001000'
  24.                 movwf           CANCON
  25.                 movlw           B'00000000'
  26.                 movwf           CANSTAT
  27.                 movlw           B'00000000'
  28.                 movwf           ECANCON
  29.                 movlw           0x55
  30.                 movwf           TXB0D0
  31.                 movwf           TXB0D1
  32.                 movwf           TXB0D2
  33.                 movwf           TXB0D3
  34.                 movwf           TXB0D4
  35.                 movwf           TXB0D5
  36.                 movwf           TXB0D6
  37.                 movwf           TXB0D7
  38.                 movlw           0x00
  39.                 movwf           TXB0SIDL
  40.                 movlw           0xF0
  41.                 movwf           TXB0SIDH
  42.                 movlw           0x08                            ; vagy 48 ??
  43.                 movwf           TXB0DLC
  44.                 movlw           B'00001000'
  45.                 movlw           TXB0CON
  46.                 btfsc           TXB0CON, TXREQ
  47.                 bra                     $-2
  48.                 goto            Loop
  49.                
  50.  
  51. ;Delay 
  52. ;       movlw   0x48
  53. ;       movwf   Delay1
  54. ;       movlw   0x71
  55. ;       movwf   Delay2
  56. ;       movlw   0x12
  57. ;       movwf   Delay3
  58. ;Delay_Loop
  59. ;       DECFSZ  Delay1, f
  60. ;       goto    Delay_Loop
  61. ;       DECFSZ  Delay2, f
  62. ;       goto    Delay_Loop
  63. ;       DECFSZ  Delay3, f
  64. ;       goto    Delay_Loop
  65. ;       return
  66.  
  67.                 end
(#) trudnai válasza elektroláma hozzászólására (») Jún 25, 2009 /
 
Idézet:
„Akkor elég, ha párhuzamosra veszek egy hármas, és egy 4-es ledsort, megfelelő előtétellenállással?”


Persze, csak ne feledkezz meg mindegyik LED ele tenni azt a megfelelo elotet ellenallast! En soros kapcsolasrol beszeltem amugy...

Azt hiszem watt-nak igaza van es eloszor azt kellene tanulmanyoznod a LED hogy mukodik -- de az pedig ugye mar nem ebbe a topicba illo feladat.
(#) szbalogh hozzászólása Jún 25, 2009 /
 
Sziasztok!
Egy motorvezérlő áramkört rajzoltam nyákra programmal és meg szeretnék valakit kérni, hogy ellenőrizze le nekem, hogy jól csináltam-e mindent.
Soha nem cináltam ilyet ezért vetemedtem a kérés felvetésére
Előre is köszi
(#) kisszee válasza szbalogh hozzászólására (») Jún 25, 2009 /
 
És telepatikus úton szándékozol a kapcsolási rajzot közvetíteni, vagy monitorkézrátétellel ? Illetve PIC -es a megvalósítás vagy nem, mert akkor ez erősen off.
(#) trudnai válasza elektroláma hozzászólására (») Jún 25, 2009 /
 
Idézet:
„Szal az alsó piros kör lenne a fet, a felső piros téglalapok az előtétellenállások, az oszloponként lévő meg vagy FET, vagy tranyó.”


Anelkul, hogy gorombanak tunnek had jegyezzem meg, hogy letezik szabvanyositott rajzolasi modja is a FET-eknek es a tobbi alkatresznek. A szinek pedig nem szabad jeloljenek sem alkatresz tipust sem semmi olyat ami a szinvakokat hatranyosan befolyasolna a rajzok olvasasaban. Ebbol a rajzbol meg az sem latszik milyen tipusu FET-et gondoltal oda, melyik a G, S vagy D.

Tolts le egy aramkor rajozolo programot es azzal keszitsd el az abrad, vagy akar skicceldd le papirra es scannerrel vagy digitalis fenykepezovel fotozd le es mellekeldd azt.
(#) szbalogh válasza kisszee hozzászólására (») Jún 25, 2009 /
 
OFF
Sűrgős lenne és a legolvasottabb topicot néztem ki
Remélem jól csatoltam a fájlokat :eek2:
Amiben bizonytalan vagyok, a nyák el fogja bírni azt a nagy áramot? 10-20A. Próbáltam szélesre hagyni az egyenáramú részt. Sajnos a fetnél középső lábánál nem lehet jobban kiszélesíteni.
(#) potyo válasza Amarton hozzászólására (») Jún 25, 2009 / 1
 
Idézet:
„Ha az 'a' = 0, akkor az SFR a 15-ös bankból átmegy az ACCESS bank területre és a GPR is oda kerül, szóval elvileg nem kell bankot váltani.”


Ez nem pont így van. A memóriaterület 16 bankra van osztva, 0-tól 15-ig számozva. Az utasítások mellett van egy operandus, ami 0 vagy 1 lehet, fejből nemtudom, hogy melyik az ACCESS és melyik a BANKED. A lényeg, hogy ha az ACCESS van az utasításnál, akkor a nullás bank alsó felét és a 15-ös bank felső felét (ami az SFR zóna) tudod elérni az utasításban levő memóriacímmel. Tehát 128 bájt saját memória+128 bájt SFR zóna. Ha viszont a BANKED szerepel az utasításoknál, akkor a BSR regiszterből jön a felső négy bit a memória címzéséhez, és ekkor lineárisan címzed az egész memóriaterületet. Ezért szoktuk azt csinálni, hogy a BSR biteket az egyes bankra állítjuk, így az ACCESS és BANKED megfelelő használatával valójában 384 bájt területet tudunk címezni a BSR további piszkálása nélkül, illetve az SFR zónát is elérjük. A többi területet meg az esetek túlnyomó részében indirekt módon érjük el, az meg független a BSR-től.

Namost a CAN regiszterei már nem fértek be az SFR zónába, ezért a 15-ös bankban lejjebb lógnak, tehát hogy azokat elérjük, vagy a BSR regisztert kell úgy beállítani, hogy a 15-ös bankra mutasson, vagy pedig a MOVFF utasítást kell használni, mert ez BSR-től függetlenül el tudja érni a teljes memóriaterületet. Én a MOVFF-t javaslom, bár egyes chipeknél problémát okozhat a használata (el kell olvasni az adott chip revízió errata-ját). Ha a Work regiszter tartalmát akarod bevinni valahová, akkor használható a MOVFF WREG, XX forma, tehát a Work regiszter is látszik az SFR zónában WREG néven.

CAN-hoz nemigazán tudok mondani semmit. Talán annyit, hogy volt itt egy téma, ami erről szólt, keresd meg, és nézz szét abban, hátha segít.
(#) potyo válasza szbalogh hozzászólására (») Jún 25, 2009 /
 
Ennek akkor sem itt a helye!
(#) elektroláma válasza trudnai hozzászólására (») Jún 25, 2009 /
 
Itt csak paint van kéznél, sorry.
(#) watt válasza elektroláma hozzászólására (») Jún 25, 2009 /
 
És a PWM-es áramgenerátor? És az analog áramgenerátor? És a PWM-es teljesítmény szabályzó + előtétellenállás áramgenerátor? Ezek szerinted PIC-es kérdések? Mert eddig PIC-ről szó sem esett. Ennyi erővel a dízel adagolóról is beszélhetnénk, mert van egy riasztó az autóban, ami PIC-el van felépítve ami az autó része, hasonlóan az adagolóhoz...

Igazán nem akarlak froclizni, de ami itt a PIC kérdéskör, az a PWM szabályzás, azt meg "vágod"!
(#) watt válasza szbalogh hozzászólására (») Jún 25, 2009 /
 
Ez egy offos nap?
(#) elektroláma válasza watt hozzászólására (») Jún 25, 2009 /
 
Akkor hova tegyem be leközelebb? LED, FET, tranyó, és egyéb témakörbe külön-külön? Vagy az ilyen mehet a kezdőbe? Gondoltam vki már csak csinált vmi hasonlót.

Köszönöm a válaszokat.
(#) watt válasza elektroláma hozzászólására (») Jún 25, 2009 /
 
Idézet:
„Vagy az ilyen mehet a kezdőbe?”

Egyrészt igen. Másrészt ha használnád a keresőt, biztosan találnál LED meghajtásról számtalan dolgot és ott kérdezhetnél is.
(#) elektroláma hozzászólása Jún 25, 2009 /
 
Akkor legyen ON is:
18F4550-es PIC-et programozott már vki Mikrobasicből?
A hex-et beraktam szimulátorba, és ott ment szépen. Beégettem a PIC-be, verify ok, és semmi. Memértem a lábakat, megvan az 5V, gnd, minden. Szépen kikapcsolgattam rajta minden hülyeséget. Azt láttam, hogy a Mikrobasic rosszul fordította be vmelyik beállítást, és azt is átírtam, de semmi. Eddig jutottam.
Ha hazaérek, áttöltök vmi egyszerű villogós progit asm-ből. Külföldi fórumokon olvastam, hogy másnak se ment, ezért kérdem.

Watt: keresgéltem, és volt egy csomó találat. Csak így egyben nem volt összefoglalva, mert aki led drivert használt, ő kisebb feszből csinált nagyobbat hozzá, stb...
(#) trudnai válasza elektroláma hozzászólására (») Jún 25, 2009 /
 
Kapcsolast meg a config-ot (azt amit tenylegesen bele egettel a PIC-edbe) jo lenne latni.

Amit ellenorizz az aramkorodben:

- Vdd es Vss kozott a PIC laban ott van-e a 100nF keramia kondi?
- MCLR 10-20k ellenallassal fel van-e huzva a Vdd-re?
- LVP (PGM) lab 10-20k-val le van-e huzva a Vss-re?
- forrasztasi hibak
- lebego bemenetek

Kb ez az ami igy nagy hirtelen a fejembe szokott. Amugy a villogos teszt jo otlet!
(#) Amarton válasza potyo hozzászólására (») Jún 25, 2009 /
 
Most már értem a bank kezelést.
Ezalapján az adatlap is érthetőbb.
A CAN-el pedig elszórakozgatok kicsit.
Remélem az is menni fog.
(#) zsimon válasza Amarton hozzászólására (») Jún 25, 2009 /
 
Helló!

Ha CAN busz gondod van, tudok segíteni. Igaz én PIC24-en csináltam de a lényeg ugyan az. Mondjuk én ASM-be csináltam de most már nagyon cukker.

Egy ta nácsot tudok adni így elsőre. Nem tudom hogy PIC18-ban van e olyan PIC amiben kettő modul van. Nekem 24-en nagyon nagyon bejött hogy eccerre használtam mindkét modult. ECAN1 adta az adatot, ECAN2 meg vette. Így egy PIC, egy program egy laptop, egy ICD2 elég volt. A környezet pedig abszolut kompatibilis volt, mivel pl PIC24 loopback módban "hazudik", nem ment át minden rendesen.

SZóval akármit csinálsz fogj egy dupla CAN-os PICet és mindkét CAN buszra akaszd rá a 2551-es CAN transcievert.

Egyébként most írok egy nagyobb cikket az ECAN-ról, csak kifújom magam a 3 hünapos afranisztáni felkészülés után. Most két hónap szabi, szóval reszkessen mindenki itt...
(#) denon888 válasza icserny hozzászólására (») Jún 25, 2009 /
 
Elvégeztem azokat a módosításokat amiket írtál, de még mindig nem jó. Olvasgattam a leírást és észrevettem ezt:The code contains everything except the DSP libraries from Microchip. They are part of the install of MPLAB, so if you actually build this, you can just add them to the project.
Az Én olvasatomban ez: a kód tartalmaz mindent kivéve a DSP könyvtárakat. Ezeket az MPLAB telepíti és hozzá kell adni a projekthez. Na igen de mit ért a DSP könyvtárakon?
(#) mate_x hozzászólása Jún 25, 2009 /
 
Üdv!
Ez a pic16f84es óra dolog már kezd meg őrjíteni .
Ha valaki nem tudná:Bővebben: Link

Először a kapcsolásirajz szerinti sorrendben voltak a 7szegmenses kijelzők, csak ilyenkor a sorrend nem volt jó, és a 2 5 és 6 os számban egy ledcsík félrecsúszott, valamint a beállításoknál is minden betű meglehetősen "csálén" állt. Na gondoltam mindegy, beállítom a sorrendet, a tranzisztoros kivezetéseket átkötöttem a megfelelő sorrendre, a sorrend jó is lett, de már minden majdnem minden "csálén" állt.
Azt nem értem, hogy hogy állhat egy szám(vagy betű) egy másik helyen máshogy, ha a kapcsolási rajzon egy ponthoz vannak kötve(tehát teljesen azonos).
Esetleg arra gondoltam, hogy amelyik kijelzőhöz legelőször elér a jel az visszaküldd egy jelet a pichez, hogy abba lehet hagyni az adást, vagy valami ilyesmi, ezt nem igazán értem...

üdv:
mate_x
(#) kisszee válasza mate_x hozzászólására (») Jún 25, 2009 /
 
Idézet:
„Azt nem értem, hogy hogy állhat egy szám(vagy betű) egy másik helyen máshogy, ha a kapcsolási rajzon egy ponthoz vannak kötve(tehát teljesen azonos).”


Ez a multiplexelés lényege. Mindig csak 1 kijelző aktív, viszont olyan gyorsan vannak kapcsolgatva, hogy a szemed már folyamatosnak érzékeli a változást. (Van róla egyébként itt HE -n egy cikk.). A kijelzők szegmenseit így gyakorlatilag össze lehet kötni és a programban vezérled, hogy melyik legyen aktív, úgy, hogy a közös katódot lehúzod a földre.

szerk.: Annyiban javítanám a mondandómat, ahogy nézem ezek közös anódos kijelzők, tehát, azok a szegmensek vannak bekapcsolva mindig, amelyiknél a logikai nulla van a PIC kimenetén, ilyenkor a közös anódot +5V -re kell kapcsolni, ahogy a rajzon is van.
(#) mate_x válasza kisszee hozzászólására (») Jún 25, 2009 /
 
Ja már értem köszi ! Meg találtam a cikket is.
Már csak azt nem tudom, hogy az a óra nekem miért nem úgy működik, ahogyan kéne, de mindegy, majd kitalálok valamit...
(#) kisszee válasza mate_x hozzászólására (») Jún 25, 2009 /
 
Amiket trudnai és szilva javasolt a múltkorokban, azokat kipróbáltad ?

Plusz én nem értem ezt a "csálén áll a számot". Úgy érted, hogy a szegmensek nem ott világítanak, ahol kéne ?
(#) icserny válasza denon888 hozzászólására (») Jún 25, 2009 /
 
Idézet:
„Na igen de mit ért a DSP könyvtárakon?”

Szerintem ezt a kérdést néhány héttel ezelőtt
Benjami már megválaszolta! Ha megturkálod egy kicist a C30 fordító "lib" alkönyvtárát, rá fogsz bukkanni!

A C30/docs/dsp_lib alkönyvtárban pedig ott kell lennie a lleírásának is!
(#) Amarton válasza zsimon hozzászólására (») Jún 26, 2009 /
 
Egyenlőre csak a TX lábat akarom használni, megszakítások nélkül.
Rá van kötve egy CF151-es transciever, folytótekercs és 120 Ohm. A másik eszköz nem egy PIC, hanem egy CAN-es áramkör, ami szintén le van zárva 120 Ohm-al.
Bit billegtetéssel működik is a dolog, csak jobb volna megoldani ezt a dolgot hardveresen.

De ez a része lényegtelen, mert ha az PORTB,2 lábon megjelenne a CAN üzenet, akkor szkóppal szépen bitről, bitre át tudnám nézni, hogy az az üzenet megy-e ki, amit kiküldtem.

Abban esetleg tudnál segíteni, hogy csupán a küldéshez milyen regisztereket kell beállítanom és milyen értékre?
Elgondolásom szerint, ha minden jól be van állítva, akkor alapból 5V-nak kellene lennie az PORTB,2 lábon. De sajna 0V van rajta.
(#) mate_x válasza kisszee hozzászólására (») Jún 26, 2009 /
 
Igen kipróbáltam, és amúgy meg a nyákon volt egy kis hiba és azért nem volt jó az egész. Most elvileg minden jó lenne, csak a szegmensben máshol világít a led csík, mint, ahol kéne.
(#) elektroláma válasza trudnai hozzászólására (») Jún 26, 2009 /
 
PGM-re nincs kötve semmi. Nincs lebegő bemenet.
Este nem néztem meg a cuccot, nem volt nálam a PIC. Fél óra múlva már itt lesz, és PGM-re teszek 10K-t. Ha nem megy, utána áttöltöm rá a villogó progit.
Köszi!
Következő: »»   513 / 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