PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Bauteilliste zum Ansteuern eines 2-poligen Motors



Atvilar
23.08.2011, 15:45
Hallo!

Ich bin ein Totaler Anfänger in sachen Programmierung u. möchte merere normale Motoren (9V) zum vom PC aus (Windows 7) steuern können.
Jetzt stellt sich nur noch die Frage, was ich alles brauche, welche Sprache sich eignet, und vor allem: wie kann ich überhaupt dann programmieren?

Besten Dank im Voraus!

Atvilar

Thegon
23.08.2011, 17:52
Hallo Atvilar,
Wie willst du die Motoren denn steuern? (Nur an/ aus, drehrichtung, Drehgeschwindigkeit)
Es gibt Controllerboards, auf denen sich Motortreiber befinden, z.B. das RN - Control (http://www.rn-wissen.de/index.php/RN-Control).
Damit kann man zwei Motoren in Drehzahl und Drehrichtung steuern.
Die Kommunikation würde dann über RS232 (serielle Schnittstelle) zum Computer erfolgen.
Wäre jetzt eine Möglichkeit, denn mit dem RN-Control kann man ja auch noch andere Sachen machen.

Oder hast du vor, es selber zu Bauen, mit Motorteibern in IC form, die von einem Mikrokontroller informationen erhalten, wie die Motoren Laufen sollen, der diese Informationen wiederum vom PC per RS232 erhält.
Oder hast du etwas ganz anders im Sinn?
Wäre hilfreich, würdest du ein bisschen genauer verraten, was du vor hast bzw. um welche Motoren es sich handelt (wegen Stromaufnahme), sonst tut man sich schwer, Bauteilempfehlungen zu geben ;-)

Mfg Thegon

Atvilar
23.08.2011, 19:15
Hallo Thegon!

ok, das dachte ich mir schon fast...

Ich sehe das eigendlich nur als eine art Vorstufe, um mir das Programmieren anzueignen.
Ich möchte eigendlich nur eine einfache Lösung, die aber in der Lage ist, ohne Sensor die Motoren Möglichst genau unter kontrolle zu haben.
Mein Eigentliches Projekt wird sein, ein Wasserkreislauf mit Pumpen, Ventile uvm. zu Bauen, wobei das ganze dann eben vom Computer aus steuerbar sein sollte.
Also Ich programmiere, Starte das Programm, und er mischt mir die Substanzen ohne mich so zusammen, wie ich will.
Da aber Die Normalen Ventile u. Pumpen nur die Funktion An/Aus (Strom / Kein Strom) haben, bin ich eben mit meinem Latein am Ende, wie ich dass ohne Riesigen, mechanischen Aufwand hinbekomme.

Thegon
23.08.2011, 19:53
Nun, zur mechanischen Realisierung kann ich nicht viel sagen, kenne mich damit auch selbst nicht aus.

Die drehzahl eines Gleichstrommotors wird meist (wie du vermutlich eh weißt) PWM (http://www.rn-wissen.de/index.php/Pwm)geregelt. Mikrokontroller wie der ATmega8 haben integrierte PWM ausgänge, denen man in der Software nur konfigurieren und ihnen das Tastverhältnis übergeben muss (im einfachsten falle natürlich), den Rest erledigt der ATmega. Diese ausgänge haben aber leider nur einen sehr kleinen ausgangsstrom (max. 20 mA), das reicht in der regel für keinen Motor.

Deshalb muss man das Sigal verstärken, entweder per Transistor oder per fertigem Motortreiber. Ich finde die in IC form sehr praktisch, denn man muss die Leitung vom Mikrokontroller einfach mit einem Eingang verbinden, dann noch eine zweite Leitung, die die Drehrichtung angibt und eventuell noch eine Dritte, die eine Integrierte bremse zu aktiviren/deaktivieren. Man kann sich da aber alles mögliche zusammenbasteln, je nach anforderung.
Motoren kann man auch per Relais umpolen, wobei dies im allgemeinen nicht als schöne Lösung angesehen wird.

Hier noch ein Paar Tips für den Einstieg, sofern nötig, natürlich ;-) :
ein gutes Tutorial zum einstieg in die Mikrocontollerwelt:
http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht

Proogrammieren lernen:
Ich könnte dir Basic empfehlen, da meiner meinung eigentich am leichtesten verständlich und man kann schon einiges damit machen.
Ich finds am bequemsten am Computer mit VisualBasic.net von Microsoft, gibts kostenlos auf der Herstellersite. Praktisch, weil man sehr gute Rückmelungen hat, der Computer sagt einem ziemlich genau, wo der Fehler liegt, im Gegensatz zu dem Mikrokontrollern. Auch kommt man bei VB schnell zu ersten Ergebnissen, was motiviert, schnell etwas größeres zu schreiben. Für ein Hello World reichen zum Beispiel schon ein Paar klicks und eine zeile Code.
Auch gibt es eine gute Hilfe auf "gewusst wie" (im Programm, ohne internet)
Wenn man sich dann ein bisschen mit Basic angefreundet hat, dann kann man ja auch mal versuchen, sein erstes Mikrokontrollerprogramm zu schreiben und zu überspielen. Geht meiner meinung nach kein bisschen schwieriger, nur etwas anderes. ;-)

Die Schaltungen baue ich sehr gerne auf Steckbrettern (http://www.pollin.de/shop/dt/NTI4OTg0OTk-/Werkstatt/Werkstattbedarf/Sonstiges/Labor_Steckboard.html) (Breadborards) auf, da man hier sehr flexibel ist und schnell einmal etwas ausprobieren kann. Für den anfang wäre aber auch ein Programmerboard nicht schlecht, da man da weniger Fehlerquellen hat.
Ich habe diesen hier (http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html ) ,

Tja, viel Erfolg beim einstieg ;-)

Mfg Thegon

Atvilar
23.08.2011, 20:07
Das kling mir auf die schnelle relativ kompliziert...
Kann ich nicht einfach direkt am Ausgang vom AT ein Relai als Verstärkung dranhängen, der mir dann die Pumpe ein/ausschaltet?
Da ja eigendlich PMW ja auch nur 1 und 0 ist, müsste sich auch die mit den Relais realisierne lassen.
Dann könnte ich mir vorstellen, dass ich einfach die Pumpe z.b. 10min Laufen Lasse, dann abmesse, wie vile sie gepumpt hat, unt dann /600 rechne, somit einen Wert in ml/sec habe.

Und der At ist ja laut meinen Suchergebnissen nur ein IC. Wie bringe ich den dann an den PC ran?

Thegon
23.08.2011, 20:39
Sicher kannst du eine Pumpe mit Relais ein und ausschalten, dazu braucht man kein PWM. Direkt am Atmega gehen aber auch nur manche Relais, der strom muss eben keiner 20mA sein, sonst ist der ausgang hin.
Ziel der PWM wäre es den Motor nicht nur ein/auszuschalten, sondern auch seine Drehzahl (Drehgeschwindigkeit) regulieren zu können, also die Pumpe nur halb so schnell laufen lassen, natürlich nur, wenn das auch erforderlich ist. Da hat man mit relais aber keine Chance.

Zu den ATmegas: es sind Programmierbare IC´s. Man kann am Computer ein Programm schreiben, zum Beispiel eben in Basic. man könne zum beispiel schreiben, dass man einen ausgang einschaltet und nach einer gewissen zeit wieder ausschaltet. Dann schließt man bestimmte Pins des AVR an den Computer an, und überträgt das geschriebenen programm auf den Atmel, der dies dann sofort ausführt.
Der Atmega kann auch während er läuft daten mit dem Computer tauschen, am einfachsten geht das mit der seriellen Schnittstelle. Der Computer kann dann zum Beispiel Ausgang an oder ähnliches senden, das programm auf dem Atmel überprüft, was gesendet wurde und entscheidet, was zu tun sei.

Das alles mag sich nun kompliziert anhören, und ohne grundlagen ist es das vermutlich auch. Aber wenn man sich ein bisschen mit Basic auskennt und auch sonst mit den Mikrokontrollern sieht man schnell, dass es eigentlich doch relativ einfach ist.

Einstieg ins Programmiern und die Atmels: ich kann nur noch einmal auf meine Tips hinweisen.
Es wird arbeit sein, bis die ersten Mikrokontrollerprogramme erfolgreich ausgeführt werden, aber das bleibt am anfang niemandem erspart.
Falls du nur Ein / aus brauchst und erst einmal keine Mikrokontroller, kann man so was auch mit dem Druckerport direkt vom PC machen, da hat man so um die 10-12 digitale (entweder 0V oder 5V) Ausgänge und auch ein Paar digitale Eingänge. Aber solltest du irgentwann einmal etwas größeres planen, wird man den Mikrokrontrollern nur schwer aus dem Weg gehen können.

Mfg Thegon

