Fórum témák
» Több friss téma |
Ha az impulzusadó szimbólümot egyszer használod, és mondjuk egy számlálóval leosztod 1800-zal akkor az annyi is fog lenni amit vársz... Ha megnézed a help-jét a proginak, abban benne van, hogy az idózítések 4MHz oszcillátor frekvencia esetén érvényesek. Ha jól tudom ez csak néhány alkalmazásban érvényes,... ki kell próbálni...
Régebben 20MHz-nélis szépen adta az 1Hz-et. Ha megnézed közben a készülő forrás file-t, és átirod a frekit a proci beállításánál (figyelj ha nagyobb frekit irsz az oszci tipusát is írd át HS-re) az ASM-ben is átírja az osztás beállítást... RS komm-nál nem próbáltam... Most van tervben egy kis PLC"féleség" ami kell most nekem néhány helyre. A helyszüke miatt 16F876-tal... Igy kapcsi nélkülis magáért beszél...
Itt van egy "komplettebb" nyákterv (16f876-tal) ez gyártásra kész, plusz egy triac vezérlő optocsatolós kártya is van rajta, ami 16f628-cal megy... a két panel összeköthető
egy 10-es szalagkábellel. A 876-t kár a helyén is felprogramozható!
Köszi, hogy sokan kerestek priviben...
Egy két kezdőknek való megoldást felteszek időnként, ahogy én csinálnám, illetve csináltam, és tutira müködik. Ha a proci nem passzolna, a Parsic- mikrokontroller beállításoknál át kell állítani és már az adott prociba való a progi. Persze ha nincs az adott prociba az adott "hardware" elem akkor nem oké, pl AD converter...stb. És a lábakat is szükség esetén természetesen át kell írni...De az egyszerüség kedvéért az "alsóbb" portokat használom. Most először egy két apróság, ami meghozza a kedvet az "embernek" a kezdeti kudarcok után... 16F628-ra Majd teszek fel lcd-set EEprom-osat és Uart-osat is meg I2C-set...stb
Felteszem PIC_kiterjesztésben is hogy a proci beállításai, és a táblázat ( maszk) beállítása is világos legyen...
Egy több oldalast is, izelítőnek...
Felteszem a hőfok5 projekt szolga egységét, is egy 5 csatornás triac vezérlőt, ami a "mestertől" (16F876) kapott (10ms-onként uart-on)
adatok alapján 1-100% ig beállíthatóan hajtja a kimenetekre kapcsolt moc3023-on keresztül Bta40-eseket...Illetve opcióként beállíthatóan 5db Nivelco unicont modultól kapcsoló jeleket, ha hőérzékelővel mérünk... Az egészben nincs semmi nagy durranás, inkább csak érdekessége az egésznek, hogy 2db 20MHz-n járatott proci kommunikál egymással, igy nem marad ki egy szinusz hullám kapcsolás az 1%-os teljesítményráta mellett sem... Ami még a parsic "hozsannázásához", kb 14-16 óra a két progi (hőfok5, triac_5) és elsőre müködött, csak a 3-as és 4-es csatorna kimenetét kellett felcserélnem, mert figyelmetlenségből elírtam!
PCF 8583 óra/kalendár Ic olvasása, a változókat Lcd-re lehettenni a példa szerint, vagy a programban más dologra szabadon lehet használni, vagy Uart-on elküldeni akár pc-vel is kommunikál mint itt, (oda_vissza) az időt küldi a pc felé, illetve állítható a pontos idő a pc-ről. Az Rs-check.exe-t célszerű használni...
Az I2c-s kommunikációt az inc. kiterjesztésként ASM részletek végzik, - rutinokat tudunk beilleszteni a Parsic segítségével. Ha más RTC ic-t használuk bele kell egykicsit turni...
Továbbá ezek is kellenek... ( a clain ) a Parsic könvtárba... Tömörítve! (a kiterjesztés miatt).
Szasztok
most nézegetem e programot...18F-hez hogyan lehetne használni?
ez a 16-os sorozat fénykorában lett kifejlesztve,
tehát a benne alkalmazott elemek szubrutinok, ...stb ehhez a szériához valók... Amig egy magányos őrült nem veszi a fáradságot és legalább néhány domináns tipusra nem csinál hasonló megoldást, vagy ezt feltörve nem alakítja át, addig marad a 16F... Biztosan létezik ilyen fejlesztőkörnyezet, mint ahogyan a PLC-hez sem ASM-ben írogatnak progikat... Addig marad a 16F, és a parsic, ezen verziója, akinek ez "fekszik" jobban...A szubrutinok szerintem minden további nélkül használhatók, legalább is egy részük, a konfig rész, Proc beállítás, ...stb más lesz... Ha nem fér bele egy progi 16F876-ba vagy 877-be akkor kommunikáltatom őket uart-on, úgy alakítom a feladatot, hogy lehetőleg ezen eszközökkel megoldható legyen, akár 3 proci is elkommunikál egy panelon, igaz plus 1-2 ezer ft, viszont a progi akár egy esete meg van, és általában elsőre müködik, ezt szoktam mérlegelni...
Szia,
köszi a válasz! Sajna nálam nem lehet kötögetni, mert adott a méret, többnyire 30x14x6mm..ebbe nem sok minden fér el Még egy segítséget kérnék: nekem 19 V DC négyszög jön, ami egy DC-re kevert digi jel, szakaszos, néha ismételt bitsorral...ezt hogyan lehetne bevenni e progiba? OFF milyen ingyenes (?!) progit kéne áramkör/NYÁK tervezéshez használni? ON
Feltételezem ez valami protokoll szerint, küldött jelek, így tehát létezik hozzá valami illesztő chip, pl Az rs232, höz a max232, a rs485-höz, max485, ...stb Can bus-hoz is meg van a megfelelő...Ha valami egyedi jelsorozat, akkor valamelyik optocsatoló biztosan megbirkózik vele...Vannak adatillesztésre egészen gyors optocsatolók.
detektálni akarod, vagy felhasználni információtartalmukat mint változók,..stb? A nyáktervezőkre az eagle vagy a sprint layout4.0 vagy 5.0 ezekhez van itt "okosság" említve a fórumon is, ingyenes és jó a "ceruza"...
Szia, köszönöm a választ!
Sajna nem tudok ilyen dekóder chipről. A protokoll neve NMRA DCC, digitális modellvasutakhoz használják. A tartalom (bitek) byte-okká alakítandók és végrehajtandók. sorozat: cím, adat, xor. A dekóder egyedi címzésű, ha neki jött a parancs, akkor végrehajtja. --off nem csak NYÁK, hanem tesztelhető áramköri tervező kéne..
Sziasztok!
Azt szeretném kérdezni tőletek, hogy lehetséges-e ebben a progiban nagyobb szám osztása. Fordulatszám méréséhez lenne, impulzus szélességet számoltatnék vele, aminek az eredménye 0-65534 közötti változó (az én esetemben ez kb 1000-40000 között mozogna) és ezzel a változóval kéne leosztanom a fix 30.000.000 -ot. Ez azért lenne fontos, hogy gyors mérési eredményt kapjak. Eredetileg az impulzusokból változó szintű DC-t állítottam elő, majd azt AD-konverter bemenetre, de a pufferkondik miatt kb 0.5 sec kellett a 99% eléréséhez, alacsony fordulatszámon pedig ingadozott az érték. Szóval ezzel az osztással gyorsan nagyon pontos értéket kaphatnék. előre is köszönöm a válaszokat.
vannak 16 bites műveletekkel lehetőségek, így osztás is...
Az adott szimbólum, amivel akarod csinálni 16 bitesre állítod, jobb egér gomb ...stb... A Te feladatodhoz, ha más eljárás lenne célravezetőbb, ott van Pl: az impulzus mérés, van rá példa a Examp3, demo példában, vagy a progi help-jében, azért csak mondom , mert még erre, nem csináltam konkrét projektet...
Köszi a választ,
közben már sikerült megoldanom nagynehezen, egyébként a 30E6 ot pont az impulzus mérés eredményével kellett leosztani. Az alapvető probléma ott volt hogy 30e6 25 bites szám de mint mondottam volt sikerült megoldani interpolálással: RBtime=az impulzus szélessége a=RBtime/1000, b=x+1 c=RBtime-x*1000 <- ezzel meghatároztam a maradékot 30e6 -> helyett 30000 (ez már 16 bites szám) a fix szám d=(30000/a - 30000/b * c )/10 <- azért utólag osztok, hogy nagyobb legyen a pontosság fordulat=a*10-d ez egy 4hengeres 4ütemű kocsi két gyujtás közötti idejéből (ms-nagyságrendű!) meghatározza a fordulatszámot max.+-10 pontossággal. csak azt kell külső kapcsolással elérni, hogy két szikra között magas jel legyen végig, mert az RBtime a felfutó és lefutó élek közötti időt méri us - ban. Én ezt egy 4017-essel értem el, és így még azt is tudom választani, hogy minden hanyadik szikraközt mérje. /ez azért kellett, mert ha jól sejtem a progi futása felfüggesztve van a mérési ciklus alatt, és ha folyamatosan méretnék vele folyton állna a progi többi része. >
Sziasztok,
lenne még egy kérdésem. Hogy lehetne a PARSICban 1ms -os clock-ot berakni? A progi hibát dob ki rá és 2ms-ra írja át. Remélem valahogy meg lehet oldani.
Pl: hogy a "beállításban" 4Mhz helyett 2Mhz írsz és a 2ms
az valójában 1 ms lesz. egyébként a sok ilyen időzítés alkalmazása pontatlanná teszi a tényleges időzítési időket... Ugy szoktam kiküszöbölni, hogy egy "impulzusadót" beállítok és számlálóval+ "ST" -vel leosztom, és így még kivülről az időzítést is tudom változtatni, ha kell ( az ST-nek az SP bemenetén keresztül)... akár 10 időzítés is elmegy így egyszerre... A tényleges "bit"állapotát set-reset-tel csinálom... majd küldök példát erre ha kell...
Én ma kezdtem "a programozást " csináltam egy áramkört de 3 példányban kéne beletenni a pic-be
ezt hogy lehet megoldani? rajzoljam meg 3*?
Szia dcsabi szeretném, hogy szakértő szemmel véleményt mondanál erről az áramkörről. Ez egy előgyújtás vezérlő lenne, ami 250us-mal figyeli az impulzusok közötti időt majd a táblázatban megadott értéknek megfelelően 16us-mal késleltetve, kiadja a kimenetén (ez egy tirisztort fog nyitni a CDI gyújtásban). Arra lennék kíváncsi hogy működne ez így, és az időzítéseknél alkalmazhatom azt a eljárást hogy 4Mhz akarom működtetni a programot akkor 4Khz írassam meg vele hogy az időzítések megfelelően működjenek vagy van erre valami más megoldás??Még egy kérdésem lenne hogy hogyan működik a PO nevezetű modul , látom a példákból hogy két bit orientált és egy bájt orientált kivezetése van , az EN nevezetűre álltalába órajel csatlakozik de már a működését nem értem legalábbis szimulátoron nem látok semmit ezért megköszönném ha egy példával elmagyaráznád a működését. Előre is köszönettel nyemi.
Egészen alacsony frekire nem valószínü, hogy reálisan fog
csökkenni az időzítés... Nézd közben a készülő forrásfile-t és ott változik a TR1 rutinban a megfelelő érték az osztásarányhoz... Én ilyen kis időzítésekhez inkább 20Mhz-et használnék, és ennek megfelelően trükköznék az időalappal... Az impulzus kimenetet még a PO modul szerint nem használtam, de a help-ben is van leírás róla... Ha nincs meg az eredeti ide való példaprogi, ime...
Ha jól értelmezem több dolgot akarsz egyszerre csináltatni a PIC-el...? Ha nem zavarják egymást természetesen müködni fog...
Gondolom mind a három rajzod nem ugyanazt a bemenetet és kimenetet akarja használni ? Ha az Mplab lefordítja akkor menni is szokott... Én már írtam akkora progit alig fért bele a PIC16f877-be, (99%) gondolhatod hány dolog ment egyszerre...! ? Amit a Parsic-ba akár 8 oldalon is lerajzolsz és helyes, azt lefordítod, beégeted és müködni fog... Nézd meg a régebben feltett hőfok5 nevü projektemet...és lapozz a számbillentyükkel
És ha rajzolok 3 egyforma áramkört ,ezeket összekapcsolni (log komparátorokkal) hogyan lehet illetve hogyan fordítom le az mp labbal?
Nem teljesen értem.. Ha rajzolsz három egyforma áramkört, pl három munkalapra, ezeket a P1:X1 szimbólum segítségével tetszőlegesen összekötheted ha akarod és kész ha nem jól értelmezem kicsit részletesebben fogalmazd meg a feladatot...
Nem is muszáj háromszor lerajzolnod, mert "kopizni" is lehet tetszőlegesen és a progi átsorszámozza a változókat... Sőt több példányát is meg szoktam nyítni a Parsicnak és másik projektből is szotam "kopizni" részleteket...
Van 3 áramör (egyformák) ezeknek a kimeneteit kéne összefogni logikai komparátorokkal . Pl ha az 1 áramkör 1 kimenete aktív és a közös bemenetre jel érkezik az 1-es nem reagál viszont a2kapcsol de ha mindkettő aktív -vagy kiapcsolt akkor elfogadja az indító jelet (a3 áramkörnek lenne saját bemenete és közös bemenet is
ezt simán logikai kapukból összerkhatod: És, Vagy, Kizáró_vagy kapuk ezeket 16 bemenetig lehet alkalmazni és akár 50-60 példányban, Ott van a set_reset, aztán összehasonlítás, schmitt-trigger stb,...aztán az adott változó be vagy kimenetét egyszerüen invertálhatod jobb egér és kipipál ....Próbálj rajzolgatni és a szimulátort kapcsold be, és megmutatja mi lenne a valóságban... a bemenetre kattints az egérrel és aktivvá válik...stb...
Köszi a választ,
még azt szeretném tudni, hogy ezzel a kis csalással meddig lehet pontosan leosztani az órát? Ha 20Mhz kvarcot használok és mondjuk 2 MHz-t írok a progiba akkor HS vagy XT kell választani az oszcillátor típusának? Így még Menne pontosan a 2ms helyett a 200us ?
2Mhz-ig biztos, viszont a konfig-ban Hs-t állítsál be ugyanis ez egy belső ellenálást kapcsol...
A 2 vagy 20 Mhz az sehol nem szerepel... Lehet próbálgatni, láthatóvá tenni pl egy led villogtatásával, egy látható időközzel ... valamelyik kimeneten...
Kösz a választ dcsabi majd kísérletezek, mert az úgy látom a belső ciklus a legnagyobb osztásra, van állítva az option regiszterben, azért nem lehet kisseb időzítéseket állítani. Üdv nyemi.
Kérték már többen tőlem: Harang ütemvezérlés vagy más
"hinta és inga mozgásokhoz" egy végállással... Húzó tekerccsel... Pic16f628A-va. A parsic-os File-ban van leírás a müködésről és a bekötésről. |
Bejelentkezés
Hirdetés |