Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Fequenzmessung bis 20Khz am com1 oder LPT1

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 52
Wohnort: Herzogenaurach

BeitragVerfasst am: 19.04.2006, 09:28    Titel: Fequenzmessung bis 20Khz am com1 oder LPT1 Antworten mit Zitat

Hallo,
Ich möchte mit meinem PC, Frequenzen bis zu ca. 20 KHz einmessen, die Torzeit sollte veränderbar sein, von ca. 0,1 bis 2 Sekunden. Die Frequenz sollte über com1 Eingelessen werden, der LPT1 funktioniert ja nicht mit XP.

Frage:
Hat von euch jemand eine Programmroutine zum Einlesen von Frequenzen (bis ca. 20KHz).

Gruß Dieter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 19.04.2006, 09:39    Titel: Re: Fequenzmessung bis 20Khz am com1 oder LPT1 Antworten mit Zitat

eeg-grimm hat Folgendes geschrieben:
der LPT1 funktioniert ja nicht mit XP.


Hi, auf Skilltronics Seite gibt es ein kleines Programm mit dem du auch unter WindowsXP den LPT1 ansteuern kannst, habe es an mehreren Rechnern schon getestet. Download und Beschreibung (runter scrollen).
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 19.04.2006, 10:20    Titel: Antworten mit Zitat

In der Rubrik "Serielle, parallele und USB-Ports" der MonsterFAQ von QBasic.de finden sich u.U. auch sinnvolle Tipps. lächeln Link
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 19.04.2006, 11:03    Titel: Antworten mit Zitat

Hi,
alle multitasking Betriebssysteme (Window) eignen sich nicht um zeitkritische Messungen - Steuerungen zu realisieren.
Zumindestens treten dabei immer große Ungenauigkeiten auf.
Das wurde hier im Forum schon oft erörtert.
Lösungsansätze für deine Frequenzmessungen sind z.B. Hardwarezähler der dann über LPT oder COM ausgelesen wird.
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 19.04.2006, 17:22    Titel: Antworten mit Zitat

Zur Messung:
20 kHz ist recht viel, dann müsstest du mindestens alle 50 Microsekunden den Port ablesen.

Andere/Ganz andere Idee:
Man könnte doch den Audio Eingang missbrauchen?
Der sollte auf solche Frequenzen reagieren können.
Die Soundkate kann einfach auf zeichnen und abspeichern und dein Programm analisiert dann die "Audio Datei".
Wenn man ein Sauberes Rechteck einspielt sollte die Auswertung machbar sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 19.04.2006, 17:39    Titel: Antworten mit Zitat

Also Frequenz messung ist möglich aber wen du deinem Programm nicht die volle Rechenleistung schwanken die Ergebnisse sehr stark und für 20 kHz braucht man einen schnellen Rechner damit man sowas noch direckt verarbeiten kann. Mit Freebasic habe ich es mit Hilfe eines AD Wandlers geschaft ein ganz simples Oszilloscope zu basteln womit ich etwa 1,5Khz messen kann (Impulse in einer Sekunde gemessen = Hz)

Eine andere Möglichkeit wäre den Takt auf einen Binärzähler zu geben und von hier aus dann die Frequenz zu ermitteln.

So in etwa würde das vom Ablauf dann aussehen.
1. Tor öffnen
2. Zähler zählt
3. Tor schließen
4. Zähler auslesen
5. Zähler zurücksetzten

Und wenn ich mich nicht irre war sowas in der Art schonmal hier im Forum.
_________________
MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 52
Wohnort: Herzogenaurach

BeitragVerfasst am: 20.04.2006, 10:09    Titel: Frequenzmessung welches Gerät Antworten mit Zitat

Hallo zusammen,

Ich bin beeindruckt, dass sich so schnell was bewegt auf meine Anfrage, DANKE.

Ich Messe im Moment die Frequenz mit einen GW-Basic Programm am LPT1 (DE1).
GW-Basic hat aber den Nachteil, dass man das Programm nicht direkt starten kann (nix mit EXE Programm). Dashalb möchte ich mit QBasic das programmieren.


Das GW-Basic Programm / Frequenzmessung an DE1

