Fórum témák
» Több friss téma |
Bocs igazad van! Így még az a lehetőség marad, hogy a belső referenciát állítod arra az értékre, hogy a minimális tápfesz esetén pont akkora értéket adjon mint a zéner feszültsége. És a kettőt hasonlítod össze a komparátorral. (Mondjuk sosem használtam a komparátort.)
Semmi baj, jól esett, hogy hozzám szóltál
Üdv Mesterek!
DSPIC 33FJ32MC202-vel szimulálok PWM jeleket. Elvileg sikerült megoldanom, hogy a PWM kitöltési tényezője 1 byte legyen, úgy, hogy a PWM frekvencia: #define PWM_FREQ 313223UL //PWM frequency in Hz #define PWM_2_FREQ 313223UL #define FCY 39936000UL //FCY = FOSC / 2 Bár lehet itt tévedek, mert ennek a CHIP-nek nem ennyi a belső óra frekvenciája. A belső órát használnám, PLL-el be van állítva FCY*2-re, azaz az FCY az instrukciós frekvencia. A PWM frekvencia éppen akkora, hogy a PWM kitöltési tényezője 255-lehet maximum. Ez nagy vonalakban mőködik is, de hibázik. Nekem itthon DSPIC33FJ128MC802-esem van, de nem tudom azt szimulálni, ezért haszmálom a másikat. Az enyém belső órája 737287300 Hz, amit a PLL-el állítok be a fenti értékre. Esetleg ez okozza a hibát? Gyorssabban járatom mint kellene? Bizonyos időintervallumokban betesz plusz jeleket a PWM-értékek közé. A csatolt képeken látszik, miről beszélek. Olyan, mintha másik PWM jel bekerülne pluszban. Az egészet azért csinálom, mert egy lineárisan felfutó feszültséget szeretnék elérni. Egyelőre passzív aluláteresztő szűrőre tettem a kimenetet, azt várnám, hogy 0-3.3V lineáris felfutású kimenetem legyen, ami 0.1s alatt éri el a maximumot. Elvileg megy is, de a PWM hibája miatt csúnya tüskék jelennek meg. Az MPLAB-ban megnéztem, hogy mikor az egyik tüske van, akkor a kitöltési tényező mekkora. Az jó. Mi lehet hiba? Valamelyik lábat le kell húzni, vagy fel kell húzni? Nem tudom. Volt valaki aki ilyesmi hibába futott bele? Mi a megoldás szerintetek?
Itt egy újabb kép, hogy mit is szeretnék, de a tüskék is jobban látszódnak.
Kiegészítés:
A PWM kitöltési tényezőjét a Timer3 interrup-jában állítom. A Timer 3 jó értéket ad.
És a main C-ben meghívom az PWM_2_init -et, és a timer3 interruptban:
A hozzászólás módosítva: Márc 14, 2022
Üdv!
Meglett a megoldás! A csúcson, de lehet még kicsit magasabb frekvencián próbáltam meg hajtani a PWM-et, nem szabad. Illetve a kitöltési tényező váltását is másképpen oldottam meg, úgy megy! Köszönöm 'sdrlab' fórumtársnak az ötleteket!
Üdv Mindenkinek!
Építettem tavalyelőtt egy automata csévélőgépet, PIC16F877A a fővezérlő és egy Arduino Nano felel a fúrógép sebességszabályozásáért. Egy évig, viszonylag stabilan működött a rendszer, de most a fúrógépet lecseréltem, és az alábbi problémába ütköztem: programfutás közben a PIC mikrovezérlő programja lefagy. Okozhatja-e a fagyást a közelben lévő új fúrógép (több elektromos zaj)? A mikrovezérlők egy 12V-os kapcsolóüzemű tápról kapják a feszültséget, LM7805-tel leszabályozva, kondenzátorokkal (1000uF, 100n), a mikrovezérlőnél a betápnál 100n-os kerémia kondenzátorokkal plusz szűrés. Az elektronika műanyag dobozban van. Építő jellegű hozzászólásokat előre is köszönöm.
Szia!
Idézet: Mivel előtte "jól" működött, akkor szerintem egyértelműen ez a változás okozza. A megszűntetése nem egyszerű, csak jó tervezéssel, elrendezéssel és dobozolással lehet, itt csak az általános ötleteket tudod hozzá elolvasni ( van külön ilyen témájú topic, keress rá!) ! „Okozhatja-e a fagyást a közelben lévő új fúrógép (több elektromos zaj)?” A hozzászólás módosítva: Márc 16, 2022
Hali!
Adatlap 14.4-es MCLR bekezdés, majd ott a FIGURE 14-5: RECOMMENDED MCLR CIRCUIT. Ha nem ez van a MCLR lábon, akkor az tud furcsaságokat okozni.
Bocsánat, hogy belekotyogok. Ez a megoldás valamennyi PIC tipusra igaz? Tehát egyiket se célszerű direkt VDD-re kötni? A kondenzatort hogyan válasszuk meg? Köszönöm!
Mit tud okozni ha direkt Vdd-re van kötve vagy egyszerű bemenetként van használva, már amelyiken lehet?
Úgy látom, hogy az újabb típusoknál is benne van az adatlapban, mint minimum ajánlott bekötés. Nekem személy szerint csak a fent említett 16F877A-nál volt ez miatt hasonló jelenség régebben. Építettem egy NiMH akku töltőt és véletlenszerű időközönként lefagyott és a kijelzőn mindenféle zagyvaság jelent meg. A szimpla felhúzó ellenállást lecseréltem az ajánlott megoldásra és jó lett.
Ezt leszámítva, azóta mindenhol csak a szimpla felhúzó ellenállást használom és nincs gond.
Direktben nem tanácsos, legalább egy felhúzó ellenállás kell. Máshogy nem is működne az ICSP.
Bemenetre állítva van valami belső áramkör, ha jól tudom, amire átkapcsolja a MCLR-t. Gondolom, akkor normálisan működik. Tesztelni kellene, hogy mennyire zavarérzékeny, ha belsőre van állítva.
Köszönöm szépen, közvetlenül van kötve úgy emlékszem, hamarosan módosítom is.
Gyaníthatóan nem fog segíteni az ügyön. "Megobolondulni" akkor tud a kontroller, ha a kritikus szint alá esik a tápfeszültség és nincs bekapcsolva a BOD. Utóbbi egyszerűen újraindítaná a kontrollert.
Estleg nézd meg, hogy az LVP engedélyezve van-e a configban?
Lásd még ITT
A 16F877A-nál, ha a TBOR időnél (100µs) kisebb a tápfesz beesése a VBOR feszültség (4V) alá, akkor nem lesz reset. A MCLR-nek meg elég 2µs a resethez.
Próbálok visszaemlékezni, hogy is volt nálam az eset, de már homályos. Mintha, nálam sem lett volna bekapcsolva a BOR és akkor csinálta a zagyvaságot, viszont a bekapcsolása után is megmaradt a probléma, csak újra indulásként jelentkezett. Ezért kellett a MCLR áramkör, ami után jó lett. Én 20MHz-en járattam a PIC-et, lehet pont egy kicsit instabilabbat fogtam ki.
Vagy én nézek el valamit ezen a rajzon, vagy tényleg nem jó!
A zéner álltal előállított feszültséget kéne a Vref lábra kötni ( plusz táp - ellenállás - zener - 0V, a zener és az ellenállás közös pontja a Vrefre), és az AN bemenetre kötni a poti álltal leosztott feszültséget.
Hello! Nem néztél el semmit, az NEM JÓ!!
Igaz, igaz. Azóta rájöttem, ahogy március 11-én meg is irtam. Minden jól működik! Köszönöm, hogy ránéztél!!
Dear friend, can we attached two or three more mosfet to control the lights for on/off, with other microcontroller
Show some circuit diagram, there's a lots of possible combinations and not clear, what you want.
This is the required circuit and program
No circuit/schematic diagram inside the file. That is only the source codes of the controller program. See attached image for an example, what we're looking for.
Dear thanks for your quick response, schematic diagram attached here
Connecting two-three triacs to the PIC not problem, see image. For more triacs, you'll need gate driver, output current of the microcontroller is limited.
If you want to control more lamps with one circuit (lamps connected parallel), use stronger triac if the currently used one is not enough. Do not connect ouputs to each other! A hozzászólás módosítva: Márc 27, 2022
Dear, I have schematic diagram for idea, but I have not the code for same
Dear friend, I am waiting for your response, please solve my problem
Sorry, I've forgotten it.
The last schematic looks fine. The triacs not conneted parallel, both have individual control input and controlled output. In this arrangement, you can control any triac (and power output) independently.
Dear Thank you very much for your attention, but problem is I have not code for this schematic, I have code for first schematic (attached below) in which only one triac used to control fan speed only, I am very weak in program writing , I need fan regulator and
control two or three switches too, we need to change in code, Please help A hozzászólás módosítva: Ápr 1, 2022
|
Bejelentkezés
Hirdetés |