PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Steuerrung via Netbook



Jeti
19.02.2011, 11:38
Hallo erst mal an alle!

Die die mich kennen wissen ja schon das ich als "Elektronisch-Unbedarfter" immer eher auf der Suche nach einer mechanischen Lösung für ein Problem bin :-). Und genau das ist ja das Problem. Da die Projekte immer komplexer werden und immer mehr Dinge "von alleine" funktionieren sollen komme ich immer mehr an die Grenzen meines nicht allzu großen Elektrotechnikhorizontes.

Ich habe die letzten Tage damit verbracht mir mal zu überlegen wie ich dieses Problem am besten gelöst bekomme. Klar, eine möglichkeit währe mich besser in das Thema einzuarbeiten. Allerdings scheint mir der Aufwand bei der Einarbeitung in das Thema extrem zu sein (oder ich blicke einfach nicht durch wie ich am besten anfangen muss). Da ich viele verschiedene Projekte am Laufen habe, und mir jedes mal einen raus brechen muss bis das dann funktioniert habe ich mir überlegt ein paar I/O-Karten zu holen und alle Aufgaben einfach Softwaremäßig am PC abzuwickeln. Nun kosten aber diese Karten eine Menge Geld wie ich feststellen musste und nun ist die Frage welchen Aufwand ich betreiben muss um eine Platine zu entwickeln die (möglichst über den USB):

30 Digitale I/O-Kanäle
10 Analoge Eingänge
5 PWM Ausgänge
und 5 PWM Eingänge

Verarbeiten kann. Also die Platine soll letztendlich kaum Intelligenz besitzen sondern alles an den PC weiter leiten und die Antwort halt wieder ausgeben. Dabei sollen die ganzen Kanäle auch nich viel können müssen. Vielleicht jeder ein Relais oder so anziehen damit man im Falle das größere Dinge geschaltet werden müssen da noch eine kleine Zwischenstufe bauen kann die ja mehr oder weniger Problemlos ist.

Letztendlich möchte ich halt versuchen einmal Aufwand zu betreiben und das dann nachher möglichst universell einsetzen zu können um nicht jedes mal in schweren steuerrungstechnischen Depressionen zu Enden :D.
Nun aber das Problem: Ich glaube es ist einiger maßen rüber gekommen was ich möchte, nun hab ich aber wieder mal, mit meinen begrenzten Kenntnissen, das Problem das ich gar nicht weiß über was ich da eingentlich spreche. Ich kenne den I/O-warrior der die KOmmunikation mit dem USB vereinfachen soll, hab da aber auch noch nich so ganz durchgeblickt.

Die Frage an euch währe nun also eigentlich:
Ist sowas überhaupt möglich? Macht das Sinn? Fehlt noch was? Hat das schon mal jemand gemacht (hab hier im Forum nichts gefunden und auch aus dem Internet bin ich nicht wirklich schlau geworden)? Und natürlich kann das ganze von einem der nicht wirklich tief in der Materie drin steckt überhaupt geschultert werden.

Danke schon mal!

Gruß und ein schönes Wochenende
Norman

021aet04
19.02.2011, 11:49
Ich kenne das ct-Lab. Das sind einzelne Module, die man in ein 19" Gehäuse einbauen kann.
http://thoralt.ehecht.com/wiki/index.php?title=Hauptseite
Es gibt Module für Netzteil, Digitale Ein-bzw Ausgänge, Elektronische Last,...

Einen Überblick über die Module findest du im geposteten Link.

Gesteuert wird das ct-Lab über Labview oder einer eigens dafür geschriebenen Software (du kannst aber eine eigene Software schreiben).

Die eigene Module kann man als Bausätze kaufen.

MfG Hannes

James
23.02.2011, 12:01
Ich denke am einfachsten geht das mit einem Mikrocontroller, den du an die serielle Schnittstelle oder mit entsprechendem Wandler an die USB-Schnittstelle anschließt.

oder du nimmst den IO-Warrior, dann mußt du nix selber programmieren:
http://www.codemercs.com/index.php?id=127&L=1

Bernhard

