Meine Schrittmotorensteuerung - Probleme

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo
Also Pin 2-9 kann ich ohne weiteres ansteuern, aber Pin 1, 14, 16, 17 kann man doch auch als ausgang benutzen. Wie bekomme ich die geschalten.

Zur überprüfung der signalle habe ich das Prohramm "Parallel Port Monitor" Das Programm hat drei Zeilen:
In der ersten den Port 378 (also LPT1) in der zweiten 379(LPT2) und in der dritten 37A (keine ahnung), wenn ich jetzt denn Pin 2 anteuere sehe ich schön wie die Binar , Hex und die Dec Zahlen unschalten. Wenn ich dann im Parallel Port Monitor" den Pin 14 ankicke schaltet der auch. Nur das die Zahlen sich dieses mal bei der Zeile von 37A ändern.

Gruß
Andyh
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Andyh hat geschrieben:Pin 1, 14, 16, 17 kann man doch auch als ausgang benutzen
Hallo Andyh!

Ohne dass ich das jetzt wüsste oder ausprobiert hätte:

Hast du die Methoden
- setDataStrobe
- setInitOut
- setAutoFeed
- setSelect
schon ausprobiert? Damit kannst du evt. etwas anfangen.

Wenn du wissen willst, welche Attribute ein Objekt hat, dann kannst du dir diese mit dem Befehl dir() ausgeben lassen. Dann weißt du meist was du alles mit einem Objekt wie z.B. dem ``parallel.Parallel`` so machen kannst.

Und wenn du noch mehr wissen willst, dann bringt oft ein Blick in den Quellcode etwas. -- Oft, aber nicht immer!

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Hätte man auch selber drauf kommen können.
Danke Gerold

Und ich habe gleich die nächste Frage:

Kann man zwei Schleifen unabhänging von einander laufen lassen?
Ich brauche eine die das signal ausgibt und eine die den Ververweg in mm anzeigt.

Gruß
Andyh
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Andyh hat geschrieben:Kann man zwei Schleifen unabhänging von einander laufen lassen? Ich brauche eine die das signal ausgibt und eine die den Ververweg in mm anzeigt.
Hallo Andyh!

Das geht schon, ist aber nicht für Anfänger geeignet. :roll: Nämlich mit Threads. Was willst du denn machen? Willst du dir eine CNC-Fräse selber programmieren? Dann hast du noch viel vor dir. Es gibt aber auch fertige Programme mit denen man Fräsen ansteuern kann.

Threading:
http://www.python-forum.de/viewtopic.php?p=32524

Das sind meine Links zum Thema "Fräsen und Plotten":
http://www.tron-cnc.de/
http://www.8linx.com/cnc/
http://www.jensn.de/cnc_portalfraese.html
http://home.arcor.de/thoradam1970/Programme.htm
http://www.mikrocontroller.net/articles ... r%C3%A4sen
http://www.abacom-online.de/html/sprint-layout.html
http://www.strippenstrolch.de/4-0-1-fraesplotter.html
http://www.strippenstrolch.de/4-0-6-x-y-z-maschine.html

Ich möchte mir demnächst auch eine Fräse bauen. Mein Plan ist der, dass ich einen ATmega per USB ansteuere und diesem nur mitteile, wohin der Wagen in welcher Geschwindigkeit fahren soll. Diese einzelnen Schritte schreibe ich in einen Speicher und lasse sie vom ATmega hintereinander selbständig ausführen.
Nullpunkteinrichtung und andere Einstellarbeiten möchte ich auch direkt vom ATmega erledigen lassen. Der ATmega kriegt nur die Koordinaten vom Nullpunkt aus gerechnet. Ich komme nur nie dazu, mir endlich mal einen Plan zu zeichnen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Danke für die Links!

Ja ich möchte meine CNC Fräse ansteuern und ich habe auch schon ein wunderbares Programm.

Nur will ich auch mal so eins machen, eins was in meinen Augen alles kann was man braucht und nicht mehr.

Gruß
Andyh
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

So ich denke es müsste laufen!
Habe es nur noch nicht testen können. Der eingabe Bereich fehlt noch.

So jetzt kommt die frage:
Wie machen ich ein Bildschirmlayout?
Es sollte nur in einem Dosfenster erscheinen.

So solls ungefäh aussehen:

Bild

Ich habe schon gesucht nur nichts gefunden, vieleicht benutzen ich einfach die Falschen begriffe?

Gruß
Andyh
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Willst du eine Textmode-UI haben? Da würde man dann ncurses oder urwid verwenden...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

also ich denke das ich das will (hoffe ich mal), muss halt unter Win gehen.

Kennt da jemand ein gutes tutorial dazu?

Oder kann mir jemand sonst wie helfen?

Gruß
Andyh
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Unter Windows ist sowas nicht üblich, da denken die Leute immer an DOS. Selbst wenn es um die Eingebeaufforderung geht, sagen die Leute immer DOS-Box, was aber eigentlich hinten und vorne nicht stimmt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Ich sage auch immer nur Dos, weill dann jeder gleich weis was gemeint ist.
Ist natürlich nicht mit der guten alten Dos Box zu vergleichen.

