Hallo, Welche ICs kann mann benutzen, um auf den USB-Port zuzugreifen ? 1. Also Ich habe bereits einiges darüber gelesen, werde aber nicht ganz schlau daraus. Auf meinem bereits existierenden USB-Bausatz ist ein PIC 16C745 /sp, der wohl als USB-Gerät angesteuert wird. Hier möchte ich abere einen Flash-IC einsetzen. Wonach muss ich suchen ? 2. Dann würde ich gerne 20 analoge Eingänge überwachen. Dazu muss ich sicherlich weitere ICs auf das Bord löten. Wie muss ich das Aufbauen, um z.B. die Eingänge von IC 2 oder von IC 3 zu ermitteln (OK, den USB-Treiber werde ich wohl schreiben müssen und natürlich müssen die ICs auch programmiert werden.) Ich habe soetwas jedoch noch nicht gemacht und bin über Hilfe echt dankbar. Ich habe etwas über I2C gelesen. Kann ich über diesen Bus den Datenaustausch realisieren ? PS : Vielleicht sind hier ja bereits USB-Fahige ICs drauf ? http://www.sprut.de/electronic/pic/typen.htm
1. MassstorageDevice 2. ADC mit der Entsprechenden Eingangsanzahl nehmen oder mehrere. Je nach gewünschter Samplefrequenz wirst du unterschiedliche Ansteuerformen finden (I2C,SPI,parallel,Differentiell) Die kommunikation ließe sich als USB Device machen. Dazu solltest du aber ein USB Buch gelesen haben, um die USB Klassen zu verstehen. Dann brauchst du auf der Windows/Linux Seite keinen Treiber mehr schreiben,sondern musst nur noch die Klasse auf Mikrocontrollerseite implementieren. Die einfachste Form wäre ein virtueller COMPort mit dem FT232 Du schließt nur noch den Mikrocontroller mit der seriellen Schnittstelle an den Chip an und mußt nichts von USB verstehen. Allerdings natürlich die serielle Schnittstelle.
http://www.obdev.at/products/avrusb/index.html Da wärst du schon bei 17 Eingängen: http://www.obdev.at/products/avrusb/hidkeys.html
OK, Wenn ich das richtig verstanden habe, dann benötige ich einen FT232. Den hänge ich an den USB drann und mein 16F876 dann an den FT232. Windows :-) initialisiert den File_Device_Seriel_Port für USB und dann könnte ich über z.B. VB.Net mit den Klassen für Serielle Ports das Ding auslesen, oder?
"Da wärst du schon bei 17 Eingängen: http://www.obdev.at/products/avrusb/hidkeys.html" Er meinte aber 20 ANALOGE Eingänge :)
Hmmm, was wenn später noch mehr Eingänge angeschlossen werden sollen, z.B. 40 oder 50 ? Eigentlich sollte das doch alles über die Serielle-Schnittstelle machbar sein, oder?
Noch Etwas! Ich habe vor, mit den analogen Eingängen die Winkel eines Roboterarms aus zu messen. Dazu werden an dem Roboterarm an jeder Achse Potentiometer angeschlossen, die bei 360 Grad voll aufgedreht sind und bei 0 Grad eben aus sind. Dieser Poti soll dann an einen Eingang angeschlossen werden. Der Poti soll die USB-Spannung bekommen. Dementsprechend wollte ich dann ausrechnen wie denn gerade der Arm Steht. Dabei entsteht aber bestimmt eine gewisse ungenauigkeit. Wie kann mann das besser lösen ? Gibt es Bauteile, die das Digital können und am besten die Gradzahl zurückgeben ?
Ja, so etwas heißt Winkelencoder. In ganz edel gibt es sowas von der Firma Heidenhain (http://www.heidenhain.de/), sowas lässt sich aber auch mit mehreren Reflexlichtschranken und einer mit Gray-Code bedruckten Schreibe selbst realisieren. Wenn keine Absolutpositionsbestimmung erforderlich ist, sondern eine inkrementelle Positionierung ausreicht, dann kann auch die Elektronik aus einer (Kugel-) Maus verwendet werden; der Roboterarm muss dann halt eine Referenzposition anfahren, in der beispielsweise ein Nulltaster sitzt. Ab da kann fleißig gezählt werden ... nur keine Zählimpulse auslassen.
Es geht auch mit Potis durchaus genau. Ich hab in der Firma auch noch einen Roboterarm der so vor 20Jahren entwickelt wurde und zur positionierung 10Gang Potis verwendet. Der hat eine Wiederholgenaugikeit von 1/10mm auf einer Strecke von 500mm. Die Potiloesung ist am einfachsten und billigsten. Allerdings verschleissen die Potis bei haeufiger Verwendung. Dann bekommt dein Roboter den tatterig. :-) Alle anderen Loesungen gehen richtig ins Geld! So eine Einheit aus Motor, Getriebe und Winkelencoder kostet schnell mal 200Euro und mehr. Olaf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.