Hallo Zusammen.
Ich steht gerade sehr an und hoffe das ihr mir helfen könnt.
Ich hab mehrere Adafruit Motor Shield v2.3 gestapelt und spreche damit schrittmotoren an.
das 0 und 1 Board funktionieren gut und ich konnte sie Ansprechen.
das Board 2 jedoch nicht könnte es daran liegen das ich es falsch adressiert habe laut Herstellte:
Board 0: Address = 0x60 Offset = binary 0000 (no jumpers required)
Board 1: Address = 0x61 Offset = binary 0001 (bridge A0 as in the photo above)
Board 2: Address = 0x62 Offset = binary 0010 (bridge A1, to the left of A0)
Board 3: Address = 0x63 Offset = binary 0011 (bridge A0 & A1, two rightmost jumpers)
Board 4: Address = 0x64 Offset = binary 0100 (bridge A2, middle jumper)
Hersteller beschreibung
So wie auf dem Foto hab ich das adressiert und das müsste eigentlich Board 2 Adresse 0X62 sein.
agmue
July 5, 2021, 3:42pm
2
Verwende einen I2C-Scanner wie z. B. den Arduino MultiSpeed I2C Scanner , der zeigt Dir die Adressen an.
Hallo
Löte die Lötstelle nochmal nach.
das hab ich schon gemacht hat nix geholfen
Wenn du mehrere Boards hast, tausche doch einfach mal die Adressen.
Evtl. ist das eine Board nicht auf dieser Adresse funktionsfähig/defekt.
Hab ihn durchlaufen lassen
18:09:56.820 -> Scanning...
18:09:56.867 -> I2C device found at address 0x60 !
18:09:56.867 -> I2C device found at address 0x61 !
18:09:56.867 -> I2C device found at address 0x62 !
18:09:56.867 -> I2C device found at address 0x70 !
18:09:56.867 -> done
Also da und an der richtigen Adresse müsst es es sein.
hab ich mich im code verschrieben?
// Nich Veränderbare Variablen
int VarDurchlauf = 0; // in welchem Durchlauf man ist
int VarPogrammende = 1; // Wenn durchlauf Info angezeicht dann Wert 1
#include <Wire.h>
#include <Adafruit_MotorShield.h>
// Create the motor shield object with a different I2C address (say for stacking)
Adafruit_MotorShield AFMS2(0x62); // Brigge A1, to the loft of 61 (A0)
Adafruit_MotorShield AFMS1(0x61); // Rightmost jumper closed
Adafruit_MotorShield AFMS0(0x60); // Default address, no jumpers
// Connect a stepper motor with 200 steps per revolution (1.8 degree)
// to motor port #1(M1 and M2) #2(M3 and M4)
Adafruit_StepperMotor *Stepper1 = AFMS0.getStepper(200, 1); // Bewegung Säge
Adafruit_StepperMotor *Stepper2 = AFMS0.getStepper(200, 2); // Bewegung Holzhalterung
Adafruit_StepperMotor *Stepper3 = AFMS1.getStepper(200, 1); // Bewegung Bohrer
Adafruit_StepperMotor *Stepper4 = AFMS2.getStepper(200, 2); // Bewegung Vorschub
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
pinMode(Starttaste,INPUT_PULLUP);
AFMS0.begin(); // create with the default frequency 1.6KHz
AFMS1.begin();
//AFMS.begin(1000); // OR with a different frequency, say 1KHz
Stepper1->setSpeed(3200); // 3200 rpm, Bewegung Säge
Stepper2->setSpeed(80); // 80 rpm, Bewegung Holzhalterung
Stepper3->setSpeed(200); // , Bewegung Bohrer
Stepper4->setSpeed(200); // , Bewegung Vorschub
VarDurchlauf = VarAnzahl;
delay(2000);
Serial.println("Zum Starten Programm Vorschub Taste Drücken");
}
void loop() {
if (digitalRead(Starttaste)==LOW){
Serial.println(" ");
Serial.println(" ");
Serial.println(" ");
Serial.println("Programm Vorschub Startet");
VarDurchlauf = 0;
VarPogrammende = 0;
}
delay(10);
if (VarDurchlauf < VarAnzahl){
VarDurchlauf++;
char buf[100];
sprintf(buf, "%d Durchlauf", VarDurchlauf);
Serial.println("");
Serial.println(buf);
// Vorschub
Serial.println("Vorschub 800 Schritte 4cm");
Stepper4->step(800, BACKWARD, DOUBLE);
//delay(2000);
// Bohropf senken
Serial.println("Bohropf senken");
Stepper3->step(100, BACKWARD, DOUBLE); //senken
// Bohropf heben
Serial.println("Bohropf heben");
Stepper3->step(100, FORWARD, DOUBLE); // heben
//delay(2000);
// Rückschub
Serial.println("Rückschub 800 Schritte 4cm");
Stepper4->step(800, FORWARD, DOUBLE);
} else {
if (VarPogrammende == 0) {
Serial.println(" ");
Serial.println("gewünschter Durchlauf erreicht");
Serial.println("zum Starten Taste drücken");
VarPogrammende = 1;
}
}
}
ich glaub der fehler ist
AFMS0.begin(); // create with the default frequency 1.6KHz
AFMS1.begin();
da sollte noch der AFMS2 rein
Ja das war es! Danke für die Hilfe!!
system
Closed
November 2, 2021, 4:29pm
12
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.