Welcome! Log In Create A New Profile

Advanced

FiveD_GCode Problem ?

Posted by Stoffel15 
FiveD_GCode Problem ?
December 03, 2009 05:16AM
Hallo,

Ich hab mich auch mal drangesetzt und mir einen Repstrap gebaut...
aus Holz mit Schubladenschienen für die Fuehrungen (mueste reichen um die Teile für den Mendel zu Extrudern) und
vorsichtig mit nem Dremel vorher ein paar Holz oder Kunststoffteile zu Fraesen.

Diese Komponenten hab ich verwendet

von MakerBot:
Stepper Motor Driver v2.3
Extruder Controller v1.2
RepRap Motherboard v1.2

Firmware von hier:
[reprap.svn.sourceforge.net]

Also die Elektonik steht, und alle Schrittmotoren laufen..
Ich betreibe den Extruder mit Schrittmotor.

Nun han ich aber ein Problem... Die Firmware scheint Probleme mit dem G-Code zu haben.
Sobald G3 kommt kommt so eine "Huh ? G3..." Meldung von der Maschine, und sie verlaeuft sich (macht wirres Zeug)

Solche Zeilen nimmt sie nicht:
N50 G3 X54.011 Y48.272 I53.996 J50.352
N51 G3 X56.076 Y50.374 I53.996 J50.352

Aber das sind ISO-Gcodes, und laut liste mueste die Firmware das verarbeiten koennen.

Hat da jemand eine Loesung für mich ?

gruss aus Koeln

Wolfgang
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 05:26AM
Hi Wolfgang,

... G3 ist ein Bogen in Gegenuhrzeigersinn - schau mal hier in die Referenz und weiter im ersten Link "Primer" ...

Also stimmt entweder was in der Firmware nicht, oder die Syntax deines DIN-/G-Codes ist anders aufgebaut confused smiley

Viktor
Re: FiveD_GCode Problem ?
December 03, 2009 05:34AM
Hallo VDX,

Ja, die Seite kenne ich. Hilft mir aber nicht wirklich weiter.
Also mein Gcode ist standard ISO-Gcode Den mache ich mit Type3.
Damit laufen Maschinen bei uns in der Firma auch. Der mueste in Ortnung sein.

Mit welcher Firmware wuerde ich die Maschine denn sauber ans laufen kriegen ?
Das sind diese Platinen die mit diesen "Netzwerkkabeln" verbunden werden.

Ich finde da keine passende Firmware fuer. Hast du da vielleicht einen Tip ?

mfg
Wolfgang
Re: FiveD_GCode Problem ?
December 03, 2009 05:43AM
Hi,

Falls es intressiert, hab ich mal ein Bild gemacht :-)

Sieht noch was wuest aus, Aber ich bin ja noch in der Testfase.

mfg
Wolfgang
Attachments:
open | download - DSCF2691.JPG (253.1 KB)
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 06:34AM
Hi Wolfgang,

... ich gehe da einen anderen Weg mit einer CNC-Fräse als Basis und 1/256- bzw. 1/50-Mikroschritt-Motorendstufen und aktuell mit einem ISEL-Controller, später miteinem Arduino-Mega.

Für 3D und den Iselcontroller habe ich ein propriäteres CAD/CAM, aber auch einge Tools für die Konversion oder DIN/ISO/G-Code aus anderen Formaten oder CAD-Programmen.

Erst wenn ich den Arduino am Laufen habe, kann ich dir mehr dazu sagen ...

Viktor
Re: FiveD_GCode Problem ?
December 03, 2009 07:11AM
Hi VDX,
also mit isel-controllern kenne ich mich aus... damit hab ich mich die letzten 10 jahre rumgequählt... damit hab ich somanche maschine in der firma zusammen bauen müssen. chef irgend nen schrott bei ebay gekauft, und ich durfte das ganze dann mit den isel-controllern ans laufen kriegen. bisher hab ich alles ans laufen bekommen. also die isel-controller sind recht einfach zu handhaben. du mußt natürlich die richtige software haben um ncp-dateien für das winpcnc zu machen.
obwohl ich die auch schon auf Parallel umgerüstet hab und dann mit gcode angeseuert.

