Forum: Mikrocontroller und Digitale Elektronik USB Schnittstelle


von Dennis B. (zerobergmann)


Lesenswert?

Hallo,
wir sind grade mit einer Gruppe an einem Projekt einer CNC-Fräse. 
Momentan werden unsere Daten in Form von Gerber Files von einer SD Karte 
entnommen. Jetzt möchten wir eine USB Schnittstelle mit einpflegen und 
die Programme direkt vom Laptop aus laufen lassen. Weiterhin aber auch 
die SD Karte nutzen damit die Fräse auch ohne Laptop laufen kann. Wenn 
beides angeschlossen ist soll die USB-Schnittstelle so zusagen der 
Master sein. Hätte dazu jemand einer eine Idee wie das umzusetzen ist 
und was für Hardware man dafür bräuchte?

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Hallo Dennis,
willkommen hier! Ein paar Fragen wären für mich aber noch offen: Wie 
groß sind die Gerber-Dateien im Schnitt? Welche 
Übertragungsgeschwindigkeit wird benötigt? Wie wird die Fräse 
angesteuert?

von Dennis B. (zerobergmann)


Lesenswert?

Die Gerber Files liegen umgefähr bei 100 KB. Die 
Übertragungsgeschwindigkeit muss nicht unbedingt hoch sein. Wir wollen 
immer so viel einlesen wie in den Speicher des Microcontrollers (AT Mega 
128) passen. Der EEPROM liegt dort   ca. bei 4KB.  Gesteuert wird die 
Fräse wie gesagt über den AT Mega 128 der drei Achsplatinen (CNC Router 
Single Axis 3A TB6560) ansteuert.

von Klaus (Gast)


Lesenswert?

Nimm USB HID. Das reicht alle mal. Hier ist auch gleich ein Treiber für 
die PC-Seite:

http://embedded24.net/deutsch.html

Wie verträgt sich USB mit der Sicherheit an der CNC-Fräse? Ich dachte 
die Anschlüsse müssen gegen Abzug gesichert sein?

Gruß Klaus

von Dennis B. (zerobergmann)


Lesenswert?

Vielen Danke erst mal für den Treiber Klaus

Das mit der Sicherheit ist zwar wichtig aber ehrlich gesagt erst mal 
Sekundär für uns, erst mal soll es funktionieren.

Wie bindet man die Schnittstelle auf dem Controller ein oder wird ein 
extra geschriebenes Programm auf dem PC benötigt?

von Klaus (Gast)


Lesenswert?

Ja hast Du schon irgendwas an Hardware oder ist alles noch offen? Ein 
paar Infos wären nicht schlecht.

Zum USB: Du brauchst erstmal einen USB-Controller. Sehr einfach geht das 
z.B. mit einem PIC18F14K50. Microchip hat sehr gute Beispiele zum USB. 
U.a. ein Generic HID Demo, welches Du ohne Änderung direkt nutzen 
könntest.
Das gleiche gilt für die C++/C# oder VB Demos von 
http://www.embedded24.net.

Je nachdem, was Du im Einzelnen vor hast, wirst Du schon etwas 
programmieren müssen. Aber gut an dem Genannten ist, daß es zunächst mal 
alles 'Out of the Box' - also ohne Änderungen - sofort schon mal 
funktioniert.

Da gibt es auch ein günstiges Demo-Board von Microchip. Der 
Compiler/Linker ist eh kostenlos.

Gruß Klaus

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Dennis Bergmann schrieb:
> Die Gerber Files liegen umgefähr bei 100 KB. Die
> Übertragungsgeschwindigkeit muss nicht unbedingt hoch sein. Wir wollen
> immer so viel einlesen wie in den Speicher des Microcontrollers (AT Mega
> 128) passen. Der EEPROM liegt dort   ca. bei 4KB.

Ihr verwendet hoffentlich nicht das EEPROM als Pufferspeicher... :-)

Den Mikrocontroller könnt ihr als HID ansprechen, wie Klaus 
richtigerweise vorschlägt, oder ihr nehmt auf dem PC die usblib und 
verwendet auf dem ATmega128 V-USB von obdev.at. Das geht allerdings nur 
dann gut, wenn ihr während des Einlesens der Daten keine komplexen 
Rechenoperationen durchführen müsst. V-USB ist ja emuliertes USB, da hat 
der Mikrocontroller ein bisschen zu tun. Dafür ist es sehr preisgünstig, 
weil es mit einem Wald-und-Wiesen-Mikrocontroller funktioniert und kaum 
zusätzliche Bauteile benötigt werden. Alternative wäre ein Controller 
mit einer "echten" USB-Schnittstelle. Z.B. der hier:
http://www.ehajo.de/Bausaetze/Atmega8u2-Breakout-Board?source=2&refertype=1&referid=5
Nur als Beispiel, die 8 MB werden euch wahrscheinlich nicht reichen.

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
Noch kein Account? Hier anmelden.