Fórum témák
» Több friss téma |
Mondjuk feszültséghatárolni a bemenetet pl zénerrel, + kondi szűrésnek.
Külön táp, és optikai leválasztás.
A pwm fokozat RF szűrése. A kódadó vezetékein lehet próbálkozni mindenféle szűrővel, kis-impedanciás fogadással is, de kínlódás lesz.
Erre az optikai leválasztásra gondoltam én is. De hogyan?
Tudnál mutatni egy rajzot?
Megkondizod a pic adatlábát, de ez nyilván nem jó az infrabemenetre, ott túl gyors az adatváltás,
az enkóderre gondolnék kb 47n kondit fehúzó ellenállástól függően, de soros elenállás is kéne 10-100ohm hogy az enkóder ne a feltültütt kondit zárja rövidre, hanem korlátozza az áramot.
Én átfordítanám programban a bemeneteket és 1k lehúzókat tennék rájuk.
A hozzászólás módosítva: Okt 4, 2018
Az infrabemenettel nincs gond. A falba egy helyen van vezetve a plafon LED világítás, és egy helyen jön a PICbe az enkóder jele. Ha a kimenetre más fogyasztót kötök, azzal jól működik minden.
Tehát a gond csak az enkóderek. Lehúzó ellenállásokat se tudok tenni okok miatt. Így gondolod? A nyomógomb mintha az enkóder egyik jele lenne. A hozzászólás módosítva: Okt 4, 2018
Kb ez lehet a jó, ezzel - vagy 100 nF-val - kb. 05-1 ms körüli időállandód van, ha jól számolom.
Ha az encodert 1 sec alatt körbetekerve pl. 100 impulzust vársz, akkor az 10 msec, egy nagyságrenddel nagyobb. Ha az encoder egyébként kétszer nyitott állapotban van, akkor elvben olyan mintha rajta sem lenne, akkor az encoder lehúzott állapota szerint kellene működjön. Ha nincs ilyen, valamit elkötöttél, vagy én látom a dolgot rosszul. Mondjuk zárt érintkezőnél sem lehetne akkora tüske, ami zavart okoz, de ki tudja. Ha minden kötél szakad, PIC az encoder mellé és differenciáls soros átvitel a kábelen brutális redundanciával, biztosan megoldaná. ![]() A hozzászólás módosítva: Okt 4, 2018
Igen. Azt az R23-at egyszer kihagytam, akkora áramimpulzusokat/zavart generált az enkóder hogy a pic rendszeresen beresetelt. Azóta béke van
![]() Csökkentheted az R23 értékét, akkor gyorsabban süti ki a kondit... A hozzászólás módosítva: Okt 4, 2018
Azt figyeltem meg, hogy zárt érintkezőknél jól működik. Amikor nincs jel, úgy működik a vezeték mint egy antenna, és szedi a zavart.
Kipróbálom akkor a 100nF, és egy 56R ellenállást.
A port bemenete és a távoli kontaktus közé rakni egy optocsatolót.
Az optocsatoló kollektora közvetlen a port mellett legyen. Az optocsatoló ledjén pedig "nagy" áramot kell áthajtani a hosszú dróton keresztül. Akkor nem csak feszültség hanem "nagy" teljesítmény is fog utazni a vezetéken aminek egy LED több mA nyitó irányú áramát és feszültségét kell biztosítani esetleg még lehet sorba tenni 1 2 diódát is az opto ledjével ami növeli a nyitó feszültség szintjét. Ezt már kevésbé fogja biztosítani a vezetékben indukálódó feszültség tüske ami a "csupasz" port lábat meg tudja zavarni.
Csavart érpárakkal bekötli a kontaktusokat.
Tettem jelenleg egy javasolt 100nF kondit, eddig jó. Tesztelni fogom még.
Ha a LED és a tranzisztor oldal galvanikusan össze van kötve, nem sok értelme van az optocsatolónak.
Hello! Pedig még is van. Tekintve, hogy a Led "árammal működik", nem egy kóbor tranziens feszültséggel. Ráadásul még "lassú" is..
![]()
Ezt értem, de így a tranziensek is átjutnak, nem?
A kontroller GND hálózatára igen. De a bemeneteire nem. De ha a tápoldalról is zavarérzékeny, akkor jelen esetben nem sok tenni való van, főleg hogy változtatni nem szeretne rajta. Maximum a hálózat oldali zavarszűrés. De ebbe nem akartam belemenni, mert a felépítés sem ésszerű, hogy az áramkör nem ott van, ahol a bementi jel képződik. Talán a teljesítmény jeleket kellet volna "távvezetékezni", nem a működtetést. A különböző szintű és feszültségnemű hálózatok egyébként sem lehetnének azonos csőben..
Táp oldalról nincs gond.
Álmennyezetbe szerelni az elektronikát nem akartam. A villanykapcsoló helyére enkóder került, de ide az elektronika megint nem mehetett, nem fér. Ezért lett külön helyre téve. Amikor csinálram a kábelezést a házba, hálózati kábelt vísszintesen a konektor magasságába vezettem. Minden egyebet, TV NET, LED világítás függőlegesen egy helyen, gondolván hogy ezek alacsony áramok / jelek. Most jut eszembe hogy a jelek netes kábelen keresztül mennek. De azok a LAN kábelek árnyékoltak... Viszont annak csak úgy van értelme, ha a fólia árnyékolás a minusszal össze van kötve nem?
Egy árnyékolt kábelnek mindig akkor van értelme, ha csatlakozik a GND pontra. És az a jó, ha ezt csak egyik oldalon teszi. Mert akkor nem alakul ki földhurok, ami megint beindukálhatja a zavarjeleket.
Ha máshogy megoldani nem sikerül, borotváld le a protokol réteget az usb kapcsolatról, és használj csak generic bulk adatátvitelt. Lesz 1 milli sec időszeletenként egy 64 byte-os minicsomagod oda-vissza. Protokolt megírod magadnak. A generic usb driver mindegyik oprendszernek alapból része. Az eszközt a os alatt enumerátorral vid/pid alapján találod meg, azok a funkciók minden normális sw sdk alatt elérhetőek (os oldali szolgáltatásokra proxy függvények). A probléma vele csak annyi, hogy ugyan nem kell driver, de nincs is
![]()
Nos, megrajzoltam, lehuzaloztam a Hp41c által ajánlott kapcsolóüzemű tápot. A kérdésem az lenne, hogy az enable lábra egy feszültségosztót rakhatok-e így, hogy 0.8V-al megtápláljam, vagy így nem illik? Itt kezdtük el beszélni és pic-hez használom, azért ideraktam a kérdést.
A hozzászólás módosítva: Okt 7, 2018
Az EN lábon az engedélyezési küszöb maximális feszültsége 1.2V is lehet, így az osztóval ennél egy kicsit nagyobb feszültséget kellene beállítani.
A leosztott feszültség 4.7V, elvileg 0.9V lesz az ena. De, módosítom, köszönöm.
Sziasztok!
PIC18F66K80 processzor RA0 lábát szeretném használni egyszer analóg bemenetként, ami egy termoelem feszültségét alakítaná át digitális jellé, máskor meg egy DS18B20 digitális hőmérő jelét olvasná be további felhasználásra. Az adatlapot olvasva, az ADCON0 regiszter 6-2 bitjeinek beállításával tudom az analóg bemenetet kiválasztani. Ha az ADON bit 1, akkor a analóg jel konverziója működik, ha 0 akkor a konverziós modul le van kapcsolva, tehát digitális jel beolvasására alkalmas. Ha ez így van kérek megerősítést, ha nem akkor kérek útbaigazítást. A hozzászólást előre is köszönöm!
Ha két meghajtó (a hőelem jelének feldolgozását végző áramkör és a 1-Wite eszköz) kimenete egy közös pontra (a RA0 lábra) dolgozik, egy időben csak az egyik meghajtása lehet alacsony impedanciás. A hőelem jelének feldolgozását végző áramkör kimenetét lehet nagy impedanciásra tervezni, de figyelembe kell A/D maximális meghajtó impedanciájának értékét (és ebből az A/D beállási idejét) és azt, hogy a 1-wire meghajtó felhúzó ellenállást igényel. Ez némiképp ellentmondásos, hiszen a felhúzó ellenállás a nagy impedanciás áramkörrel a mért érték torzításához vezet. A megoldás a felhúzó ellenállás kikapcsolása lenne a mérés idejére. Ehhez azonban egy PIC lábra lenne szükség. Ha felhasználnánk két lábat, miért nem választjuk szét a két bemenetet?
Szia!
Ezt valóban még át kell gondolni. A pic lábainak száma viszont kevés, mondhatnám korlátozott. Mindenesetre a felvetés jogos és köszönöm.
Szia!
Azért a tegnapi kérdésem nem volt igazán teljes. Nem 1 termoelem és nem 1 DS18B20 kapcsolódik a PIC-hez, hanem 2 termoelem és 5 DS18B20. Az éppen aktuális mérőeszköz jelét egy CD4051 kapcsolja a PIC lábára. Így minden eszköz jele azonos impedanciával csatlakozik a PIC-hez. Ezt igazából azért gondoltam így, mert így nem kell az 1 wire eszközöket a bekapcsoláskor egyenként azonosítani és a termoelemek jeleit is egy lábról lehet feldogozni. Igaz, hogy így 5 lábat használok el a mérésekre 3 helyett, de nyerek egy kényelmi funkciót. Így ismét az eredeti kérdés lett aktuális.
RA0 - komparátor kikapcsolva:
ANCON0 0. bitje 0 - RA0 láb digitális bemenet/kimenet a TRISA 0. bitje szerint, a PORTA regiszter 0 bitjén a lábon megjelenő logikai szintnek megfelelő értéket olvashatjuk. ANCON0 0. bitje 1 - RA0 láb analóg bemenet: ha TRISA 0. bitje 0, akkor digitális kimenet, a lábon mérhető feszültség kerül az A/D bemenetére. A PORTA regiszter 0. bitjén 0 olvasható. ha TRISA 0. bitje 1, akkor a lábon mérhető feszültség kerül az A/D bemenetére. A PORTA regiszter 0. bitjén 0 olvasható. Az üzemmód az ANCON0 és a TRISA regiszterekkel állítható be.
Srácok, megint egy mérési problémám van.
+-12v-os PWM jelet szeretnék vissza mérni egy 16F684-es PIC-el. AN3-as csatornáját használóm a megfelelő osztókkal tudom is mérni a feszültséget, de csak is a pozitív részt és csak is PWM nélkül. Ha a PWM jel megy, nem tudom megmérni a valós pozitív feszültséget. PWM 1KHz-es jelen csattog + és -12v-on. Timer2-vel állítom elő a PWM jelet és azt használom megszakításban a mérésre is. Beállításaim a következőek:
Majd ezt követi a kiszólóág rutin:
Majd ezt követi a kitöltés beállítása és az ADC által begyűjtött adatok feldolgozása. Változó kitöltéssel működne a PWM.
Hogy tudnám megmérni a valós pozitív feszültséget? |
Bejelentkezés
Hirdetés |