Fórum témák
» Több friss téma |
motorba fordulatszámmérő, és sebességmérő 5Vról
Nem megszűri ,hanem galvanikusan leválasztja !
A szenzorod begyújt egy ledet -ami vezérel a fényével egy optotranzisztort . A szenzor és a led teljesen független a pic tápfeszültségétől , csak az optotranzisztor van a picre kötve .
Üdv! Én használok hall Jeladót 16f628al egy fordulatszámmérőként, és kb 1,5-2 méter vezetéke van egy Motoron, ahol a gyújtás is ad bőven zavaró jelet, de semmi baja nincs, igaz a hall szenzor is a pic 5Vos tápjáról megy, és árnyékolt vezeték van a panel és a hall ic között!
Értem a dolgot...
Ennek a tranzisztornak mekkora a késése, ha van. Maximum 8 jelet kell tudni leadni 1ms alatt. Ez 8000es fordulat/perc. Ezt tudhatja?
Egy picit elszámoltad ! 10ms alatt 1.3333 jel a 8000-es fordulat , Vagyis 133,333Hz Bármelyik optó röhögve tudja
1 fordulat alatt 60 jel.
8000*60 = 480000 jel /perc 480000/60 = 8000 jel / mp 8000/1000ms = 8 jel / 1ms Amúgy nagyon sok autón használnak 60 as jeladót. Annyit találtam csak, hogy lehet kapni kifejezetten fordulatszám jeladót ami ezt tudja. De semmi adatlapot nem találtam róluk, csak azt, hogy indukciósak. Ami nekem van indukciós, azt ezt biztos nem tudja, de igazából, először csak az alapokat akarom elérni, hogy kapcsolatot tudjak teremteni a jeladó és a PIC közt. Számláljon csak egyenlőre. Utána már ha megvan a mikéntje akkor lehet előrébb lépni és a sebességmérést, fordulatszámot, víz és benzinszintet is méretni, olajnyomást, olajhőfokot, volt-mérést. Gyújtást vezérelni. (tervek vannak bőven) DE most csak lépésenként előre, mindent külön külön ki akarok kicsiben próbálni, ha minden megy akkor készül a rendes műszerfal egy kismotorra próbának. Aztán ha beválik, és ki jönnek a hibák, akkor kerül csak kocsiba kiküszöbölve a hibákat. Ezért kérdezek ennyit. Amiért bocsánatot is kérek előre...
Miért van 1 fordulat alatt 60 jeled ?
Ha egy perc alatt 8000 et fordul a gép akkor 1 sec alatt 133,333 at ! Amiről most írtál az 480000 es percenkénti fordulat ezt szerintem még a vadászrepülők motorja sem tudja ! Ja és még valami : 4 ütemű 4 hengeres motoroknál 50Hz vel szoktak hitelesíteni a 3000 es fordulatot !
Nem jól érted...
60 fog van a jeladó keréken.
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 !
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.
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!
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 .
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 é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ó!
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?
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.
És ha a kijelzőre szeretnék egyedi karaktert rajzolni? Arra nem tudod a megoldást?
Ha visszaolvasol , erre is tett fel megoldást DCsabi !
Erre gondoltál? Bővebben: Link az *.INC fájlba kell valamit változtatni? vagy mit hogy?
Igen erre gondoltam , de én nem próbáltam . Olvasd el mit írt Csabi és próbáld ki .
Hi!
Letöltöttem a Parsic 3.56-ot ,crack-ot,vagy okosságot keresek a source álomány mentésére.
Megoldottam, ha valaki mégis fáradozott volna a megoldással annak szépen köszönöm.
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.
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.
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?
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
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
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 |
Bejelentkezés
Hirdetés |