Fórum témák
» Több friss téma |
Én ezt nem építettem meg, csak a figyelmedbe ajánlottam a másik helyett, amivel viszont sokat szívtam
Ha olyan égetőt szeretnél, ami mindent visz, az a PicKit3! Már a PicKit2-vel sem tudsz minden PIC-et progizni, de ezek a mégrégebbi, párhuzamos portosok csak NÉHÁNY PIC-et támogatnak!!
Nem bogoztam teljesen végig a programot, de alapvetően másként kellene szervezni. Szerintem felesleges minden impulzusnál kiszámolni mindent, és kijelezni, mert ez túl sokáig tart (ha 10 impulzusnál több jön másodpercenként azt úgyis felesleges kijelezned, mert úgysem tudod leolvasni). Tehát a kijelzést beállítod mondjuk 3-5db/s-ra, amíg a közte levő idő el nem telik csak az utolsó értékeket kell menteni, számolgatni felesleges (amit én linkeltem, ott az elején vizsgál egy váltózót, amit a kijelzéskor törlök).
Azt látom, hogy csak lekérdezed a megszakítást, de azt nem hol figyeled a túlcsordulást. Mivel először törlöd a megszakítás jelzőbitjét, lehet előbb jön új megszakítás, mint ahogy a számítás/kijelzés végezne.
Köszönöm, hogy belenéztél! Lehet kicsit félreérhető, mert csak a legszükségesebb módosításokat csináltam meg, hogy a 877A-ról a 628A-ra át tudjam tenni. A túlcsordulásokat nem figyelem (egyenlőre) csak a számolás részén benne hagytam, gyakorlatilag mindig 0 most. Az egész nem megszakítással működik (mert az nem akart nekem összejönni rendesen), hanem a megszakítást jelző bit figyelésével. Tehát először inicializál, kiírja az alap szöveget stb. utána vár míg a megszakítást jelző bit 1 nem lesz. Addig csak a start címkén ugrál. Ha az impulzus bejött, a kiolvasás megtörtént, a megszakítást jelző bit 1-be állt, akkor kezd számolni, majd kijelezni. Ha közbe jön egy új impulzus akkor sem történik semmi, mert nem szakít meg, max ha a végére ért kezdi elölről az új értékekkel. De előre láthatólag nem lesz olyan sűrűn impulzus, hogy ez előfordulhatna.
Sziasztok!
Segítségeteket kérném két dologban. Inkább hardveres dologról van szó. Azt megírom előre,hogy a C és társi nyelv nekem magas. Programozni csak a Parsic segítségével tudok,ami már egész jól megy. Az első: Mint kiderült a PWM modulban a frekvenciát nem lehet változtatni,mert az függ a pic timer-étől,ezért eléggé sípol a motor. Mondták,hogy mit hogy állítsak át az asm-ben,de akkor elmegy a pic időzítő része is,ami nekem fontos lenne,hogy nem menjen el. A kérdésem az lenne,hogy hogy lehetne a csatolt kapcsolást úgy illeszteni a pic PWM kimenetére,hogy az 555 frekije menjen rá a motorra és ne a picé. Esetleg valami optocsatolóval? A második: Amit tervezek áramkört,annak közvetlen a nyákra tervezném a Pickit2 csatlakozását,a könnyebb és gyorsabb programozás végett és hogy ne kelljen a foglalatból ki-be pakolgatni örökké a pic-et. Programozáskor a Pickit2 adja a tápot a picnek,de mivel a pic a nyákba van,így a pickit a többi dolognak is adná a tápot,ami gondolom nem jó,mert seggre ülne a programozó. A kérdésem az lenne,ha a pic egy diódán keresztül kapná a tápot,akkor a diódán eső feszültség nem okozna működési problémákat a picnél? Mert akkor a dióda után lenne a pickit csatlakozási pontja. Vagy inkább valami jumper-al oldjam meg? Ti ezt hogy szoktátok csinálni? Mi a jó megoldás? Válaszotokat előre is köszönöm. Idézet: A ferki három dologtól függ: 1. oszcillátor freki, 2. Timer előosztásától, 3. PR2 regiszter értékétől. Ha a timert használod másra és az oszcillátor ferki is fix akkor csak a PR2-vel tudsz mahinálni. „Mondták,hogy mit hogy állítsak át az asm-ben,de akkor elmegy a pic időzítő része is,ami nekem fontos lenne,hogy nem menjen el.” Egyébként a PWM a Timer2-öt használja, a kisebb PIC-ekben is van legalább még kettő másik. Nem tudom milyen egyéb feladatokat szánsz neki, de szerintem van még lehetőség.
Szia!
A oszcillátor freki 4Mhz rezonátor lesz. Igen,ezeket írták nekem is,de ha jól emlékszem a Timer és a PR2 összefüggenek egymással. Meg az az igazság, én a pic-be nem szívesen nyúlnék bele. Mint írtam is az nekem ismeretlen rész. Esetleg az 555 -el való összekapcsolásra tudnál javasolni valamit? Egyéb feladatok: egy fáradt olaj adagoló vezérlése lesz,sok időzítéssel és számolással A hozzászólás módosítva: Dec 1, 2014
Arra sajnos nem. Analógban még annyira sem vagyok otthon, mint a digitálisban. Egyébként miből gondolod, hogy ezzel nem fog sípolni? Ahogy néztem a leírásokat a kitöltési tényező változtatásával nő a freki is. Tehát alacsony fordulatnál valószínűleg ezzel is sípol majd. De van 555-ös topic is, talán ott tudnak jobbat tanácsolni.
Szerk: valahol már találkoztam olyannal, hogy PWM-mel hajtott szabályzó áramkör, de most hirtelen nem lelem. A hozzászólás módosítva: Dec 1, 2014
Az 555-öst már megépítettem és szépen működik. Ott is sípol,de nem vészesen. Mértem a frekit. 555-ön 130 és 200 Hz körül van,a picnél meg 3906 Hz fixen.
Köszi a segedelmet. Akkor írok az 555-be is. A második kérdésemre tudsz mondani valamit? A hozzászólás módosítva: Dec 1, 2014
Ha gyári PICKIT2-őd van, akkor szerintem nem szükséges védeni legalább is addig biztosan nem amíg nem nagy fogyasztód van. (az alap 5v-os kapcsolást simán elviszi)
Én például a védelmére semmit nem kötök be, egyszerűen ha valami gond volt az áramkörrel szépen letiltott. (zárlat vagy nagyobb kondi...stb)
Sziasztok!
Abszolút kezdőként első projektemként egy időzítőt szeretnék készíteni pic segítségével. A programozás oldala az talán nem fog gondot okozni, bár majd kiderül... Egyenlőre még az elektronika tervezésének problémájával küzdök. Ezzel kapcsolatban kérdeznék. Az egész egy időzítő áramkör lenne. Itt a HE-n már publikáltak egy ilyet, viszont az enyém eltérne pl az kijelző megvalósításában is (találtam itthon régi pénztárgépek 4*hétszegmenses kijelzőjét SDA2131-gyel meghajtva). Ez miatt később lehet, hogy fogok még kérdezni, valamint a forráskódját C-ben szeretném írni. A konkrét problémám most az lenne, hogy elégé elvesztem a relé választás terén. Annyit lehet kapni és az adatlapokba is kicsit belekeveredtem. Nekem a fogyasztóm a 12V-os tápfeszén keresztül kb 1,5-2A-t vesz fel. Ennek a ki-bekapcsolását kell megoldanom. Milyen relét tudnék használni, amit a pic lábáról vezérelve kapcsolgatná a fogyasztó tápfeszét? Vagy esetleg egy nagyobb áramú tranzisztor is elég lenne ehhez még? Köszönöm a segítséget és üdv: spgabor
Mindenképpen kell legalább egy tranzisztor a relé vezérléshez, mert egy PIC kimenete legfeljebb 20-25 mA, rosszabb esetben 3 mA áramot tud leadni. Ha bőven van szabad láb, elképzelhető, hogy meg tudod oldani több láb együttes kapcsolásával, de a kézenfekvő megoldás a tranzisztor.
Azt tudom, az nem is probléma. Amit említettem cikket, abban is egy tranzisztoron keresztül húzza meg. Viszont nincs benne konkrét relé típus és nem is tudom, hogy a milyet lenne megfelelő. A webáruházakban meg annyi féle van, elég széles árskálában, hogy nem akarok mellé nyúlni, így inkább kérdezek.
Teljesen mindegy. Az adottságokhoz kell igazodni, méret és terhelhetőség, esetleg érintkezők száma tekintetében. Esetleg szempont lehet, hogy minél kisebb legyen a relé áramfelvétele, de nem hinném, hogy nagy különbségek vannak.
Szia!
A múltkor segítettél a fordításban . Hová szúrtál be egy sort ?
Sziasztok!
Volna egy kis gond az egyik programommal. Valamiért a PCL értékét nem úgy növeli a program ahogy kéne. Először ugrik rendesen, utána megint ugyan oda. A harmadik ugrásnál 2 vel ugrik tovább ami jó de utána megint csak kettővel holott 3-al kéne. A counter értéke mindig megy feljebb az jól működik csak azt nem értem, hogy 2 napja ez a programrész egy másik vezérlőn tökéletesen működött. Nem tudom mi lehet a probléma már fél napja agyalk rajta de semmire sem jutottam. A vezérlő PIC18F26K80.
Sziasztok!
Ma kezdtem el a PIC-ekkel foglalkozni tehát teljesen kezdő vagyok. Pickit3+demo kártyával+pic 16f1829 -el ennek a videónak az alapján megpróbáltam világításra bírni a ledet, de a program megírásánál gondok akadtak (képen látszik). A Build Main Project gombra nyomva ez történt. Hol rontottam el?
Nincs beállítva a projektben, hogy MASM kellene a fordításhoz. Az XC8 nem tud mit kezdeni egy .asm programmal.
Nem tudom. Nem használom az MPLab X-et. Gondolom, a projekt tulajdonságai körül kell keresgélni.
MPASM. Minden XC kezdetű "C" nyelven írt programot vár.
Rossz az include file neve pajti
Írd oda ezt ezzel már működnie kellene.
Javul! Van olyan fájl, hogy "pic16F1829.inc"?
Próbáld meg így:
MXPLABX - WINDOW menü - PIC Memory views - Configuration bits Miután beállítgattad azután kattints a generate source code to output-ra és másold be a generált kódot a programodba amit beírtál configot pedig töröld ki.
Na ez megvan. Már csak az RP0 -val van baja .
Error[113] C:\DOCUMENTS AND SETTINGS\BONI\MPLABXPROJECTS\R.X\NEWASMTEMPLATE.ASM 15 : Symbol not previously defined (RP0) |
Bejelentkezés
Hirdetés |