45 SUB=&HF000
50 FOR I=0 TO 55 : READ A : POKE &HF000+I,A : NEXT I
55 REM BLOAD „IMPCNT-M“ ,&HF00
60 CLS
190 REM Frequenzmessung
195 :
200 LOCATE 10,10,0:PRINT SPC(11):LOCATE 13,10,0:PRINT SPC(20):LOCADE 15,10,0:PRINT SPC(21):MI=1
205 LOCATE 8,4,0:INPUT „Messung ENDE = 1“;E
210 IF E=1 GOTO 265
215 POKE &HF013,1
220 LOCATE 12,7,0:PRINT „FREQENZ : Hz“
225 LOCATE 12,18,0:PRINT USING „#####“;FREQUENZ
230 CALL SUB
235 FREQUENZ=(PEEK(&HF200)+256*PEEK(&HF201))*20.6611
240 GOTO 205
265 END
266 DATA &H55,&HBA,&H79,&H3,H1E,&HBB,H40,&H0,&H8E,&HDB
267 DATA &HBB,&H0,&H0,&H8A,&HE,&H6C,&H0,&H80,&HC1,&H28,&HEC
268 DATA &H8A,&H2E,&H6C,&H0,&H38,&HE9,&H74,&H14,&H24,&H10
269 DATA &H75,&HF3,&HEC,&H8A,&H2E,&H6C,&H0,&H38,&HE9,&H74
270 DATA &H7,&H24,&H19,&H74,&HF3,&HF43,&HEB,&HE3,&H1F,&H89
271 DATA &H1E,&H0,&HF2,&H5D,&HCB

Es gibt vielleicht die Möglichkeit das GW-Basic Programm ins QBasic umzuschreiben.

Am besten finde ich den Vorschlag, die Frequenz mit einem externen Gerät zu erfassen und dann mit dem PC abzufragen.

Frage: Welches Gerät ist dazu geeignet????????????

Gruß Dieter


Zuletzt bearbeitet von eeg-grimm am 20.04.2006, 12:38, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 20.04.2006, 11:07    Titel: Antworten mit Zitat

Hallo

Wie es aussieht, ist bei deinem Programm der Basicteil im Prinzip nur der Rahmen für ein schnelleres Assemblerprogramm. Diese Befehle in Maschinencode bilden die DATA-Zeilen am Ende. Mit GW-Basic wird dieses Programm nur aufgerufen und der Messwert angezeigt. Das in QBasic umzusetzen dürfte nicht so einfach sein.

Wichtig wäre zu wissen, wie genau das Messergebnis sein soll. Davon hängt ab, wie aufwändig das Ganze wird. Wenn ich meinen 1GHz Athlon unter DOS boote, kann ich am COM direkt Frequenzen bis in den zweistelligen kHz-Bereich messen und das sehr genau. Wenn es unter Windows sein soll, ist QB zu langsam, um 20kHz am COM aufzulösen. Da kommt dann die externe Hardware ins Spiel.

Das könnte man mit einem 8-Bit Binärzähler machen, auf dessen Eingang man die zu messende Frequenz gibt. Am Übertrag vom achten Bit liegt das Signal geteilt durch 256 vor, bei 20 kHz also nur noch knapp 80 Hz, die sich auch unter Windows mit QB erfassen lassen. Diese geteilte Frequenz wird auf einen COM-Eingang gelegt und die Takte vom Programm gezählt. Durch die Teilung entsteht eine maximale Abeichung von rund 1,3%. Wenn das zuviel ist, könntest du über die drei weiteren Eingänge die der COM noch hat, nach dem Ende der Messzeit die drei höchstwertigen Bits des Zählers auslesen. Dadurch wird die Genauigkeit nochmal um das achtfache gesteigert und dürfte damit schon kleiner sein als der Fehler, den du bei der Messung der Torzeit ohnehin immer mit hineinbekommst.

Vielleicht beschreibst du noch etwas ausführlicher, was du machen willst, wie das Signal aussieht und welche Genauigkeit du erreichen willst.

Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 52
Wohnort: Herzogenaurach

BeitragVerfasst am: 20.04.2006, 12:42    Titel: Antworten mit Zitat

Hallo,

18 verschiedene Rechteckfrequenzen (+5V) werden nacheinander mit einem Multiplexer auf den Frequenzmesseingang gelegt und kontinuierlich aufgezeichnet.

Du schreibst Fehler 1,3% klingt Erstmahl wenig, aber es werden auch Frequenzen mit 100Hz überwacht, da funktioniert das mit dem /256 nicht.

Die Genauigkeit sollte bis 1KHz ca +-2 Hz sein und bis 20 KHz +-10 Hz.

Ich bräuchte halt ein Gerät oder einen Schaltplan das die Frequenz umwandelt und am z.B. con1 bereithält zum auslesen.

Gruß Dieter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.04.2006, 17:12    Titel: Antworten mit Zitat

Die Bandbreite und die Torlzeit können ein Problem werden.

Nehmen wir eine Torzeit von 0.1 Sekunden und eine Frequenz von 100 Hz.
Ein kompleter Impuls brauch bei 100 Hz 0.01 Sekunden, das heisst du kannst 10 Impulse Zählen in den 0.1 Sekunden.
Jenach dem wie das Timing ist, kann es um 1 abweichen, klingt wieder mal nach nichts, aber wenn 10 Impulse=100 Hz sind 11 Impulse= 110Hz und 9 Impulse=90Hz.
Gibt also ein Abweichung von 10 Hz.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 52
Wohnort: Herzogenaurach

BeitragVerfasst am: 21.04.2006, 06:58    Titel: Antworten mit Zitat

Hallo,
ich scheib ja in meiner ersten Anfrage das die Torzeiten 0,1 bis 2 Sekunden sein sollen.
Es ist bekant bei den 18 Frequenzen, welche Hz sind und welche im KHz Bereich sind.
Z.B.
Frequenz 3 = Überprüfung der Netzfrequenz = 100Hz = Torzeit 2 Sekunden
Frequenz 11 = Generator1 Drehzahl = 1000 bis 3000Hz = Torzeit 0,5 Sekunden
Frequenz 12 = Gemerator2 Drehzahl = 2500 bis 7000Hz = Torzeit 0,5 Sekunden usw

Gruß Dieter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 25.04.2006, 13:04    Titel: Antworten mit Zitat

Hallo

Unter Windows wird es sehr schwierig, Torzeiten so genau zu machen, dass sich die hohen Frequenzen auf wenige Hertz messen lassen. Da wäre es wahrscheinlich nötig, auch die Torzeiten extern zu erzeugen, z.B. über eine Quarzgesteuerte Zeitbasis -> der Aufwand steigt. Unter DOS geht es sicher auch ohne.

Soll denn der Multiplexer, der die 18 Frequenzen verteilt auch vom PC gesteuert werden und wie funktioniert der genau?

Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 25.04.2006, 13:47    Titel: Antworten mit Zitat

Für solche Projekte sollte es eine Selbstverständlichkeit sein, nicht mit der Hardware zu sparen. Gebraucht-Rechner im EBay ersteigern mit MS-DOS 6.22-Lizenz und das Gerät dediziert als Frequenzmesser wie hier besprochen einsetzen, löst eigentlich alle Probleme. In der Industrie kommt so etwas sogar häufig vor.

Die Idee, mit demselben Desktop-PC, auf dem man surft, E-Mails schreibt und Briefe in Word verfasst, auch noch Echtzeitanwendungen machen wollen, sollte man sich sofort wieder aus dem Kopf herausmeisseln...

Dies wäre sonst in etwa so, wie wenn ich meine Kunden-Websites auf demselben Rechner hosten würde, wo Offerten geschrieben werden, Belege verbucht, Korrespondenz an Kunden und Lieferanten erstellt, E-Mails gelesen, gesurft usw. Stattdessen habe ich auch klar für diese Aufgaben alles getrennte Rechner, so dass ein Bluescreen bei einer etwas gefährlicheren Operation im Office-Programm nicht gleich die Web-Besucher in einer PHP-Session auch rauswirft...

Für private Hobbyanwender, die entweder nur surfen / E-Mails lesen/verfassen _oder_ Elektronikexperimente durchführen wollen, bei denen der PC als Frequenzmessgerät benötigt wird: Eine entsprechende Festplattenpartitionierung (kleines FAT 16 Bit mit DOS 6.22 und anschliessend ein D:\ als %systemDrive% für Windows XP) als Dual-Boot aufgesetzt löst eigentlich die Probleme vollständig.

@eeg-grimm: Ansonsten noch zu Deinem Programm: Der dortige Entwickler hat eine kleine Assemblerroutine (Maschinencode in den Hexzahlen der DATA-Zeilen) geschrieben, vielleicht kann ja jemand diese disassemblieren, damit man sie allenfalls in reines QB portieren könnte.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 25.04.2006, 16:48    Titel: Antworten mit Zitat

Wenn Geld vorhanden ist, gibt es noch ganz andere schöne Lösungen:
Einige Mutlimeter haben eine Serrielle Schnittstelle, die man ganz einfach über QBasic auslesen kann.
(Leider macht mir Windows Probleme, wenn ich mit QBasic über die Serielle Schnittstelle arbeiten will)
Siehe z.B. http://www.franksteinberg.de/hardmess.htm.
Das Multimeter muss dann einfach unbedingt Frequenzen messen können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 26.04.2006, 11:24    Titel: Antworten mit Zitat

Wenn kein Geld vorhanden ist, würde es ein Mikrocontroller für ein paar Euro auch schon tun. Der könnte den Multiplexer steuern, die Frequenzen hochgenau messen und die Werte dann an den PC übertragen.
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz