Fórum témák
» Több friss téma |
Fórum
Rajzból a D.0-D.3 ig kimenet ezeket sorba futtatod egy számlálóval. (20-50ms)
A D.4-D.7 ezek bemenetek. a kimenet futtató számláló és az éppen lenyomott gomb kereszteződésekor fellépó bemenet állapota lesz az aktuális nyomógomb érték. A lenyomás tényét összehasonlító modullal figyelheted. Ha 0-nál nagyobb valami...stb... A gyakorlati nulla az valójában 16 lesz. Folytasd...! Számláló, one-shot,BV,(egy bem.) és Mx...stb
Köszi hogy segíteni akarsz.
Közben számolgattam én is több értéket. Aztán rájöttem sajnos nem jön össze semmiképp. 6,5 és 70,xx ms közti értékkel kel számolni. Hiába szorzom fel, ha a kimeneten pl 7.14ms nak is kell lennie. Ezt csak órajelből lehet kiszámoltatni. Szóval vagy belebonyolódok a c nyelvbe, vagy elfelejthetem. Ettől még a parsic-cal nagyon sok mindent meg tudok majd oldani. Hál istennek az alap, ami az óracsoport volt, működik a parsic-cal megoldva. Viszont nagyon jó lenne egy pic c nyelvről magyar leírás. Néztem másik topicot. Ez már oda tartozik. Viszont biztos, hogy rendszeres vendég maradok itt.
Pfu na ez nekem már magas. Meg a motorokhoz sem értek annyira.
Ha leírod nekem pontosan egy példával, hogy milyen értéket mivel kén osztani szorozni csak nem lehet mert átlépi a maxot, akkor arra a számításra talán kifundálok valamit, ha valahogy lehetséges és nem kell a nagy pontosság. Ha nagyon muszály akkor vegyél 24 vagy 32 bites PIC-t. pl 65565*0,0086-ot is meglehet oldani úgy, hogy 10 000/86=116,27xxxx 65565/1162=56,4xxx 56,4xxx*10=564,xxx tehát ebbe az esetben a kapott eredmény számológépen kiszámolva 563,859 de ha nem kell annyira a pontosság akkor 16 bites PIC-el kilehet számolni 564-re
Gyújtás vezérlőre volt egy ötletem.
Elvi szinten működik, csak kicsik a számok, ezért fel kellene szorozni, hogy ne legyen sok tizedes, de akkor átlépem a 65565ös határt. Példa: max fordulatnál 8000 1/min esetén 7.xxx ms alatt fordul kettőt. És 0.00xxx ms valamennyi a 12fok. Ez le kellene vonni a 7.xxx ms ból. Ezt kellene kiküldeni gyújtási időnek a 1 henger jeladójától számítva.(és külön külön minden hengerre.) Mivel tizedessel nem tudok számolni fel kellene szorozni, hogy pontosan számoljon, és vissza osztani. Közben a légnyomás mérőtől jövő ellenállás értéket(ADC modulban) figyelembe véve kellene az előgyújtást meghatározni. Szóval az elvi ábra megvan, de a számításokat nem lehet parsicban meghatározni. Ehhez az órajel kellene időmeghatározásnak és azzal számolni. Szóval ez a projekt feladva parsciban. Marad a natúr óracsoport, ami programban kész, csak a hardver kell. Külön külön mindegyik része jó, hál istennek.
Kedves Piccesek!
A picre (877)-re 4*4-es mátrix billentyűt kellene tenni , hogyan lehet ?Az értékeit eepromba hogyan lehetne tárolni?
Mire a project?
Milyen szorzásról lenne szó? És hova kellene a kapott érték stb... ? Lehet talán tudunk segíteni.
Rossz volt a kérdés.
Arra rájöttem, hogy alapból nem ismer, csak reménykedtem más is tud-e másik megoldást. Sajnos a szorzás nem megy mert 1millióig kellene fel szororozni. Ugye 65565 ig lehet max...
Tizedes számokat nem ismer a parsic.
Csak kerek értékeket fogad el és jön ki eredményül. Ha pl vagy 56/10 az 5,6 de végeredményül 5-öt fog kidobni mert mindig lefelé fog kerekíteni. Ha pl tizedes számmal kell szorozni, pl: 50*0,5 akkro azt úgy oldhatod meg, hogy felszorzod tízzel mind a két értéket, majd öszeszorzod őket utánna meg elosztod kétszer tízzel, mert két 10-es felszorzás volt, vagy egyszerűen 100-al így: 50*10=500 0,5*10=5 500*5=2500 2500/100=25
Hello!
Lehet ismeritek, de hátha mégsem.. Ismert, hogy ha pld. két 8 bites számlálót az összegző modullal összeadunk, akkor abból, 16 bites szám képződhet. Így az összegző modult már, 16 bitre kell állítani. Szimulátorban működik is a dolog, csak a program fordításánál fogunk hibát kapni. Hiszen az összegző modult, ha 16 bitre állítjuk, akkor annak bemenete is 16 bitet vár. Így kénytelenek vagyunk a számlálót is 16 bitre állítani. Viszont ha pld. a ZV1 8 bites számláló mellé a DAT modullal deklarálunk egy változót ZV1_HI névvel, akkor ezen a név alatt, fordításkor deklarálódik egy ilyen nevű változó. Viszont a program inicializáló részében, minden változó törlődik, azaz kezdeti értéke nulla lesz. Ez után az aritmetikai modul, ezt a deklarált és nulla értékű változóval számol, így hiba nem képződik. Egy változóhely elhasználásával, nem kell 16 bitesre állítgatni a számlálókat, vagy mást. (Sajnos a DAT modullal, kezdeti értéket, így nem adhatunk..) üdv! proli007
Szevasz!.
Gondom lenne a programoddal, az ékezetes karakterekkel. Jobban mondva nem a karakterekkel hanem mással. Beillesztettem a programod mellé az én programomat, és nem azt csinálta amit kellett volna. 16MHz-ről járatom. A pontos gondom, hogy mintha nem szeretné az osztás feladatot a program. Sok keresgélés után rájöttem, hogy az osztás művelettel van a gond. Ezért kipróbáltam egy egyszerű programot, amibe osztás is van, és már ilyenkor nem működött a program. miért? Szerk. Most néem, egy sima osztásr sem akart átkonvertálni HEX-re. Nyitottam egy új lapot, egy counter, egy osztás,és egy kijelző, és Ezt írta... noname.ERR
Helló.
Minnél nagyobb a program, annál pontatlanabb?.. Mondjuk 500ms alatt egy counter számolja a jeleket. TR1=2ms. Egy nagyon egyszerű program. Élesben 244et ír ki. Mellé bővítem a programot, és újra kipróbálom, a 244 érték 74-re csökken. Mondjuk ez a TR1 szimulálja a mérendő fordulatot. Ha azt kiveszem, és külsőleg pontosan 2ms-ot adok neki, akkor pontosan fog mutatni, vagy akkor is 74et?
Minden további nélkül...
Az Uart kommunikációt kell használni, mindegyik PIC-re ugyanolyan értékü Quartz, a rendelkezésre álló modulokkal megoldható, többi csak leleményesség kérdése. Először próbáld ki két PIC-el egyszerű feladattal, ha megy, bővítsd tovább.
Lenne egy kíváncsiságom...
Több Pic sorba köthető. Vagyis mindegyik PIC számolja a saját dolgát ki is jelzi ledekkel, de csak az egyik PIC lenne LCD vezérlésre belőve, és az összes többi átküldi az adatot neki. 4-5 picről lenne szó. Lehetséges, vagy ne is agyaljak ezen.
Megoldottam,
ha valaki mégis fáradozott volna a megoldással annak szépen köszönöm.
Hi!
Letöltöttem a Parsic 3.56-ot ,crack-ot,vagy okosságot keresek a source álomány mentésére.
Igen erre gondoltam , de én nem próbáltam . Olvasd el mit írt Csabi és próbáld ki .
Erre gondoltál? Bővebben: Link az *.INC fájlba kell valamit változtatni? vagy mit hogy?
Ha visszaolvasol , erre is tett fel megoldást DCsabi !
És ha a kijelzőre szeretnék egyedi karaktert rajzolni? Arra nem tudod a megoldást?
Ha 8 bites a számlálód, akkor elég a ZV4-et, mert max 255 lehet az érték, és az elfér 1 bájtban. Ha 16 bites a számlálód, akkor a ZV4-et és ZV4_HI-t is, mert akkor az érték lehet max: 65535, és az már 2 bájtban fér el. (ZV4_HI az a felső bájt, ZV4 pedig az alsó) A ZV4_FD az egy felfutó él, arra léptet egyet a számláló, azt nem kell menteni memóriába.
Helló. a ZV4 értékét akarnám menteni a PIC-be. Viszont mentésnél van ZV4 , ZV4_FD , ZV4_HI. Mellyiket kell átraknom a másik oldalra (inside EE) Mi a különbség köztük?
Ki9jelzőre szeretnék egyedi karaktert bigyyeszteni, lehetséges?
Az én megoldásom elég egyszerű, Adott egy alu henger amiből ki lett marva egy félkör, abba a félkörbe bele lett ragasztva egy hangszóró mágnes félbetörve, persze azt a hall ic-vel le ellenőrizem hogy melyik fél kell. A hall ic mágnes polaritás változásra kapcsol magas vagy alacsony szintet. És ahogy forog a alu henger úgy megy el az ic előtt a mágnes! így értem el azt, hogy a főtengely fél fordulatánál magas szint van a másik felénél alacsony. Ez a jel ment a picbe, ami csinálta a gyújtás tiltást, és a fordulatszámmérést. Ha megcsinálod a pic es vezérlést, egy jó tanács: Tegyél bele mindenképp olyan funkciót, hogy ha ráadod a gyújtást, de nem indítod be a gépet, addig nem enged a trafóra folyni áramot, amég nincs a hall icn jelváltozás, vagy ha mondjuk 2mp ideig nincs változás akkor is tilt. Sok elektronikus gyújtás halála, hogy ráadják a gyújtást, de nem indítják be és leég a végtranyó, vagy a trafó!
A lap alja felé találod...
Bővebben: Link Nem azt mondom, hogy ez a kötelező megoldásom, de eddig más megoldást nem találtam. Ha tudsz a te megoldásodról bővebben írni és megosztod, akkor szívesen fogadom. Akár e-mailben is.
Az optocsatoló az egy házban elhelyezett led és optotranyó (általában 6-8 lábú dil tokban ) de van többféle tokozással is .
Hát én megmondom őszintén még nem láttam olyan kocsit ami így működne. Max a blokkolásgátlónál, ha te a gyújtást úgy oldod meg, hogy minden 60adik jelnél ad szikrát akkor az vicces lesz! Ha elfogadsz egy tanácsot akkor nem induktív jeladót használsz hanem Hall ict én már építettem vele néhány gyújtást mocikra, volt köztük ami többet is pörgött 8000nél. A mostani 250es ETZm is üresbe kipörög 10000ig kb és simán tud szikrát adni, terhelés alatt kb 8000 ig kipörög. Sokkal könnyebb beállítani mint az induktív jeladósat, mert ahhoz kell strobi, ehhez meg csak egy led. Sőt én úgy terveztem meg a jeladó panelt, hogy van rajta egy kis smd led és az ott elvillog, viszont gyújtásállításnál nem kell semmi, mert azon látom, hogy hol ad szikrát!
Akkor visszatérve az eredeti kérdéskörhöz.
Kell egy opto tranzisztor, ami a mostani kapcsoló helyére megy. Vagyis ha nyit akkor lezárja a lábat testre. A indukciós jeladó pedig kap külön 12V-ot és a jeladó lábra pedig egy ledet kötök ellenálláson keresztül. Ami adja a fényt a opto tranzisztornak. Vagyis teljesen külön áramkörben működik a két eszköz. Ha jól értem, akkor előre kérdezek. Milyen ledekkel működnek ezek. Faterom anno vett infra ledeket. Azok kellenek, vagy lehet sima piros led is. Vagy olyan optocsatolót keressek, mint ami a golyós egerekben van. Amiben egy házban van a tranzisztor és a led is.
Ezt előbb is megírhattad volna
.Akkor nem tépem feleslegesen a billentyűket , de ez még akkor is max8kHzami szintén nem nagy feladat egy modern optocsatolónak Ja és nem kell bocsánatot kérned itt mindenki szívesen válaszol a kérdésekre !
Nem jól érted...
60 fog van a jeladó keréken. |
Bejelentkezés
Hirdetés |



ha valaki mégis fáradozott volna a megoldással annak szépen köszönöm.
.Akkor nem tépem feleslegesen a billentyűket , de ez még akkor is 