Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Kurz vor meinem 1. Kauf->Beratung erwünscht

geschrieben von Vorteck 
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
11. January 2013 07:40
@Traumflug: Danke für die Erläuterungen.


Willy Wrote:
-------------------------------------------------------
> Weil der viel MHz für wenig Geld bietet smiling smiley

Der hier bietet ausreichend viel MHz für wenig Geld - zumindest für dieses Projekt grinning smiley Man kauft sich ja auch keinen Porsche, wenn man nur in Tempo 30-Zonen fährt winking smiley


> So wie bei den Kacheln? 16 Farben und Rechtecke
> hatten wir schon in den 80ern. spinning smiley sticking its tongue out

Und Du glaubst, dass wäre anders, wenn MS nur einen SW-Entwickler anstatt einer ganzen Horde eingestellt hätte? smoking smiley


> [...] Das ist nicht sonderlich viel und wird - nach meinem Gefühl - [...]

Beim AVR handelt es sich ja um eine RISC-Architektur, dabei werden die meisten Befehle in einem (!) Taktzyklus ausgeführt. Ausserdem lässt sich der Takt je nach Controller auf 20MHz erhöhen - ich finde, das ist für einen so kleinen und einfachen 8-Bitter schon eine ordentliche Leistung.

Grüße,
Oliver

2-mal bearbeitet. Zuletzt am 11.01.13 09:31.
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
11. January 2013 10:02
> Der hier bietet ausreichend viel MHz für wenig Geld - zumindest für dieses Projekt

Stimmt. In der Richtung läuft ja zur Zeit auch die Entwicklung.

> Man kauft sich ja auch keinen Porsche, wenn man nur in Tempo 30-Zonen fährt

Die Amis dürfen i.d.R. nur 88 km/h fahren und kaufen trotzdem relativ viele Porsche winking smiley

> Und Du glaubst, dass wäre anders, wenn MS nur einen SW-Entwickler anstatt einer ganzen Horde eingestellt hätte?

Ja - die (oder der grinning smiley) müsste sich dann nämlich um die wichtigen Dinge kümmern smiling smiley


LG, Willy


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
12. January 2013 08:42
Quote
Willy
Wenn Repetier 2-fach und 4-fach-Schritte macht

Das ist einer der Gründe, warum ich kein Repetier verwende. In der Physik gibt es keine 2-fach-Schritte.

Quote
Willy
dafür verliere ich mit Marlin gelegentlich Schritte.

Das ist einer der Gründe, warum ich kein Marlin verwende.

Hier hast Du schön beschreiben, warum bei mir immer noch die scheinbar veraltete Teacup läuft: sie ist zuverlässig und hält sich an die Regeln der Physik.

Quote
Willy
Die Programmierung ist schon verdammt gut - und teilweise leider in ASM. Du musst Dir mal überlegen, was der Prozessor zwischen 2 Micro-Schritten alles machen muss: Pfadplanung, d.h. Beschleunigungen auf Basis des "jerk" berechnen, PID-Temperaturkontrolle, Advance-Algorithmus (reduziert Strangdicken-Schwankungen beim Beschleunigen und Bremsen), gcode lesen und verstehen, LCD-Ausgabe ...

Die Programmierung ist eben noch nicht gut genug. Ich weiss auch nicht, von welcher Firmware Du redest, selbst die Sprinter hat einen eigenen Interrupt für die einzelnen Schritte, so dass all die globalen Berechnungen (G-code, Temperaturen, etc.) unabhängig davon statt finden. Zwischen zwei Schritten sind "nur" vier Dinge zu tun:

- Schritte mitzählen und mit der Anzahl der zu fahrenden Schritte vergleichen.

- Den Bresenham-Algorithmus bedienen, aus dem sich die Verfahrrichtung ergibt.

- Ggf. die Endstops abfragen.

- Die Beschleunigung berechnen.

Letzteres braucht die meisten CPU-Zyklen, da man hier eine Division durchführen muss. Das könnte aber auch noch ausserhalb des Schritt-Interrupts berechnet werden.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
12. January 2013 11:19
> ... Ich weiss auch nicht, von welcher Firmware Du redest, selbst die
> Sprinter hat einen eigenen Interrupt für die einzelnen Schritte, ...

Meine Sprinter-Version (ca 1 Jahr alt) hat definitiv keinen Interrupt.