hardware.bas
23.02.2011, 19:09
Ganz puritär geht das mit der LPT, da kann man maximal 12 PINs
als I/O nutzen. Trotzdem würde ich auch empfehlen, mich in den
Microcontroller reinzuarbeiten, am besten mit einem 40-poligen AVR.
Man kann ja erst anfangen, mit den PORTS zu "spielen", hat dann eben
die gewünschte I/O-Kartefunktion (woruber der AVR natürlich nur
grinst, jedoch erstmal egal) um dann allmählich dem Prozessor immer
mehr Intelligenz zu verpassen. Ich denk, dass kommt von ganz allein.
Meine Meinung als Feinmechanikmuffel, jedoch begeisterter Elektroniker
und Grobmechaniker (Jawoll, Lötkolben und Vorschlaghammer schliessen
sich nicht aus) ist eh diese, was elektronisch lösbar ist, sollte auch
elektronisch gelöst werden (Zuverlässigkeit, Schnelligkeit, Genauigkeit
und vor allem Verschleissfreiheit) und mittels AVRs dann auch noch
die bequeme Freiprogrammierbarkeit. VG Micha

Jakob L.
23.02.2011, 22:11
Eine parallele schnittstelle hat man bei einem Netbook ja nicht. Die USB-Parallel-Adapter sind da auch nicht das Wahre (die taugen eigentlich nur für Drucker). Also muss man über USB gehen. Am einfachsten ist ein USB-Seriell Chip (oder fertiger Adapter) mit einem AVR-Microcontroller. Bei der Anzahl an Ports braucht man aber eher 2 Controller. Die kann man dann einfach über zwei USB-Seriell-Wandler an verschiedene USB-Ports des Computers hängen.

Wass willst du mit den 5 PWM-Eingängen machen? So etwas ist (je nach Frequenz) etwas schwierig, weil man beim Einlesen der Werte die Taktzyklen zählen muss und damit Probleme mit Interrupts (z.B. neue Befehle an der seriellen Schnittstelle) hat. Welche Frequenz haben die PWM-Signale? Reicht es vielleicht aus, einfach das Signal mit einem RC-Glied zu glätten und das resultierende Analogsignal am Kondensator mit dem ADC zu messen?

hardware.bas
24.02.2011, 05:28
Das mit der LPT war nur ein Beispiel, wenn man UNBEDINGT NUR mit
dem PC steuern will, exkl. Treiberstufen. PWM ist eigentlich nur bei
Ausgängen sinnvoll, da PWM eigentlich Anologausgänge "simulieren"
sollen. Als Eingang reichen Analogeingänge. Sollten Frequenzen mit
TTL-Pegel empfangen werden sollen, machen es auch einfache Digital-
eingänge, welche entsprechend programmiert werden können.
Nicht zu vergessen, dass die PORTs beim AVR frei wählbar sind, also
als PWM-Ausgang (ist auch ein Digitalausgang), Digitalausgang,
Digitaleingang und zum Teil als Analogeingang. VG Micha

