Soeren7
07.09.2012, 17:41
Hallo,
ich stieß neuerdings auf ein Problem.
Ich hatte mir eine Schrittmotorsteuerung gekauft, dich ich nun mit einem 10poligen Kabel an das RN-Control Board 1.4 anschließen wollte.
Da ich allerdings den Motortreiber vom RN Control 1.4 Board nutze für 2 Elektromotoren, musste ich feststellen, dass diese gleich alle
3 freien Ports belegen. Zudem nutzt der Motortreiber jeweils nur 2 Pins von jedem Port.
Auszug aus Handbuch:
PORT B:
Pin 1 PB0 / T0 / XCL / wird vom Motortreiber für Motor 2 Kanal 1 genutzt
Pin 2 PB1 / T1 / wird vom Motortreiber für Motor 2 Kanal 2 genutzt
PORT C:
Pin 7 PC6 / TOSC1 / wird vom Motortreiber für Motor 1 Kanal 1 genutzt
Pin 8 PC7 / TOSC2 / wird vom Motortreiber für Motor 1 Kanal 2 genutzt
PORT D:
Pin 5 PD4 / OC1B / wird für PWM Motor 1 benutzt (Geschwindigkeitsregelung)
Pin 6 PD5 / OC1A / wird für PWM Motor 2 benutzt (Geschwindigkeitsregelung)
Nun benötige ich für die Schrittmotoransteuerung nur 2 Pins.
für die Bewegung:
setportcon(0);
waitms(1);
setportcoff(0);
Und für die Richtungsänderung:
if (bit_is_set (PINC,PA1)) //überprüfung, ob PA1 gesetzt
setportcoff(1); //PA1 auf 0 setzten
else
setportcon(1); //PA1 auf 1 setzten
Und die Spannungsversorgung + Masse denk ich mal.
Also so sieht die Belegung der Schrittmotoransteuerung aus:
Pin 1 Clock/Takt (bei GND Flanke bewegt sich Motor einen Schritt)
Pin 2 CW/CCW (Drehrichtung, Pullup vorhanden)
Pin 3 RESET (Pullup vorhanden)
Pin 4 CNTL
Pin 5 H/F (Halb- oder Vollschritt, Pullup vorhanden)
Pin 6 Enable (Motor wird durch GND ausgeschaltet, Pullup vorhanden)
Pin 7 SYNC
Pin 8 HOME
Pin 9 GND / Masse
Pin10 Logikspannung +5V (dient zur Versorgung der Schaltung)
Was kann man nun tun?
Obwohl ich bzw. von PORT C nur Pin 0 und Pin 1 anspreche, die ja nicht vom Motortreiber auf dem Rn-Board genutzt werden,
bleibt mein Schrittmotor stehen sobald die 2 Elektromotoren stehen bleiben. (ala setPWMlinks(0); setPWMrechts(0);)
Würde mich über Hilfe sehr freuen!!
Mfg Sören
ich stieß neuerdings auf ein Problem.
Ich hatte mir eine Schrittmotorsteuerung gekauft, dich ich nun mit einem 10poligen Kabel an das RN-Control Board 1.4 anschließen wollte.
Da ich allerdings den Motortreiber vom RN Control 1.4 Board nutze für 2 Elektromotoren, musste ich feststellen, dass diese gleich alle
3 freien Ports belegen. Zudem nutzt der Motortreiber jeweils nur 2 Pins von jedem Port.
Auszug aus Handbuch:
PORT B:
Pin 1 PB0 / T0 / XCL / wird vom Motortreiber für Motor 2 Kanal 1 genutzt
Pin 2 PB1 / T1 / wird vom Motortreiber für Motor 2 Kanal 2 genutzt
PORT C:
Pin 7 PC6 / TOSC1 / wird vom Motortreiber für Motor 1 Kanal 1 genutzt
Pin 8 PC7 / TOSC2 / wird vom Motortreiber für Motor 1 Kanal 2 genutzt
PORT D:
Pin 5 PD4 / OC1B / wird für PWM Motor 1 benutzt (Geschwindigkeitsregelung)
Pin 6 PD5 / OC1A / wird für PWM Motor 2 benutzt (Geschwindigkeitsregelung)
Nun benötige ich für die Schrittmotoransteuerung nur 2 Pins.
für die Bewegung:
setportcon(0);
waitms(1);
setportcoff(0);
Und für die Richtungsänderung:
if (bit_is_set (PINC,PA1)) //überprüfung, ob PA1 gesetzt
setportcoff(1); //PA1 auf 0 setzten
else
setportcon(1); //PA1 auf 1 setzten
Und die Spannungsversorgung + Masse denk ich mal.
Also so sieht die Belegung der Schrittmotoransteuerung aus:
Pin 1 Clock/Takt (bei GND Flanke bewegt sich Motor einen Schritt)
Pin 2 CW/CCW (Drehrichtung, Pullup vorhanden)
Pin 3 RESET (Pullup vorhanden)
Pin 4 CNTL
Pin 5 H/F (Halb- oder Vollschritt, Pullup vorhanden)
Pin 6 Enable (Motor wird durch GND ausgeschaltet, Pullup vorhanden)
Pin 7 SYNC
Pin 8 HOME
Pin 9 GND / Masse
Pin10 Logikspannung +5V (dient zur Versorgung der Schaltung)
Was kann man nun tun?
Obwohl ich bzw. von PORT C nur Pin 0 und Pin 1 anspreche, die ja nicht vom Motortreiber auf dem Rn-Board genutzt werden,
bleibt mein Schrittmotor stehen sobald die 2 Elektromotoren stehen bleiben. (ala setPWMlinks(0); setPWMrechts(0);)
Würde mich über Hilfe sehr freuen!!
Mfg Sören