Quantcast
Channel: Reprap Forum - Elektrik & Elektronik
Viewing all articles
Browse latest Browse all 2214

RUMBA + Marlin (1.1.9): 2 Servos benötigt, nur ein Servo ist ansteuerbar (keine Antworten)

$
0
0
Hallo,

ich beschäftige mich gerade damit, wie man ein Rumbaboard + Marlin mit 3 Hotends und 2 Servos betreibt. Es gibt dazu einige Beiträge die aber alle widersprüchlich sind. Der Wiki Beitrag ist bekannt und ich habe den USB-Treiber schon aktualisiert, da ich zu Beginn Probleme hatte das Rumbaboard überhaupt mit dem Computer verbinden zu können. Ich habe versucht anhand der schematischen Zeichnung die richtigen Pins zu finden: RUMBA_Wiki_schematic da hier je nach Hersteller unterschiedliche Elektronische Bausteine verwendet wurden. Das verwendete Board (ich hab 3 hier, alle soweit gleich) sind von my-home-fab.

Ich kann aktuell 1 Servo ansteuern über den Mega2560 Pin 5 (Firmware) der auf dem EXP3 Adapter PWM2 Position 6 liegt. Dazu verwende ich den M280 P0 S50 Befehl über Pronterface. Es fehlt also noch die Möglichkeit für Servo2. In der Marlin (1.1.9) sind 2 Servos in der configuration.h mit 300ms delay eingestellt:
#define NUM_SERVOS 2 // Servo index starts with 0 for M280 command

// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it.
#define SERVO_DELAY { 300, 300 }

// Only power servos during movement, otherwise leave off to prevent jitter
//#define DEACTIVATE_SERVOS_AFTER_MOVE


Fridi schreibt hier von Pin 11, den er in Repetier verwendet hat:
Beitrag von Fridi

Ich habe versucht einige Pins auszuprobieren wie den Pin11 (Firmware) und auch die Position 11 auf dem EXP3 Adapter. Mein Problem ist, ich verstehe aktuell zu wenig, welche PINs am Mega überhaupt verwendet werden können? Muss es ein PWM sein? In einem Beitrag habe ich gelesen, dass auch ein Digital-Pin funktioniert

Wie geht man mit Doppelbelegungen in der pins_RUMBA.h um? So findet man folgende Zeile:
#if TEMP_SENSOR_1 == -1
  #define TEMP_1_PIN        5   // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
#else
  #define TEMP_1_PIN       14   // Analog Input (default connector for thermistor *T1* on rumba board is used)

Das heißt dann, der Temperatursensor 2 (wenn man bei 0 anfängt zu zählen) wird mit Pin14 angesteuert, und Pin 5 wird nur verwendet, wenn in der configuration.h TEMP_SENSOR-1 ==-1 ist. Das wäre dann nicht das Problem aber beim PIN11, den Fridi vorgeschlagen hat verstehe ich aber nicht, warum in der pins_RUMBA.h dieser Pin als Pin für den Bed-Temperatursensor und das LCD-Display verwendet wird? In der Schematischen Zeichnung wird angegeben, dass der PIN 11 ein GND ist, also gar nicht geschalten werden kann, oder verstehe ich hier etwas falsch?

#if TEMP_SENSOR_BED == -1
  #define TEMP_BED_PIN      7   // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple)
#else
  #define TEMP_BED_PIN     11   // Analog Input (default connector for thermistor *THB* on rumba board is used)
#endif

// LCD / Controller
#define BTN_EN1            11


Ich versuche mich insgesamt mehr in die Elektronik und C einzulesen, verstehe aber noch nicht alle Zusammenhänge, die vorrausgesetzt werden. Leider sind weitere Forenbeiträge nicht immer hilfreich, da sie wie eingangsbeschrieben widersprüchlich sind. Vermutlich ist teilweise auch Wissen beim Erstellen der Boards verloren gegangen bzw. nicht dokumentiert worden.

Wie könnte ein weitere Vorgehen sein, um den zweiten Servo anzusteuern? Dumm rumprobieren scheidet aus, da ich schon gerne lernen würde wie man solche Probleme lösen kann.

viele Grüße

Viewing all articles
Browse latest Browse all 2214

Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>