Atvilar
23.08.2011, 20:47
Aha. wenn das also direkt vom Computer aus geht, ist das natürlich ideal. Ich meine, zum Anfangen reichts ja...
0 oder 5 V klingt gut, wie schauts mit max. Ampere aus, ohne dass die Schnittstelle hops geht?
Den Druckerport kann ich auch mit basic ansteuern?
Und weisst du eine Seite für Basic-einsteiger?

Thegon
24.08.2011, 08:36
Hallo,
Der Druckerport geht direkt vom PC aus, ja aber bei den maximalen "Ampere" muss ich dich leider enttäuschen, der Druckerport schaft pro pin auch nur 20mA, wobei man da noch vorsichtiger sein sollte, denn ein neuer Atmel kostet villeicht 3-4€, ein Neues Moterboard schon mehr ;-)
Den Druckerport habe ich bereits mit Basic angesteuert, Ich werde mal schauen, ob ich das Programm noch finde.

Ich weiß aber nicht so recht, ob ich dir den Druckerport empfehlen soll.
1. Du musst wahnsinnig vorsichtig sein, einmal ein kleiner Fehler und du wirst nie wieder einen Drucker daran anschließen können.
2. ist die Zahl der Ausgänge beschränkt und sie sind nur digital, das heißt eben nur an / aus.
3. Jeder Computer hat nur einen Druckerport, von diesen Adaptern kann ich dir eher abraten, mit denen kann man nur drucken und sonst nichts.
(Ja, stimmt so natürlich nicht ganz aber ich habs zumindest nicht geschafft, so ein teil anzusteuern, sind was ich weiß auch nicht alle 25 pins belegt)

Aber für den Programmieranfang villeicht schon einfachter als ein Mikrokontroller, ich habe auch zuerst den Druckerport(LPT) angesteuert und dann meinen ersten Mikroktontroller programmiert ;-)

Einstigertutorials gibt es sicher viele, nur mal googlen, ich persönlich mag das im Programm integrierte ganz gerne, da wird wirklich vom Anfang an alles erklärt.
Man findet es im Programm unter "Hilfe" (neben Datei usw.) bei "gewusst wie" mit Blauem symbol, glaub ich.

Mfg Thegon

Atvilar
24.08.2011, 11:04
Wenn es nur 20mA sind, müsste man einfach vor dem Relai ein pnp Transistor hängen, der als "Verstärker Arbeitet, oder? Weiters gibt es ja meines wissens Relais, die auf Impulsen reagieren, d.h. bei einem Impuls schaltet es durch, wei einem Weiteren sperrt es wieder. So müsste der Schaltstrom nicht dauernd aufrecht erhalten weden. Eine weitere Lösung wäre damit, mit diesen Relais nur Einen Impuls gleichzeitig Abzugeben, dadurch würde das Board geschont...
1. Das mit den Kaputtmachen wird kein Problem sein, einer meiner Kollengen hat 40 Jahre Erfahrung mit Elektronik, der kann mir sicher weiterhelfen.
2. Ich will ja nicht 100 Pumpen steuern und da die An/Aus Funktion ja auch zeitlich programmierbar ist, dürfte eben das für den Anfang reichen.
3. Mein Computer mit Windows 7 Ist ein Laptop. Da ich den nicht aufs Spiel setzen will, neme ich einfach einen Alten, der sonnst für nichts gebraucht wird, wenn der hops geht, isses auch nicht so schlimm.

Ich Habe mir mal Basic heruntergesaugt, muss es nur nóch installieren. Dann kann ich mal die Hilfedatai Testen.

Richard
24.08.2011, 12:04
Die hier
Wenn es nur 20mA sind, müsste man einfach vor dem Relai ein pnp Transistor hängen, der als "Verstärker Arbeitet, oder? Weiters gibt es ja meines wissens Relais, die auf Impulsen reagieren, d.h. bei einem Impuls schaltet es durch, wei einem Weiteren sperrt es wieder. So müsste der Schaltstrom nicht dauernd aufrecht erhalten weden. Eine weitere Lösung wäre damit, mit diesen Relais nur Einen Impuls gleichzeitig Abzugeben, dadurch würde das Board geschont...
1. Das mit den Kaputtmachen wird kein Problem sein, einer meiner Kollengen hat 40 Jahre Erfahrung mit Elektronik, der kann mir sicher weiterhelfen.
2. Ich will ja nicht 100 Pumpen steuern und da die An/Aus Funktion ja auch zeitlich programmierbar ist, dürfte eben das für den Anfang reichen.
3. Mein Computer mit Windows 7 Ist ein Laptop. Da ich den nicht aufs Spiel setzen will, neme ich einfach einen Alten, der sonnst für nichts gebraucht wird, wenn der hops geht, isses auch nicht so schlimm.

