G-code sturen met Arduino UNO
3 berichten
• Pagina 1 van 1
G-code sturen met Arduino UNO
Hallo allemaal,
Ik ben in het bezit van een 3D printer met een Ramps stijl controller (marlin firmware).
Elke keer als ik iets print moet ik mijn computer aansluiten op mijn printer om hem te starten, zelfs als ik vanaf de SD kaart print (Heb geen LCD).
Ik vind het erg onhandig om telkens weer met een 50 meter lange USB kabel, mijn printer in de werkplaats met mijn computer te verbinden.
Nu wil ik dit probleem dus oplossen met een Arduino UNO. Gewoon een systeem met een schakelaar, als ik er op druk dan start de print.
Ik heb al wat testjes gedaan met een serial terminal en ben er achter gekomen dat er totaal maar 3 strings verzonden worden naar mijn printer.
cpp code
De oplossing leek mij simpel, de USB kabel van mijn printer verbinden met I/O pin 1 van mijn Arduino UNO, dan Serial.println("M21"); etc sturen maar dat blijkt dus niet te werken. De tx led op mijn UNO gaat niet eens aan.
Weet iemand wat ik hier fout doe?
Als ik die code met een terminal stuur werkt het gewoon, maar zodra ik het met mijn Arduino UNO stuur gebeurd er niets.
Dit is de code die ik had gebruikt om het te testen:
cpp code
(is het ook mogelijk om de code weer te geven als arduino code op dit forum?)
PS: Dit is mijn eerste post op dit forum.
Ik ben in het bezit van een 3D printer met een Ramps stijl controller (marlin firmware).
Elke keer als ik iets print moet ik mijn computer aansluiten op mijn printer om hem te starten, zelfs als ik vanaf de SD kaart print (Heb geen LCD).
Ik vind het erg onhandig om telkens weer met een 50 meter lange USB kabel, mijn printer in de werkplaats met mijn computer te verbinden.
Nu wil ik dit probleem dus oplossen met een Arduino UNO. Gewoon een systeem met een schakelaar, als ik er op druk dan start de print.
Ik heb al wat testjes gedaan met een serial terminal en ben er achter gekomen dat er totaal maar 3 strings verzonden worden naar mijn printer.
cpp code
"M21" //SD kaart koppelen
"M23 file.gco" //Bestand selecteren
"M24" //Geselecteerde bestand printen
De oplossing leek mij simpel, de USB kabel van mijn printer verbinden met I/O pin 1 van mijn Arduino UNO, dan Serial.println("M21"); etc sturen maar dat blijkt dus niet te werken. De tx led op mijn UNO gaat niet eens aan.
Weet iemand wat ik hier fout doe?
Als ik die code met een terminal stuur werkt het gewoon, maar zodra ik het met mijn Arduino UNO stuur gebeurd er niets.
Dit is de code die ik had gebruikt om het te testen:
cpp code
const int button = 8;
const int led = 13;
int state;
int count;
void setup(){
count = 0;
digitalWrite(13, LOW);
Serial.begin(115200);
}
void loop(){
state=digitalRead(button);
if(state==HIGH){count=count+1;delay(500);}
if(count==1){Serial.write("M21"); //Initialize SD card
digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW);} //blink LED
if(count==2){Serial.write("M23 1.gco"); //Select 1.gco
digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW);
digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW);} //blink LED
if(count==3){Serial.write("M24"); //Start selected file
digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW);
digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW);
digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW);} //blink LED
if(count>3){
digitalWrite(led, HIGH);}
}
(is het ook mogelijk om de code weer te geven als arduino code op dit forum?)
PS: Dit is mijn eerste post op dit forum.
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: G-code sturen met Arduino UNO
USB = geen Serial. Serial wordt over USB verstuurd. Vandaar dat de Marlin print als welke ander USB communicatie bord een speciale interface chip (meestal CH340G of 16U2) hebben. Die maakt de hardware vertaling van USB signalen naar TTL (5V) serieel. Dus als je over de Serial wilt communiceren naar de Marlin zul je de Arduino (Bijv. een Leonardo) als USB master moeten maken. Of aanpassingen moeten maken op de Marlin om direct op de serial te communiceren, buiten de USB om.
Re: G-code sturen met Arduino UNO
ja een goed idee, je kunt die usb omzeilen door de communicatiepinnen aan elkaar te zetten, dus 1 aan 0 en 0 aan 1. Op mijn rover met een shieldje erop zit een schakelaar om of de usb of de shield te gebruiken.
gebruik wel een weerstand ertussen dan kan de stroom nooit uit de hand lopen als er toevallig toch door de usb gekletst word.
gebruik wel een weerstand ertussen dan kan de stroom nooit uit de hand lopen als er toevallig toch door de usb gekletst word.
paul deelen
shooter@home.nl
shooter@home.nl
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 18 gasten