Digitalni merac broja obrtaja (obratometar)
Moderators: pedja089, stojke369, [eDo], trax
Re: Digitalni merac broja obrtaja (obratometar)
evo, to je ova sema:
http://www.sportdevices.com/rpm_reading ... ensing.gif
ali gle sta se stavlja preko kabla:
http://www.sportdevices.com/rpm_reading ... pickup.jpg
a ja sam bas video takav originalni stage6 obrtomer kod druga, i samo dve male zicice se obmotaju 2-3 kruga i radi ko sat.. u ostalom, ako bas ne bude radilo, napravicu ovo sa ne555.
http://www.sportdevices.com/rpm_reading ... ensing.gif
ali gle sta se stavlja preko kabla:
http://www.sportdevices.com/rpm_reading ... pickup.jpg
a ja sam bas video takav originalni stage6 obrtomer kod druga, i samo dve male zicice se obmotaju 2-3 kruga i radi ko sat.. u ostalom, ako bas ne bude radilo, napravicu ovo sa ne555.
Re: Digitalni merac broja obrtaja (obratometar)
Problem moze biti oblik impulsa. Samo zato sam preporucio NE555. Kako ovo radi sa triakom, nije mi bas jasno...
Ali tako neku semu bi mogao srediti ako budes imao problema sa picem da nece da broji impulse...
Ali tako neku semu bi mogao srediti ako budes imao problema sa picem da nece da broji impulse...
Re: Digitalni merac broja obrtaja (obratometar)
Pa dobro, dok cekam ekran, uz njega sam narucio i temperaturni senzor DS1820 koji cu da dodam na plocu
kod koji cu koristiti uzeo sam sa adrese: http://www.rentron.com/PICX4.htm
iz koda sam izbacio definisanje za povezivanje lcd-a, stavio sam da temp izbacuje u drugu liniju, i podesio ulazni pin za senzor..
nadam se da sam dobro uradio?
ovo znaci da spajam data pin senzora na rb4 pin pic-a 16f84a, sto bi odgovaralo pinu 10
i jel je to to, jel treba jos nesto da se izmeni i gde da stavljam ovaj kod u moj, definisanje varijabli cu spojiti, a ovo ostalo jel ima veze sta ide iznad cega?
kod koji cu koristiti uzeo sam sa adrese: http://www.rentron.com/PICX4.htm
Code: Select all
' Picbasic Pro program to read DS1820 1-wire temperature sensor
' and display temperature on LCD
' Allocate variables
command var byte ' Storage for command
i var byte ' Storage for loop counter
temp var word ' Storage for temperature
DQ var PORTB.4 ' Alias DS1820 data pin
DQ_DIR var TRISB.4 ' Alias DS1820 data direction pin
ADCON1 = 7 ' Set PORTA and PORTE to digital
Low PORTE.2 ' LCD R/W line low (W)
Pause 100 ' Wait for LCD to start
' Mainloop to read the temperature and display on LCD
mainloop:
Gosub init1820 ' Init the DS1820
command = $cc ' Issue Skip ROM command
Gosub write1820
command = $44 ' Start temperature conversion
Gosub write1820
Pause 2000 ' Wait 2 seconds for conversion to complete
Gosub init1820 ' Do another init
command = $cc ' Issue Skip ROM command
Gosub write1820
command = $be ' Read the temperature
Gosub write1820
Gosub read1820
' Display the decimal temperature
Lcdout $FE, $C0, 1, dec (temp >> 1),".",dec(temp.0 * 5)," stepeni C"
Goto mainloop ' Do it forever
' Initialize DS1820 and check for presence
init1820:
Low DQ ' Set the data pin low to init
Pauseus 500 ' Wait > 480us
DQ_DIR = 1 ' Release data pin (set to input for high)
Pauseus 100 ' Wait > 60us
If DQ = 1 Then
Lcdout $fe, 1, "DS1820 not present"
Pause 500
Goto mainloop ' Try again
Endif
Pauseus 400 ' Wait for end of presence pulse
Return
' Write "command" byte to the DS1820
write1820:
For i = 1 to 8 ' 8 bits to a byte
If command.0 = 0 Then
Gosub write0 ' Write a 0 bit
Else
Gosub write1 ' Write a 1 bit
Endif
command = command >> 1 ' Shift to next bit
Next i
Return
' Write a 0 bit to the DS1820
write0:
Low DQ
Pauseus 60 ' Low for > 60us for 0
DQ_DIR = 1 ' Release data pin (set to input for high)
Return
' Write a 1 bit to the DS1820
write1:
Low DQ ' Low for < 15us for 1
@ nop ' Delay 1us at 4MHz
DQ_DIR = 1 ' Release data pin (set to input for high)
Pauseus 60 ' Use up rest of time slot
Return
' Read temperature from the DS1820
read1820:
For i = 1 to 16 ' 16 bits to a word
temp = temp >> 1 ' Shift down bits
Gosub readbit ' Get the bit to the top of temp
Next i
Return
' Read a bit from the DS1820
readbit:
temp.15 = 1 ' Preset read bit to 1
Low DQ ' Start the time slot
@ nop ' Delay 1us at 4MHz
DQ_DIR = 1 ' Release data pin (set to input for high)
If DQ = 0 Then
temp.15 = 0 ' Set bit to 0
Endif
Pauseus 60 ' Wait out rest of time slot
Return
End
nadam se da sam dobro uradio?
Code: Select all
DQ var PORTB.4 ' Alias DS1820 data pin
DQ_DIR var TRISB.4 ' Alias DS1820 data direction pin
i jel je to to, jel treba jos nesto da se izmeni i gde da stavljam ovaj kod u moj, definisanje varijabli cu spojiti, a ovo ostalo jel ima veze sta ide iznad cega?
Re: Digitalni merac broja obrtaja (obratometar)
Samo to, koliko vidim...
Mada ima i jednostavnijih kodova za merenje sa ds-om, jer pbp ima onewire komunikaciju...
Mada ima i jednostavnijih kodova za merenje sa ds-om, jer pbp ima onewire komunikaciju...
Re: Digitalni merac broja obrtaja (obratometar)
Au, nesto nece da kompajlira program..
skinuo sam micro code studio 4.0
i pbp kompajler 2.6, i njega instalirao u c:/pbp
i studiju idem view > complie and program options > prvi list , complier, isao sam na find automatically, nasao sam kompajler, i otkaceni su listing file i generate listing,..
kada sam hteo da kompajliram, izbacivao je mali prozorcic gde je pisalo searching mpasm i to nije nikad pronasao.
usao sam u list asembler i iskljucio opciju use mpasm
i sad mi izbacuje gresku
RPM = BROJ * 60 /// syntax error
lcdout $FE, $80, " RPM: ", dec5 rpm, " " ; prva linija /// bad expression
sta sada?
skinuo sam micro code studio 4.0
i pbp kompajler 2.6, i njega instalirao u c:/pbp
i studiju idem view > complie and program options > prvi list , complier, isao sam na find automatically, nasao sam kompajler, i otkaceni su listing file i generate listing,..
kada sam hteo da kompajliram, izbacivao je mali prozorcic gde je pisalo searching mpasm i to nije nikad pronasao.
usao sam u list asembler i iskljucio opciju use mpasm
i sad mi izbacuje gresku
RPM = BROJ * 60 /// syntax error
lcdout $FE, $80, " RPM: ", dec5 rpm, " " ; prva linija /// bad expression
sta sada?
Re: Digitalni merac broja obrtaja (obratometar)
Vidi gde je greska...
Daj ceo kod, sta si tacno pisao, pa da vidim sta se desava... Verovatno RPM nisi definisao kao promenljivu...
Daj ceo kod, sta si tacno pisao, pa da vidim sta se desava... Verovatno RPM nisi definisao kao promenljivu...
Re: Digitalni merac broja obrtaja (obratometar)
evo stiglo mi je, i sklopio sam ga. medjutim, kada sam krenuo da programiram pic, shvatio sam da sam narucio pic 16f648a , ali pogledao sam pinout, i sve je identicno kao i 16f84a
kod sam popravio, samo sam ponovo definisao rpm i sad imam hex fajl.
ali kada se ukljuci, i podesim osvetljenje lcd-a, na lcd u sijaju sva mesta za slova 16x2, i svi su skroz ispunjeni tackama.
kod sam popravio, samo sam ponovo definisao rpm i sad imam hex fajl.
ali kada se ukljuci, i podesim osvetljenje lcd-a, na lcd u sijaju sva mesta za slova 16x2, i svi su skroz ispunjeni tackama.
Re: Digitalni merac broja obrtaja (obratometar)
evo i slike..
nemogu reci da sam profesionalno odradio jer sam se pred kraj uspanicio i poceo zice da ubacujem, ali sve je spojeni po shemi 100%
ovako se ponasa ekran kada sve ukljucim a potenciometar je sa oznakom 223 (22k) i ekran ovako radi samo kada je skroz odvijen i cim se malo zavrne ekran se stisava i nista ne prikazuje
http://img210.imageshack.us/img210/4435/dscn2370a.jpg
http://img341.imageshack.us/img341/5549/dscn2368v.jpg
http://img18.imageshack.us/img18/895/dscn2367bd.jpg
nemogu reci da sam profesionalno odradio jer sam se pred kraj uspanicio i poceo zice da ubacujem, ali sve je spojeni po shemi 100%
ovako se ponasa ekran kada sve ukljucim a potenciometar je sa oznakom 223 (22k) i ekran ovako radi samo kada je skroz odvijen i cim se malo zavrne ekran se stisava i nista ne prikazuje
http://img210.imageshack.us/img210/4435/dscn2370a.jpg
http://img341.imageshack.us/img341/5549/dscn2368v.jpg
http://img18.imageshack.us/img18/895/dscn2367bd.jpg
Re: Digitalni merac broja obrtaja (obratometar)
Tu je 22K puno, ja obicno stavim otpornik 2K prema masi. Ali to je za displeje sto ja nabavljam, kod svakog proizvodjaca je drugacije...
A sto se tice datasheeta, moras detaljnije gledati. Npr za pin 1 na F684 pise RA2/AN2/VREF, a kod F84 pise RA2. Sto znaci da ima neke razlike. Trebas pogasiti analogne pizdarije. Mislim na komparatore, ADC, i slicno...
A sto se tice datasheeta, moras detaljnije gledati. Npr za pin 1 na F684 pise RA2/AN2/VREF, a kod F84 pise RA2. Sto znaci da ima neke razlike. Trebas pogasiti analogne pizdarije. Mislim na komparatore, ADC, i slicno...
Re: Digitalni merac broja obrtaja (obratometar)
ubacio sam ovo
ali opet isto
ko zna sta bi moglo biti, mozda problem nije uopste u mikrokontroleru.. zato da bio siguran ipak cu sacekati da nabavim 16f84a
a koji da narucim, u kelc u imaju dve verzije, jedan je sa 4mhz osc, a drugi je 20 mhz?
Code: Select all
CMCON = 7 ' PortA = digital I/O
VRCON = 0 ' A/D Voltage reference disabled
ko zna sta bi moglo biti, mozda problem nije uopste u mikrokontroleru.. zato da bio siguran ipak cu sacekati da nabavim 16f84a
a koji da narucim, u kelc u imaju dve verzije, jedan je sa 4mhz osc, a drugi je 20 mhz?
Re: Digitalni merac broja obrtaja (obratometar)
Ok. Mada verovatno ima i nesto sa ADCON, ne da mi se kopati po datasheetu...
Naruci jeftiniji Jer ionako ces ga vozati na 4MHz.
Naruci jeftiniji Jer ionako ces ga vozati na 4MHz.
Re: Digitalni merac broja obrtaja (obratometar)
Napravi sam obrtomjer po pedjinoj shemi .Međutim displey je cc to sam riješio sada me zanima mogu li umjesto sn 74ls47 koji je po datash. za ca upotrijebiti sn 74ls42 za njega nemogu skužiti kakđ radi iz datash pošto mi je engl.loš. Pa molim ta pedja i svi drugi pomoć je dobrodošla.
Re: Digitalni merac broja obrtaja (obratometar)
74LS42 ne moze da ide... Tebi treba dekoder za sedmo segmentni displej...
Re: Digitalni merac broja obrtaja (obratometar)
meni znaći treba ls7448 ili 74248 jer je displey cc
Re: Digitalni merac broja obrtaja (obratometar)
Jel može netko to napraviti i koliko novaca?
Dakle brojač okretaja koji se "dodirne" na visokonaponski kabel sviječice
Dakle brojač okretaja koji se "dodirne" na visokonaponski kabel sviječice
Re: Digitalni merac broja obrtaja (obratometar)
Evo sad sam stavio 16f84a i opet ista situacija..
Ne znam sad sta jos mogu da probam, kako se programira pic16f84a, ja sam ga programirao sa pickit 2 programatorom i pickit 2 v2.61 program. U programu je cekiran kvadratic VDD Pickit 2 /MCLR a kvadratic ON nije cekiran (pored toga pise 5v) onda sam samo isao na auto import hex + write device i na kraju mi izbaci da je propgramiran ok.
Ne znam sad sta jos mogu da probam, kako se programira pic16f84a, ja sam ga programirao sa pickit 2 programatorom i pickit 2 v2.61 program. U programu je cekiran kvadratic VDD Pickit 2 /MCLR a kvadratic ON nije cekiran (pored toga pise 5v) onda sam samo isao na auto import hex + write device i na kraju mi izbaci da je propgramiran ok.
Re: Digitalni merac broja obrtaja (obratometar)
Vidi dali ti je oscilator dobro podesen, treba da bude xt ili hs...
Re: Digitalni merac broja obrtaja (obratometar)
Gde to da vidim, nisam nigde nasao?
Mozda treba da izmenim onu OSCAL vrednost, ono na pocetku ili na kraju hexa.
I mozda treba da definisem u kodu da se koristi externi oscilator.
evo krajnji kod, mozda jos nesto nije u redu, nejasno mi je ovo TRISA=0 , zasto je jednako nuli ako se koriste portovi a za lcd?
Mozda treba da izmenim onu OSCAL vrednost, ono na pocetku ili na kraju hexa.
I mozda treba da definisem u kodu da se koristi externi oscilator.
evo krajnji kod, mozda jos nesto nije u redu, nejasno mi je ovo TRISA=0 , zasto je jednako nuli ako se koriste portovi a za lcd?
Code: Select all
TRISB.1=1
TRISA=0
BROJ VAR WORD
RPM VAR WORD
pause 500
lcdout $FE, 1
POCETAK:
COUNT PORTB.1,1000,BROJ ' broji impulse na pinu RB1, u periodu od 1S i rezultat smesta u "BROJ"
lcdout $FE, $80, "RPM=", dec rpm ; ispisuje na LCD-u RPM= i broj prikazuje kao decimalnu velic(inu
pause 10
GOTO POCETAK
Re: Digitalni merac broja obrtaja (obratometar)
Pa da bi port bio izlazni...
Probaj smanjiti pull up na porta.4
Probaj smanjiti pull up na porta.4
Re: Digitalni merac broja obrtaja (obratometar)
stavio sam na pin 3 otpornik 2k2 prema masi, ali osvetljenje ekrana je isto. probao sam pin 5 ekrana na masu da stavim na kratko i samo se ekran malo zatamnio. pull up sa porta a.4 sam zamenio potenciometrom i okretao sam ga od 0 do 10 k oma, i isto opet.