Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
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.
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.
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.
És bocs, hogy nem az elején tettem be a rajzot, az valóban segíthetett volna.
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:
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.
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
É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.
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.
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. 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.
Itt csak paint van kéznél, sorry.
É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"!
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.
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.
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...
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!
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.
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...
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?
Ü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 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.
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...
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 ? 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!
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.
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.
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! |
Bejelentkezés
Hirdetés |