aber hier stoße ich an grenzen, die ich selber nicht lösen kann... ich hab nicht genug kenntnisse um die firmware zu ändern. mich wundert aber, das der bei so einfachem gcode hängen bleiben soll.

vielleicht hab ich auch einfach nur die falsche firmware erwischt... da brauch ich eben hilfe. die ganzen Platinen hab ich bei Watterott fertig gekauft. das war das einfachste (außerdem vermeide ich so fehler beim löten :-). und billiger wie ein iselcontroller sind sie auch.

mfg
wolfgan
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 07:52AM
Hi Wolfgang,

... ich habe den C-142 (mit E/A-Modul), IsyCAD als CAD/CAM und WinRemote als Ausgabe - da kann ich NCP oder G-Code ausgeben.

Früher schonmal und aktuell gerade wieder baue ich mir ein paralleles Rack auf, um wahlweise, entweder die Isel-Interfacekarte mit Mikroschrittendstufen 'aufzupimpen', oder mit einem kleinen Arduino die Isel-Endstufen (70Volt, 6A, Halbschritt) weiterzuverwenden.

Aktuell habe ich den Arduino Mega da, und noch 2 MySmartControl168 mit dem Atmega168 als 'Mini-Controller' mit nur 20 I/O's, so daß da so langsam ein ganzer Controllerpark entsteht winking smiley

Wenn ich die nächsten Tage mal Zeit habe, wollte ich den Arduino Mega mit den 1/50-Mikroschritt-Endstufen zum Laufen bekommen, dann kann ich auch die Firmware durchtesten ...

Viktor
Re: FiveD_GCode Problem ?
December 03, 2009 08:00AM
Hi,
da muß ich dich leider entäuschen...

unten in der Pins.h steht nämlich:

#elif MOTHERBOARD == 3

#error The Arduino Mega is not yet implemented for the 5D GCode interpreter

#else
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 08:28AM
... mal schaun, beim ReplicatorG habe ich auch statt des Sanguinos den Arduino Mega eingesetzt - du mußt dann bei den Defines und den Pinzuordnungen etwas rumspielen.

Ein Problem könnten eventuell die verwendeten Timer sein ...

Viktor
Re: FiveD_GCode Problem ?
December 03, 2009 08:32AM
ReplikatorG da kann man ja kaum was drann ändern... den hab mal ausprobiert,aber der ist mir zu unflexibel

@VDX: schau mal in deine PM
Re: FiveD_GCode Problem ?
December 03, 2009 10:08AM
Stoffel15 Wrote:
-------------------------------------------------------
> Hi,
> da muß ich dich leider entäuschen...
>
> unten in der Pins.h steht nämlich:
>
> #elif MOTHERBOARD == 3
>
> #error The Arduino Mega is not yet implemented for
> the 5D GCode interpreter

schau mal hier: [github.com]

Edited 1 time(s). Last edit at 12/03/2009 10:09AM by joaz.


-------------
FiveD Firmware fork (supports Arduino Mega): [github.com]
reprapsource.com
Re: FiveD_GCode Problem ?
December 03, 2009 10:16AM
joaz Wrote:
> > the 5D GCode interpreter
>
> schau mal hier:
> [github.com]


Hey... das hatte ich noch nicht gesehen... muß ich direkt mal ausprobieren vielleicht ist die ja ohne fehler ? Danke.

mfg
Wolfgang
Re: FiveD_GCode Problem ?
December 03, 2009 10:35AM
hmm...

da steigt er schon beim Compilieren aus:

C:\DOKUME~1\HP_ADM~1\LOKALE~1\Temp\build33811.tmp\/extruder.h: In member function 'void extruder::valve_set(bool, int)':

C:\DOKUME~1\HP_ADM~1\LOKALE~1\Temp\build33811.tmp\/extruder.h:181: error: 'talker' was not declared in this scope

C:\DOKUME~1\HP_ADM~1\LOKALE~1\Temp\build33811.tmp\/extruder.h:183: error: 'talker' was not declared in this scope

At global scope:
error: 'intercom' does not name a type In function 'void sendPacket(byte, char*)':
At global scope:
In function 'void getPacket(char*, int)':
In function 'void process_string(char*, int)':



und da weis ich leider nichts mit anzufangen ?

mfg
Wolfgang
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 10:38AM
... du kannst dich eventuell durch den G-Code-Parser "process_g_code.pde" durcharbeiten und schauen, was der bei den Kreisbögen macht.

