... übernommen aus einem anderen Faden ...
Wenn es schneller als die derzeit gängigen 100 kHz gehen soll, bieten sich da eine ganze Reihe Möglichkeiten:
- Die ARM Cortex-M0, -M3 und -M4 sind zwar deutlich schneller als die AVR ATmegas, doch immer noch weit entfernt vom technisch machbaren. Ein Intel i7 läuft bekanntlich mit mehr als 3 GHz, also 30 Mal schneller als ein einfacher ARM. Die Oberklasse-ARMs kommen da nahe dran. Da wäre man dann schon mal von 100 kHz auf 3 MHz.
- Die meisten Cortex-M lassen das Programm aus dem Flash heraus laufen. Flash ist langsam und kann nur mit etwa 20 MHz gelesen werden. Deswegen kann der ATmega einen Speicherplatz in einem Takt lesen, während der LPC1114 mindestens 2, manchmal 3 Takte braucht. Deswegen haben einige ARM Varianten sehr viel RAM, so dass man das Programm aus dem RAM heraus laufen lassen kann. Das dürfte etwa doppelt so schnell gehen, also 200 kHz.
- Die allermeiste Rechenzeit geht für die Berechnung der einzelnen Schritte drauf. Kann man das auf einen spezialisierten Prozessor oder ein FPGA auslagern, können diese Berechnungen zumindest teilweise parallel ablaufen. Möglicher Geschwindigkeitsfaktor sicherlich x10, also zusammen das gesuchte 1 MHz.
So einen Controller zu bauen ist ohne Zweifel möglich. Wird teuer, denn die Oberklasse-Chips kosten nicht nur eine gute Stange Geld, sondern brauchen auch mehrlagige Leiterplatten, sehr enge Pin-Abstände und dergleichen. Ein PC-Mainboard kann man zwar für weniger als 100 Euro haben, doch das sind Riesenstückzahlen. Mit selber löten geht da nichts.
Die Herausforderung ist auch, den Controller dann zu programmieren. Will man die Vorteile eines FPGA nutzen, kann man mit den bisherigen Firmwaren nicht viel anfangen. Die allermeisten RepRapper haben damit ja nicht gerade viel am Hut und für eine Einzelperson ist das eine heftige Aufgabe, ohne wirtschaftlichen Erfolg. Da würde man dann also mit einem 500-Euro-Controller stehen und fast alle würden weiter RAMPS kaufen, weil's billiger und halbwegs ausreichend ist.
Schrittmotortreiber muss man dann wohl auch selbst machen, denn beim DRV8825 ist z.B. bei 250 kHz Schluss.
Quote
Stud54
Quote
VDX
... für meine 'industriellen' CNC-Controller verwende ich auch ein STM32F4Discovery-board für 17€ beim blauen Klaus, auf die ich die Firmware für Editask10 flashe - da entwickle ich aber nicht selber, sondern kooperiere hier mit dem Entwickler, damit er für mich wesentliche Features implementiert.
Mit der Variante schaffe ich allerdings nur max. 100kHz Stepper-Takt für 3 Achsen mit 80 G-Code-Befehlen lookahead ... mit (selbst anpaßbarem/angepaßtem) Marlin4Due und Pronterface schaffe ich bis über 300kHz ... mit einem BeagleBoneBlack-Lasercontroller (4-achsig oder 2-achsig als 'XY-Scanner-Ersatz') bis zu 500kHz ...
Etwas OT.
Hast du ne Ahnung Viktor, wie der industrielle CSMIO Controller bei 3 Achsen 1MHz schafft? Was wird denn da drin stecken? Man findet da ja keine Infos, die Angabe fand ich aber irgendwie...unrealistisch.
Gruß
Wenn es schneller als die derzeit gängigen 100 kHz gehen soll, bieten sich da eine ganze Reihe Möglichkeiten:
- Die ARM Cortex-M0, -M3 und -M4 sind zwar deutlich schneller als die AVR ATmegas, doch immer noch weit entfernt vom technisch machbaren. Ein Intel i7 läuft bekanntlich mit mehr als 3 GHz, also 30 Mal schneller als ein einfacher ARM. Die Oberklasse-ARMs kommen da nahe dran. Da wäre man dann schon mal von 100 kHz auf 3 MHz.
- Die meisten Cortex-M lassen das Programm aus dem Flash heraus laufen. Flash ist langsam und kann nur mit etwa 20 MHz gelesen werden. Deswegen kann der ATmega einen Speicherplatz in einem Takt lesen, während der LPC1114 mindestens 2, manchmal 3 Takte braucht. Deswegen haben einige ARM Varianten sehr viel RAM, so dass man das Programm aus dem RAM heraus laufen lassen kann. Das dürfte etwa doppelt so schnell gehen, also 200 kHz.
- Die allermeiste Rechenzeit geht für die Berechnung der einzelnen Schritte drauf. Kann man das auf einen spezialisierten Prozessor oder ein FPGA auslagern, können diese Berechnungen zumindest teilweise parallel ablaufen. Möglicher Geschwindigkeitsfaktor sicherlich x10, also zusammen das gesuchte 1 MHz.
So einen Controller zu bauen ist ohne Zweifel möglich. Wird teuer, denn die Oberklasse-Chips kosten nicht nur eine gute Stange Geld, sondern brauchen auch mehrlagige Leiterplatten, sehr enge Pin-Abstände und dergleichen. Ein PC-Mainboard kann man zwar für weniger als 100 Euro haben, doch das sind Riesenstückzahlen. Mit selber löten geht da nichts.
Die Herausforderung ist auch, den Controller dann zu programmieren. Will man die Vorteile eines FPGA nutzen, kann man mit den bisherigen Firmwaren nicht viel anfangen. Die allermeisten RepRapper haben damit ja nicht gerade viel am Hut und für eine Einzelperson ist das eine heftige Aufgabe, ohne wirtschaftlichen Erfolg. Da würde man dann also mit einem 500-Euro-Controller stehen und fast alle würden weiter RAMPS kaufen, weil's billiger und halbwegs ausreichend ist.
Schrittmotortreiber muss man dann wohl auch selbst machen, denn beim DRV8825 ist z.B. bei 250 kHz Schluss.