Ich glaube es ist mit Tkinter einfacher das zu realisieren, nachdem was ich schon gesehen habe.

Bei fragen melde ich micht wieder :D .

Gruß
Andyh
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Die Grafische Bedienoberfläche habe ich erst mal auf eis gelegt weil es andere Probleme zu Lösen gibt.

Eins ist mir ganz wichtig:
Wie gebe ich ein + in diesem Beispiel ein:

Code: Alles auswählen

def test(a, b):
    if a == "+":
        print "a ist +"
    else:
        print "a ist nicht plus"

input()
b soll ein Int sein.
Mit raw_input kommt zwar kein fehler, aber es passiert einfach nichts.

Ich gebe "test(+,20)" ein.

Wahrscheinlich ist die Lösung wieder so leicht das ich gar nicht draufkommt.

Gruß
Andyh
BlackJack

Das '+' gibst Du als Zeichenkette ein. `a` wird ja auch mit einer Zeichenkette verglichen.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Ich möchte mich mal kurz für eure Bemühungen danken!

Leider konnte ich mein Programm noch nicht in der Praxis testen (tja man sollte eben nicht seinen Versuchaufbau grillen :oops: )

Meine Frage:
Ich möchte zum Konsolenteil noch zwei Fenster öffnen und zwar als separate Programme. Ist ja auch nicht schwer:

Code: Alles auswählen

import os 
os.startfile("datei.exe")
Jetzt möchte ich das das erste Programm die Aktuelle Maschinenposition ausliest, diese sind im Hauptprogramm mit den Variable Xpos, Ypos und Zpos beschrieben.

Wie kann ich die vom zweiten Programm Auslesen?
(bei popen und subprocess habe ich schon geschaut und bin noch nicht schlau geworden)
Und wie zeige ich diese an besten an? (ich dachte an eine label)

Das andere Programm soll im Haupprogramm eine Schleife abbrechen (Notaus-Button)
Wie mache ich das am besten?

Gruß
Andyh
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Andyh hat geschrieben:Aktuelle Maschinenposition ausliest, diese sind im Hauptprogramm mit den Variable Xpos, Ypos und Zpos beschrieben.
[...]
Das andere Programm soll im Haupprogramm eine Schleife abbrechen (Notaus-Button)
Hallo Andyh!

Es gibt mehrere Möglichkeiten. Eine ziemlich unkomplizierte Möglichkeit ist, dass du aus deinem Hauptprogramm einen XMLRPC-Server machst und von den anderen Programmen aus per XMLRPC zugreifst. Das klingt schlimmer als es in Wirklichkeit ist.

http://www.python-forum.de/topic-5478.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Danke, wird morgen gleich ausprobiert.

Wenn jemand noch andere Methoden kennt, nur her damit :D .
Will ja auch was lernen dabei.

Gruß
Andyh
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Ich bin mir nicht ganz sicher ob der XMLRPC-Server das richtige ist.

Denn Server muss ich ja ins hauptprogramm machen.
Damit der austausch klappt muss er ja ständig laufen, also in einem eigenen Thread, richtig?

muss ich den rest vom Programm dann auch umstellen, ist alles ohne Threads, oder kann ich den XMLRPC eifach unten dran hängen.


EDIT: Habe es herausgefunden:
Noch eine Frage:

wie tauscht der Server und der Client die Daten aus? Ich sehen nur Chinesisch.

Ich habe mir jetzt das Umfassende Buch über Python gekauft, geht es da auch im Threading?

Gruß
Andyh
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo Andyh!

Ich verstehe nur Chinesisch :?:

Ein Beispiel für die Kommunikation per XMLRPC hast du ja schon. Probier aus wie es funktioniert. Erweitere es um eine zustätzliche Funktion und lies dir die Hilfe zu den Modulen *SimpleXMLRPCServer* und *xmlrpclib* durch.

- http://docs.python.org/lib/module-Simpl ... erver.html
- http://docs.python.org/lib/module-xmlrpclib.html

Weiters findest du hier im Forum sicher noch Einiges zu XMLRPC und Threading -- inkl. einigen Beispielen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Andyh hat geschrieben:Ich habe mir jetzt das Umfassende Buch über Python gekauft, geht es da auch im Threading?
Was ist denn das "Umfassende Buch ueber Python"? Etwa das dicke, unbrauchbare, was letztens so gehyped wurde?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Ja das "dicke", aber unbraubar würde ich nicht sagen. Mit hat es bis jetzt schon ein paar fragen beantwortet.

Gruß
Andyh
BlackJack

Das Buch wurde hier im Thread Python - Das umfassende Handbuch diskutiert. Ich habe nur den Teil über Objektorientierung gelesen und der war wirklich schlecht, sowohl technisch als auch was Python-Idiome angeht. Das wurde eindeutig von jemandem geschrieben der von Python keine Ahnung hat. Wie gut kann dann der Rest vom Buch sein!?
Antworten