Ich Habe mir mal Basic heruntergesaugt, muss es nur nóch installieren. Dann kann ich mal die Hilfedatai Testen.

Wenn Du es ohne µ wie AVR diereckt vom PC steuern willst solltest Du Dir einmal http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=197 oder ähnliches anschauen. Damit kannst Du per RS232 = Com Port Motore ansteuern. Zur not auch über ein Terminal Programm. Besser natürlich über C, c++, VB oder .net je nach Deinen Fähigkeiten b.z.w. welche Sprache Du erlernen möchtest. So ein Motortreiber Treiber hat den Vorteil das man ihm per z.B. com Schnittstelle mit einfachen Befehlen "sagen" kann Links, Rechts, schnell, langsam, stopp.....lese Dazu die .pdf Anleitungen am Ende der Seiten durch, da sind die Befehle oft schön erklärt und löten brauchst Du auch nicht. :-)

Mehr Möglichkeiten hat man natürlich mit µC Boards in Verbindung mit dem PC, muss aber auch mehrere Sprachen und etwas Hartware Wissen Lernen.
Zum Anfang ist so ein Treiber wie oben genannt weitaus einfacher. :-) Wenn Du trinkbare Flüssigkeiten mixen willst, mache Dich am besten gleich auch noch über "Schlauchpumpen" http://www.google.com/search?q=schlauchpumpen+bilder&hl=de&client=ubuntu&hs=bXr&channel=fs&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ei=ZtpUTvW2JoXHsgbcxa32Dw&ved=0CEAQsAQ&biw=1680&bih=823 schlau. :-) Z.B. dieser Typ sieht gut aus http://www.eurotronik.de/schlauchpumpe.htm

Gruß Richard

Atvilar
24.08.2011, 12:24
Hallo Richard!

Kostet so´n Ding 60€ oder hab ich mich da jetzt verlesen?
Das Wäre für mich zu viel, da ich schon ca. 5-10 Ausgänge Brauche...
6/2*60=180€ Ohne Pumpen, Hardware, Rohre,...
Weiters Hab ich ja keinen Tau v. irgendeiner Sprache (Ausser v. Mindstorms), deshalb klingt es mir zum Anfang etwas zu kompliziert, mit ICs zu Arbeiten.
Und noch was: Was sind dies Hall-Sensoren, die Auf der Karte ihre Kontakte Haben?
Kann mir dann Basic ein Flussschema anzeigen, z.b. wohin jetzt gerade mein Saft fließt und welche Rohre Trocken sind, wenn ich vorher eine Art "Plan" angegeben habe?
Dachte an etwa so was: http://konstruktion_blockheizkraftwerk.projekt.htl-kapfenberg.ac.at/back7.jpg
z.b. Alle "Rohre", die Inaktiv sind, sind schwarz, alleaktiven Grün? (dass ich den Fluss verfolgen kann)

Richard
24.08.2011, 12:50
Hallo Richard!

Kostet so´n Ding 60€ oder hab ich mich da jetzt verlesen?
Das Wäre für mich zu viel, da ich schon ca. 5-10 Ausgänge Brauche...
6/2*60=180€ Ohne Pumpen, Hardware, Rohre,...
Weiters Hab ich ja keinen Tau v. irgendeiner Sprache (Ausser v. Mindstorms), deshalb klingt es mir zum Anfang etwas zu kompliziert, mit ICs zu Arbeiten.
Und noch was: Was sind dies Hall-Sensoren, die Auf der Karte ihre Kontakte Haben?
Kann mir dann Basic ein Flussschema anzeigen, z.b. wohin jetzt gerade mein Saft fließt und welche Rohre Trocken sind, wenn ich vorher eine Art "Plan" angegeben habe?
Dachte an etwa so was: http://konstruktion_blockheizkraftwerk.projekt.htl-kapfenberg.ac.at/back7.jpg
z.b. Alle "Rohre", die Inaktiv sind, sind schwarz, alleaktiven Grün? (dass ich den Fluss verfolgen kann)