Wenn ich Zeit finde, arbeite ich mich da mal rein ...

Viktor
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 10:47AM
Hi Wolfgang,

... hab's grad mal schnell ausprobiert - unter Arduino0017 hat's ohne Fehler kompiliert ... eventuell mußt du alte Parameter von vorherigen Installationen o.ä. in den Installationsordnern (je nach System in den unterschiedlich lokalisierten user-areas) löschen ...
Re: FiveD_GCode Problem ?
December 03, 2009 11:00AM
hi,
dann muß ich den Arduino0017 mal eben neu installieren.. wär nicht das erste mal.


> ... du kannst dich eventuell durch den G-Code-Parser "process_g_code.pde" durcharbeiten

ich gröhl mich weg... das sind für mich "Bömische Dörfer" ich kann die Parameter der Motoren anpassen und die Pins... das wars auch schon. Sonst bräuchte ich ja keine hilfe.

Wolfgang
Re: FiveD_GCode Problem ?
December 03, 2009 11:14AM
hi,
Arduino0017 mal eben neu installieren... hätt ich mir sparen können !
stelle den in den Parametern mal um:

#define MOTHERBOARD 2

das läuft nämlich NUR mit
// Arduino Mega: 3

sobalt man das umstellt kommen die Fehler.
ohne umstellung läuft das fehlerfrei durch.

Satz mit X...

