Fórum témák
» Több friss téma |
Az XC8 az egy C fordító amiben C-ben megírhatod a forráskódot majd az lefordítja neked HEX-re.
Srácok, PIC-el mérek áramerősséget, de a PIC analóg bemenetén nem folyamatosan nulla látható, hanem random beugrálnak véletlenszerű számok.
Az a baj, hogy ezek a számok zavarják a mérést. Mivel tudom ezt kiszűrni?
Ha a bemenete biztosan nulla és nincs zavar, akkor a programban lehet valami hiba. Esetleg a bemenettel túl nagy ellenállás van sorbakötve, vagy vele párhuzamosan egy kondenzátor. Legalább az áramkört mutasd meg, így elég nehéz segíteni.
Már nem tudtam módosítani az előző hozzászólást. Most jutott eszembe, hogy én is találkoztam ilyennel, PIC18F46K80 esetében. A HW-en semmit nem változtattam, bele egy 46K22 és minden jó volt. Ugyanakkor érdemes megnézni a PIC-hez tartozó Errata doksit is. Egyik-másik kontroller esetében az ADC hibázik, de azt szinte mindig. Az eredményebn van offset, ami az ADC hibája. Igaz, az nem annyira véletlenszerű, inkább bizonyos értéknél folyamatos.
Eredetileg nem volt, semmilyen szűrés rátervezve, de sajnos be tud zavarodni.
Igazából 0-nál nincs zavar, legalább is most nem volt, de ha ráteszem a mérést, ugrál elég jól. Próbáltam testre lehúzni ellenálláson keresztül (4K7, 1K), de nem volt eredménye. Próbáltam 100nF-os kerámiával testre lehúzni a bemenetet, de az sem hozott eredményt. ACS758LCB-100B-vel akarok áramot mérni. Bővebben: Link A gyári leírása szerint kellene egy RC tag, de azt mér nem tudom mekkora és milyen.. Lehetséges, hogy az IC miatt van?
Most a gyári adatai szerint kötöttem be egy 1k-os ellenállást sorsosan a bemenetre és egy 100nF-os kondit párhuzamosan földre húzva a bemenetet.
Sajnos ugrál a mérés erősen.. Az a baj, hogy ez így használhatatlan pontos mérésre.. ui: 18F46K22-őt használok.. A hozzászólás módosítva: Jan 15, 2016
Egy oszcilloszkópos mérés nem ártana, legalább kiderülne, honnan jön a zavar.
Sziasztok
Basichez értőktől kérnék segítséget. Timeres megszakítást szeretnék írni. Valami hasonlót csak itt a B port csinálja. Ha jól látom.
Attila86 küzdött ezzel a típussal. Több minta begyűjtése, a legkisebb és a legnagyobb kihagyása és átlagolás módszerét választotta.
Nem értek hozzá, de itt látok egy példát timer megszakításra.
A számodra érdekes lényeg:
A referencia feszültség és 0V közötti értékkel teszteld labortápról oszcilloszkóppal is figyeld a bemenetet.
Nem tudom ennek az Avcc ki van-e vezetve, egy kis ferrit gyűrűvel érdemes a vccre kötni. A legkisebb legnagyobb minta eldobása és az átlagolás méréstechnikában általánosan használt. Nem tudom milyen gyakran szükséges, hogy új értéket kapjál, érdemes 1-10msonként mérni 10-et, közben egy változóban mindig tárolod a max és min értéket, az új értékeket mindig össze kell adni. Ha megvan a 10 mintád a min max értékeket kivonod és 8-al elosztod. Szerk: ne az áram értékeket, hanem az adc értékeket átlagold. Kijelzőn először csak az ad értékeket jelenítsd meg. Szerk 2: AC áramot mérsz? Szerintem akkor az IC kimenetén AC fesz lesz. Szkópot tegyél rá. Ha AC fesz van akkor az RC tagot 50Hz vágási frekencia alá kell méretezni. Én a DC változatnál ha jól emlékszem 7Hz-re méreteztem. A hozzászólás módosítva: Jan 15, 2016
Üdv.
AC 0-10A közötti mérésre milyen mérőelemet tudtok ajánlani, melyet lehet illeszteni PIC-hez. (vagy ADC illesztéssel Raspi-hoz) ACS712- vel próbálkoztam, de csak DC esetében működött A hozzászólás módosítva: Jan 15, 2016
Én ilyennel próbálkoznék: Bővebben: Link.
Sziasztok!
Egy problémám adódott az MPLAB használatával. Mindkét verziót az MPLAB 8.92-t és az MPLABX-et is használom. Eddig nem volt gondom egyikkel sem. Mostanában azonban újratelepítettem a programokat, illetve frissítéseket raktam fel. Valamiért a korábban megírt programok egyike sem fut már egyik verzión sem. Amikor megnyitom a projektet vagy nem találja a sourse filet, vagy pedig amikor futtatok egy forrást akkor make1 és make2 esetén is hibaüzenettel lép ki, mintha nem találná ezeket a fileket. Mi lehet a gond?
Ha frissítettél fordítókat is, azok más könyvtárba települnek (verziószám az elérési útban), így az include útvonalakat igazítani kell.
A hozzászólás módosítva: Jan 16, 2016
Szia!
Én épp tegnap telepítettem újra a számítógépemet. Előtte persze lementettem a komplett MPLABXproject könyvtárat. Az újratelepítés után nem hoztam létre újabb projectet, hanem a File fülre, majd a lenyíló ablakban az Open project-re kattintva rákerestem a lementett mappára és behívtam. Az összes a mappán belüli projectem, és azok összes állománya működik.
Azt pontosan melyik menüben érem el MPLABX-nél? Próbáltam már a beállításokat, a fordítónál, de valamiért nem áll át.
Oké, köszi. Megírtam a progit, de amikor a konfigurációs biteket állítottam be, nem kínálta fel a kvarc frekvenciáját. Így a sajátját használtam. A program lefordult, de a pic-re nem tudtam rátölteni a programot. Mellékeltem, hogy mit ír ki.
+ megy Hp41C és Bakman-nak is.
Megnéztem oszcilloszkóppal is és valami zavart mutat amit nem igen tudok hová tenni. Most jelenleg egy RC tag beiktatásával és folyamatos átlagolással kicsit jobb az eredmény, de még mindig nem stabil. Majd ha már minden részével kész leszek a fedélzetinek akkor finomítok még rajta... Mérések kb 100-150ms-onként van. Egyelőre marad úgy.. Viszont tanácsotokat kérném abban, hogy egy kerékpárra szerelhető mágneskapcsolós jeladóval hogy tudom legkönnyebben mérni a sebességet? 1 jel lesz fordulatonként és 1mp-es mintákkal gondoltam számolni és kijelezni az értéket. Nem is számolásban kellene segítség, hanem a mérés megvalósításában. Jelenleg ott tartok, hogy van egy 1mp-es timer0 megszakításom ami, amúgy is van és abban végezhetem a számolásokat. A jeladó kapcsolóként működik, amikor a mágnes elhalad a jeladó előtt, akkor rövid zár. Ezt gondolom egy külső interrupt-al kellene figyelnem. A gond ügye az, ha a kerék lassan forog akkor folyamatosan tud megszakítást okozni. Ezzel a problémával már találkoztam, de nem tudtam megoldani. Még mindig 18F46K22 a cél PIC. Minden javaslatnak örülök. Előre is köszi.. Idézet: „A gond ügye az, ha a kerék lassan forog akkor folyamatosan tud megszakítást okozni.” Ha a megszakítást IOC beolvasásra teszed, akkor nem. Igaz, így bekapcsoláskor és kikapcsoláskor is kiváltja a megszakítást, de a megszakításban ellenőrzöd, melyik volt, és a nem megfelelőnél kilépteted. Idézet: „A gond ügye az, ha a kerék lassan forog akkor folyamatosan tud megszakítást okozni.” Az hogy lehet? Ha élvezérelt, akkor csak prell miatt lehetséges, azt meg szoftveresen le kell kezelned !
Valamelyik fórumban olvastam, állítólag több kontrolernél is sikerült reprodukálni a hibát: Ha az IOC megszakítással figyelt bemeneten szépen lassan csökkented a feszültséget, lehet találni nem is nehezen olyan pontot, ahol a megszakítás többször is lefut. Igaz, ezt egy schmitt trigger segítségével orvosolni lehet, így talán kevesebb a prell is.
Általában az INT bemeneteket szoktam használni, bár már kellett IOC is... még nem tapasztaltam ilyet ( egyébként sem jellemző mágneskapcsolós jeladóra /Hall, Reed / a lassú jelváltozás !) .
Azt írtad, ha élvezérelt, csak a prell miatt lehet gond. Erre írtam, hogy állítólag nem csak arra, hanem a túl lassú változásra is lehet ilyen gond. Jeladókra nem jellemző, de elsősorban érdekességként emeltem ki a dolgot. El tudok képzelni olyat, hogy valaki lefutó élt figyel, de az valami miatt lassan is változhat.
Már nem emlékszem pontosan, hogy INT vagy IOC volt a megszakítás, de ez éppen mindegy is.
Köszönöm.
HALL szenzornál volt ez tapasztalható (prell), sima mágnes kapcsolónál amit a biciklire lehet szerelni azon nem tapasztaltam ilyet, most úgy fest frankon működik a megszakítás. Lassú fordulatnál sincs gond...
Érdekes, mert minden Hall szenzornak van hiszterézise, nem nagyon okozhatna ilyet.
Nem igazán értem én sem, de sima kerékpáros mágneskapcsolóval nem okozott folyamatos megszakítást.
HALL szenzorral sajnos igen. De majd még azért biztosan meg fogom nézni mert a motorba az van beleépítve és ki kellene használni, ha már ott van. Az analóg bemenetet meg kondival és ellenállással fogtam meg, hogy ne ugráljon. Majd még biztos azt is kell finomítani, de a lényeg, hogy már működik amit akarok.. Még egy kérdés: Az 5.2-es zéneren is esik a feszültség igaz? Elvileg 0.7v-ot? (Normál zéner)
Lehet, hogy nem volt elég erős a mágneses tér ( nem kapcsolt stabilan!) !
Szkóppal/logikai analizátorral mit láttál ?! A hozzászólás módosítva: Jan 16, 2016
Normál ( nyitó!) irányban igen !
De ezt védelemnek ( párhuzamosan!) szokták berakni, akkor meg záró irányban kell lennie ( ha jól sejtem, hogy mire szánod! ) ! A hozzászólás módosítva: Jan 16, 2016
|
Bejelentkezés
Hirdetés |