Verliere Schritte auf der X-Achse

Probleme mit dem Druckbild, Betthaftung oder Filament selbst? Hier rein!
Antworten
Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

Verliere Schritte auf der X-Achse

#1

Beitrag von Tom0906 » Do 15. Aug 2019, 21:04

Hallo,

hab heute versucht die letzte Teile meiner RS CNC 32 zu drucken. Vorher hab ich noch das Netzteil gegen ein 30A Netzteil getauscht.

Seit dem verliere ich Schritte auf der X Achse. Mit den TMC2130 sollte das eigentlich nicht mehr passieren oder?
Es kling ab und zu so ähnlich wie wenn der Gurt durchrutscht, ist aber ordentlich gespannt und alle Zähne sind auch
noch dran.

Ich bin ratlos... Wer jetzt mal drüber schlafen....

Hab das Bild angehängt und meine beiden Config's wenn sich das mal wer anschauen könnte. Danke!
IMG_20190815_205400.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Tom0906 am Do 15. Aug 2019, 21:33, insgesamt 1-mal geändert.
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
th33xitus
Admin
Beiträge: 3273
Registriert: Sa 17. Dez 2016, 00:31
Drucker: AM8
Slicer: PrusaSlicer
Firmware: Marlin-bugfix-2.0.x
CAD - Software: Fusion 360
Hat sich bedankt: 133 Mal
Danksagung erhalten: 437 Mal

#2

Beitrag von th33xitus » Do 15. Aug 2019, 21:06

Also entweder ist das deine X- oder Y-Achse. Aber sichter nicht die Z-Achse.

Auch ein zu stark gespannter Riemen (nicht Gurt) kann Probleme machen.
Warum genau sollte das in deinen Augen mit den TMC2130 nun nicht mehr vorkommen können?

Glossar - 3D-Druck-Begriffe


Gebt bei jeglichen Problemen immer euren verwendeten Slicer + dessen Einstellungen, eure genutzte Firmware und etwaige Modifikationen vom Drucker an!

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#3

Beitrag von Tom0906 » Do 15. Aug 2019, 21:33

X natürlich, sorry, korrigiert...

Ich dacht gelesen zu haben dass die TMC Schrittverlusten aktiv gegensteuern bzw. diese sogar verhindern können...
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#4

Beitrag von riff-raff » Do 15. Aug 2019, 21:51

Detektieren können sie diese dank StallGuard, aber auch nur, wenn es in der Firmware implementiert ist. Im Standard-Marlin ist das bisher nicht der Fall. Prusa Research nutzt das Feature recht aktiv, ich denke das wird seinen Weg in Marlin finden.
Kompensieren könnten das Servos oder Closed-Loop-Stepper, welche die induzierten Gegenströme analysieren. Gibt es am Markt, aber für 3D Druck ist das Blödsinn. Hast du Schrittverluste wird entweder dein Treiber zu heiß (mangelnde Kühlung), dein Motor zu warm (zu hoch bestromt, mangelnde Kühlung) oder aber, und am häufigsten, deine Mechanik passt nicht, geht zu stramm oder dergleichen.
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#5

Beitrag von Tom0906 » Fr 16. Aug 2019, 06:57

Hi Riff-Raff,

danke für deine Erklärung und deine Hilfe. Mich lassen solche Fehler nicht in Ruhe. Ich hab gestern das selbe Bauteil nochmals durch Cura gejagt, aber mit Z-Hop 0,2mm. Siehe da, es lief einwandfrei durch über Nacht. Ich habe vermutet dass der X-Motor zu wenig Leistung bekommt und irgendwo am Bauteil hängen bleibt beim drüberfahren... Ich habtte ihn per Software auf 650 eingestellt. Hab das gestern auf 800 erhöht, ohne sichtbaren Erfolg. Am Strom kanns also nicht liegen (meiner schnellen unprofessionellen Fehleranalyse nach). Der Stepper wird ab 700 heiss, gemessen ca. 58°. Bei 600-650 bleibt er handwarm. Die Temperatur der Treiber hab ich nicht gemessen, werde das beim nächsten Druck nachholen. Ich versuche auch beim nächsten Druck mal mit der Hand den X-Motor zu halten, mal schauen wie viel Leistungsreserve da noch ist.

mfg
Tom
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
red-orb
Moderator
Beiträge: 1836
Registriert: Di 27. Jun 2017, 08:06
Wohnort: Steinweiler
Drucker: Anet A2,NoName
Slicer: S3D, Slic3r
CAD - Software: FreCAD, Tinkercad
Hat sich bedankt: 39 Mal
Danksagung erhalten: 186 Mal

#6

Beitrag von red-orb » Fr 16. Aug 2019, 07:35

Wie kühlst Du die Treiber?
Die TMC brauchen je nachdem wie das Board verbaut ist eine gute aktive Kühlung.
Gruß Kai

"Do what I do. Hold tight and pretend it’s a plan!"

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#7

Beitrag von riff-raff » Fr 16. Aug 2019, 08:49

