...vor kurzem bin ich mit dem Bau meines Mini-CNC-Plotters fertig geworden. Hardware und Software stehen soweit. Die Schrittmotoren, die ich aus alten DVD-Laufwerken ausgebaut habe, werden mit Easydrivern über ein Arduino Uno, welches mit Grbl (0.8) läuft, angesteuert.
Mein Ziel ist es nun, den Plotter unabhängig von einem Computer zu betreiben.
Mit einem SD-Karten-Shield habe ich schon erste Versuche gewagt. Im Netz sind zu dieser Thematik zwar diversen Anregungen und Anleitungen, jedoch kam ich noch zu keinem Erfolg.
Bei dieser Anleitung fehlen meiner Meinung nach ein paar Erläuterungen..Oder hat Jemand damit schon Erfahrungen gemacht?
Ist es etwa wichtig ein SD-Karten-Shield von dem gleichen Hersteller (Seeed Studio) zu nutzen?
(Ich habe hier ein SD-Shield für 2-3Euro von Amazon liegen)
Oder hat schon Jemand einen anderen Weg gefunden, einen G-code von einer SD-Karte oder von einem USB-Stick auszuführen?
Die Idee hatte ich auch mal. Ich habe mir (zu anderen Zwecken) eine alternative zu grbl programmiert (Nach einem sketch von Makerblog.at), die man besser umprogrammieren kann und verständlicher ist (H-brücken). Ich hänge den sketch mal an. dann kannst du dir vielleicht etwas zusammenprogrammieren daraus. Genau kann ich nicht helfen aber ich könnte mir vorstellen dass man was draus machen kann.
Danke für die schnelle Rückmeldung!
..den Sketch habe ich mir soeben einmal angeschaut.
Mit H-Brücken möchte ich eigentlich ungern arbeiten. Die habe ich einmal ausprobiert, bevor ich mir die Easydriver zugelegt habe und war ein bisschen unzufrieden mit der Kompatibilität und der starken Wärmeentwicklung.
Falls mir nichts anderes übrig bleiben sollte, werde ich wohl die H-Brücken noch einmal rausholen müssen..
Trotzdem danke für den Gedankenanstoß.
Freut mich. Ich werde bald wenn ich mal endlich einen funktionierenden arduino habe.
auch mal eine Neue version herausbringen.
über Informationen über Fortschritte hinsichtlich deines Projekts freue ich mich
Perfekt.
Andernfalls werde ich versuchen nur eine analoge Ansteuerung mit einem Joystick zu realisieren. Das ist aber auch erstmal ein Nebengedanke..
Mit einem SD-Kartenslot wäre die Geschichte natürlich überragend..
Wer weiß was für Einfälle mir noch entgegenkommen
Dank gewissen programmen ist es möglich Kreise in sehr viele linien umzuwandeln damit gehd es auf jeden fall.
getestet wurde es an meiner fräse auch schon mit 2 achsen. mich würde es übrigens freuen wenn jemand mal meine frage in meinem anderen thread lesen und vllt auch beantworten würde.
Danke
mir geht es in erster linie darum zu verstehen wie das geht. außerdem wollte ich eine solide basis für projekte wie zum beispiel so ein sd karten plotter schaffen. an grbl traue ich mich nicht so heran.
eigentlich kenne ich arduino erst seit einem jahr. über kreisinterpolation habe ich auch schon des öfteren nachgedacht.
Ich werde für meine CNC-Fräse ESTlCAM verwenden mit dem man Kreise in Linien umrechnen kann. Da ich mir meinen G-Code selbst berechnen lasse habe ich kein Problem mit den fehlenden G03/2 berechnungen. (Außerdem: Nachrüsten geht dort immer, viel leichter als in GRBL)
Gr
Okey.
Estclam nutze ich auch. Damit erzeuge ich zum Beispiel aus einer Inkscape Zeichnung den G-Code.
Wäre die Übertragung per USB-Stick (überhaupt möglich ?) einfacher oder ist es im Prinzip egal, ob ich das über eine SD-Karte mache oder eben über einen Stick ?
Ich dachte du hast das shield für die karte.
Also was du brauchst ist:
Einen SD-Leser der die dateien auf der SD karte zeilenweise ausliest. einen Empfänger mit arduino. das musst du dann seriell verbinden. dazu wäre recht praktisch ein lcd kleine idee
Grumm_HD:
Also was du brauchst ist:
Einen SD-Leser der die dateien auf der SD karte zeilenweise ausliest. einen Empfänger mit arduino. das musst du dann seriell verbinden. dazu wäre recht praktisch ein lcd kleine idee
Wäre eine Möglichkeit, wenn ich mir deinen Code ansehe könnte er das auch dort direkt einbauen.
Dort wo von der Seriellen gelesen wird, Zeile 70..88 auf das File der SD karte zugreifen und eine neue Zeile einlesen.
Ist zu machen denke ich.
Mein Code zur Steuerung hat derzeit über 1800 Zeilen, die Bascis stehen.
Ein Drehgeber und LCD incl Menüführung funktioniert auch schon.
Fertig ist er noch lange nicht, dein Code hat gerade mal 350 Zeilen und funktioniert auch.
Klar, dein Konzept ist vollkommen anders als meines.
@Grumm_HD: Danke für den Vorschlag. Die Anleitung, die ich mir angesehen hatte (Shapeoko CNC Router, Rigid, Accurate, Reliable, and Affordable) bietet eine SD-Library. Mir ging es da nur darum, ob man genau das gleiche SD-Shield (eins von Seeed Studio) braucht und ob man den Gcode auf der SD irgendwie speziell benennen muss.
Meine bisherigen Arduino-Kenntnisse reichen da glaube noch nicht aus, um die Library so zu erweitern, dass das ganze mit einem LCD läuft..
@rudirabbit: Super, danke für den Tipp! Könntest du mir deinen Code zu Verfügung stellen(Arbeitest du mit H-Brücken oder Easydrivern?)? Gerade fehlt mir etwas die Zeit, um einen vollständig eigenen Code zu entwickeln..
@rudi Ich ging/gehe immer noch davon aus dass reuter328 grbl benutzen will. aber deine Idee ging genau in die Richtung die ich damit sozusagen mit dem Code vorhabe.
@reuter328 #Wikipedia
Hardwareseitig erfolgt der Zugriff über ein eigenes Protokoll namens „SD Bus“. Alternativ kann das SPI genutzt werden, wobei SD-Karten aber keine neueren Funktionen und garantierte Geschwindigkeiten unterstützen
Wikipedia#
meiner Ansicht nach śteuert man die Karte direkt vom Arduino an. deshalb sollten bloß die Pins die richtigen belegungen haben.
Ich sehe auf den SD shields keine ansteuerungen die extern sind deshalb sollte auch jedes shield funktionieren
Aber ich finde die Idee von Rudi ganz gut den SD leser in einen Arduino zu stecken anstatt in zwei.
hier steht dass die SD library (von Arduino) die Daten zeilenweise auslesen kann:
Wenn ich meine CNC Fräse fertig habe, werde ich das auch mal implementieren
außerdem wäre glaube ich meine CNC- Software relativ leicht in eine Easydriver kompatible version umzuwandeln. indem man anstatt der Stepper lib einfach immer die richtungs und schrittpins benutzt.
Ganz einfach mit digitalWrite(usw...
hoffe der text war verständlich Grumm
@Grumm_HD: Wie Serenifly schon sagte, der Zugriff auf die SD Karte ist dank der Lib relativ einfach.
Steht bei mir auf der Todo Liste.
Mein Projekt ist keine Fräse, sondern ein CO2 Lasercutter,engraver.
Derzeit versteht meine Firmware nur G-Code.
Zum Gravieren soll noch die Verabeitung von Pixelgrafiken hinzukommen.
OT:
Bin aber gerade etwas beim mechanischen Aufbau beschäftigt.
Denn ohne Gehäuse werfe ich den CO2 nicht an.
Das ganze baut auch realtiv groß, ca. 1300mm x 900mm.
Ein optisch ansprechendes Gehäuse zu bauen, das man aufklappen kann ist nicht so einfach wie es anfangs ausgesehen hat.
Vor allem der Preisfaktor spielt eine nicht unerhebliche Rolle.
Von Kunststoffsandwichplatten mit Aluprofilrahmen habe ich mich deswegen gleich verabschiedet.
Mein Ansatz zur Steuerung ist so wie du beschreibst, verwende keine Stepper Lib.
Generiere die Pulse und Dir Signale im Prinzip mit Digitalwrite.
Habe zwar meine eigenen Funktionen um auf die Portpins des Due zu greifen, das Prinzip ist aber ähnlich.
Ich arbeite mit DC Servomotoren die über UHU Treiberkarten gesteuert werden.
Für den Arduino sind es dadurch Schrittmotoren.
Man könnte zwar die Servos auch direkt steuern, dann sind wir bei der PID Regelung
Die UHU Steuerung ist so ausgereift, und gibt es schon lange. Mein Ansatz kann da nur schlechter sein.
Insgesamt macht mir das Projekt einen riesen Spaß,würde nicht im Traum dran denken fertige Software zu nehmen.
Wenn man das selbst baut lernt man soviel dabei,fertige Lösungen können das nicht bieten.
@reuter328: Ich glaube aber, das mein Code dir nicht viel weiterhelfen würde.
Ist realtiv umpfangreich über 5 Files verteilt, und auf den Due zugeschnitten.
Verfolge den Vorschlag von Grumm_HD, auf Easydriver umzubauen. Dort ist eine Hilfe zu dem Thema.