Hallo zusammen, hab mir heute einen Arduino UNO gekauft und bin doch recht begeistert was der alles kann. Meine Idee war mein selbst gebautes LPT1-Interface zu ersetzen. Bei diesen konnte ich über die out und in Befehle acht Ausgebeports und 5 Eingabeport ansteuern. So zB. bei meiner ersten CNC-Fräse. Einen Schrittmotor anzusteuern ist auch beim UNO kein Problem. Leider sehe ich noch keine möglichkeit externe Daten aus einer Datei (mit den Schrittlängen) in das sketch zu importieren. Gibt es hierfür schon einen Ansazt?
Gundelputz schrieb: > Hallo zusammen, > hab mir heute einen Arduino UNO gekauft und bin doch recht begeistert > was der alles kann. Meine Idee war mein selbst gebautes LPT1-Interface > zu ersetzen. Bei diesen konnte ich über die out und in Befehle acht > Ausgebeports und 5 Eingabeport ansteuern. So zB. bei meiner ersten > CNC-Fräse. > Einen Schrittmotor anzusteuern ist auch beim UNO kein Problem. Leider > sehe ich noch keine möglichkeit externe Daten aus einer Datei (mit den > Schrittlängen) in das sketch zu importieren. > Gibt es hierfür schon einen Ansazt? Nein, SD Karte wurden ja noch gar nicht erfunden. Oder halt....
Ich entnehme deine antwort das ich irgendwie eine SD Karte hier ins spiel bringen sollte. erzähle mehr!
Gundelputz schrieb: > Ich entnehme deine antwort das ich irgendwie eine SD Karte hier ins > spiel bringen sollte. > erzähle mehr! Nein, kombiniere einfach mal deine Anfrage > sehe ich noch keine möglichkeit externe Daten aus einer Datei (mit den > Schrittlängen) in das sketch zu importieren. mit dem Stichwort "SD-Karte". Und erzähle uns was dir dazu einfallen könnte. Vielleicht wird ja sogar eine konkrete Frage daraus. oder aber du googelst gleich "Arduino Uno SD-karte".
Hallo, da Du von LPT-Interface sprichst, hängt das letztlich also an einem Rechner. Die serielle Schnittstelle und ihre Anbindung per USB-Wandler hat der UNO ja von Hause aus, kannst Du also Deine Daten darüber schicken. Gruß aus Berlin Michael
Gundelputz schrieb: > Gibt es hierfür schon einen Ansazt? http://www.contraptor.org/grbl-gcode-interpreter
MaWin schrieb: > http://www.contraptor.org/grbl-gcode-interpreter Das ist nix, weil Zitat aus obigem Link: "but not tested on real CNC-rig. Still waiting for my micRo kit from Lumenlab.com" Ausserdem fehlt wichtige Funktionalität. Dann doch eher: https://github.com/grbl/grbl/wiki
Michael U. schrieb: > da Du von LPT-Interface sprichst, hängt das letztlich also an einem > Rechner. Ja. habe eigentlich nur den LPT galvannisch getrennt und dann an ein Netzteil gehängt Michael U. schrieb: > Die serielle Schnittstelle und ihre Anbindung per USB-Wandler hat der > UNO ja von Hause aus, kannst Du also Deine Daten darüber schicken Ich steuere die Aus- und Eingänge momentan in Lite-C über port_out(888,0) bzw. über port_in an. wen dies für USB auch funktioniert wüsste ich gerne mehr hierzu. Cyblord -. schrieb: > mit dem Stichwort "SD-Karte". ein wenig herrablassend die Antwort aber ich bin da sehr tollerand. Vieleicht kannst du ja nicht in Rätseln sondern in zusammenhängenden Sätzen antworten. MaWin schrieb: > http://www.contraptor.org/grbl-gcode-interpreter leider ist mein Englisch noch schlechter als mein Benehmen Ich fasse mal zusammen: offensichtlich gibt es wohl einen CF-Adapter für den UNO denn ich aber leider beim Conrad nicht finden kann. Mit diesem währe es dann möglich eine Datei auszulesen und diese in den Programmcode einzubinden.
Zum Thema Arduino, Schrittmotor und CNC werfe ich einfach mal zwei Begriffe in den Raum: Shapeopko und GRBL-Shield Mach was draus.
> eine Datei auszulesen und diese in den Programmcode einzubinden Nahezu alle wollen eine andere Lösung: Der PC schickt über USB Kommandos an die Steuerung. Kein großer Unterschied gegenüber der LPT Lösung. Halt nur, dass ein zusätzlicher Mikrocontroller die Motoren gleichmäßiger ansteuern kann. Du kommst näher an die maximale Geschwindigkeit. P.S. Es gibt ein ausgereiftes Projekt, was aber nur auf der Arduino Hardware läuft, nicht die Arduino Entwicklungsumgebung benutzt. http://dank.bengler.no/-/page/show/5470_grbl
Bastler schrieb: > https://github.com/grbl/grbl/wiki Oh, ich hatte nur grbl gesucht, und den Link genommen weil ich dachte der zeigt wie man grbl auf Arduino schiebt. Damit Gundelputz weg kommt von deinem Sackgassen die ihm so einfach erscheinen aber nichts taugen.
habe jetzt bei EBay mehrere CF Module gefunden wo müssen die dann aufgesteckt werden und wie kann mann die dann auslesen?
MaWin schrieb: > weg kommt von deinem Sackgassen ?? klär mich mal auf, welche Sackgassen ich genannt hätte.
Bastler schrieb: > MaWin schrieb: >> weg kommt von deinem Sackgassen > > ?? klär mich mal auf, welche Sackgassen ich genannt hätte. Das du deinen Sketch jedesmal neu übersetzen und übertragen müsstest, wenn sich die Daten ändern. Oder wie sonst hast du dir .... > Leider sehe ich noch keine möglichkeit externe Daten aus einer > Datei (mit den Schrittlängen) in das sketch zu importieren. .... vorgestellt? Entweder die Daten werden zur Compilezeit in das Programm eingebunden (dann braucht es zur Laufzeit keine externe Datei mehr) oder aber das Programm liest zur Laufzeit die Daten aus einer Datei aus. In diesem Fall folgt aber unausweichlich, dass es irgendwo ein Dateisystem geben muss (und damit auch eine physikalische Repräsentierung davon) von dem der Arduino die Datei auslesen könnte. Oder eben Variante 3: Der PC liest die auf seiner Festplatte gespeicherte Datei aus und schickt die darin enthaltenen Daten zb per USB-Serieller Verbindung zum Ardunio, der sie dann ausführt. D.h. der Arduino hat mit der Datei an sich überhaupt nichts mehr zu tun, weder in Form von in den Sketch eingebettete Daten noch in Form eines Dateisystems das in irgendeiner Form auf irgendeinem Medium existiert, muss dafür aber einen Kommunikationskanal anbieten, auf dem er die Daten (=Befehle) entgegen nimmt. Wer dann mit welchen Daten aus welchem Grund ihm die Befehle zusteckt und woher die kommen, interessiert den Arduino nicht mehr die Bohne. Deinen Drucker interessiert ja auch nicht, ob da jetzt ein Word oder ein Excel die auszudruckende Seite zusammen gebaut hat.
:
Bearbeitet durch User
Habe jetzt noch ein paar nachforschungen angestellt und stelle mir das jetzt so vor. Ich fahre jetzt los und hole mir vom pollin eine SC card Adapter. Den verbinde ich wie auch immer (hier werde ich noch eure Hilfe benötigen) mit dem UNO. Dann erstelle ich ein Programm was die Daten aus einer Text- oder anderen Datei ausliest und interpretiert. Zum testen verbinde ich noch ein LCD Display welches mir die ausgelesenen Zeichen wiedergibt. Ich bin mir Sicher das ich euch auch weiterhin um Hilfe bitten werde und Bedanke mich schon mal im Vorraus.
Gundelputz schrieb: > Habe jetzt noch ein paar nachforschungen angestellt und stelle mir das > jetzt so vor. > Ich fahre jetzt los und hole mir vom pollin eine SC card Adapter. Ich hoffe du meinst damit einen Shield, auf dem ein SD Adapter verbaut ist. Mit dem reinen Steckverbinder, in den die Karte eingeschoben wird, hast du nämlich erst mal wieder nichts abgefangen. Wenn schon Arduino (und da spricht nichts dagegen), dann sollte man schon auch den ganzen Weg gehen. Dazu gibt es die Shields. Der Vorteil: Für Dateisysteme auf SD-Karte gibt es im Arduino Bereich fertige Klassen. Die funktionieren aber nur dann, wenn der Karteneinschub genau so angeschlossen ist, wie das in der Programmierung vorgesehen wurde. > Dann erstelle ich ein Programm was die Daten aus einer Text- oder > anderen Datei ausliest und interpretiert. hört sich gut an > Zum testen verbinde ich noch ein LCD Display welches mir die > ausgelesenen Zeichen wiedergibt. Auch das hört sich gut an. Meiner Meinung nach ist das sowieso einer der Hauptfehler, den gerade Neulinge immer wieder machen: keine Möglichkeit vorzusehen, wo der geneigte Programmierer Ausgaben machen kann um zu sehen, ob im Programm alles so läuft wie er sich das vorgestellt hat. Obwohl: beim Arduino bleibt dann immer noch der Weg, derartige Ausgaben per Serieller SChnittstelle auf ein Terminal zu machen.
Gundelputz schrieb: > offensichtlich gibt es wohl einen CF-Adapter für den UNO Wie kommst du da drauf? > ... denn ich aber leider beim Conrad nicht finden kann. Kein Wunder.
Guten Morgen, habe gestern noch beim Pollin folgenden SD-Adapter geholt: http://www.pollin.de/shop/dt/MDQ2OTgxOTk-/Bausaetze_Module/Entwicklerboards/SD_Speicherkartenmodul.html dieser ist lt Beschreibung für Mikrokontoller geeignet siehe: http://www.pollin.de/shop/downloads/D810359B.PDF wie schliesse ich den jetzt an? ausserdem habe ich noch ein LCD Display gekauft. Leider bricht mir beim Anschliessen lt Tutorial die Spannung zusammmen. Werde alse eine externe Spannungsversorgung anschliessen müssen. habe noch ein Netzteil mit passendem Stecker mit 9V. Laut Beschreibung können 7-12V angeschlossen werden. Um eine verpolung zu vermeiden hier noch meine Frage zur belegung der Anschlussbuchse (+/-).
Gundelputz schrieb: > habe gestern noch beim Pollin folgenden SD-Adapter geholt: warum ignorierst du den einzigen Vorteil von arduino: kauf die passenden Shields dazu und nicht irgendwas. Es gibt z.B. jede Menge Shields die eine Anzeige UND einen SD-Adapter drauf haben
Erinnert mich an meinen Sohn. Der hoert auch nie zu und wundert sich dann, wenn es weh tut. Allerdings ist der drei...
Vielleicht habe ich auch nur den Hintergrund der Frage nicht verstanden, darum verzeiht bitte meine Antwort etwas neben dem Thema. Ich habe keine Erfahrung mit Fräse, aber mit 3D-Druck. Da gibt es folgendes System am Laufen: 4 Schrittmotoren: X,Y,Z,E. E ist identisch mit den Achsen, kann für was anderes verwendet werden (Extruder im 3D-Druck, aber man kann auch andere Mechanik dranhängen). G-Codes über die serielle Schnittstelle, damit können alle Bewegungen kontrolliert werden. G-Codes auf SD-Karte: Über ein PC-Programm werden die Bahnen berechnet und abgelegt, der Arduino läßt dann ohne PC alles nach diesen Daten abfahren. LCD-Bedienfeld Arduino Mega 2560 (mit der Anzahl Pins dürfte es am Uno sowieso schwer werden obwohl es auch eine Spar-Variante mit Uno (ohne LCD+SD) gibt. Seit Jahren praxiserprobt. Firmware open-source, da kannst Du also basteln und ändern, wie Du willst Stichworte: Firmware Marlin, Arduino mega 2560, RAMPS shield (<20€ beim Chinese), "reprap LCD", <10€ beim Chinese, reprap.org (zusammenfassende Website, allerdings sehr unübersichtlich) Du brauchst nur noch die erwähnten shields zusammenstecken, Schrittmotoren anschließen (zB die NEMA-Typen mit 2 seperaten Spulen). Temperatursensor mit Festwiderstand brücken, Endschalter sollten auch kein Problem sein und schon kannst Du (zunächst ohne weitere Mechanik) loslegen. Das ist dann ein erster SChritt zum Erfahrungen sammeln. Prinzipiell geht das mit einem beliebigen Terminal-Programm (Hyperterminal, oder dem aus der Arduino-IDE). Was nicht geht, ist Deine Parallel-SChnittstelle. /* Es gibt eine Anzahl uralter Fräs-Steuerungen, die den PC sehr hardwarenah über Parallel-Ports verwenden. Fehlende Echtzeit-Fähigkeiten des PC und neuere Betriebssysteme machen diesen Vorschlag aber extrem schwer und nicht zukunftsfähig, d.h. bei jedem PC-Tausch ist die komplette Software Schrott */
Hallo noch mal da draussen, Mir geht es nicht um die unbedingte Notwendigkeit eine CNC-Fräse oder einen einen 3D Drucker zu bauen(die hab ich schon) vielmehr möchte ich die Möglichkeiten des Arduino's ausreitsen und kennenlernen. selbstverständlich ist es möglich alles zu bestellen was mann braucht nur ist der lerneffekt dann nicht der selbe. Ich möchte nicht nur wissen das es funktioniert sondern auch verstehen wie das alles zusammenhängt. Offtmals entstehen hierbei die besten Ideen. So habe ich bereit die Komponenten zusammmen um das Druckbett meines 3D-Druckers halbautomatisch zu justieren und werde diese Projekt auch als erstes realisieren. Da diese Forum bereits im Namen Mikrokontroller trägt bin ich davon überzeugt des ich hier eher antwortenauf meine auf meine Fragen bekomme wie auf Seiten mit pauschalaussagen und gefählichem halbwissen. Die gängigen tutorials habe ich bereits durch. nixundnul schrieb: > Ich habe keine Erfahrung mit Fräse, aber mit 3D-Druck Eine einfache CNC Fräse ist nicht weiter als ein 3D Drucker ohne Extruder nim zB. den K8200 spiel die richtige FW drauf und wechsle den Extruder gengen den Halter mit Proxon und du hast eine CNC bzw. Leiterplattenfräse. einen schönen Betreig der im ansatz mein bestreben nahekommt ist dieser: https://www.youtube.com/watch?v=s_W0cPu5Gqs aber noch mal zurück zu meiner Frage: wie muss ich den Adapter anschliessen und wie kann ich die Daten auslesen?
Gundelputz schrieb: > nur ist der lerneffekt dann nicht der selbe. Ich möchte nicht nur wissen > das es funktioniert sondern auch verstehen wie das alles zusammenhängt. Dann biste bei Arduino an der falschen Adresse. > aber noch mal zurück zu meiner Frage: wie muss ich den Adapter > anschliessen und wie kann ich die Daten auslesen? Da du ja die Zusammenhänge wissen möchtest, schaust du dir jetzt mal an welche Anschlüsse ein SD Karte hat, welche Funktion die Pins haben, wie man mit der Karte Kommuniziert. Das steht hier: http://cdn.sparkfun.com/datasheets/Components/General/SDSpec.pdf Und dann wird die Antwort auf diese Frage klar. Du musst die Karte dann nur noch gemäß deinem neuen Wissen anschließen und den Arduino so programmieren dass er korrekt mit der Karte redet. Dazu musst du C Programmierung können. Mehr eigentlich nicht.
Ich verstehe nicht, warum der Kartenhalter einen 3,3V Regler hat, aber keinen Levelschifter? Habe ich den übersehen?
chris_ schrieb: > Vielleicht hilft das: > http://garagelab.com/profiles/blogs/tutorial-how-to-use-sd-card-with-arduino Da kann man so richtig schön die Zusammenhänge verstehen....
1 | #include <SdFat.h> |
2 | SdFat sd; |
3 | SdFile myFile; |
4 | |
5 | void setup() { |
6 | Serial.begin(9600); |
7 | |
8 | // Initialize SdFat or print a detailed error message and halt
|
9 | // Use half speed like the native library.
|
10 | // change to SPI_FULL_SPEED for more performance.
|
11 | if (!sd.init(SPI_HALF_SPEED, chipSelect)) sd.initErrorHalt(); |
12 | |
13 | // open the file for write at end like the Native SD library
|
14 | if (!myFile.open("test.txt", O_RDWR | O_CREAT | O_AT_END)) { |
15 | sd.errorHalt("opening test.txt for write failed"); |
16 | }
|
17 | // if the file opened okay, write to it:
|
18 | Serial.print("Writing to test.txt..."); |
19 | myFile.println("testing 1, 2, 3."); |
20 | |
21 | // close the file:
|
22 | myFile.close(); |
23 | Serial.println("done."); |
24 | |
25 | // re-open the file for reading:
|
26 | if (!myFile.open("test.txt", O_READ)) { |
27 | sd.errorHalt("opening test.txt for read failed"); |
28 | }
|
29 | Serial.println("test.txt:"); |
30 | |
31 | // read from the file until there's nothing else in it:
|
32 | int data; |
33 | while ((data = myFile.read()) > 0) Serial.write(data); |
34 | // close the file:
|
35 | myFile.close(); |
>Ich verstehe nicht, warum der Kartenhalter einen 3,3V Regler hat, aber >keinen Levelschifter? >Habe ich den übersehen? Oha, da erwähnst Du einen wahren Punkt. Vielleicht setzt Pollin darauf, dass die SD-Kartenpins 5V tolerant ...
Suchst Du vielleicht doch eher sowas? http://reprap.org/wiki/Megatronics_2.0 Es zwingt Dich ja niemand, auch die Software dafür zu benutzen.
chris_ schrieb: > Vielleicht hilft das: > http://garagelab.com/profiles/blogs/tutorial-how-to-use-sd-card-with-arduino genau das habe ich gesucht. DANKE Rudolph schrieb: > Suchst Du vielleicht doch eher sowas? > http://reprap.org/wiki/Megatronics_2.0 nein. genau davon wollte ich weg Mir steht ein schier unerschöpflicher reichtum an elktronischen und mechanischen Komponenten aus Drucker und PC zur verfügung. Je mehr ich mich in die Materie einlese um so mehr anwendungen fallen mir ein. Und das nach gerade mal 24h. dank an euch alle für die Hilfe.
habe gerade noch was hilfreiches gefunden: http://www.reseau.org/arduinorc/index.php?n=Projects.SDCard
chris_ schrieb: > Vielleicht setzt Pollin darauf, > dass die SD-Kartenpins 5V tolerant ... Rauch wird austreten..... Gundelputz schrieb: > habe gerade noch was hilfreiches gefunden: > http://www.reseau.org/arduinorc/index.php?n=Projects.SDCard Wenigstens ein Levelshifter. (ob der taugt?) Und CS auf GND? Ob das sinnvoll ist? > connect the CS input to the hardware SS pin > of the Arduino instead: pin 10 (on most Arduino boards) > or pin 53 (on the Mega). Oder auf Pin 4 das ist üblicher. Wobei dann aber SS ebenfalls auf Output gesetzt werden sollte. Auch hier den Levelshifter nicht vergessen.
wenn ich das richtig verstehe ist der 6Pinblock mit der Beschriftung ICSP lediglich die durchgeschleifften D12, D13, D11, +5V, GND und Reset. Demzufolge auch so ansprechbar und nicht noch mal zu verwenden(doppelbelegung)?
chris_ schrieb: >>Ich verstehe nicht, warum der Kartenhalter einen 3,3V Regler hat, aber >>keinen Levelschifter? >>Habe ich den übersehen? > > Oha, da erwähnst Du einen wahren Punkt. Vielleicht setzt Pollin darauf, > dass die SD-Kartenpins 5V tolerant ... oder noch einfacher: man verwendet den shield auf einem 3,3V arduino
da ich die SdFat.h nirgends finden bzw. herrunterladen konnte habe ich es mal mit der libraries\SD\examples\Files probiert und siehe da es funktioniert. Die Anschlüsse werden hier wie folgt vorgegeben: * SD card attached to SPI bus as follows: ** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 tausche ich die Anschlüsse mit den ICSP Anschlüssen so wird mir ein Fehler angezeigt. Wo liegt hier mein Fehler???
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.