Die TMC5160 bilden da die einzige Ausnahme die weder Kühlkörper noch aktive Kühlung brauchen. Alle anderen sollten unbedingt einen Kühlkörper bekommen und möglichst auch aktiv gekühlt werden. Am SKR1.3 bietet sich dazu vielleicht dieser Stepper driver cooler an.
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#8

Beitrag von Tom0906 » Fr 16. Aug 2019, 09:01

OK, ich hab keine aktive Kühlung dran, werde mir heute den Kanal ausdrucken und in montieren, muss bei der Gelegenheit gleich den Kabelsaustall aufräumen. Hab nur vom Anet auf das SKR umgesteckt ohne die Kabelschläuche neu zu organisieren. Kannst dir vorstellen wie das ausschaut... Grauslig einfach. Die TMC Kühlung würdest du dann auf Dauerplus schalten oder? Gäbe auch noch die Möglichkeit das mit dem Hotendlüfter zu koppeln, der schaltet sich bei mir ab 50° Hotend Temperatur ein. Müsste auch ausreichen und der würde nicht die ganze Zeit laufen... Derzeit betreibe ich die TMC2130 mit grossen blauen Alukühlern, passiv.
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#9

Beitrag von riff-raff » Fr 16. Aug 2019, 09:05

Du kannst einfach auch einen PC Gehäuselüfter davorhängen, das geht genauso. Ich würde den dauerhaft auf die Spannung legen, es sei denn du hast den Drucker im Wohn- oder Schlafzimmer stehen.
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Benutzeravatar
th33xitus
Admin
Beiträge: 3273
Registriert: Sa 17. Dez 2016, 00:31
Drucker: AM8
Slicer: PrusaSlicer
Firmware: Marlin-bugfix-2.0.x
CAD - Software: Fusion 360
Hat sich bedankt: 133 Mal
Danksagung erhalten: 437 Mal

#10

Beitrag von th33xitus » Fr 16. Aug 2019, 16:46

58°C ist noch keine bedenkliche Temperatur beim Schrittmotor.
Nur über 80°C sollte es nicht unbedingt gehen.

Das ist irgendwie auch so ein Phänomen der TMC2130 scheinbar.
@lixxbox hat seinen Extruder-Treiber seit kurzem von einem TMC2130 auf einen LV8729 getauscht und er sagt der Schrittmotor bleibt kalt. Mit TMC2130 wurde bei ihm der Motor auch immer sehr warm. Aber dies nur als Notiz am Rande.

Glossar - 3D-Druck-Begriffe


Gebt bei jeglichen Problemen immer euren verwendeten Slicer + dessen Einstellungen, eure genutzte Firmware und etwaige Modifikationen vom Drucker an!

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#11

Beitrag von Tom0906 » Fr 16. Aug 2019, 19:40

TMC's haben bei mir derzeit eine Temperatur von 66° am Kühler gemessen... Mein Drucker produziert eben das Gebläse Gehäuse... Hab die Druckgeschwindigkeit von 80 auf 60mm reduziert und die Bewegungsgeschwindigkeit von 200 auf 120mm, scheint nun besser zu funktionieren. Komisch dass es vorher funktioniert hat... (auch mit den TMC's)
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#12

Beitrag von Tom0906 » Fr 16. Aug 2019, 21:10

Druckt nun ohne Probleme, hab auch gerade Octoprint in Betrieb genommen.... Vermutlich wurden dem Drucker die 200mm Bewegungsgeschwindigkeit einfach zu viel. Vorher hats einwandfrei funktioniert. Vermutlich war das dann ein Grenzwert.. Werde die Druckgeschwindigkeit wieder auf 80mm anheben und die Bewegung so lassen wie sie ist, mal schaun ob's dann immer noch funktioniert.
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#13

Beitrag von riff-raff » Di 20. Aug 2019, 07:23

Frage ist halt, ob bei deinem vorhergehenden 8 bit MCU 200 mm/s auch tatsächlich 200 mm/s umgesetzt wurden, oder ob du da schon im Pulslimit hingst. Dein SKR kommt da nicht so schnell hin. Hast du nebst Reduktion der Geschwindigkeit auch die Mechanik auf der X-Achse auf Leichtgängigkeit geprüft?
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#14

Beitrag von Tom0906 » Mi 21. Aug 2019, 09:18

Yes Sir, hab vor ein paar Tagen den MGN12H Schlitten an der X Achse getauscht und dabei alles erneut auf Leichtgängigkeit geprüft, gereinigt und geschmiert. Flutscht alles. Mein SKR hatte ein paar Drucke mit 200mm durchgestanden und hat dann entschieden dass er das doch nicht reproduzierbar schafft. Hab's nun reduziert auf 160mm, scheint zu funktionieren, er druckt seit 3 Tagen ohne Fehler durch. Hab auch den Kühlkanal für die TMC2130 montiert.

