Marlin auf Arduino-Due mit RADDS / RAPS128 28. December 2014 06:24 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 28. December 2014 08:28 |
Registrierungsdatum: 11 Jahre zuvor Beiträge: 188 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 28. December 2014 14:54 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Quote
Willy
Die Punkte 3. und 4. sind vermutlich auf das nicht vorhandene "fast-IO" in der Datei fastio.h zurückzuführen. Während beim MEGA eine sehr ausgereifte direkte Port-Programmierung erfolgt, verwendet die Due-Version digitalRead() und digitalWrite() aus der Arduino-IDE, was unsäglich langsam ist.
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 29. December 2014 14:49 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 29. December 2014 14:53 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 29. December 2014 15:48 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Quote
Wurstnase
65kHz ohne Quadstepping, aber auch mit nicht schneller.
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 29. December 2014 15:57 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 30. December 2014 13:26 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Quote
Wurstnase
... da ich so extreme Temperatur-Probleme habe kann ich nix längeres testen.
Quote
Wurstnase
Bei Marlin versuche ich mich gerade auch ein wenig mit einzubringen. Ggf. gibt es nen Due-Branch.
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 30. December 2014 13:54 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 03. January 2015 10:09 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
#if CPU_ARCH==ARCH_AVR #include "fastio.h" #else #define READ(IO) digitalRead(IO) #define WRITE(IO, v) digitalWrite(IO, v) #define SET_INPUT(IO) pinMode(IO, INPUT) #define SET_OUTPUT(IO) pinMode(IO, OUTPUT) #endif
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 03. January 2015 11:57 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
#define WRITE(pin, v) do{if(v) {g_APinDescription[pin].pPort->PIO_SODR = g_APinDescription[pin].ulPin;} else {g_APinDescription[pin].pPort->PIO_CODR = g_APinDescription[pin].ulPin; }}while(0)
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 03. January 2015 12:25 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 03. January 2015 14:23 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 03. January 2015 15:36 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Jupp, ist ja eigentlich das Thema.Quote
Willy
> Ich schaffe es leider immer noch nicht mehr als 16bit für die step_rate zu nutzen
Da bist Du jetzt aber wieder bei Marlin?
Ja, an eine Mittelwertbildung oder nen Median habe ich auch schon gedacht. Kann es ggf. auch an den Due-Nachbau liegen, dass die Schwankungen so hoch sind?Quote
> Das Temperaturproblem liegt sicherlich an den 3.3V?!?
Vermutlich nicht nur...
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 04. January 2015 14:02 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Quote
Wurstnase
Kann es ggf. auch an den Due-Nachbau liegen, dass die Schwankungen so hoch sind?
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 05. January 2015 04:46 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
* -# Set ADC clock by setting ADC_MR_PRESCAL bits in ADC_MR, the clock is * calculated with ADCClock = MCK / ( (PRESCAL+1) * 2 )
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 05. January 2015 12:50 |
Registrierungsdatum: 11 Jahre zuvor Beiträge: 2.469 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 05. January 2015 12:57 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 05. January 2015 15:50 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Quote
Wurstnase
Vielleicht hilft es den Sensor eher mit 12bit aufzulösen?
Wohl keine gute Idee: [www.djerickson.com]
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 05. January 2015 16:11 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 06. January 2015 08:30 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
293 #elif defined(ARDUINO_ARCH_SAM) 294 timer = HAL_TIMER_RATE / step_rate; 295 #endif 296 297 if(timer < 100) { timer = 100; MYSERIAL.print(MSG_STEPPER_TOO_HIGH); MYSERIAL.println(step_rate); }//(20kHz this should never happen) 298 return timer;
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 06. January 2015 11:12 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 06. January 2015 12:17 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 30. January 2015 04:21 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Quote
Willy
Schon lustig, wie unterschiedlich wir beide die FW interpretieren
Ich hab' mal nach #include "fastio.h" in meiner Due FW vom Nov. 2014 (vermutlich work 0.92) gesucht und bin nicht fündig geworden. Dann habe ich die fastio.h umbenannt und das Compilieren funktioniert noch. Insofern hast Du recht, dass der Due die fastio.h nicht verwendet. Dann habe ich nach digitalWrite gesucht und ein paar mal gefunden - aber nicht an zeitkritischen Stellen. Das beim Due verwendete WRITE() ist vermutlich folgende Zeile in der HAL.h:
#define WRITE(pin, v) do{if(v) {g_APinDescription[pin].pPort->PIO_SODR = g_APinDescription[pin].ulPin;} else {g_APinDescription[pin].pPort->PIO_CODR = g_APinDescription[pin].ulPin; }}while(0)
LG, Willy
Edit: Jahreszahl von 2013 auf 2014 korrigiert.
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 30. January 2015 14:10 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 31. January 2015 18:40 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 01. February 2015 06:23 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 01. February 2015 06:36 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 01. February 2015 07:36 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
// Calculate new timer value unsigned long timer; unsigned long step_rate; if (step_events_completed <= (unsigned long int)current_block->accelerate_until) { MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); acc_step_rate += current_block->initial_rate;
#define MultiU24X24toH16(intRes, longIn1, longIn2) intRes = ((uint64_t)(longIn1) * (longIn2)) >> 24
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |
Re: Marlin auf Arduino-Due mit RADDS / RAPS128 04. February 2015 20:15 |
Registrierungsdatum: 9 Jahre zuvor Beiträge: 4.977 |
Triffid Hunter's Calibration Guide | --> X <-- Drill for new Monitor | Most important Gcode. |