oberallgeier
24.02.2011, 08:18
... eine Platine ... möglichst über den USB ... 30 Digitale I/O-Kanäle ...So ähnlich (klick) ? (http://www.elektor.de/jahrgang/2007/november/datenakquisition-uber-usb.275160.lynkx)

............http://www.elektor.de/Uploads/Cache/Images/Magazine/100129142442.070148-51_3.resized.150x0.jpg
............ © by elektor

Ansonsten: die CaroloCupper (http://www.carolo-cup.de/index.php?eID=tx_cms_showpic&file=uploads%2Fpics%2FDas_Siegerfahrzeug_-_Team_CDLC_01.jpg&width=500m&height=500&bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B% 22%3E%20%7C%20%3C%2Fa%3E&md5=9976d2da94e27391e41cc95f0416475b) fahren üblicherweise mit Netbooks. 3 Eckdaten : um die 10 000 €, ca. 2000 Arbeitsstunden, meist im Team von 8-10 Leuten. (http://www.carolo-cup.de/uploads/RTEmagicC_1f2013e63a.jpg.jpg)

Jeti
05.03.2011, 19:36
So, sorry erst mal das es so lange gedauert hat bis ich mich wieder melde.

Also was ich eigentlich steuern möchte sind im Regelfall Motoren die z.B. Klappen auf uns zu Fahren (auf und zu wird hierbei durch Endschalter abgefragt), dann die Abfrage von z.B. Potenziometern um positionen abfragen zu können... also eigentlich so Standardzeug. Die PWM´s sind zum Ansteuern von üblichen Modellbauservos gedacht bzw. um auch ESC´s damit
steuern zu können die ja dann doch gewaltige Leistungen regeln könnten.

Die Platine von Elektor finde ich auf den ersten Blick sehr interessant. DIe anderen Links habe ich mir auch schon mal durchgesehen und auch an dieser Stelle ein herzliches Dankeschön für die ganzen Tipps und Hinweise...

was mich ein bisschen wundert ist das es nicht mehr solche Platinen zur Verarbeitung von Signalen gibt. Hat es so große Nachteile Dinge über den PC zu steuern oder worran liegt das?

Viele Grüße
Norman

ElchiMtr
05.03.2011, 22:40
der größte nachteil ander Signalverarbeitung am PC ist, dass der PC nicht Echtzeitfähig ist.

Windows z,B. entscheidet wann was gemacht wird. Das ist halt für die Verarbeitung von zeitkritischen Signalen untragbar. Außerdem macht dein PC noch soviel anderes nebenbei, dass du unmengen an Rechenpower benötigst, damit das auch noch erledigt wird.

oratus sum
06.03.2011, 10:37
der größte nachteil ander Signalverarbeitung am PC ist, dass der PC nicht Echtzeitfähig ist.

Windows z,B. entscheidet wann was gemacht wird. Das ist halt für die Verarbeitung von zeitkritischen Signalen untragbar. Außerdem macht dein PC noch soviel anderes nebenbei, dass du unmengen an Rechenpower benötigst, damit das auch noch erledigt wird.

... und du deswegen ohne Microcontroller nicht weit kommen wirst.

Deine Aufgabenstellung ist allerdings nicht besonders kompliziert. Es gibt ein haufen UART zu USB Wandler. Wenn du kein Bock zum löten hast, hol dir das AVR USB MK II (bzw III gibts glaube ich auch schon). Weiters kannst du das RNMega2560 Modul nehmen. Das Ding hat 100 Pins, mit vielen PWM Kanälen. Außerdem gleich USB on Board, für 60€ bei robotikhardware. Benutze ich schon länger.

Da du bei dem Modul wirklich nichts machen musst, außer Spannung anlegen eignet sich das wohl für deine Aufgaben.

Wenn du große Motoren steuern willst, "groß" relativ gesehen, empfehle ich dir den:
http://www.nodna.com/product_info.php?products_id=1550&XTCsid=db9a53e58a2b636044c7757d81a0aa50

Bzw generell kannst du mal hier schauen:
http://www.nodna.com/index.php?cPath=2_32_275&XTCsid=db9a53e58a2b636044c7757d81a0aa50

Aber wie gesagt, der RNMEGA2560 ist im Prinzip genau das was du suchst. Zum loslegen brauchst du nur noch einen ISP Programmer und eine 5V Spannungsquelle

Das nette daran ist, dass es dafür auch eine Eagle Lib gibt, das heißt du kannst in 5min eine Platine in Eagle erstellen mit einem 5V Spannungsregler und ein Paar Stecker/Buchsen die du herausführen möchtest. Bei PCB Pool z.b. kannst dus dir dann anfertigen lassen.

Also so würde ich vorgehen.

Knipser-14
06.03.2011, 16:35
Was vielleicht auch eine Möglichkeit für dich sein könnte, wären Boards wie Arduino, Netduino oder FEZ Panda.

Meines Wissens wurden die extra dafür entwickelt auch mikrocontrollertechnisch Unbedarften einen schnellen und unkomplizierten Einstieg zu ermöglichen. Bei der Art der Programmierung wurde dabei darauf Wert gelegt, dass man sich nicht mit der internen Struktur des mC auseinandersetzen muss, sondern einfach loslegen kann. Programmiert wird zumindest das Netduino und das FEZ Panda in C++. Diese Boards sind dank einer Art Inlineassembler oder Inline-C sogar Echtzeitfähig wenn du das brauchen solltest.

Ich hatte leider noch nicht die Zeit mich mit diesen Boards näher zu beschäftigen, aber laut Berichten im Internet sollen sie echt gut sein und Spaß machen.