Bresenham Frage

OP #6966079
Hallo, ich hätte eine kleine Frage an euch.
Ich habe mir eine eigene Steuerung gebaut und Programmiere gerade
meinen X-Mega. Linien in alle Richtungen zu Fräsen nach Bresenham
ist kein Problem.

Bei G2 und bei G3 kann ich mit einmal einen 4tel Kreis fräsen,
so wie im Bild, Bresenham wiki berechnet nur einen 8tel Kreis.

Wenn ich von B nach C fräsen muss lasse ich meine berechnung
von A laufen, aber die Stepper werden nicht getaktet, erst wenn
ich meine berechneten Koordinaten berechnet habe das ich an B
ankomme, takten auch die Stepper. Und dann soweit bis ich C erreicht 
habe.

Frage ?
Gibt es auch noch eine andere Möglichkeit Kreissegmente zu Steppen ?


Gruß Schuby
Angehängte Dateien:
Gast #6966122
c-hater schrieb:
> Unendlich viele. Aber keine effizientere als Bresenham.

Kommt drauf an, wie du die Effizienz berechnest. Wenn es auf konstante 
Verfahrgeschwindigkeit ankommt, steht man mit Bresenham alleine 
ausgesprochen schlecht da.
OP #6966135
Lothar M. schrieb:
> Max S. schrieb:
>> aber die Stepper werden nicht getaktet
> Da ist noch ein Fehler in der Software. Und den musst du finden und
> beheben. Die Antwort auf die Frage: "Warum werden die Stepper nicht
> getaktet?" führt dich zum Ziel.
>
>> Programmiere gerade meinen X-Mega.
> Lass doch mal sehen...

Sorry das hast du falsch verstanden.
Ich lasse die Stepper nicht takten.

Bitte bedenke das mein Fräser auf Punkt B steht, es soll von B nach C
gefräst werden.

Nach Bresenham werden immer 1/8 Kreis berechnet, das ist mir klar.
Aber ich muss meine Berechnung von A aus starten, diese berechnungen
werden gelöscht bis meine berechnung B erreicht hat, erst dann fräse
ich und Takte meine Stepper.



Gruß Schuby
Gast #6966241
Ist dir Grbl schon aufgefallen?

Die erzeugen beliebige Kurven. Der eine Teil erstellt kurze Segmente, 
die sich ohne Beschleunigung aneinander hängen lassen. Und der Bresenham 
arbeitet dann die Segmente ab. Ist für Atmega implementiert.
OP #6966516
Ein Kommentar schrieb:
> Ist dir Grbl schon aufgefallen?
>
> Die erzeugen beliebige Kurven. Der eine Teil erstellt kurze Segmente,
> die sich ohne Beschleunigung aneinander hängen lassen. Und der Bresenham
> arbeitet dann die Segmente ab. Ist für Atmega implementiert.

grbl habe ich mir angeschaut, aber da blicke ich nicht ganz durch wie 
die
das machen


gruß schuby
OP #6968064
Hallo, Danke an alle die mir geantwortet haben.
Ich habe es jetzt bissel anders gelöst wie bei Herrn Bresenham.

Über Sin Tan, das alles muss an einer CNC Fräse getestet werden.
Aber vorher habe ich mir ein kleines Tool gebaut um das alles
zu sehen.

gruß Schuby
Angehängte Dateien:
#6968148
Max S. schrieb:
> Ich habe es jetzt bissel anders gelöst wie bei Herrn Bresenham.
>
> Über Sin Tan,...

Zu Zeiten von Herrn Bresenham war der Sinus noch gar nicht erfunden :) 
Der Witz am Bresenham ist, dass er zum einen nur simpelste 
Integerrechnungen braucht und auch direkt immer nur der benachbarte 
Pixel (d.h. ohne Lücken bzw. Wiederholung) bestimmt wird. Wenn man ein 
paar FLOPs mehr als in den 1960ern zur Verfügung hat, ist das natürlich 
egal. Ausserdem kann der Bresenham-Kreis auch nur mit quadratischen 
Pixeln (1:1 Verhältnis) umgehen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.