 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
jozko Član

Pridružen-a: Čet 18 Jan 2007 11:29 Prispevkov: 71 Aktiv.: 0.32
|
Objavljeno: Sre Jul 11, 2007 9:24 am Naslov sporočila: MC68HC11 merjenje hitrosti vetra. |
|
|
Živjo!
Imam problem.
Rad bi naredil naredil merilnik hitrosti vetra z omenjenim mikroprocesorjem.
Sama hitrost bi se merila tako, da bi najprej izračunal frekvenco
potem pa bi to frekvenco pomnožil z določenim količnikom.
Stvar bi linealiziral tako, da bi imel deset raziličnih količnikov katere
bi množiv z frekvenco v odvisnosti z njeno velikostjo.
Hitrost pa bi potem izpisal na 7-segmentni displej ali na zaslon PC-ja.
Samo vetrnico sem že sestavil, za senzor vrtljajev sem uporabil
opto_detektor iz odsluženega printerja kateri, da na izhodu 4,9v
kadar dioda ni prekinjena in 0v kadar je prekinjena.
Problem imam, ker ne vem kako bi naredil števec.
V sami literaturi sem zasledi, da se zato uporablja poseben pin števca (kateri je že ugrajen v sam mikroprocesor):
-PA7/PAI/OC1(vhd/izhod): Digitalni vhod/izhod/vhod števca impulzov/izhod za postavljanje (output compare) 1..
To je prepisano iz literature mikrokrmilniški sistemi HC11 od Tadeja Tume.
Če je možna ta varijanta me zanima kako se omenjeni števec priklopi.
In kako približno naj bi potekal program.
Razmišljal sem tudi, da bi signal iz senzorja pripeljal na A/D pretvornik in potem glede na trajanje ciklov dobil frekvenco.
Vendar pa sam ne vidim katera rešitev je enostavnejša in kako bi se zadeve programsko lotil.
Zato prosim, če mi lahko kdo vsaj malo namigne kako bi programsko začel zadevo.
Sam program se mora izvajati v realnem času.
Hvala za odgovore in LP! |
|
Nazaj na vrh |
|
 |
Hi-End Član


Pridružen-a: Sre 25 Feb 2004 11:51 Prispevkov: 284 Aktiv.: 1.20 Kraj: Višnja Gora
|
Objavljeno: Sre Jul 11, 2007 10:45 am Naslov sporočila: |
|
|
To kar bi ti rad dosegel je v bistvu merjenje frekvence. Rešitev je več, ena od teh je da uporabiš zunanji vhod v števec mikrokontrolerja, ali pa uporabiš zunanjo prekinitev ter v prekinitvi povečuješ število. Potem pa glede na to kar si napisal, bi rad naredil linearizacijsko tabelo, v odvisnosti od hitrosti vetra (frekvence). Nikjer nisi napisal v kateri mikrokontroler bi ti to spravil, vendar glede na to da si to dal v forum ARM arhitektura smatram da gre za ARM. Izhod je pač stvar odločitve - ali je to LCD, ali 7 segmentni LED display ali pa UART proti PC-ju. Je pa to za nekoga, ki nima izkušenj z programiranjem lahko to zelo velik zalogaj. _________________ Music is a part of my life, DIY is my life ! |
|
Nazaj na vrh |
|
 |
jozko Član

Pridružen-a: Čet 18 Jan 2007 11:29 Prispevkov: 71 Aktiv.: 0.32
|
Objavljeno: Sre Jul 11, 2007 11:00 am Naslov sporočila: |
|
|
To bi rad spravil v: MC68HC11
Kateri je bil kakšno leto nazaj še v učnem načrtu na
fakulteti za elektrotehniko.
Sama tema niti ne vem kam spada, ker se ne spoznam dost
na samo zgradbo...
Zanima me predvsem to kako to frekvenco zajeti, približen potek
programske kode.
Imam pa nekaj izkušenj z to zadevo ampak sem precej že pozabil. |
|
Nazaj na vrh |
|
 |
DMan Član

Pridružen-a: Ned 01 Avg 2004 15:03 Prispevkov: 123 Aktiv.: 0.52 Kraj: Tržič
|
Objavljeno: Sre Jul 11, 2007 12:22 pm Naslov sporočila: |
|
|
Preberi si v datasheetu HC11 poglavje 8 oziroma podpoglavje 8.3 Pulse accumulator.
To je 8 bitni števec ki lahko deluje v 2 režimih:
1. Števec-povečuje vrednost oob vsakem impulzu na vhodnem pinu
2. S sistemsko uro gnani števec, ki teče le za čas ko je na vhodnem pinu števec omogočen (vh. signal='1'-> števec šteje, vh.signal='0' števec stoji)
Več kot rečeno v datasheetu! |
|
Nazaj na vrh |
|
 |
jozko Član

Pridružen-a: Čet 18 Jan 2007 11:29 Prispevkov: 71 Aktiv.: 0.32
|
Objavljeno: Sre Jul 11, 2007 2:36 pm Naslov sporočila: |
|
|
Citiram: |
2. S sistemsko uro gnani števec, ki teče le za čas ko je na vhodnem pinu števec omogočen (vh. signal='1'-> števec šteje, vh.signal='0' števec stoji) |
A to pomeni, da števec šteje urine impulze toliko časa kolikor časa je na vhodu
signal=1 katerega pripeljem iz senzorja?
Bi prosil za malo konkretnejšo razlago, če se da.
Veternica je narejena tako, da pri vsakem obratu odda en impulz.
Kar je precej malo in bi moral za moje pojme merit vsaj 2s, da bi dobil pameten rezultat.
A potem moram glede na dolžino merjenja in glede na št dobljenih impuzov izračunat frekvenco?
Ali se da še kako drugače laže rešiti zadevo. |
|
Nazaj na vrh |
|
 |
DMan Član

Pridružen-a: Ned 01 Avg 2004 15:03 Prispevkov: 123 Aktiv.: 0.52 Kraj: Tržič
|
Objavljeno: Sre Jul 11, 2007 3:12 pm Naslov sporočila: |
|
|
Ja tako zunanji signal iz senzorja, ki ga pripelješ na PA7 pin deluje kot Enable bit za 8 bitni števec, ki šteje s frekvenco 1/64 frekvence sistemskega clocka.
Tako ob vsakem impulzu:
1. Shraniš vrednost pulse accumultarja
2. resetiraš pulse accumultaor na 0
3. preračunaš hitrost
Več o delovanju pulse accumulatorja si preberi v reference manual-u na strani 444.
Druga možnost pa je možnost uporabe 3 vgrajenih štoparic (INPUT CAPTURE). Za to možnost poglej reference manual podpoglavje 10.5. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|