Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Talán próbálj meg hosszabb konvertálási időt beállítani és a bemenetre egy 10K ellenáláson át vezesd a jelet.
Nálam annyira nem ugrál az ADC. Igaz én BASIC-et használok, ezért az Assmebly-hez nem sok konyitásom van. Az én kérdésemre még senki nem jött rá?
A Timerhez biztos jól van minden beállítva?
Mennyi az az ADC ugrálás? Az nem okvetlenül a pic hibája, lehet a referenciaként használt feszültségé is.
Jah. Szernitem jó volt beállítva.
Fluoreszcens kijelzőnek a digitek közötti kapcsolgatásra akarom használni. 4MHz-es órajel, tehát a Timer0 1MHz-el dolgozik. beállítottam a legnagyobb osztást tehát 256-ot. Ekkor olyan lassú lett hogy a Fluoreszcens kijelzőn a digitek átmentek futófénybe. kb 0.5 másodpercenként volt az interrupt. amit akár hogy is számolom nem lesz 15Hz, ami a képlettel kijött.
Igen, én is gondoltam, hogy a konvertálási idő növelése növeli a pontosságot, ezért a lehető legnagyobb konvertálási időt állítottam be.
Amikor ez nem jött be, külső referenciát kötöttem rá. Aztán arra gondoltam, hogy a bemeneti ellenállással lehet baj, mert a meghajtó impedanciára max. 2.5k-t adnak meg. Próbáltam csökkenteni meg növelni is - ugyanolyan. A következő próbálkozás az volt, hogy a konverzió idejére sleep állapotba váltottam, de abból csak a reset hozta vissza, pedig a megszakítás be volt állítva rendesen. Az ugrálás mértéke +-1lsb, de ez pont elég arra, hogy egy lassan, folyamatosan változó jelet ne lehessen vele követni. Mennyi az a "nem annyira ugrál"? Milyen tipust használsz?
Jah! Azt hittem te többre gondolsz. Nálam is kb ennyire szokott ugrálni. De eszembejutott, hogy az egyik hőszenzor adatlapján láttam megoldást rá(lásd melléklet). E nélkül nagyon össze vissza ugrált a mérés.
F877A-t használok többek között. Most vettem SMD hőszenzort, az is Microchip gyártmány. Ehez nem volt odaírva hogy kell neki ilyen kompenzáció, hát nem is raktam be. Nagyon ugrál a mért érték úgyhogy belerakom a kapcsolásba ez a kiegészítést ha már egyszer bevált.
Bocs, de hülye voltam, jó ez a képlet
Idézet: .„1/(0,000001*előosztó*255)” beállítottam 1:8-as osztást és megmértem frekimérővel és jól jött ki az eredmény. Először azért látszott lassabnak mert nem vettem figyelembe hogy 4 digit van a kijelzőn és azok között kell váltogatni. tehát a mért értéket 4-el kellet +szorozni és így már jó is lett. kösz mindenkinek.
Köszi, tehát ha jól értem, az analóg bemenettel párhuzamos 75Ω és 1μ megoldja a problémát? Na ezt majd kipróbálom, most egy másik projekt van a próbapanelen. :yes:
Lehet tökéletes nem lesz, de nálam sokat segített.
Hy! engem is érdekelne a PIC programozása.... csak nem érek hozzá hogy milyen pr.nyelven kell megírni, és azt hol tudnám megnézni esetleg tanulni? vagy esetleg vannak ilyen szimulációs prg.-k is?
segítsetek ! PLS! köszi!
programozási nylevből lehet válogatni, BASIC, C, Pascal, Assemby, stb.
Igen vannak szimulátor programok. Gugli! Magyar oldalak. és találsz egy csomó PIC-es oldalt.
ok! akkor még csak annyit mondj meg,hogy pascalnyelven lehet programozni PIC-et?
Lehet...
[link=http://www.mikroelektronika.co.yu/english/product/compilers/mikropascal/index.htm]http://www.mikroelektronika.co.yu/english/product/compilers/mikropa...ex.htm[/link]
Elnézést, hogy ide irok, de új topicot nem akartam nyitni.
A kérdésem az lenne, hogy nem e tud valaki valami 4 vagy több csatornás pwm ic-t. Lehetőleg i2c interfacel kéne. Tudom a PIC18F2331-nek 8 pwm csatornája van, de még egy pic-t nem akarok beépíteni. Lényeg a hw-s pwm megvalósítás, nem akarom a jelenlegi 2 picet még sw-s pwm megvalósitására is befogni. (van már épp elég dolguk) Esetleg van valakinek valami ötlete?
attól függ mire kellene. mert motormeghajtót azt találtam 4 csatornásba.
Igen motor meghajtónak kéne. De a 4 pwm csatornát nem egyszerre akarom vezérelni hanem össze vissza.
Minden csatorna egy külőn motor csoportot vinne. A forgás irányt fél híd ic-vel (L293) gondoltam megoldani.
Basszus! Pont volt egy olyan IC ami neked kell csak nem mentettem le az adatlapját, még a fél híd se kellet volna mert benne van az is. csak átléptem a limitet és csak holnap tudom letölteni az adatlapját.
Na, most hogy le tudtam tölteni kiderült mégse jó. Ez csak 4db motormeghajtó 1 tokban és az sem egy nagy eresztés. Csak akkor tudnám mért volt oda írva hogy PWM Controller, na mindegy. még nézelődök hátha van normális.
Na de gyorsan találtam másikat
M66240 = 4CH 16Bit PWM generator Ez páhuzamos adat buszt tartalmaz. Mást nem találtam.
Köszi.
Asszem marad a pic. Majd még kitalálok neki valami vezérlési feladatot, hogy ne legyen sok szabad ideje. Ezt a Mitsubishi ic-t meg nem tudom, hogy hol lehet kapni, (nem találtam sehol), az is lehet, hogy horror árban van. Azért köszi!
Az elképzelhető hogy nem egy olcsó mulatság lenne, ha meg lehetne venni valahol.
Szerintetek van olyan C vagy egyébb fordító ami alapból ismeri a Cosinus fügvényt? Vagy, hogy lehet másképp megvalósítani? Sajnos még nem találtam más megoldást így úgy néz ki, hogy szükségem lenne egy Cos müveletre.
Üdv tomee.
Elkezdtem a 18F picekkel foglalkozni és már a config biteknél elakadtam.
Ez egy 18F2331 picinyke pic lenne. A pichez járó példa alapján felconfigoltam és ezt mondja a fordító: __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG. Még a progi elejére ezt irtam oda: list p=18F2331 #INCLUDE Úgy mint a 16F8xx-nél is tettem. De semmi eredménye. Igaz, hogy csak warningot dob de akkor is zavar. Tudna valaki egy led be-ki kapcsoló példa progit küldeni? Köszönettel: Tomee
Ez a deprecated-os szöveg csak azt jelenti, hogy módosítottak a config bitek megadásán, és mostmár megadható így is, hogy config osc=hs, config wdt=off, stb. Ez az új mplabban jelent meg, de a régi módszer is tökéletesen működik. Ne foglalkozz vele, mert nekem ez az új módszer nem akar rendesen működni, lehet, hogy neked sem fog.
Én kíváncsi lennék arra Cos műveletre ha arra találáltad meg a megoldást.
Mivel csak 0-120 foknak kellet volna a coszinusz értéke ezért az jutott eszembe, hogy előre kiszámolom az értékét és egy táblába beirom. Majd amikor szükségem van a szög coszinuszára akkor a táblázatból előszedem. De természetesen nem lebegőpontosan hanem az 1000-el vagy 10000-el megnövelt értékét. És a további számolás során mindennek megnövelem az értékét 1000-el vagy 10000-el.
Igazából nem nekem jutott az eszembe, hanem egy másik haveromnak aki alig (semmit sem) konyit a programozáshoz. Én csak kicsit fínomítottam az ötletén. De szerintem jó ötlet volt tölle.
Köszi.
Már azt hittem, hogy én csináltam valamit rosszul. Mi van olyankor ha a PORTB,4 bitet akarom irni és az nem ál be 1 értéküre. A LATB,4 beál 1 értékre, de a PORTB,4 nem. Az egész PORTB kimenet.
amikor a kimenetre írunk, akkor a LATB-t kellene írni, tehát BSF LATB,4(elvileg a tiéd is jó, de ki tudja). Próbáld meg így.
|
Bejelentkezés
Hirdetés |