Molim pomoc oko brojaca okretaja
Moderators: pedja089, stojke369, [eDo], trax
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Molim pomoc oko brojaca okretaja
Pozdrav
Imam jedan problemcic...
Trebao bi izraditi jedan uredaj koji zahtjeva malo bolje znanje programiranja, a to mi nije bas neka jaca strana....
Neke osnove znam ali bilo bi ljepo kad bi me netko mogao malo uputiti ili pomoci oko projekta...
Trebalo bi da se bazira na pic mikrokontroleru jer za njih imam programator..
Dakle, trebao bi izraditi uredaj koji bi mjerio okretaje benzinskog motora, ali ne na standardan nacin...
Znaci trebalo bi da uredaj konstantno mjeri okretaje motora i ako izmjerena vrijednost prijede proslu memoriranu vrijednost, da tu vrijednost ispise na ekranu i tako dalje sve dok se taj cijeli proces ne resetira nekim tipkalom na 0.
Znaci malo slikovitije, upalim motor i sad on radi na leru sa recimo 4000rpm.
Uredaj ispisuje na ekranu tih 4000rpm.
Sad ja dam malo gasa i okretaji dosegnu maksimalnu vrijednost od 6200rpm.
Uredaj ispise na ekranu tu novu vrijednost i drzi je ispisanu sve dok okretaji motora ne prijedu tu vrijednost i dosegnu neku novu maksimalnu vrijednost koju bi onda trebao ispisati (npr. 20000rpm)
Takoder bi trebao postojati reset taster koji kad je pritisnut, uredaj brise memoriju tj. vraca se na nulu i ponovo broji okretaje koji bi u ovom slucaju bili okretaji lera.
Mislim da bi bilo jednostavnije to sve raditi sa lcd-om nego sa 7-segmentnim displayevima jer uredaj treba moci mjeriti preko 20000rpm (alaj belaja, pa ni sa 7-segmentnim neznam kako spada ).
Ako mi tko moze pomoci oko ovoga, bio bi jako zahvalan
Imam jedan problemcic...
Trebao bi izraditi jedan uredaj koji zahtjeva malo bolje znanje programiranja, a to mi nije bas neka jaca strana....
Neke osnove znam ali bilo bi ljepo kad bi me netko mogao malo uputiti ili pomoci oko projekta...
Trebalo bi da se bazira na pic mikrokontroleru jer za njih imam programator..
Dakle, trebao bi izraditi uredaj koji bi mjerio okretaje benzinskog motora, ali ne na standardan nacin...
Znaci trebalo bi da uredaj konstantno mjeri okretaje motora i ako izmjerena vrijednost prijede proslu memoriranu vrijednost, da tu vrijednost ispise na ekranu i tako dalje sve dok se taj cijeli proces ne resetira nekim tipkalom na 0.
Znaci malo slikovitije, upalim motor i sad on radi na leru sa recimo 4000rpm.
Uredaj ispisuje na ekranu tih 4000rpm.
Sad ja dam malo gasa i okretaji dosegnu maksimalnu vrijednost od 6200rpm.
Uredaj ispise na ekranu tu novu vrijednost i drzi je ispisanu sve dok okretaji motora ne prijedu tu vrijednost i dosegnu neku novu maksimalnu vrijednost koju bi onda trebao ispisati (npr. 20000rpm)
Takoder bi trebao postojati reset taster koji kad je pritisnut, uredaj brise memoriju tj. vraca se na nulu i ponovo broji okretaje koji bi u ovom slucaju bili okretaji lera.
Mislim da bi bilo jednostavnije to sve raditi sa lcd-om nego sa 7-segmentnim displayevima jer uredaj treba moci mjeriti preko 20000rpm (alaj belaja, pa ni sa 7-segmentnim neznam kako spada ).
Ako mi tko moze pomoci oko ovoga, bio bi jako zahvalan
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Najlakše je reći ja to ne znam. Da si se malo potrudio u 5 minuta bi našao sve potrebne naredbe. Evo ja nemam pojma o picbejziku, ali idem redom. Prvo vidim u gotovim projektima na vrhu je tema "Jednostavan obrtomjer", pa hajde da vidim kako je to čika bijele glave riješio. Tu se spominje naredba COUNT koja ide otprilike ovako:Trebao bi izraditi jedan uredaj koji zahtjeva malo bolje znanje programiranja, a to mi nije bas neka jaca strana...
Code: Select all
COUNT PortA.2, 1000, trenutna_brzina
Zatim si rekao kako želiš ispis max. brzine. Malo logike i složiš ovakvo čudo:
Code: Select all
IF trenutna_brzina > maksimalna_brzina THEN maksimalna_brzina = trenutna_brzina
Code: Select all
max_brzina_rpm = maksimalna_brzina * 60
Code: Select all
LCDOUT $FE, 1, "Brzina=", max_brzina_rpm, "o/min"
Code: Select all
IF taster_1 = 0 THEN maksimalna_brzina = 0
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Hvala kizo, samo mi je trebalo da me netko malo uputi
Potrudit cu se pa ce valjda biti nesto....
Potrudit cu se pa ce valjda biti nesto....
Korg X5D <3
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Evo me nazad....
Blazen bio skraceni kurs ucenja picbasica.
Uz pomoc njega, ovaj program i nije bio nesto tezak za napravit.
Provukao sam ga kroz proteus ali tamo mi veli da simulacija ne radi stvarnom brzinom zbog velikog opterecenja procesora, tako da nemogu vidjet kako spada dal je sve onako kako je trebalo biti...
Ako moze tko bacit oko na program samo da vidi jel se potkrala gdje koja greska i sto bi eventualno trebalo ispraviti ili nadopuniti.
Evo shema:
http://i55.tinypic.com/m7g67o.jpg
P.S.
Mislim da mi trenutni program nece biti dovoljno precizan pa ako moze tko reci kako ga napraviti da je precizniji.
Trenutno je zamisljen da broji jednu oznaku (crtu) na osovini.
Kad bi stavio 4 crte na osovinu, svako 1/4 po jedna, vjerujem da bi to pomoglo oko preciznosti ali kako programski to izvesti ?
Blazen bio skraceni kurs ucenja picbasica.
Uz pomoc njega, ovaj program i nije bio nesto tezak za napravit.
Provukao sam ga kroz proteus ali tamo mi veli da simulacija ne radi stvarnom brzinom zbog velikog opterecenja procesora, tako da nemogu vidjet kako spada dal je sve onako kako je trebalo biti...
Ako moze tko bacit oko na program samo da vidi jel se potkrala gdje koja greska i sto bi eventualno trebalo ispraviti ili nadopuniti.
Evo shema:
http://i55.tinypic.com/m7g67o.jpg
Code: Select all
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_LINES 2
SYMBOL SENSOR= PORTA.0
SYMBOL TASTER= PORTA.1
INPUT SENSOR
INPUT TASTER
TRENUTNI_OKRETAJI VAR WORD
MAKSIMALNI_OKRETAJI VAR WORD
IZMJERENO VAR WORD
IZMJERENO_NOVO VAR WORD
IZMJERENO=0
IZMJERENO_NOVO=0
PAUSE 100
LCDOUT $FE,1, "RPM Tuning Tool"
LCDOUT $FE,$C0+1, "by BLACK ANGEL"
PAUSE 2000
LCDOUT $FE,1
pocetak:
COUNT SENSOR,500,IZMJERENO_NOVO
TRENUTNI_OKRETAJI=IZMJERENO_NOVO*120
LCDOUT $FE, $80, "RPM =",DEC TRENUTNI_OKRETAJI
IF IZMJERENO_NOVO>IZMJERENO THEN IZMJERENO=IZMJERENO_NOVO
MAKSIMALNI_OKRETAJI=IZMJERENO*120
LCDOUT $FE, $C0, "MAX RPM =",DEC MAKSIMALNI_OKRETAJI
IF TASTER= 0 THEN IZMJERENO= 0
GOTO POCETAK
END
Mislim da mi trenutni program nece biti dovoljno precizan pa ako moze tko reci kako ga napraviti da je precizniji.
Trenutno je zamisljen da broji jednu oznaku (crtu) na osovini.
Kad bi stavio 4 crte na osovinu, svako 1/4 po jedna, vjerujem da bi to pomoglo oko preciznosti ali kako programski to izvesti ?
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Mozes dodati vise crta, samo onda ne mnozis sa 120, nego sa 120/broj crta.
Ili mozes produziti vreme, pa onda izracunas sa koliko delis.
A mozes i koristiti 2 naredbe pulsin, jedna meri koliko traje 1 druga koliko 0, i rezultat dobijes u mikro ili mili sekundama. Zaboravio sam tacno.
Kad imas duzinu trajanja 1 okretaja posle pretvoris to u obr/min.
Ili mozes produziti vreme, pa onda izracunas sa koliko delis.
A mozes i koristiti 2 naredbe pulsin, jedna meri koliko traje 1 druga koliko 0, i rezultat dobijes u mikro ili mili sekundama. Zaboravio sam tacno.
Kad imas duzinu trajanja 1 okretaja posle pretvoris to u obr/min.
- sindja1204
- Odlično uznapredovao
- Posts: 792
- Joined: 03-05-2009, 11:57
- Location: Beograd
Re: Molim pomoc oko brojaca okretaja
@Black Angel, Probao sam tvoj kodi i radi kako si zamislio... Nakon ukljucenja upisuje se na displeju prvI MAX RPM i ostaje na displeju sve dok je RPM ispod te vrednosti. Kada se dostigne ta vrednost menja se i MAX RPM. Tasterom se MAX RPM resetuje na nulu... Napravio sam i manje izmene u tvom kodu.. Umesto naredbe DEC ubacio sam DEC4 i ispis RPM pomerio za cetir mesta udesno da ti vrednosti budu jedna iznad druge radi bolje preglednosti. Ubacio sam i zvucnu signalizaciju koja se aktivira prilikom svake promene MAX RPM-a
Code: Select all
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 5
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 4
DEFINE LCD_LINES 2
SYMBOL SENSOR= PORTA.0
SYMBOL TASTER= PORTA.1
Symbol buzer=PORTA.4
INPUT SENSOR
INPUT TASTER
CMCON=7
TRENUTNI_OKRETAJI VAR WORD
MAKSIMALNI_OKRETAJI VAR WORD
IZMJERENO VAR WORD
IZMJERENO_NOVO VAR WORD
IZMJERENO=0
IZMJERENO_NOVO=0
PAUSE 100
LCDOUT $FE,1, "RPM Tuning Tool"
LCDOUT $FE,$C0+1, "by BLACK ANGEL"
PAUSE 2000
LCDOUT $FE,1
pocetak:
COUNT SENSOR,500,IZMJERENO_NOVO
TRENUTNI_OKRETAJI=IZMJERENO_NOVO*120
LCDOUT $FE, $80, " RPM =",DEC4 TRENUTNI_OKRETAJI
IF IZMJERENO_NOVO>IZMJERENO THEN IZMJERENO=IZMJERENO_NOVO
if IZMJERENO=IZMJERENO_NOVO and izmjereno>0 then
sound buzer, [110,20]
pause 100
endif
MAKSIMALNI_OKRETAJI=IZMJERENO*120
LCDOUT $FE, $C0, "MAX RPM =",DEC4 MAKSIMALNI_OKRETAJI
IF TASTER= 0 THEN IZMJERENO= 0000
GOTO POCETAK
END
Re: Molim pomoc oko brojaca okretaja
Da ti odgovorim na pitanje o preciznosti.
Sa ovim programom greška ti je 120 o/min. Znači za bilo koju ispisanu vrijednost računaj ±60 o/min. Sa 4 crtice bi bilo preciznije, ±15 o/min.
No za ovako male frekvencije pametnije je mjeriti vrijeme između 2 impulsa, što je Pedja napomenuo. Gledam za PULSIN naredbu rezolucija je 2us pri xtal=20MHz. To ti je pri 10000 o/min ±1.7, dok za 1000 o/min ±0.017. Ako se pak znaš koristiti timerima i prekidima ovo se može smanjiti na ±0.047 za 10000 o/min, tj. ±0.00047 za 1000 o/min.
Druga stvar zašto je ova metoda bolja je što ne trebaš čekati do pola sekunde da prihvati tipku.
Sa ovim programom greška ti je 120 o/min. Znači za bilo koju ispisanu vrijednost računaj ±60 o/min. Sa 4 crtice bi bilo preciznije, ±15 o/min.
No za ovako male frekvencije pametnije je mjeriti vrijeme između 2 impulsa, što je Pedja napomenuo. Gledam za PULSIN naredbu rezolucija je 2us pri xtal=20MHz. To ti je pri 10000 o/min ±1.7, dok za 1000 o/min ±0.017. Ako se pak znaš koristiti timerima i prekidima ovo se može smanjiti na ±0.047 za 10000 o/min, tj. ±0.00047 za 1000 o/min.
Druga stvar zašto je ova metoda bolja je što ne trebaš čekati do pola sekunde da prihvati tipku.
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Hvala na toj ideji za pulsin.
Pokusat cu malo istrazivat i sklopit nesto, iako sam vec trazio i nisam bas siguran da cu to znat sam izvesti...
Hvala puno sindja sto si isprobao program, mada vecina tvojih izmjena mi bas nisu bile od koristi iako puno hvala na dobroj volji
Zvucni signal mi je nepotreban s obzirom da ce se uredaj nalaziti na modelu koji je stotinjak metara dalje od mene i pritom vristi motor
DEC4 je dobra ideja ali sam promjenio to u DEC5 posto se motor vrti preko 20000rpm....
CMCON= 7 koliko sam shvatio sluzi za iskljucivanje analognog komparatora (ako mozes reci sto to tocno znaci )
Naime, nece microcode studio da registrira tu naredbu....
"undefined symbol cmcon"
Pokusat cu malo istrazivat i sklopit nesto, iako sam vec trazio i nisam bas siguran da cu to znat sam izvesti...
Hvala puno sindja sto si isprobao program, mada vecina tvojih izmjena mi bas nisu bile od koristi iako puno hvala na dobroj volji
Zvucni signal mi je nepotreban s obzirom da ce se uredaj nalaziti na modelu koji je stotinjak metara dalje od mene i pritom vristi motor
DEC4 je dobra ideja ali sam promjenio to u DEC5 posto se motor vrti preko 20000rpm....
CMCON= 7 koliko sam shvatio sluzi za iskljucivanje analognog komparatora (ako mozes reci sto to tocno znaci )
Naime, nece microcode studio da registrira tu naredbu....
"undefined symbol cmcon"
Korg X5D <3
- sindja1204
- Odlično uznapredovao
- Posts: 792
- Joined: 03-05-2009, 11:57
- Location: Beograd
Re: Molim pomoc oko brojaca okretaja
Tacno tako. Program sam testirao sklopom koji koristi PIC 16F628A.U slucaju da se koristi pic 16F84A ova komanda nebi bila potrebna.Black Angel wrote: CMCON= 7 koliko sam shvatio sluzi za iskljucivanje analognog komparatora (ako mozes reci sto to tocno znaci )
Sto se tice buzera mislio sam da ce ti sklop biti u kabini auta, pa bi u tom slucaju bilo dobro da se signalizira svaka promena MAX RPM.
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Sto se tice pulsin-a
Posto koristim pic 16f84A mislim da nemogu ici na frekvencije vece od 4mhz a pri 4mhz rezolucija je 10us.
Sintaksa za koristenje pulsin komande je "pulsin portb.4, 1, w3" i to takoder kopcam....
Al stvarno nemam blage veze kako da matematicki (a i programski) to vrijeme izmedu impulsa iskoristim da dobijem broj okretaja u minuti....
Pretrazio sam domace i strane forume i tekstove gdje se spominje pulsin naredba, al nisam vidio nista sto bi mogao iskoristit.
Bilo bi lijepo kad bi mi netko malo pomogao oko ovog
Posto koristim pic 16f84A mislim da nemogu ici na frekvencije vece od 4mhz a pri 4mhz rezolucija je 10us.
Sintaksa za koristenje pulsin komande je "pulsin portb.4, 1, w3" i to takoder kopcam....
Al stvarno nemam blage veze kako da matematicki (a i programski) to vrijeme izmedu impulsa iskoristim da dobijem broj okretaja u minuti....
Pretrazio sam domace i strane forume i tekstove gdje se spominje pulsin naredba, al nisam vidio nista sto bi mogao iskoristit.
Bilo bi lijepo kad bi mi netko malo pomogao oko ovog
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Ima f84a da ide bez problema na 20MHz. Samo moras napisati koji osc koristis.
Sto se tice puls in, trebajuti 2. Da meris duzinu 1 a sa drugim 0.
Zatim kada imas vreme 1 periode T. lako mozes izracunati frekfenciju.
F=1/T [Hz]
Ali posto tebi treba obrtaja(impulsa) u minuti ne sekundi, onda F=60/T [obr/min]
Sad ti ostaje samo to odraditi...
Sto se tice puls in, trebajuti 2. Da meris duzinu 1 a sa drugim 0.
Zatim kada imas vreme 1 periode T. lako mozes izracunati frekfenciju.
F=1/T [Hz]
Ali posto tebi treba obrtaja(impulsa) u minuti ne sekundi, onda F=60/T [obr/min]
Sad ti ostaje samo to odraditi...
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Sto se tice puls in, trebajuti 2. Da meris duzinu 1 a sa drugim 0.
Izvinjavam se sto sam malo zatupljen ( ) ali jos ne kontam ovo gore
Znaci amo reci da cu mjerit okretaje na zvonu kvacila.
E sad, gdje se ja gubim....
Recimo da imam jednu crtu na tom zvonu i da cu koristiti opticko detektiranje impulsa....
Kad nema crte na pinu je logicka 1.
Znaci pomocu pulsin bi mjerio koliko je vremena proslo od jedne do druge logicke 0.
A sama ta 0 bi trajala skoro pa neznatno s obzirom da je crta neznatno debela.
Ocito ti mislis na nekakav drukciji sistem detektiranja cim zelis mjeriti trajanje i 1 i 0 i ja sam se cijeli pogubio
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Upravo na to mislim sto si napisao.
Samo ne znam gde i kako meris i kolika je ta crta. Pa sam napisao nesto sto se uvek moze primeniti.
Naravno da moze tako kao sto si rekao ukoliko je zanemarljivo mala debljina crte.
Ali ukoliko nije, onda ne moze tako kao sto si napisao...
Samo ne znam gde i kako meris i kolika je ta crta. Pa sam napisao nesto sto se uvek moze primeniti.
Naravno da moze tako kao sto si rekao ukoliko je zanemarljivo mala debljina crte.
Ali ukoliko nije, onda ne moze tako kao sto si napisao...
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Posto neznam generirati (postaviti) vjerodostojan signal u proteusu jer sad mjerim vrijeme izmedu impulsa, u simulaciji mi izbacuje neke cudne rezulatate.
Npr, na istoj frekvenciji za koju bi sa starim programom iscitao 3-4-5 tisuca rpm sad mi ocita 300-400...
Da li bi ovako program trebao izgledati ?
Npr, na istoj frekvenciji za koju bi sa starim programom iscitao 3-4-5 tisuca rpm sad mi ocita 300-400...
Da li bi ovako program trebao izgledati ?
Code: Select all
pocetak:
PULSIN SENSOR,1,PULS1
PULSIN SENSOR,0,PULS0
IZMJERENO_NOVO=PULS1+PULS0
TRENUTNI_OKRETAJI=60000/IZMJERENO_NOVO
LCDOUT $FE, $80, " RPM =",DEC5 TRENUTNI_OKRETAJI
IF IZMJERENO_NOVO>IZMJERENO THEN IZMJERENO=IZMJERENO_NOVO
MAKSIMALNI_OKRETAJI=60000/IZMJERENO
LCDOUT $FE, $C0, "MAX RPM =",DEC5 MAKSIMALNI_OKRETAJI
IF TASTER= 0 THEN IZMJERENO= 00000
GOTO POCETAK
END
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Pa tako nekako bi trebao izgledati program.
Sad ne znam napamet u kojim je jedinicama rezultat, dali mili ili mikro sekudne.
Ako je mili onda je ovo ok sto si napisao.
Ako je mikro sekund onda moras malo doraditi tu racunicu.
Baci oko na help...
Posto su u pitanju samo decimalna mesta, na dobrom si putu
Sad ne znam napamet u kojim je jedinicama rezultat, dali mili ili mikro sekudne.
Ako je mili onda je ovo ok sto si napisao.
Ako je mikro sekund onda moras malo doraditi tu racunicu.
Baci oko na help...
Posto su u pitanju samo decimalna mesta, na dobrom si putu
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Hvala pedja na pomoci dosad
Samo ako se mozes molim te, sjetit, u kojim je jedinicama rezultat ?
Nisam siguran da ta informacija pise u helpu, osim ako nema neke veze sa ovim obojanim dijelom
(ovo isto izbaci i u mcs-u samo na engleskom jeziku....)
Samo ako se mozes molim te, sjetit, u kojim je jedinicama rezultat ?
Nisam siguran da ta informacija pise u helpu, osim ako nema neke veze sa ovim obojanim dijelom
(ovo isto izbaci i u mcs-u samo na engleskom jeziku....)
PULSIN
pulsin pin, state, var
Ova naredba meri širinu impulsa na pinu 'pin'. Ako je 'state' jednako nula, meri se trajanje perioda dok je na pinu logička nula, a ako je 'state'=1, meri se trajanje dok je na pinu logička jedinica; rezultat se smešta u promenljivu 'var'. Ako se željeni impuls nikada ne pojavi ili traje predugo, u 'var' se smešta vrednost 0. Ako se za 'var' upotrebi 8-mo bitna promenljiva, koristi se samo nižih osam bitova od 16-to bitne vrednosti. 'Pin' može da bude konstanta, od 0 do 15, ili promenljiva koja sadrži broj od 0 do 15, ili ime pina (npr. porta.0).
Rezolucija ove naredbe zavisi od frekvence upotrebljenog oscilatora. Ako se koristi 4 MHz, rezolucija je 10 µs, a ako se koristi 20 MHz, rezolucija je 2 µs. DEFINE OSC nema efekta na ovu naredbu, rezolucija se menja u zavisnosti od stvarne frekvence oscilatora.
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Nema veze sa tim crvenim.
To je pitanje samo koji se broj bita smesta u promenljivu. Dali svih 16 ili samo 8 bita.
Nikad ovo nisam koristio, ali kako pise da define osc nema uticaja na naredbu pretpostavljam da je rezolucija jedinicna vrednost.
Ako radi na 4MHz,trebalo bi daje 1=10uS Valjda...
Edit:
Nema na cemu.
Edit jos jednom
Evo napokon nesto korisno
To je pitanje samo koji se broj bita smesta u promenljivu. Dali svih 16 ili samo 8 bita.
Nikad ovo nisam koristio, ali kako pise da define osc nema uticaja na naredbu pretpostavljam da je rezolucija jedinicna vrednost.
Ako radi na 4MHz,trebalo bi daje 1=10uS Valjda...
Edit:
Nema na cemu.
Edit jos jednom
Evo napokon nesto korisno
PicBasic.co.ukIf you have a 4 mhz chrystal, (or use a internal clock) your Lengthofpulse will be in 10us increments. that is 1/100,000 of a second.
Thus a return of 1500 will mean 15,000us, which is 15/1000 of a second. Which equates to 67 RPS or 4020 RPM.
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Pedja, care, to te ja pitam
Hvala jos jednom.
Na proteus se, po obicaju, nemogu pouzdat al ja mislim da je sa programom sad sve ok....
Jedino nisam bio siguran na koji nacin se oduzima i mnozi u istoj liniji koda pa sam isao putem promjenjivih "meduspremnik".
Jest da je duzi nacin al bar sam siguran da sve stima
Hvala jos jednom.
Na proteus se, po obicaju, nemogu pouzdat al ja mislim da je sa programom sad sve ok....
Jedino nisam bio siguran na koji nacin se oduzima i mnozi u istoj liniji koda pa sam isao putem promjenjivih "meduspremnik".
Jest da je duzi nacin al bar sam siguran da sve stima
Code: Select all
pocetak:
PULSIN SENSOR,1,PULS1
PULSIN SENSOR,0,PULS0
MEDUSPREMNIK=PULS1+PULS0
MEDUSPREMNIK2=MEDUSPREMNIK/2
IZMJERENO_NOVO=50000/MEDUSPREMNIK2
TRENUTNI_OKRETAJI=IZMJERENO_NOVO*60
LCDOUT $FE, $80, " RPM =",DEC5 TRENUTNI_OKRETAJI
IF IZMJERENO_NOVO>IZMJERENO THEN IZMJERENO=IZMJERENO_NOVO
MAKSIMALNI_OKRETAJI=IZMJERENO*60
LCDOUT $FE, $C0, "MAX RPM =",DEC5 MAKSIMALNI_OKRETAJI
IF TASTER= 0 THEN IZMJERENO= 00000
GOTO POCETAK
END
Korg X5D <3
- Black Angel
- Odlično uznapredovao
- Posts: 980
- Joined: 08-10-2008, 20:54
- Location: Dubrovnik
Re: Molim pomoc oko brojaca okretaja
Znaci ovako.....
Imam problema sa doticnim programom i molio bi ako neko moze pregledati kod i pojasniti zasto me zafrkava....
Kad ga ukljucim prvo ide pozdravna poruka....sve standardno...
Onda program pocinje ali mi izbaci odma 65 i nesto tisuca (bice maksimalno sto se moze unjet u word promjenjivu).
Kad krenem koristit taster za brisanje memorije meduspremnika onda mi ga ne izbrise nego izbaci neki drukciji broj i tako svaki put.... sve samo ne 0.
Taster "show" radi ali "save" i brisanje te spremljene stavke ne rade....
Znaci zanima me da li je problem u programu, predugim kablovima, smetnjama na picu zbog gomile kabela oko njega ili cemu vec ?
Primjetio sam takoder da je cijeli program uzasno spor....
Kad zavrsi pozdravna poruka, treba mu sigurno 2 sekunde da prebaci na program.
Kad stiscem tastere jako sporo reagira i mjenja stanje....
Kao da radi na 1Mhz a ne 4....
Evo neki video ali je kamera sranje totalno pa se ne razaznaje puno....
http://www.youtube.com/watch?v=nfzotaIak3U
Evo sheme:
http://i56.tinypic.com/2j11zyx.jpg" onclick="window.open(this.href);return false;
Evo i programa:
P.S.
Sad sam se sjetio.....
Dal je moguce da se ovo sve dogada zato sto ulaz za senzor visi slobodan cijelo vrijeme ?
Nisam bio u mogucnosti da mu ikakav signal pristekam
Imam problema sa doticnim programom i molio bi ako neko moze pregledati kod i pojasniti zasto me zafrkava....
Kad ga ukljucim prvo ide pozdravna poruka....sve standardno...
Onda program pocinje ali mi izbaci odma 65 i nesto tisuca (bice maksimalno sto se moze unjet u word promjenjivu).
Kad krenem koristit taster za brisanje memorije meduspremnika onda mi ga ne izbrise nego izbaci neki drukciji broj i tako svaki put.... sve samo ne 0.
Taster "show" radi ali "save" i brisanje te spremljene stavke ne rade....
Znaci zanima me da li je problem u programu, predugim kablovima, smetnjama na picu zbog gomile kabela oko njega ili cemu vec ?
Primjetio sam takoder da je cijeli program uzasno spor....
Kad zavrsi pozdravna poruka, treba mu sigurno 2 sekunde da prebaci na program.
Kad stiscem tastere jako sporo reagira i mjenja stanje....
Kao da radi na 1Mhz a ne 4....
Evo neki video ali je kamera sranje totalno pa se ne razaznaje puno....
http://www.youtube.com/watch?v=nfzotaIak3U
Evo sheme:
http://i56.tinypic.com/2j11zyx.jpg" onclick="window.open(this.href);return false;
Evo i programa:
Code: Select all
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_LINES 2
SYMBOL SENSOR= PORTA.0
SYMBOL TASTER= PORTA.1
SYMBOL TASTER_SHOW= PORTA.2
SYMBOL TASTER_SAVE= PORTA.3
SYMBOL TASTER2= PORTB.6
INPUT SENSOR
INPUT TASTER
INPUT TASTER_SHOW
INPUT TASTER_SAVE
INPUT TASTER2
TRENUTNI_OKRETAJI VAR WORD
MAKSIMALNI_OKRETAJI VAR WORD
IZMJERENO VAR WORD
IZMJERENO_NOVO VAR WORD
PULS1 VAR WORD
PULS0 VAR WORD
MEDUSPREMNIK VAR WORD
MEDUSPREMNIK2 VAR WORD
SAVED_RPM VAR WORD
IZMJERENO=0
IZMJERENO_NOVO=0
PAUSE 200
LCDOUT $FE,1, "RPM Tuning Tool"
LCDOUT $FE,$C0+1, "by BLACK ANGEL"
PAUSE 2000
LCDOUT $FE,1
pocetak:
PULSIN SENSOR,1,PULS1
PULSIN SENSOR,0,PULS0
MEDUSPREMNIK=PULS1+PULS0
MEDUSPREMNIK2=MEDUSPREMNIK/2
IZMJERENO_NOVO=50000/MEDUSPREMNIK2
TRENUTNI_OKRETAJI=IZMJERENO_NOVO*60
IF TASTER_SHOW= 1 THEN
LCDOUT $FE, $80, " RPM =",DEC5 TRENUTNI_OKRETAJI
Else
LCDOUT $FE, $80, "SAVED RPM =",DEC5 SAVED_RPM
ENDIF
IF IZMJERENO_NOVO>IZMJERENO THEN IZMJERENO=IZMJERENO_NOVO
MAKSIMALNI_OKRETAJI=IZMJERENO*60
LCDOUT $FE, $C0, " MAX RPM =",DEC5 MAKSIMALNI_OKRETAJI
IF TASTER_SAVE= 0 THEN MAKSIMALNI_OKRETAJI=SAVED_RPM
IF TASTER= 0 THEN IZMJERENO= 00000
IF TASTER2= 0 THEN SAVED_RPM= 00000
GOTO POCETAK
END
Sad sam se sjetio.....
Dal je moguce da se ovo sve dogada zato sto ulaz za senzor visi slobodan cijelo vrijeme ?
Nisam bio u mogucnosti da mu ikakav signal pristekam
Korg X5D <3
Re: Molim pomoc oko brojaca okretaja
Razmisli malo...
Zar nisi u stanju staviti obican taster sa pull up otpornikom?
Zar nisi u stanju staviti obican taster sa pull up otpornikom?