Interrupts sind ja - wenn ich das richtig verstanden habe - ohnehin kritisch, da während der Ausführung eines Interrupts alle weiteren ignoriert werden. Insofern darf eine Firmware ja maximal einen Stepper-Interrupt oder mehrere "unkritische" Interrupts (z.B. Temperaturen) haben. Bei Repetier kann ich keinen "Stepper-Interrupt" finden (evtl. nur wegen mangelnder Kommentare) und bei Marlin scheint es zwar einen Stepper-Interrupt zu geben doch zusätzlich funktioniert das Temperatur-oversampling offenbar auch Interrupt-gesteuert - da ist mir unklar, wie Kollisionen vermieden werden.

Je länger ich darüber nachdenke, desto richtiger finde auch ich die "Stepper-Interrupt"-Lösung. Insofern muss ich mich wohl korrigieren und Dir zustimmen, dass die Programmierung noch Verbesserungspotential hat.

Trotzdem kann es vorkommen. dass gcode-Befehle sehr "kurz" werden und im Bereich der Drucker-Auflösung liegen. Dann gibt es keinen Unterschied mehr zwischen "globalen" Berechnungen und den Berechnungen zwischen 2 Schritten. Und genau dafür ist eben ein schnellerer Prozessor wünschenswert. smoking smiley

LG, Willy


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
13. January 2013 08:45
Quote

Meine Sprinter-Version (ca 1 Jahr alt) hat definitiv keinen Interrupt.

Ich finde da ist es Zeit, das mal auf einen aktuellen Stand zu bringen. Über die Geschwindigkeit der Prozessoren zu orakeln und gleichzeitig eine uralte Firmware zu verwenden passt nicht wirklich zusammen.

Quote

Interrupts sind ja - wenn ich das richtig verstanden habe - ohnehin kritisch, da während der Ausführung eines Interrupts alle weiteren ignoriert werden.

Ja und nein. Interrupts haben Prioritäten. Ein unwichtiger Interrupt kann von einem wichtigen unterbrochen werden, aber nicht umgekehrt. Der Schritt-Interrupt hat eine sehr hohe Priorität, da er sehr zeitkritisch ist. Die Heizungen haben eine geringe Priorität, da man da auch ohne Probleme eine Millisekunde waren kann.

Quote

Bei Repetier kann ich keinen "Stepper-Interrupt" finden

Suche mal nach "ISR" in Repetier.pde. Ich finde da vier Interrupts und noch einen in gcode.cpp.

Quote

Trotzdem kann es vorkommen. dass gcode-Befehle sehr "kurz" werden und im Bereich der Drucker-Auflösung liegen.

Dann sind sie eben zu kurz und ein überdenken der Strategie beim erzeugen des G-codes hätte wesentlich mehr Erfolg als ein schnellerer Prozessor.

1-mal bearbeitet. Zuletzt am 13.01.13 08:47.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
13. January 2013 10:27
> ... eine uralte Firmware zu verwenden ...
Mache ich ja nicht. Da ich Sprinter nicht mehr verwende, hab' ich auch kein Update gezogen.

Der aktuelle Stand ist also so, dass viele Firmwaren (Marlin, Repetier, Sprinter, Teacup) die Stepper über Interrupts ansprechen, was wohl auch die Methode der Wahl ist. Dann sehe ich aber kein beliebig hohes Optimierungspotential mehr und ein schnellerer Prozessor ist doch eine ganz gute Idee winking smiley.

> Dann sind sie eben zu kurz und ein überdenken der Strategie
> beim erzeugen des G-codes hätte wesentlich mehr Erfolg als
> ein schnellerer Prozessor.

Wenn eine Kurve - z.B. ein Spline - von einem Slicer sauber in Druckerauflösung aufgelöst wird, dann ergeben sich halt sehr viele kurze Strecken. Wenn diese kurzen Strecken jetzt zu längeren zusammengefasst werden, weil der Prozessor nicht schnell genug ist, dann kann ich darin keine "gute Strategie" oder einen Erfolg sehen.

LG, Willy


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
Re: Kurz vor meinem 1. Kauf->Beratung erwünscht
14. January 2013 09:25
Ich denke, Du solltest einen PC als Controller benutzen. Der ist noch 100 Mal schneller als eine ARM-Elektronik und verzeiht noch viel mehr Unsinn.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen