www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

meritev 8 frekvenc naenkrat

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
damo
Član
Član



Pridružen-a: Čet 31 Jul 2003 13:45
Prispevkov: 2008
Aktiv.: 8.47
Kraj: Krško

PrispevekObjavljeno: Pon Jul 04, 2011 8:46 pm    Naslov sporočila:  meritev 8 frekvenc naenkrat Odgovori s citatom

Meriti moram cca 8 frekvenc reda kHz. Za eno, 2 ali 3 ni problem - counter v mikrokontrolerju. Za 8 pa.....? Obstaja kak čip ki ima 8 ali več counterjev, ki jih nato bereš? Oz. kaka izpeljanka NXP 8052 ali ARM7?

Glede na to, da frekvence niso visoke, sem razmišljal, da bi jih štel softversko - npr. vsak signal na svoj pin, ob pozitivni fronti na pinu povečam njegov števec, s timerjem si naredim periodo štetja.

_________________
Dobrga štromarja samo slab šnops strese!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 60.03
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Pon Jul 04, 2011 9:18 pm    Naslov sporočila:   Odgovori s citatom

Si prepričan, da potrebuješ to naenkrat? Mogoče bi pa šlo tako, da bi najprej meril prvo, nato drugo, ..... Rezultate pa prikažeš vse na kmalu.
_________________
Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
damo
Član
Član



Pridružen-a: Čet 31 Jul 2003 13:45
Prispevkov: 2008
Aktiv.: 8.47
Kraj: Krško

PrispevekObjavljeno: Pon Jul 04, 2011 9:22 pm    Naslov sporočila:   Odgovori s citatom

Tudi na to sem pomislil. Verjetno bi šlo z lpc2148 4 frekvence naenkrat, pa multipleksiram pa je.

Da ne bom tajanstven - v konkretnem primeru se gre za merjenje pretokov hladilne vode (merjenje impulzov iz turbinic).

_________________
Dobrga štromarja samo slab šnops strese!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.69
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Jul 05, 2011 12:53 am    Naslov sporočila:   Odgovori s citatom

Par jih daš na tajmerje, par pa na interupte. Procesor pa v sleep mode Smile
Softversko pa rajši ne. Boš izgubljal impulze.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 563
Aktiv.: 2.38
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jul 05, 2011 8:38 am    Naslov sporočila:   Odgovori s citatom

Damjan, nisi povedal kakšna naj bi bila natančnost merjenja.
Kaj če bi uporabil F/U converterje in s procesorjem bral napetosti ki so proporcionalne frekvenci?
Vlado
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.40

PrispevekObjavljeno: Tor Jul 05, 2011 12:27 pm    Naslov sporočila:   Odgovori s citatom

Merilniki peretoka imajo ponavadi zvezni izhod za trenutni pretok in impulze za komulativo. Impulzi so z razlogom...
_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
damo
Član
Član



Pridružen-a: Čet 31 Jul 2003 13:45
Prispevkov: 2008
Aktiv.: 8.47
Kraj: Krško

PrispevekObjavljeno: Tor Jul 05, 2011 5:09 pm    Naslov sporočila:   Odgovori s citatom

Dorijan je napisal/a:
Glede na cene cenejših mikrokontrolerjev(tudi pod 0.5€), bi si lahko na vsako turbinico dal nek mini MCU, potem pa to pošiljaš po nekem vodilu na "ta glavnega", ki ga s tem tudi precej razbremeniš.

pa glede na to kako majhne se dobi, jih lahko kar v kak konektor daš, če si na tesnem s prostorom.


f/u bi lahko naredil z monostabilnim multivibratorjem (555) in rc členom, vendar bi se rad izognil kalibraciji in napakam.

Omenjene turbinice iz Conrada imajo samo pulzni izhod.