Hmmm habe den falschen Treiber ausgesucht, so Fett muss der für kleine Motore nicht sein, http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=206 reicht wenn der/Die Motore nur ca. 1 A ziehen. Hier ist die Übersicht was es so giebt http://www.shop.robotikhardware.de/shop/catalog/index.php?cPath=65&sort=2a&page=1 Wichtig ist immer die Stromstärke vom Motor darf nicht höher als die des Treibers sein sonst "brennt" der Treiber ab.....

Mit den Basic für PC kenne ich mich (nicht mehr) aus, solche Visualisierungen sollten aber möglich sein. Allerdings gibt es da noch etwas besseres, wo man Instrumente, Rohrleitungen, Ventile u.s.w. "zusammenklicken" kann. ob man damit auch Steuern kann? Außerdem habe ich den Programmnamen vergessen, vielleicht kann jemand hier helfen, das Programm war recht berühmt...

Gruß Richard

Vergessen: Die Hallsensoren sind in den vorgeschlagenen Motoren zum Schritte Zählen, auf den Board sind nur die Anschlüsse dafür .

Sebas
24.08.2011, 13:06
http://www.pollin.de/shop/dt/NzcyOTgyOTk-/Bausaetze_Module/Bausaetze/Bausatz_PC_Relaiskarte_K8IO.html
Wie wärs denn damit? Da haste acht Relais und ein paar Eingänge.
Es ist auch schon eine Software dabei um die Dinger zeitgesteuert zu schalten.
mfg Sebastian

Atvilar
24.08.2011, 13:08
15€ klingt da schon besser...
jetzt wäre nur noch der Programmname gut, und ich könnte schön langsam daran denken, mir die erste Skizze zu Zeichnen...

Sebas
24.08.2011, 13:13
Hier kannst du dir die software runterladen
http://www.pollin.de/shop/ds/NzcyOTgyOTk-.html

Richard
24.08.2011, 13:20
15€ klingt da schon besser...
jetzt wäre nur noch der Programmname gut, und ich könnte schön langsam daran denken, mir die erste Skizze zu Zeichnen...

Ich hatte noch etwas anderes (freies) im Sinn oder ob es Testversionen gibt? LabView sollte so etwas können.

Gruß Richard

Atvilar
24.08.2011, 13:44
@pollin: Ist eine Geniale Karte. Lässt sich die über den Druckerausgang anschließen oder wie?
Lab View Ist mir bekannt (bin Chemiker) lasst mich mal sehen...
Klingt gut, aber das ist eine ander Sprache als Basic, oder?
Eine Freeware scheint aber davon schwierig zu bekommen sein...,oder?

Sebas
24.08.2011, 13:50
ja einfach an den druckerport ist im Grunde einfach ein Schaltverstärker-Array.
Damit ist der drucker port sicher.

Atvilar
24.08.2011, 14:20
Simpel. so gefällt mir das;)
Lässt sich das noch mit einer freeware Version v. Lab View kombinieren, oder Verlange ich da zu Viel??

Richard
24.08.2011, 14:44
@pollin: Ist eine Geniale Karte. Lässt sich die über den Druckerausgang anschließen oder wie?
Lab View Ist mir bekannt (bin Chemiker) lasst mich mal sehen...
Klingt gut, aber das ist eine ander Sprache als Basic, oder?
Eine Freeware scheint aber davon schwierig zu bekommen sein...,oder?

Wie gesagt ich meine eigentlich noch etwas anderes und da ich das schon einmal auf meinem PC hatte war es mit Sicherheit eine freie Software ich vermute stark das ich die aus einer C´t Sonder cd hatte. http://www.heise.de/software/download/o0g1s3l11k257


"Laboratory Virtual Instrumentation Engineering Workbench", grafische Programmiersprache für Mess-, Prüf-, Steuer- und Regelanwendungen; eignet sich vor allem zur Datenerfassung und -verarbeitung; Vollversionen der älteren Version 6.1 für den nicht-kommerziellen Gebrauch sind für Linux und Mac OS bis 9.x auf dem Heise-Server (http://www.heise.de/software/download/labview/43883) erhältlich


Gruß Richard

Sebas
24.08.2011, 14:52
Richard der 2.Link den du gepostet hast geht zu labview, ich glaube ihr redet über das gleiche :-) nur dass du eine ältere kostenlose version verlinkt hast.
@atvilar: http://www.ni.com/labview/whatis/hardware-integration/d/
da steht du kannst notfalls eigene treiber einbauen heisst es sollte mit der karte gehn

Atvilar
24.08.2011, 18:59
Perfekt. ich Informiere mich mal, und melde mich dann wieder!

Danke für alles Leute!