 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
BloodyBeginner
Anmeldungsdatum: 07.04.2008 Beiträge: 2 Wohnort: Ratzenried
|
Verfasst am: 07.04.2008, 18:16 Titel: Erste Schritte-> Bitte helft mir!!! |
|
|
Hallo Leute,
Ich hab vor mir eine Schaltung zu basteln, mit der ich die Geschwindigkeit meines Modellautos messen kann. Das soll so ablaufen: zwei Lichtschranken eine am Start, die andere am Ziel. Wird die erste unterbrochen, sollte das Programm eine Uhr starten, beim unterbrechen der zwieten Schranke sollte die Uhr stoppen. Dann sollte das Programm nach der manueller Eingabe distanz anhand der uns allen bekannten Formel die Geschwindigkeit berechnen.
Ich hab mich mit meinem Problem an die Elektirker vom ELKO gewandt und dan hat einer gemeint ich solle euch um Hilfe fragen, was die Software-technische Umsetzung dieses Projektes angeht. Leider hab ich noch nie auf QBasic programmiert.
Könnte mir von euch jemnad zur Seite steht und mir eine kleine Einführung geben??? (Woher bekomm ich die nötige Software zur Programmierung usw)
Mein nächstes Problem: Im ELKO wurde mir gesagt, dass ich über eine Serielle Schnittstelle gehen solle. Das hat mein Laptop nicht!!! Geht das auch über USB oder wird das zu komplizert???
Bitte verzeiht mir falls euch meine Fragen töricht oder dumm erscheinen, aber ich bin halt noch ein echtes Greenhorn
DAnke für eure Hilfe im Voraus
Gruß Marc _________________ Wer fehler findet darf sie behalten! |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 07.04.2008, 19:44 Titel: |
|
|
Mit USB wird es tatsächlich kompliziert... Mein Rat: Für derartige Anwendungen extra ein alter Rechner für ab € 1,- im EBay zusammen mit einer MS-DOS 6.22-Lizenz ersteigern und daraus ein spezialisierter Hardware-Anwendungssteuerrechner aufsetzen, auf dem Du unbeschwert mit INP() und OUT auf dem Parallelport herumturnen kannst. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
BloodyBeginner
Anmeldungsdatum: 07.04.2008 Beiträge: 2 Wohnort: Ratzenried
|
Verfasst am: 07.04.2008, 21:28 Titel: |
|
|
Ich hab noch nen alten Rechner allerdings mit Windows XP und da weiß ich die DOS Version nicht. Aber der hätte zumindest alles an seriellen Schnittstellen, was das Herz begehrt!!
Hab mir mittlerweile den Compiler runtergladen und erste Programme geschrieben. Ist eigentlich ganz easy, aber wie schreib ich da nen Treiber für meine Konstruktion, schließlich muss das Ding ja irgendwie erkannt werden. Und Dann sollte ich noch wissen, wie ich die Zeitschaltuhr Steuer, denn Sie sollte ja mit dem Durchbrechen der ersten Schranke starten und mit dem Durchbrechen der zwieten stoppen und dieser Wert dient dem Programm dann zum Berechnen der Geschwindigkeit.
Bitte um Hilfe
Gruß Marc _________________ Wer fehler findet darf sie behalten! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 07.04.2008, 22:04 Titel: |
|
|
windows xp ist DOS 7... aber das ist auch ziemlich egal, da windows xp für zeitkritische anwendungen überhaupt nicht geeignet ist... erst recht nicht an der serriellen schnittstelle. du kannst aber noch ein zusätzliches DOS-System auf den rechner schmeißen oder z.B. mit FreeDOS von CD booten. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 07.04.2008, 23:02 Titel: Re: Erste Schritte-> Bitte helft mir!!! |
|
|
BloodyBeginner hat Folgendes geschrieben: | Hallo Leute,
Ich hab vor mir eine Schaltung zu basteln, mit der ich die Geschwindigkeit meines Modellautos messen kann. Das soll so ablaufen: zwei Lichtschranken eine am Start, die andere am Ziel. Wird die erste unterbrochen, sollte das Programm eine Uhr starten, beim unterbrechen der zwieten Schranke sollte die Uhr stoppen. Dann sollte das Programm nach der manueller Eingabe distanz anhand der uns allen bekannten Formel die Geschwindigkeit berechnen.
|
Hallo, Kollege, mich dürftest Du aus dem ElKo auch kennen...
Folgender vorschlag: Bau einen Zähler, der von der ersten Lichtschranke gestartet und von der zweiten gestoppt wird. Das Ergebnis kannst Du über die Schnittstellen einlesen. Mit einer dritten Lichtschranke gleich hinter der zweiten kannst Du den Einlesevorgang starten. Unter DOS per einfach Inp(Adresse). Unter XP brauchst Du dafür zusätzlich eine Treiber-DLL (z. B. inpout32,dll).
Die Adresse Deiner Schnittstellen erfährst Du unter DOS mit dem Programm msd.exe, unter XP in der Hardwareverwaltung
Für die Eingaben schau Dir die Befehle Input, inkey, Do/Loop (Schleife z. B. für Abfrage, ob die Messung wiederholt werden soll) und inp an. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 08.04.2008, 12:54 Titel: |
|
|
Hallo
Ich habe mal ein kleines Programm gebastelt. Ich bin dabei davon ausgegangen, dass die Ausgänge der Lichtschranken auf Low-Pegel gehen, wenn sie unterbrochen werden und sonst auf High sind. Die Eingänge der seriellen Schnittstelle erkennen Spannungen unter 1 Volt (-12V bis +1V) als low und solche über 1,25 Volt (+1,25V bis +12V)als high. Dazwischen ist der Zustand unbestimmt (Hysterese). Du hast also bei den Signalpegeln der Lichtschranken eine recht große Bandbreite. Die erste Lichtschranke ist mit dem COM-Eingang CTS verbunden, die zweite mit DSR. Nicht vergessen, auch die Massen der Lichtschranken und des COMs zu verbinden.
Die Zeit wird mit Hilfe des internen Zeitgeberbausteins (PIT) auf ca. 0,0002 Sekunden genau gemessen, allerdings erreichst du diese Genauigkeit nur unter reinem DOS. Du kannst dir ganz einfach eine DOS-Bootdiskette erstellen. Im Windows-Explorer Rechtsklick auf das Diskettenlaufwerk, Formatieren..., Haken bei "MS-DOS Startdiskette erstellen" setzen, starten. Dann von dieser Diskette booten.
Code: | CLS
INPUT "Messstrecke in Meter: ", s 'Laenge der Messstrecke eingeben
OUT 67, 36 'Timer initialisieren
OUT 64, 0
DO
tg& = 0 'Gesamtzeit auf Null setzen
DO
start% = INP(1022) AND 16 'CTS auslesen
LOOP UNTIL start% = 0 'Erste Lichtschranke unterbrochen
talt% = INP(64) 'Timerstand auslesen
DO
tneu% = INP(64) 'Timerstand auslesen
dt% = talt% - tneu% 'Timerdifferenz berechnen
IF dt% < 0 THEN dt% = dt% + 256 'Ueberlauf ausgleichen
tg& = tg& + dt% 'Differenz zur Gesamtzeit addieren
talt% = tneu%
ziel% = INP(1022) AND 32 'DSR auslesen
LOOP UNTIL ziel% = 0 'Zweite Lichtschranke unterbrochen
t = tg& / 4660 'Der Timer laeuft mit 4660 Hz
v = s / t 'Geschwindigkeit berechnen
PRINT "v =";
PRINT USING "###.###"; v;
PRINT " m/s"
LOOP WHILE INKEY$ = "" 'Beenden mit beliebiger Taste |
Ich hoffe, du kannst damit etwas anfangen, Erklärungen findest du vielleicht auch auf meiner Homepage (Link in meiner Signatur).
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Heizi

Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 08.04.2008, 18:16 Titel: |
|
|
Zitat: |
Mein nächstes Problem: Im ELKO wurde mir gesagt, dass ich über eine Serielle Schnittstelle gehen solle. Das hat mein Laptop nicht!!! Geht das auch über USB oder wird das zu komplizert???
|
falls ich mich nicht irre gibts da adapter für pcmia und/oder usb
ist Schleichwerbung verboten????
Naja egal nur mal als Beispiel:
http://www.amazon.de/LOGILINK-USB-Adapter-2-0-Seriell/dp/B000QF2ZNE/ref=pd_bbs_sr_1?ie=UTF8&s=ce-de&qid=1207671180&sr=8-1
Hmm ich kenn mich da hardwaremäßig überhaupt nicht aus aber ist es rein theretisch möglich wenn man da nen Kurzschluss
am seriellen Port baut das Mainboard zu zerstören???
Auf jeden Fall aufpassen
hmm da fällt mir zum Adapter ein, dass du dafür evtl Win XP brauchst
MfG |
|
Nach oben |
|
 |
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 08.04.2008, 20:17 Titel: |
|
|
Also das mit dem Adapter ist zwar eine gute Idee, aber den kannst du nicht direkt ansprechen, weil du dafür den USB-Port ansprechen musst. Fazit: Bringt nichts. Der COM-Port ist darüberhinaus, im gegensatz zu LPT-Port, überlastgesichert, womit man das Mainboard nicht zerstört.
LG
Julian _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 08.04.2008, 21:09 Titel: |
|
|
Was meinst du, was so ein Adapter macht...? Natürlich wird dadurch ein waschechter COM-Port ins System integriert! Einen USB-Kartenleser sprichst du als programmierer ja auch nicht über USB, sondern über das windows-dateisystem an... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 09.04.2008, 09:00 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Was meinst du, was so ein Adapter macht...? Natürlich wird dadurch ein waschechter COM-Port ins System integriert! Einen USB-Kartenleser sprichst du als programmierer ja auch nicht über USB, sondern über das windows-dateisystem an... |
Stimmt schon, aber dawischen sitzen noch zwei USB-Controller (einer im Rechner und einer im Kartenleser), die ebenfalls programmiert sind. Die Ansprache dafür läuft über Windows-Treiber, niemals direkt. Schnittstellenadapter für USB sind also keine Alternative.
Es gibt kleine programmierbare USB-Controller zu kaufen, da kannst auch mal im ElKo fragen. Aber solange man sich nicht mit Programmierung auskennt (nicht mal in QB), ist das wohl eine Nummer zu hoch.
Die normalen seriellen und parallelen Schnittstellen sind da einfacher zu handhaben. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 09.04.2008, 11:56 Titel: |
|
|
Elektronix hat Folgendes geschrieben: | Die Ansprache dafür läuft über Windows-Treiber, niemals direkt. |
Was aber nichts zur sache tut, da trotzdem ein "echter" COM-port zur verfügung steht und der unter windows sowieso schon träge genug ist. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|
|
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.
|
|