Autor |
IC: Frequenz -> Bytes Suche nach: frequenz (6274) |
Problem gelöst
|
|
|
|
BID = 365004
Tobiask Neu hier
Beiträge: 29
|
|
Hallo,
ich suche einen IC der aus einer Frequenz einen Byte Code macht den ich über die parallele Schnittstelle zum PC schicken kann. Wo finde ich sowas am besten und wie heißt soetwas?
MfG Tobias |
|
BID = 365089
Dombrowski Stammposter
Beiträge: 450
|
|
Moin.
Du willst also mittels externer Hardware die Frequenz eines periodischen Wechselsignals messen und das Ergebnis ziffernweise in einem parallelen Datenformat in den PC einlesen. Richtig? Was für Signale (Kurvenformen, Spannungshöhen)? Welcher Frequenzbereich? Welche Genauigkeit?
Da du schon hier im Mikrocontroller-Unterforum fragst: ja, mit µCs ist eine Realisierung möglich - wenn die Anforderungen passen. Man kann es auch mit einzelnen Logikchips machen - wird aber schnell 'ne Euro-Karte voll. Es gibt bzw. gab auch spezielle Zählerbausteine mit µC/µP-Interface, ICM71xx, ICM72xx.
Was kannst du denn bisher, was Selberbauen, Programmieren, usw. betrifft? Oder suchst du nur die Bezeichnung eines Fertiggeräts, das du bei deinem Elektronikfritzen kaufen oder bestellen kannst?
D. |
|
BID = 365114
SIGINT Stammposter
Beiträge: 381 Wohnort: Mönchengladbach
|
Warum soll es den eine externe Schaltung sein?!?!
Einfach einen Impedanzwandler zwischen Soundkarte und Signalquelle und gut ist.
Gruß,
SIGINT
|
BID = 365167
stephan84 Stammposter
Beiträge: 350
|
Geht aber nur, wenn das Signal langsam genug ist.
Je schneller, desto schwieriger wird es.
Also:
- Signalform?
- Amplitude?
- Frequenzbereich?
|
BID = 365182
Tobiask Neu hier
Beiträge: 29
|
hi,
also ich habe nicht soviel ahnung, aber bin auch gern bereit mir neues anzuschauen um es zu lernen
um das ganze zu verdeutlichen: ich brauche für folgende Schaltung einen Baustein der aus der Frequenz einen Code macht den ich mit Java an der parallelen Schnittstelle auslesen kann.
schlatung ist angehängt!
an st3 kommt die frequenz an, st1 sind 3,3V und st2 masse.
das ganze ist ein feuchtigkeitssensor, diesen möchte ich gerne mit java auslesen soweit möglich, dafür brauche ich jetzt nur die verbindung rechner/platine.
was das programmieren angeht, leider nur erfahrung mit java, das bekomm ich alleine hin, denk ich, aber halt die hardware seite ist mir nicht so geläufig, leider.
mfg tobias
|
BID = 365216
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Also ein Rechtecksignal mit Uss knapp 3,3 V. Frequenz schätzungsweise einige Hundert Hertz bis ca. 1 kHz.
Erzähl mal was zu Java und seinem Lesebefehl auf den Parallelport. Was findet dort auf x86-Ebene statt? Welches I/O-Register des Parports wird genommen? Wie schnell sind aufeinander folgende Zugriffe möglich?
Der Parport in der Standard-SPP-Einstellung hat drei Register: Daten-, Status u. Steuerreg. Ein Lesezugriff auf das Datenregister liefert den zuletzt dorthin geschriebenen Wert zurück, nicht die außen anliegenden Pegel. Dies ist erst nach einer Umschaltung möglich. Ohne weitere Umschaltung kann nur über das Statusregister von außen eingelesen werden.
Wenn man einige Sachen beachtet, ist eine Direktverbindung dieses Gerätes mit dem Parport möglich - ohne weitere Hardware. Mit dem Ziel, die Impuls- und Pausenlängen vom PC per Software auszuzählen. Dazu muss die Software den Port in anständiger Geschwindigkeit pollen können, d.h. Größenordnung etliche zehntausend Mal pro Sekunde. Ungestört! Ich bezweifle, dass mit Java (unter Windows?) daraus etwas wird. Unter reinem DOS geht das. Unter DOS kann man mit dieser Methode Frequenzen bis etwa 1 kHz mit erträglicher Genauigkeit auszählen. Je niedriger die Frequenz, umso genauer.
Schreib mal was zu Java und dessen Implementierung eines Port-Lesebefehls. Und allgemein zu den Timing-Bedingungen unter deinem BS. Ich glaub nämlich, dass es genau deswegen doch eine externe Zähler-Hardware werden muss.
Soundkarte als Alternative? Naja... Kommt darauf an, ob du die dazu nötige Software zur Verfügung hast und in Java einbinden kannst.
D.
|
BID = 365218
Tobiask Neu hier
Beiträge: 29
|
leider weiß ich noch nicht genug was auf x86 eben passiert.
ich denke aber mal das es zu langsam ist, was java leider so ja ansich hat.
ich denke man sollte dann doch eher nen hardware zähler nehmen und den nur paar mal in der sekunde auslesen, das sollte doch gehen oder?
hatte mal sowas mit nem monoflop und nem zähler gesehn glaub ich, wie kann man sowas am besten realisieren das es auch gut an die schaltung hier passt?
was ich noch weiß, man kann in java auch von SPP auf diesen binärmodus umstellen, weiß grad nicht wie der heißt, der andere jedenfalls
auslesen würde ich dann mit der klasse javax.comm die stellt was dazu bereit, hab mich aber auch ma schlau gemacht und gesehn das es eine dll gibt die man auch vielleicht braucht, inpout32.dll die gibt es auch für java.
jedoch weiß ich zu wenig um das mal eben so zu nutzen, das müsste ich mir genau anschauen dann.
Ansonsten würde ich Win2k als BS nehmen, aber das mit der Soundkarte hab ich nicht verstanden irgendwie, was hat das damit zutun??
|
BID = 365245
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Deine Schaltung liefert schon ein brauchbares digitales Signal. Bausteine aus der CMOS 4XXX Reihe oder µCs kann man wohl direkt anschließen. Eventuell ist eine Pegelverbesserung nötig. Bei Masse- und Potentialproblemen sollte allerdings ein Optokoppler verwendet werden.
Mit CMOS 4XXX aufgebaut braucht man eine Zählerkette und ein Gate-Signal, das die Zählerkette wiederholt für eine gewisse Zeit freigibt. Beträgt die Torzeit 1 Sekunde, liefert die Zählerkette gerade die Frequenz in Hertz. Wenn Java präzise 1-Sekunden-Impulse über den Parport erzeugen kann, wäre das als Gate-Signal geeignet. Andere Gate-Zeiten als 1 Sek. sind auch möglich; dann muss das Zählresultat umgerechnet werden. Ansonsten braucht man zusätzlich eine Zeitbasis, um das Gate-Signal zu generieren - normalerweise ein präziser Oszillator plus Teilerkette.
Mit einem µController wird es von der Hardware her einfacher. Hier ist ein Beispiel, wo jemand mit einem Atmel AVR µController einen Frequenzzähler realisiert hat. Das ist nicht ganz das, was du haben willst, aber vielleicht gibt es dort Anregungen.
Die anderen Betriebsarten neben SPP sind EPP und ECP. Aber die bringen nix beim Ansteuern von Selbstbau-Hardware. Nur bei Geräten, die selber auf EPP/ECP hin designt sind.
Mit einer Soundkarte kann man über einen Umweg Frequenzen messen. Man muss einen Abschnitt des betreffenden Signals erst sampeln - zu etwas anderem ist eine Soundkarten-Hardware gar nicht in der Lage. Dann macht man per Software eine Fourier-Transformation, und man schaut sich die Spektrallinien an und bringt sie in Bezug zur benutzten Abtastrate. Oder man macht so eine Art Mustererkennung im abgetasteten Signal, um sich wiederholende Vorgänge aufzuspüren und misst so die Perioden aus.
D.
|
BID = 365309
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Hier ist noch eine Skizze, die es etwas verdeutlicht.
- Ein Referenzoszillator mit Teilerkette erzeugt eine Gate- bzw. Torzeit von 1 Sekunde. (Wie gesagt, es sind auch andere Torzeiten möglich; man muss es dann im weiteren Verlauf immer berücksichtigen.)
- Das Eingangssignal wird für die Dauer der Torzeit auf die Zählerkette gegeben.
- Nach Ende einer Messung beschreibt der Zahlenwert in der Zählerkette gerade die Frequenz in Hertz.
- Mit einem Multiplexer wird der Zählerstand in 4-bit- od. 5-bit-breiten Blöcken zum Auslesen auf den SPP gegeben.
- Daneben ist noch eine Ablaufsteuerung nötig, weil z.B. die Zählerkette nicht gelesen werden darf, während gerade eine Messung läuft. Außerdem muss eine Messung immer mit Zählerstand 0000 beginnen. Dafür kann man die noch freien Leitungen von Daten- und Steuerport nutzen.
D.
|
BID = 365312
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Gib mal einen Link aufs Datenblatt oder sag uns was für Messwerte der eigentliche Sensor im infrage kommenden Bereich abliefert.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 365323
Ltof Inventar
Beiträge: 9323 Wohnort: Hommingberg
|
Und hier ist ein Beispiel, wo jemand einen Frequenzzähler mit einem PIC gemacht hat:
http://www.sprut.de/electronic/pic/projekte/frequenz/freq.htm
Muss es unbedingt über die parallele Schnittstelle sein? Am einfachsten zu realisieren wäre das ganze mit einem Multimeter, welches eine RS232-Schnittstelle sowie Frequenzmessung hat (z.B. DT4000ZC).
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 365421
Tobiask Neu hier
Beiträge: 29
|
muss nicht para. sein, aber ich hab leider kein Multimeter mit Frequenzmesser und RS232 Schnittstelle ...
Wie viel kostet sowas neu?
Paar Daten zum HS15P gibt es hier: http://www.robotstorehk.com/hs1215p.pdf
edit: ich hab ma nach dem DT4000ZC gesucht, das gibts kaum zu kaufen im internet, was könnt ihr mir sonst empfehlen?
Brauche dann ja RS232 und Frequenzmesser, welches Multimeter kann das sonst noch?
Wenns geht gut und günstig
edit2: mit dem multimeter wäre es dann einfacher, oder?
weil damit kann ich es dann ja direkt an den pc anschliessen über rs232!?
[ Diese Nachricht wurde geändert von: Tobiask am 1 Sep 2006 14:08 ]
|
BID = 365431
Ltof Inventar
Beiträge: 9323 Wohnort: Hommingberg
|
Das gibt es bei www.elv.de (Artikel-Nr.: 68-459-86).
Das Datenformat dieses DMM ist leider etwas krank, so dass die Auswertesoftware noch etwas konvertieren muss. Sollte mit Java aber gehen, denke ich. Teurere DMM mit Schnittstelle schicken die Messergebnisse auch im Klartext raus, so dass sie z.B. auch mit einem Terminalprogramm zu beobachten sind.
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 365432
Tobiask Neu hier
Beiträge: 29
|
Zitat :
| Das Datenformat dieses DMM ist leider etwas krank, so dass die Auswertesoftware noch etwas konvertieren muss. |
Was genau heißt krank?
Kannst du mir genauer sagen was man da konvertieren müsste dann?
|
BID = 365456
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Wenn dein PC
a) einen Gameport (15-poliges Sub-D-Weibchen) hat, und du
b) mit deiner Software dort die Paddlestellung abfragen kannst, würde ich eine kleine Schaltungsänderung vornehmen.
Wenn du den Pin3 des nicht benutzten Verstärkers nicht an das Poti, sondern an den Pin5 des gleiche ICs legst, bekommst du an Pin1 eine gepufferte Gleichspannung, deren Wert frequenzabhängig ist.
Damit würde ich einen p-Kanal-FET-(evtl geht auch ein anderer Transistor - ausprobieren) ansteuern, der am Gameport liegt und dessen Widerstand durch die Spannung verändert wird.
Beim PC wird der Widerstand der Paddels mit zwei NE556 gemessen, andere Computer haben dort richtige ADCs, denen man die Messspannung direkt anbieten kann.
Zum Ausprobieren solltest du den Feuchtesensor durch einen einstellbaren Widerstand, am besten ein logarithmisches Lautstärkepoti von z.B. 500kOhm ersetzen. Die Polung ist dabei nicht egal, du mußt Anfang (Stellung für kleinste Lautstärke) und den Schleifer anschliessen.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|