Fórum témák
» Több friss téma |
Igen,valóban a timernek nincs köze a frekihez. Megnöveltem a 20mS-ot 200-ra és a freki ugyanott van.
Úgy látom ez a motor sípolós marad... Vagy van valami parsic-os megoldás rá?
Szia!
Én rezonátort használok. a 4-est kicsréltem 20-asra ( mert csak az van itthon ),de azzal meg se nyikkant a pic.
Szia!
Már kezdem érteni... Azt az átállítást az asm-ben meg lehet csinálni valahol? Mert ugye mplab-al fodítok és az generál asm-et is,meg ugye még egy csomó mindent.
Ha P4-et használod, akkor a szóban forgó PIC adatlapjában (59-61 oldal) megtalálod a PWM period, PR2 beállítását. Ezt az adott parsic által készített ASM file-ban megkeresed(INIT végén) és átírod MPLAB alatt egy általad kiválasztott másik "értelmes értékre" újrafordítod és a feladat megoldva
Szia!
3.6.0.9.-et használok.Mivel az angolom nem túl jó,egy kis értelemzési gondjaim vannak. FOSC= a pic frekije? Esetemben ugye 4 Mhz és Hz-ban kell beírni a képletbe? FPWM= a kívánt frekvencia,ugyancsak Hz-ban TMR2 Prescale value = ennek az értékét honnan tudom meg és hogyan számolandó? FOSC PR2 = 4 • FPWM • TMR2 Prescale value — 1 Továbbá: PR2 értéke a programban az init PWM-nél a 255? Ezt kell majd a számolt értékre módosítanom? BSF STATUS,RP0 ; Bank 1 BCF STATUS,RP1 ; Bank 1 MOVLW 255 ; init PWM MOVWF PR2 BCF STATUS,RP0 ; Bank 0 MOVLW 12 ; PWM mode MOVWF CCP1CON CLRF CCPR1L MOVLW 4 ; TIMER2 ON MOVWF T2CON
Szia...
Idézet: Igen, és a négyet is módosítanám 16-ra, ekkor is lassabb lesz, (ha 1-re. akkor gyorsabb).„CLRF CCPR1L MOVLW 4 ; TIMER2 ON MOVWF T2CON ” De nyílván azt tudod, hogy a P3.6 nem kezeli alapból a 870-t? Ezt is MpLab-al... A hozzászólás módosítva: Nov 11, 2014
Igen,csak a pickit 2-t néztem meg,hogy kezeli-e a 870-et. Parsic 876-ot fordítottam le hexre és írtam bele 870-be. Azzal is működött. Ez volt itthon. Azért választottam ezt,mert ezeknek van analóg bemenete. A PWM végett jó lett volna a 628 is,de annak kincs analóg bemenete. De akkor áttérek 876-ra.
Előre is bocs az értetlenkedésért,de szeretném tudni,mi miért van. Behelyettesítettem a képletbe a dolgokat és kijött 63,004 PR2-re. A kívánt frekire a mértet írtam be ( 3,906 ). Akkor hogy jön ki a programban a PR2-re 255? A számolásnál TIMER2-t 4-en hagytam.
Itt elég részletesen van hozzávaló...Nem tudok kipróbált dolgot most produkálni. Nekem eddig megfelelt a "gyári"...PWM_876
Köszi az infókat. Majd próbálkozgatok.
Sziasztok! Egy UART-os kérdés (régi PARSIC): Ha az UART-ot úgy konfigurálom (16F876), hogy mindkét láb bemenet a gyakorlatban működhet? Tehát mintha 2db különálló soros portom lenne. Fordítani hagyja de a teszt hardver még nincs kész. Hátha van valakinek tapasztalata. Üdv: Zsolt
Válaszolok magamnak. Megnéztem a képzett *.asm fájlt. Beleteszi az UART2-t, de üres. Konzekvencia: nem működhet. Valami mást kell kitalálnom, mert mindenképpen kellene a két soros bemenet. Ha valakinek van ötlete, szívesen fogadom.
A lehetséhes megoldások attól függnek, mivel akarsz kommunikálni. Pl használj RS485-t. igy több eszköz is könnyedén felfűzhető. A sima, vagy (RS232) is összefűzhető, én régebben vagy kapukkal kapcsoltam össze 4-5 szolgával a "mestert". Itt is volt címe minden szolgának...
A hozzászólás módosítva: Nov 21, 2014
Szia! Köszönöm. Sajnos az RS485 nem megoldható, mert az egyik eszköz egy vonalkód szkenner, aminek gyárilag RS232 a kimenete. Most nézegetem, hogy tudok-e neki fix címet generálni. A második eszköz egy DCF77 modul PIC dekódolással (kész, NET-ről leszedett és kicsit módosított progi), ami szintén RE232 kimeneten adja az idő infót. Tudom, hogy meg lehetne oldani a DCF77 kezelést PARSIC-al is és akkor nem kellene mégegy soros bemenet, de nekem kicsit bonyolultnak tűnik. Ennél a második eszköznél, meg tudom oldani a címzést, mivel a soros kimenő adat:
(HHMMSS) (óra/perc/másodperc) és elé tudok tenni egy olyan címet, ami soha nem jöhet (pl.: az óra=0-23, így 24-től bármi lehet). A vonalkódnál már nehezebb a dolog, mert bármivel kezdődhet. Az is eszembe jutott, hogy a szkenner: Metrologic IS4125 indítása automatikus, infrára indul és elvileg kinyerhető belőle az indítójel. Ha az indítójellel szkennelés esetén átkapcsolom egy 4066-al a soros portot az működhet. Tán ez lesz a megoldás. Egyébként a címzett vételnél hogyan oldottad meg a cím szerinti leválogatást? Üdv: Zsolt A hozzászólás módosítva: Nov 22, 2014
Szia. A cimzett adás vagy vétel esetén az értékes adat előtt van néhány byte adat. (RS485 vagy modbusz esetén egy is elég), ami biztosan nem információ, vagy ha fix adatszám esetén tudom hogy az első (vagy néhány ) byte az cím. Leválogatás: pl 10 byte jön ebből az első kettő a cím, a többi adat akkor kerül felhasználásra (pl MX modul) ha a cím passzol...Vagy ha én csinálom a "partnert" is akkor, kiküldöm a címet a paranccsal (byte) és csak ő regál rá, és a választ címre is szűröm...stb...Így lehet többek közt, Pl GSM modem AT kódjait is értelmezni
A hozzászólás módosítva: Nov 22, 2014
Szia! Köszönöm. Sajnos a lekérdezéses módszer a vonalkód szkenner miatt nem működik, marad a fix címzés, vagy a port átkapcsolós módszer. Az MX modul jó ötlet, megnézem hogyan tudom megoldani. Üdv: Zsolt
Aki már P4-t használ: van egy jó, meg egy jobb hírem... Volt, Update. Közkivánatra már a 18F..K.. tipusok is használhatóak. Továbbá, a ..K22 esetén már meg lehet próbálkozni egy jó kis frekiváltóval van PWM elég...12biten...
A hozzászólás módosítva: Nov 23, 2014
Egy kis böngészgetés után további lehetőségeket lehet találni. Ami most felmerengett bennem, egy nyolclábú PIC-es Uart (itt 12F1840) ezzel lehet csinálni már egy kis miniatűr "okos szolgát" akár RS485-re is...
Sziasztok!
Megint tanácsotokat,segítségeteket kérném. Írtam egy hőmérős progit és az lcd kijelzőn a celsius jelnél a C előtt a kis köröcske rendesen ott van,de a kijelzőn a valóságban csak egy vonal. Mi lehet a baj? A karaktertáblából illesztettem be a szimbólumokat. Lehet ott a hiba? MPLAB rendesen fordítja,hibajelzés nincs. Előre is köszönöm válaszotokat A hozzászólás módosítva: Dec 3, 2014
Közbe lett még egy nyűgöm. Fizikálisan csak most került rá a hőmérő, egy MCP9700A. A kijelzett érték eléggé zavaróan vibrál,de nem nagyságrendeket,csak úgy,mint amikor egyik értékről próbál átállni a másikra. Ezt hogy lehet kiküszöbölni? Igaz hogy még csak próbapanelon van,kb 10 centis kábelen. A szűréssel nem hiszem hogy gond lenne,mert a hőmérőnél a táp és kimeneti lábaira,illetve a picnél a bemenetre is tettem 100nF.os kerámia kondikat. Ez sokat segített a dolgon,de még mindig vibál. Esetleg a programban küszöböljem ki,úgy hogy pl. 100ms-onként veszek mitát a mért hőfokból és azt íratom ki?
Mennyi az LCD frissítési ideje? Én feszültségmérésnél jártam így és a frissítési idő hosszabbításával eltűnt a probléma.
Idézet: „hogy pl. 100ms-onként veszek mitát a mért hőfokból és azt íratom ki?” Attól még ugrálhat, csak akkor 100 ms-ként fog... Jobban jársz, ha integrálod a mért értékeket ( pl. az utolsó 16 mérés eredményét összeadod és elosztod 16-al ), így a hirtelen ugrálások eltűnnek !
Ha egyéb feladat miatt nem szükséges, szerintem szobahőmérséklet változást nem kell tized másodpercenként lekövetni. Ezt 1-3 vagy éppen 5 másodpercenként sokásos. Vedd figyelembe, hogy a kijelző a nagy fogyasztó, annak a tövébe is tegyél egy normális szűrést. Mondjuk tantál kondi (1-10uF) és egy kerámia párhuzamosan. A sok matematikai művelet is megterhekli a processzort, úgy hogy a vélt átlagolási eredmény rosszabb eredmény hoz...Van egy viszonylag több példányban legyártott PIC-es alkalmazásom. Ebban amik beváltak. Kapcsoló üzem PWM táp, (van rengeteg forgalomba, én Mp2359-t és L5790-t használok) fontosabb helyeken tantál kondi, magas Quartz feki. (semmi esetre sem belső osc)
Szia!
20-ról 50-re növeltem meg. Az jó? Mennyire állítsam?
Szia!
A hőmérő egy vegyes tüzelésű kazán vízhőfokát méri majd és a szabályzókör a beállított hőfok után szabályoz majd. Ilyen esetben mennyi időnként javaslod a mintavételt? A program akkora,hogy egy 16F877-es már 45%-on van. Úgyhogy van benne számolás bőven. A tápot számítógép tápegysége fogja biztosítani. A freki külső,4Mhz rezonátor.
Sziasztok! Próbálkozott már valaki azzal, hogy ismeretlen karaktertáblás LCD esetén egy tesztprogrammal pl.: másodperces léptetéssel végigpörgeti a karaktertáblát 0-255-ig (#0# ...#255#)?
Nem tudok rájönni. Üdv: Zsolt
Parsicban nincs lehetőség (vagy csak én nem látom) arra hogy a kijelzőnek ascii kódot küldj ki , én flowcode-ban írtam erre programot ...
Szia! Akkor nem én vagyok a hülye. Egyébként ott jött elő a jelentősége, hogy egy projektnél küzdöttem az ékezetes betűkkel és egy elírás kapcsán kiderült, hogy felesleges volt, mert benne vannak a magyar karakterek az LCD-ben. Esetleg a flowcode verzióról beszélhetünk privátban (már ha publikus). Üdv: Zsolt
Szerintem, egy 4x20-s kijelzőre 3 kijelzésképpel, tehát 3x4=12 sorral kirakható az egész térkép. (esetleg még fél sor marad) Be kell írni a sorszámokat sorokba. Ez egyszerűbb mint egy programmal vacakolni. Ehhez van kész program, úgy hívják hogy Parsic.
A hozzászólás módosítva: Dec 5, 2014
Jogos a 3 pont, ezt tényleg meg lehet csinálni, sőt meg is csináltam 2x16-osra 32 sorban. Arra jó, hogy látható (léptetéssel) az összes karakter, csak számolgatni kell a karaktercímeket.
|
Bejelentkezés
Hirdetés |