Nun muss ich mir mit dem Heizbett was einfallen lassen, mir wird der Stecker zu heiss, ich glaub ich eliminiere den und löte direkt an. Derzeit hab ich ca. 60° am Kabel und am Stecker gemessen, ist mir zu viel. Auch das Düsenrohr gefällt mir nicht, hatte beim letzten Filamentwechsel eine Verstopfung (nach 18 Stunden Druck und einer verbleibenden Zeit von 20 Minuten) aufgrund eines Rückstandes am Eingang des Düsenrohres im E3D. Ich verwende derzeit die Vollmetallausführung und will mal die mit Teflon testen. Ich erwarte mir aufgrund des Teflons einen schöneren Retract beim Filamentwechsel.

Grundsätzlich aber läuft mein Frankenstein sehr sauber :)
IMG_20190819_195005.jpg
IMG_20190819_195023.jpg
IMG_20190819_195033.jpg
IMG_20190819_195047.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
th33xitus
Admin
Beiträge: 3273
Registriert: Sa 17. Dez 2016, 00:31
Drucker: AM8
Slicer: PrusaSlicer
Firmware: Marlin-bugfix-2.0.x
CAD - Software: Fusion 360
Hat sich bedankt: 133 Mal
Danksagung erhalten: 437 Mal

#15

Beitrag von th33xitus » Mi 21. Aug 2019, 10:30

Tom0906 hat geschrieben:
Mi 21. Aug 2019, 09:18
mir wird der Stecker zu heiss, ich glaub ich eliminiere den und löte direkt an.
Anlöten ist die beste Option wenn man die passenden Hilfsmittel dafür hat und eine sichere Lötverbindung garantieren kann. Der Stecker ist Mist den die da verbauen. Es gibt inzwischen zwei Ausführungen davon. Bei alten Modellen waren von den 6 Kontakten gerade mal 4 belegt. Plus und Minus fürs Bett und dann die beiden für den Thermistor. Inzwischen sind die wohl immerhin schon mal dahin gegangen alle 6 Kontakte zu belegen. Zwei mal Plus und zwei Mal Minus fürs Bett. Halte ich auch für nicht so gut.
Tom0906 hat geschrieben:
Mi 21. Aug 2019, 09:18
Ich verwende derzeit die Vollmetallausführung und will mal die mit Teflon testen. Ich erwarte mir aufgrund des Teflons einen schöneren Retract beim Filamentwechsel.
Ist das PLA was du dort druckst?
Das kann bei Vollmetall-Heatbreaks aus Stahl durchaus gern mal kritisch werden. Und dann passiert nämlich so etwas was dir passiert ist.
Titan hingegen klappt als Vollmetall-Heatbreak wunderbar.

Tom0906 hat geschrieben:
Mi 21. Aug 2019, 09:18
Grundsätzlich aber läuft mein Frankenstein sehr sauber :)
Frankenstein war aber nicht das Monster ;) :P

Glossar - 3D-Druck-Begriffe


Gebt bei jeglichen Problemen immer euren verwendeten Slicer + dessen Einstellungen, eure genutzte Firmware und etwaige Modifikationen vom Drucker an!

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#16

Beitrag von riff-raff » Mi 21. Aug 2019, 11:28

th33xitus hat geschrieben:
Mi 21. Aug 2019, 10:30
Frankenstein war aber nicht das Monster ;) :P
Wenn man es nach Gesichtspunkten der Menschlichkeit betrachtet schon ;)
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#17

Beitrag von Tom0906 » Do 22. Aug 2019, 11:45

Frankenstein deshalb weil das Ding einfach über die Zeit hinweg entstanden ist und daher nicht alles 100% optisch zusammenpasst dafür aber sehr gut funktioniert:)

Danke nochmals für eure Tipps. Hab in den letzten Tagen viel gelernt und durch eure Hilfe alles hinbekommen. Marlin 2.0, Visual Studio, TMC2130, Filamentwechsel Sensor, SKR v1.3, alles funktioniert einwandfrei. Meine Druckergebnisse sind derzeit Top!
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#18

Beitrag von riff-raff » Do 22. Aug 2019, 11:47

Na das ist doch mal ein positives Feedback.

Hast du Advanced Pause Funktion mit dem Filamentsensor konfiguriert?
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#19

Beitrag von Tom0906 » Fr 23. Aug 2019, 07:22

Yup, hab ich. Hab mir den Druckkopf auf knapp nach -20, -5 geholt und 20mm über den Teilen, er entlädt dann meinen 500mm langen Bowden und wartet dort auf das neue Filament. Funktioniert gut wenn mir nicht Reste des Filament's in der Heatbreak hängen bleiben. Mit neuem Filament wird von Hand beladen, da hab ich mehr Gefühl, die letzten 50mm gehen dann automatisch, ist gleichzeitig auch eine "Reinigung" der Düse mit frischem Material. Danach warte ich bis sich der Materialdruck im Extruder fast abgebaut hat und drucke problemlos weiter...
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#20

Beitrag von riff-raff » Fr 23. Aug 2019, 07:39

An welcher Stelle sitzt der Sensor? Vor dem Extruder? Das ist in den Fotos nicht klar zu erkennen. Und welcher Typ ist es? Optisch, taktil oder hast so einen Lasersensor wie Prusa ihn nutzt?
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Antworten