Zanimiv je tudi Dorijanov predlog. Mogoče bom naredil nekaj vmesnega - recimo nekaj mikrokontrolerjev (2-4), ki bi bili povezani z "masterjem", kateri bi potem skbel še za display, merjenje temperatur in komunikaicijo s PCjem.

_________________
Dobrga štromarja samo slab šnops strese!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 16.00

PrispevekObjavljeno: Tor Jul 05, 2011 6:01 pm    Naslov sporočila:   Odgovori s citatom

Kolikšna je najvišja predvidena frekvenca impulzov?
Če imajo signali 50% duty ciklel, dobiš najkrajši čas trajanja "1" od impulza.
"Debounce" je potem lahko dolg največ polovico tega časa.
"Debounce" zato, ker v trenutku, ko prvič nekje zaznaš "1" ali "0", samo blokiraš zaznavanje tistega vhoda, ostale vhode pa še vedno preverjaš, pa tudi vse ostalo se normalno izvaja. Nato po pretečenem času spet preveriš tisti vhod.
Ne vem, kako višji prevajalniki prevedejo ukaz Debounce, kajti čakanje v zanki je čista potrata časa.

Če sam napišeš debounce, za zaznavanje počasnih vhodov ne rabiš prekinitev. Vseh 8 vhodov daš na en port. Ga prebereš vsakih 1/3 najkrajšega časa trajanja "1", primerjaš prebrano s staro vrednostjo, poservisiraš spremembe, izpišeš na LCD, ... in po pretečenem času spet prebereš port.

Dodano: Eh, šele sedaj sem opazil, da je potrebno tudi čas meriti. Brez merjenja časa se dobi samo podatek o pretečenih litrih, z merjenjem časa pa tudi podatek o litrih/minuto.

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
tonko
Član
Član



Pridružen-a: Sob 25 Jun 2005 13:45
Prispevkov: 541
Aktiv.: 2.28
Kraj: Črnomelj

PrispevekObjavljeno: Tor Jul 05, 2011 6:48 pm    Naslov sporočila:   Odgovori s citatom

V timer cikličnem interruptu, ki naj ima frekvenco nekajkrat višjo od frekvence ki jo boš meril obdeluj spremembe stanj na vhodih.
Če boš vzel 8051 boš komot delal z interrupt frekvenco 20khz , kar ti zadostuje za vzorčanje impulzov do skoraj 10khz, z LPC2148 pa boš lahko delal z interrupt frekvenco 100khz ali več. Na ta način boš lahko meril poljubno število kanalov oziroma kolikor imaš digitalnih vhodov.


Primer za dva stevca:

Koda:

//GLOBALNE SPREMENLJIVKE
 unsigned short int pulses1 = 0;      //IZMERJENI IMPULZI NA SEKUNDO VHOD 1
 unsigned short int pulses1_ = 0;    //IZMERJENI IMPULZI NA SEKUNDO IZ //INTERRUPTA VHOD 1

 unsigned short int pulses2 = 0;      //IZMERJENI IMPULZI NA SEKUNDO VHOD 2
 unsigned short int pulses2_ = 0;    //IZMERJENI IMPULZI NA SEKUNDO IZ
//INTERRUPTA VHOD 2

 
void main(void)
  {
   
   while(1)
     {
      disable_interrupts();  //ONEMOGOČI INTERRUPTE
      pulses1 = pulses1_;   //PREBERI ŠTEVILO IMPULZOV P1 IZ INTERRUPT FUNKCIJE
      pulses2 = pulses2_;   //PREBERI ŠTEVILO IMPULZOV P2 IZ INTERRUPT FUNKCIJE
      enable_interrupts();   //PONOVNO OMOGOČI INTERRUPTE

      printf("P1=%5up/sek P2=%5up/sek\n",pulses1,pulses2);   //IZPIS IMPULZOV KANAL 1 in 2
     }
  }

void interrupt_10khz(void)  //TIMER CIKLIČNI INTERRUPT 10khz
  {
   static unsigned short interval_timer = 0;   //TIMER ZA VZORCANJE V INTERVALIH 1sek
   static unsigned short int int_pulses1 = 0;  //PRESTETI IMPULZI V ENI SEKUNDI
   bit last_input1 = 0;  //PREJSNJA VREDNOST VHODA 1 ZA ZAZNAVANJE SPREMEMBE VHODA

   static unsigned short int int_pulses2 = 0;  //PRESTETI IMPULZI V ENI SEKUNDI
   bit last_input2 = 0;  //PREJSNJA VREDNOST VHODA 2 ZA ZAZNAVANJE SPREMEMBE VHODA
//======================
   if(interval_timer >= 10000)  //1 x v sekundi prepisi stevilo impulzov
     {
       interval_timer = 0;
       pulses1_ = int_pulses1;  //ZAPOMNI SI STEVILO IMPULZOV kanal 1
       int_pulses1 = 0;

       pulses2_ = int_pulses2;  //ZAPOMNI SI STEVILO IMPULZOV kanal 2
       int_pulses2 = 0;
     }
//======================

   if(INPUT1 != last_input1)  //ALI SE JE STANJE NA VHODU SPREMENILO KANAL 1
     {
      int_pulses1++;
       last_input1 = INPUT1;
     }

   if(INPUT2 != last_input2)  //ALI SE JE STANJE NA VHODU SPREMENILO KANAL 2
     {
      int_pulses2++;
       last_input2 = INPUT2;
     }

//======================
   return;
  }

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
borber
Član
Član



Pridružen-a: Pon 23 Maj 2005 8:40
Prispevkov: 3111
Aktiv.: 13.13
Kraj: LJUBLJANA

PrispevekObjavljeno: Tor Jul 05, 2011 8:36 pm    Naslov sporočila:   Odgovori s citatom

Conradovi merilniki pretoka imajo impulzni merilni izhod, ki dejansko podaja podatek o pretočeni količini vode saj je naveden podatek za občutljivost 10.000 impulzov na liter pretočene vode. Merilni signal je uporaben za števec pretočene vode, seštevalnik.
Ker pa damo želi uporabiti frekvencmetre na merilnih izhodih, je to enako, kot bi delal merilce pritiskov v posamezni cevi, merilcu. V ta namen bi bile sonde za merjenje pritiska cenejša in enostavnejša rešitev.

Counter in Frequency Counter sta dve različni stvari.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70781.30

PrispevekObjavljeno: Tor Jul 05, 2011 9:11 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 563
Aktiv.: 2.38
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jul 05, 2011 9:31 pm    Naslov sporočila:   Odgovori s citatom

Damjan,
enkrat sem delal z enim senzorjem pretoka iz Conrada in kolikor se spomnim, izhod iz senzorja je sinusne oblike, prav tako je amplituda signala odvisna od pretoka, tako da pri majhnem pretoku imaš samo nekaj milivoltov.
Jaz sem pričakoval TTL nivo, imel pa sinus.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damo
Član
Član



Pridružen-a: Čet 31 Jul 2003 13:45
Prispevkov: 2008
Aktiv.: 8.47
Kraj: Krško

PrispevekObjavljeno: Tor Jul 05, 2011 10:05 pm    Naslov sporočila:   Odgovori s citatom

Se je kar razvila debata, vsem hvala za nasvete.

Tonko - nekako tako sem si tudi sam zamislil. Se mi zdi, da je to najenostavnejša varianta.

Mare - tudi tvoj princip je zanimiv. Če mi bo z io pini hodilo na tesno, bom mogoče šel v tej smeri.

Vlado - hvala za opozorilo. Trenutno sem gledal tole turbinico, vendar moram še malce preveriti glede pretokov.

Najti moram še sondo za merjenje prevodnosti vode - območje cca 20mikroS.


EDIT: popravljen link

_________________
Dobrga štromarja samo slab šnops strese!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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: 497 dni


Powered by phpBB © 2001, 2005 phpBB Group