Wolfgang
Re: FiveD_GCode Problem ?
December 03, 2009 11:28AM
Ich könnte heulen... :-(

Hello!

Yes - G3 is not implemented in the 5D GCode Interpreter. The reason is that all RepRap control
is generated from STL files. These are made up of triangles, so the only thing that ever gets sent is straight lines.

How are your G Codes generated? The RepRap Java software only generates codes that the machine can interpret.

Yours

Adrian
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 01:58PM
... OK, dann ist das schonmal klar eye rolling smiley

Also entweder von deinem CAD aus alle Kurven als Streckensegmente ausgeben lassen, warten, bis jemand einen G3-Parser implementiert, oder selber schreiben ...

Das mit dem Arduino Mega/Diecimilia dürfte vor allem das Problem der Pin-Zuordnungen sein, da der Diecimilia zu wenige hat - soviel ich weiß, kannst du die Auswahl 'austricksen' indem du in den Defines zwar den Arduino Mega nennst, das Pinlayout aber für den Diecimilia machst ...

Viktor
Re: FiveD_GCode Problem ?
December 03, 2009 03:20PM
VDX Wrote:
-------------------------------------------------------
> ... OK, dann ist das schonmal klar eye rolling smiley
>
jow...wenn auch nicht zu meiner Zufriedenheit

> Also entweder von deinem CAD aus alle Kurven als
> Streckensegmente ausgeben lassen,

DAS wär noch einen Versuch wert...das hab ich noch nicht probiert.

> warten, bis
> jemand einen G3-Parser implementiert, oder selber
> schreiben ...
Kannst du sowas ? Ich nicht...

>
> Das mit dem Arduino Mega/Diecimilia dürfte vor
> allem das Problem der Pin-Zuordnungen sein, da der
> Diecimilia zu wenige hat - soviel ich weiß,
> kannst du die Auswahl 'austricksen' indem du in
> den Defines zwar den Arduino Mega nennst, das
> Pinlayout aber für den Diecimilia machst ...

in dem Motherboard ist ein Sanguino, der wohl kompatibel zu einem ATMEGA644P ist. Das ist doch der Mega ?? oder liege ich da jetzt falsch ?


naja... ich werde noch etwas Probieren...

cu
Wolfgang
Re: FiveD_GCode Problem ?
December 03, 2009 03:31PM
Jo, das Motherboard ist der 644P = Sanguino

Der Arduino Mega hat aber einen atmega1280, das bezieht sich nicht direkt auf den Namen des Chips, denn (at)MEGA heißen die alle...
VDX
Re: FiveD_GCode Problem ?
December 03, 2009 03:47PM
... die wichtigsten Unterschiede sind die Pins, die Timer und der Speicher - der Arduino Mega hat einfach mehr davon cool smiley

Wenn die überzähligen Pins/Timer verwendet werden, mußt du das Programm umschreiben.

Wenn's sonst passen würde, kann man versuchen die Auswahl durch Umschreiben/Kopieren der Defines auszutricksen.

Ein Problem bei den Timern könnte noch sein, daß sie anders initialisiert oder adressiert werden - hab' da noch nicht so ganz den Einblick ...

Viktor
Re: FiveD_GCode Problem ?
December 03, 2009 03:56PM
Ich hab auch noch nen mega hier rumfliegen... aber ich hab ja die fertigen Platinen.

ABER... der Tip mit dem Segmentieren war Gold wert winking smiley
Klappt... ich darfs halt nur nicht vergessen. Prima, jetzt kann ich mein Dremelchen einspannen, und mir die Plastikteile für den Extruder "Fräsen".
Ich hoff nur, das mir die Konstruktion nicht dabei um die Ohren fliegt smiling smiley

naja vielleicht wird ja irgendwann mal ECHTER Gcode in die ganze software eingebaut.

bis dahin...

Wolfgang

Edited 1 time(s). Last edit at 12/03/2009 06:49PM by Stoffel15.
Re: FiveD_GCode Problem ?
December 04, 2009 03:10AM
Hallo,
ich hatte den Adrian noch gefrag ob er geplant habe den G2/G3 code noch in die Firmware einzubauen :

-------------------------

Date: 12/03/2009 04:11PM


I hadn't intended to put G3 into the software for the reasons I mentioned.

But it shouldn't be very difficult to do. See the code in the file process_g_code.pde. That should be the only place you need to make changes.

Yours

Adrian

-------------------

also, falls jemand fit für sowas ist... das wär doch mal eine herrausforderung. Soll ja anscheint nicht so schwer sein.

na dann viel Spass dabei hot smiley

Wolfgang
VDX
Re: FiveD_GCode Problem ?
December 04, 2009 10:15AM
Hi Wolfgang,

... ich hab' ja oben schon geschrieben, daß ich's machen würde, wenn ich die Zeit finde ...

Sehr schwierig ist's nicht ... hab' sowas schonmal vor vielen Jahren für die Iselfräsensteuerung und HPGL-Bogenkommandos auf dem ST gemacht grinning smiley

Du mußt nur aus den G-Code-Parametern den Kreismittelpunkt, die jeweiligen Kreisbogensegmente und die Anfangs- und Startwinkel berechnen und dann in kurzen XY-Liniensegmenten an die Schrittmotoren ausgeben - entweder krame ich den alten Algorhythmus raus oder finde was in den anderen Foren ... sonst muß ich's doch wieder von Anfang an machen.

Wenn du sowas mal selber probieren willst - such mal nach "Bresenham" (gibt's für gerade Linien oder auch für Kreisbögen) und lies dich durch "process_g_code.pde" ...

Aber wie gesagt ... mein größtes Problem ist die Zeit zu finden eye rolling smiley

Ciao, Viktor
Re: FiveD_GCode Problem ?
December 04, 2009 11:34AM
Hi Victor,

ich hab schon mal in die Datei gesehen... aber das ist mir zu hoch, und meine letzten versuche mit Basik waren noch auf dem C64. Das war vor ca 25 Jahren. Ich wüste garnicht wo ich da an ansetzen müßte.
Doch wenn du das hinbekommst, wird dir bestimmt so mancher dankbar sein...auf ewig.

Ich werde mich am Montag nochmal an mein Gerät geben, ich hab gesehen, das Gewindespiel meiner Spindeln macht sich sehr bemerkbar... da muß ich dringend noch muttern zum ausgleichen drann machen. Danach ist der Extruder drann. Solange ich das Segmentieren ja in der Software machen kann, ist das ja nicht so tragisch.

Was mir aber noch ärgerlich aufgefallen ist, ist das man in dem Reprap Host keinen Offset machen kann, das muß alles schon vorher in der Zeichnung sitzen. Nullpukt scheint immer der von der Maschine zu sein. Das ist meiner Meinung nach schlecht gelöst.

Jetzt ist erst mal WE angesagt, und da mach ich nix.

mfg
Wolfgang
Gogo
Re: FiveD_GCode Problem ?
December 10, 2009 05:45AM
@Soffel15

Hallo,
ich habe das Bild von deinem RepStrap gesehen.
Ich finde ihn sehr interessant. Er sieht aus, als ob er nicht alzu schwierig aufzubauen ist und das auch relativ günstig.
Könntest du vielleicht ein paar Detailbilder einsellen?

mfG Gogo
Re: FiveD_GCode Problem ?
December 13, 2009 08:13PM
Hi Gogo,

ja, vom Prinzip her ist das alles sehr simpel... und da ich Schubladenschienen genommen hab, auch recht einfach... aber im Moment sieht sie ziemlich wüst aus, da ich mit dem Extruder zugange bin... genauer gesagt mit dem Heizelement.

Irgendwas stimmt nicht... ich mus den auf 258°C einstellen damit er überhaupt anfängt das ABS zu schmelzen, aber dann ist es noch so teigig, das mein Motor es nicht schafft. Geh ich nur ein grad höher, hab ich rauchwolken... ich glaub ich muß die Spitze nochmal neu wickeln. Wenn ich es dann halbwegs hingekriegt hab, mach ich nochmal ein paar fotos.

mfg
Wolfgang
Re: FiveD_GCode Problem ?
December 14, 2009 05:10AM
Hi...

jetzt hab ich meine Heizung neu gewickelt, aber das Problem bleibt.

ums nochmal kurz zu beschreiben:

Durch ein paar Experimente hab ich festgestellt, das ich bis auf ungefähr 260°C hochheizen muß, damit der Extruder sauber läuft. Ob diese Themperatur da wirklich anliegt wage ich zu bezweifeln ! Jedenfalls hört der Termistor bei 255 Grad auf zu messen. Ich merke aber das trotzdem noch höher geheizt wird. Aber sobald ich über 258°C einstelle geht die Regelung "durch". Das heist, der heizt immer weiter. Irgendwo im Quelltext hab ich nun folgendes gefunden:

#ifdef USE_THERMISTOR
int raw = analogRead(TEMP_PIN);

int celsius = raw;
byte i;

// TODO: This should do a binary chop

for (i=1; i raw)
{
celsius = temptable[i-1][1] +
(raw - temptable[i-1][0]) *
(temptable[1] - temptable[i-1][1]) /
(temptable[0] - temptable[i-1][0]);

break;
}
}

// Overflow: Set to last value in the table
if (i == NUMTEMPS) celsius = temptable[i-1][1];
// Clamp to byte
if (celsius > 255) celsius = 255;
else if (celsius < 0) celsius = 0;

return celsius;
#endif

kann mir jemand sagen welchen Grund das hat ? Denn da steht ja das bei 255 schluss ist. "if (celsius > 255) celsius = 255;" ist das jetzt rein mathematisch begründet, weil 255 der letzte Hex-Wert ist oder hat das etwas mit dem Thermistor zu tun ?

Momentan hab ich die Spitze so aufgebaut, das ich erst etwas Kaptonband um das Messingrohr gewickelt hab (als isolation), dann den Nickel-Chrom-Draht, dann wieder mehrere Lagen von dem Kaptonband und darauf den Termistor. Das ganze dann mit dem Kaptonband nochmal mehrlagig umwickelt.

Hat da jemand einen Rat für mich ?

mfg
Wolfgang
Re: FiveD_GCode Problem ?
December 14, 2009 11:48AM
Es gibt vermutlich einen recht großen Unterschied zwischen dem, was der Temperatursensor misst und dem, was tatsächlich am HeaterBarrel anliegt.

Ist dein Heizdraht isoliert? Wenn ja, dann lass mal die unterste Schicht Klebeband weg, das isoliert nur.

Wenn er nicht isoliert ist, brauchst das natürlich.

Generell sollte man den Temperatursensor immer direkt am Metall des HeaterBarrel anbringen, nicht auf den Heizdrähten. Am Besten ziemlich weit vorne auf die Nozzle drauf...

Außerdem hilft es vielleicht einige Minuten zu warten, nachdem die Temperatur erreicht wurde, damit sich die Hitze im Barrel verteilen kann. Ich warte bei mir immer ca. 10 Minuten lang, bevor ich den Motor zum ersten Mal anwerfe, das ist vielleicht ein bisschen viel, ist dafür aber zuverlässig....
Sorry, you do not have permission to post/reply in this forum.