Fórum témák

» Több friss téma
Fórum
Keresés
Lapozás: OK   90 / 179
(#) dcsabi válasza sityi hozzászólására (») Nov 30, 2010
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
(#) kkrisz75 válasza rolandi350 hozzászólására (») Nov 30, 2010
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.
(#) rolandi350 válasza kkrisz75 hozzászólására (») Nov 30, 2010
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
(#) kkrisz75 válasza rolandi350 hozzászólására (») Nov 29, 2010
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.
(#) sityi hozzászólása Nov 29, 2010
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?
(#) rolandi350 válasza kkrisz75 hozzászólására (») Nov 28, 2010
Mire a project?
Milyen szorzásról lenne szó? És hova kellene a kapott érték stb... ?
Lehet talán tudunk segíteni.
(#) kkrisz75 válasza rolandi350 hozzászólására (») Nov 28, 2010
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...
(#) rolandi350 válasza kkrisz75 hozzászólására (») Nov 28, 2010
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
(#) kkrisz75 hozzászólása Nov 27, 2010
Srácok

Tizedes számokkal hogy lehet számolni parsicban?
(#) proli007 hozzászólása Nov 27, 2010
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
(#) jdani válasza dcsabi hozzászólására (») Nov 26, 2010
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

noname.ERR
    
(#) jdani hozzászólása Nov 25, 2010
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?
(#) dcsabi válasza kkrisz75 hozzászólására (») Nov 25, 2010
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.
(#) kkrisz75 hozzászólása Nov 24, 2010
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.
(#) suhi hozzászólása Nov 24, 2010
Megoldottam, ha valaki mégis fáradozott volna a megoldással annak szépen köszönöm.
(#) suhi hozzászólása Nov 24, 2010
Hi!

Letöltöttem a Parsic 3.56-ot ,crack-ot,vagy okosságot keresek a source álomány mentésére.
(#) kaqkk válasza jdani hozzászólására (») Nov 23, 2010
Igen erre gondoltam , de én nem próbáltam . Olvasd el mit írt Csabi és próbáld ki .
(#) jdani válasza kaqkk hozzászólására (») Nov 23, 2010
Erre gondoltál? Bővebben: Link az *.INC fájlba kell valamit változtatni? vagy mit hogy?
(#) Panhard válasza kaqkk hozzászólására (») Nov 23, 2010
Ha megtaláljátok, linkeljétek már be, mert engem is érdekel. Egyébként itt és itt van leírás róla.
(#) kaqkk válasza jdani hozzászólására (») Nov 23, 2010
Ha visszaolvasol , erre is tett fel megoldást DCsabi !
(#) jdani válasza Panhard hozzászólására (») Nov 23, 2010
És ha a kijelzőre szeretnék egyedi karaktert rajzolni? Arra nem tudod a megoldást?
(#) Panhard válasza jdani hozzászólására (») Nov 23, 2010
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.
(#) jdani hozzászólása Nov 23, 2010
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?

to.PIC
    
(#) Peti.Janka válasza kkrisz75 hozzászólására (») Nov 21, 2010
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ó!
(#) kkrisz75 válasza Peti.Janka hozzászólására (») Nov 21, 2010
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.
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 21, 2010
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 .
(#) Peti.Janka válasza kkrisz75 hozzászólására (») Nov 21, 2010
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!
(#) kkrisz75 válasza kaqkk hozzászólására (») Nov 21, 2010
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.
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 21, 2010
Ezt előbb is megírhattad volna .Akkor nem tépem feleslegesen a billentyűket , de ez még akkor is max8kHz
ami 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 !
(#) kkrisz75 válasza kaqkk hozzászólására (») Nov 21, 2010
Nem jól érted...

60 fog van a jeladó keréken.
Következő: »»   90 / 179
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem