Computermaus zum messen verwenden

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Hubsi

Betreff: Computermaus zum messen verwenden

BeitragSo, Jul 02, 2017 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin beisammen.

Ich möchte über ein Blitz-Programm einen Motor ansteuern (12 Volt Gleichspannung, links/rechtsdrehend). Dieser Motor soll über eine Gewindestange ein Wägelchen bewegen mit einer Genauigkeit von +/- 0,5mm. Das aber nur zum besseren Verständnis, das mechanische ist nicht das Problem. Jetzt hatte Google die glorreiche Idee die Wegmessung mit einer Computermaus vorzunehmen. Wie genau misst MouseZ()? Erste Versuche lassen hoffen das wirklich jeder Raster am Rad gezählt wird (die Schleife läuft mit 100 Hertz)? Damit wäre es natürlich einfach die Umdrehungen der Gewindestange zu zählen und mit einem Faktor auf das Maß umzurechnen. Einwände? Smile

Teil 2 der Geschichte, nachdem die Tests mit dem Mausrad so hervorragend laufen Very Happy Gibt es eine Möglichkeit Spannung am Druckerport, USB, Whatever anzulegen um so einen FET zu schalten damit der Motor links oder rechts dreht? Da ich ein kompletter Hardware-Depp bin noch ein paar Fotos vom Computer auf dem das laufen soll:

https://www.blitzforum.de/upload/file.php?id=13288
https://www.blitzforum.de/upload/file.php?id=13287

Ist dieser serial 1 ein COM-Port? Beim durchwühlen des Forums bin ich mehrmals über diesen COM gestolpert. Lässt sich der auch mit BMax steuern?


Fragen über Fragen Very Happy Danke schonmal fürs lesen meines ganzen gebrabbels Very Happy

Edit: Die Kiste ist staubig/dreckig weil die in der Werkstatt steht. Nicht die beste Umgebung, ich weiß Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Xeres

Moderator

BeitragSo, Jul 02, 2017 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Thunder

Betreff: Re: Computermaus zum messen verwenden

BeitragMo, Jul 03, 2017 9:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hubsi hat Folgendes geschrieben:
Erste Versuche lassen hoffen das wirklich jeder Raster am Rad gezählt wird (die Schleife läuft mit 100 Hertz)? Damit wäre es natürlich einfach die Umdrehungen der Gewindestange zu zählen und mit einem Faktor auf das Maß umzurechnen. Einwände? Smile

Das geht, ich glaube MouseZ() zählt standardmäßig jeden Raster um 3 hinauf oder hinunter. Wobei diese 3 irgendwo in den Windows Einstellungen so drinnen ist, also das kann man ändern. Deswegen würde ich das vorher immer auf der Maschine, wo das Programm dann laufen soll, testen und diesen Faktor ermitteln.

Zitat:

Ist dieser serial 1 ein COM-Port? Beim durchwühlen des Forums bin ich mehrmals über diesen COM gestolpert. Lässt sich der auch mit BMax steuern?

Das ist ein RS232 COM-Port. Wenn du ein entsprechendes Modul findest, kannst du den mit BlitzMax steuern.
Habe noch nichts dergleichen versucht -- kann also sein, dass du da nur UART raus senden kannst.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

CO2

ehemals "SirMO"

Betreff: Re: Computermaus zum messen verwenden

BeitragMo, Jul 03, 2017 12:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Thunder hat Folgendes geschrieben:
Wobei diese 3 irgendwo in den Windows Einstellungen so drinnen ist, also das kann man ändern. Deswegen würde ich das vorher immer auf der Maschine, wo das Programm dann laufen soll, testen und diesen Faktor ermitteln


Könnte diese 3 aus folgender Einstellung resultieren:
user posted image

(Erreichbar unter Systemsteuerung -> Maus -> Karteireiter "Rad")
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Hubsi

BeitragMo, Jul 03, 2017 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank erstmal Very Happy Hab jetzt ein Testprogrämmelchen auf B3D gemacht zum rumprobieren da ich da die Geschichte mit den userlibs noch halbwegs verstehe. Die Suche im Portal nach Beispielcodes liefert jetzt ein Haufen Zeug in dem Daten rumgeschickt werden. Bevor ich mich da in was verrenne, kann ich einzelne Pins einfach nur Spannung an oder aus schalten? Oder geht das grundsätzlich nicht? Smile
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

DAK

BeitragMo, Jul 03, 2017 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, du kannst beim seriellen, sowie beim parallelen Port auf manchen Pins die Spannung ein- und ausschalten. Manche Pins sind reine Input-Pins und manche Pins sind gar nicht konfigurierbar (z.B. Ground und VCC).

Aber warum machst du das Ganze nicht über einen Ardunio (bzw. direkt über einen Atmega)?
Damit lässt sich wesentlich mehr machen und es ist auch nicht wirklich schwerer, nachdem man sich etwas eingelesen hat. Die Hardwarekosten halten sich arg in Grenzen, wenn man das Zeug aus China bestellt (so ein Arduino Nano (mein persönlicher Favorit) findet sich für €2-3 auf Ebay. Lieferzeit ist zwar rund ein Monat, dafür kostet die Lieferung nichts. Und du kannst deinen PC nicht so leicht schrotten. Wenn du den seriellen Port falsch kurzschließt, dann kann das schon mal das Ende deines Mainboards sein.
Gewinner der 6. und der 68. BlitzCodeCompo

count-doku

BeitragMo, Jul 03, 2017 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

wenn du ne DLL und Userlib für B3D brauchst, da : https://www.blitzforum.de/upload/file.php?id=13290

Die kann sowohl einzelne Pins setzen/lesen als auch den UART verwenden.
Code: [AUSKLAPPEN]
.lib "Port.dll"
OpenCom%(Com$):"OPENCOM"
CloseCom%():"CLOSECOM"
SendByteCom%(Byte%):"SENDBYTE"
ReadByteCom%():"READBYTE"

DTR%(Val%):"DTR"
RTS%(Val%):"RTS"
TXD%(Val%):"TXD"

CTS%():"CTS"
DSR%():"DSR"
RI%():"RI"
DCD%():"DCD"

DelayCom%(Milli%):"DELAY"
DelayUSCom%(Milli%):"DELAYUS"
TimeenitCom%():"TIMEINIT"
TimeInitUSom%():"TIMEINITUS"
TimeReadCom%():"TIMEREAD"
TimeReadUSCOM%():"TIMEREADUS"
RealtimeCom%(Bool%):"REALTIME"



Ansonsten für BMax müsste es etwas ähnliches geben, finde es nur gerade nicht.


Zu DAKs Aussage bezüglich PC schrotten muss ich widersprechen, per Definition müssen die COM Ports kurzschlussfest sein. Sofern du nicht super billig Teile hast, die sich daran nicht halten bis du auf der sicheren Seite.


Grundsätzlich ist ein Arduino oder anderer µC vielleicht aber doch die bessere (einfachere Wahl). Ansonsten gibt es auch fertige (Bausätze) als serial/usb Relaiskarten. Damit könnte man sowas auch realisieren.
http://www.decision-computer.d...arter.html
https://www.reichelt.de/?ACTIO...an%20k8055

lg,
Count-Doku

Hubsi

BeitragMo, Jul 03, 2017 23:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen lieben Dank allen Very Happy

Habe gerade die Port.dll auf dem Zielgerät probiert und mit einem Multimeter den COM-Port gemessen. Und siehe da, ich kann zwei Pins schalten Very Happy Bin gerade der glücklichste Mensch weit und breit Mr. Green

Vielen Dank Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

DAK

BeitragDi, Jul 04, 2017 12:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast recht, ein einfacher Kurzschluss sollte einen seriellen Port nicht killen, aber wenn man dann noch Strom von außen dran hängt (so ein serieller Port gibt ja nur rund 45mAh, soweit ich weiß), dann kann man sich das Ding doch abbrennen.
Gewinner der 6. und der 68. BlitzCodeCompo

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group