Nema 17 Stepper Motor vibriert nur?
Hallo, ich bin dabei zu versuchen für einen kleines Home Projekt drei Stepper Motoren zum laufen zu bekommen.
ich habe mir zich YouTube Videos angeschaut und ob mit einem CNC shield v3, oder einfach so mit einem Bord, wo man die Driver so drauf stecken kann.
ich hab mir hier diese Driver bestellt:
DRV8825
doch mein Problem ist, dass bei jeder Möglichkeit wie ich benutze. Also die zwei Möglichkeiten oben, dass der Stepper nur vibriert und sich mal ganz kurz in bisschen bewegt aber eigentlich nur vibriert.
ich habe schon verschiedene Stepper genommen. Ich hab verschiedene Driver genommen und verschiedene Arduino UNOs.
die Spannung an den Potenzmeter habe ich natürlich auch richtig eingestellt soweit ich weiß also wie in dem Videos auf 0,75 V für einen 1,5 A Stepper Motor.
ich zeige euch jetzt hier ein paar Bilder, aber natürlich sieht man da die Verkabelung nicht wirklich gut drauf. Aber wie gesagt ich hab’s mehrmals gemacht und die Verkabelung sollte eigentlich nicht das Problem sein, weil ich’s eigentlich immer richtig nachgemacht hab und wenn ich das CNC Schild nutze, gibt es ja eigentlich nichts, was ich falsch machen kann.
Ich hoffe mal, dass mir irgendwer helfen kann die Stepper und die Driver sind komplett neu.
Danke schon mal im voraus.
If the steps come too fast, the engines will only vibrate.
In fact, the control of a stepping motor corresponds to a switching back and forth of the coils. The motor thus receives alternating “forward” and “backward” current.
It can be imagined that switching from “A” to “B” in the straight positions can be turned right and left in odd positions.
If the step comes too fast, the motor gets power for the opposite direction before the one has left its “magnetic latch” and that then leads to the one who then wants to rotate backwards. And before he can, he’ll come forward.
Either you let the motor rotate very slowly or send the steps in a “Ramp”, so the steps accelerate with the time when the motor and the mechanics get there and build up swing.
So first you have to install delays in the loop that tacts the steps.
After that, you can then use several variables that monitor the acceleration and braking of the engine and then handle the delay in a variable manner. Unfortunately, this is quite “tricky” to understand and implement.
So try it beforehand with large delays of some millseconds and reduce the step by step to find out how much “speed” the engine is moving out of the stand.
So thank you for the answer.
I tried it with this code here and the stepper has vibrated and didn’t do anything.
I don’t know if that’s important, but the driver won’t get hot. you have to stay a bit longer to remember that the driver is a bit warm.
#define stepPin 2
#define dirPin 5
void setup() {
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop()
digitalWrite(dirPin, HIGH); // Turns the motor in one direction
for (int x = 0; x < 200; x++) {
digitalWrite(stepPin, HIGH);
delay(1000) // Waits 1000 milliseconds (1 second)
digitalWrite(stepPin, LOW);
delay(1000)
}
delay(1000); // Wait 1 second
digitalWrite(dirPin, LOW); // Turns the motor in the other direction
for (int x = 0; x < 200; x++) {
digitalWrite(stepPin, HIGH);
delay(1000)
digitalWrite(stepPin, LOW);
delay(1000)
}
delay(1000)
}
Looks good.
If, however, please use the “Code” formatting next time, then it can be read much more easily and everything remains intact. This is the > symbol above for formatting.
Actually, it should be very slow to turn in one direction, then in the other direction. 1000ms are a bit long. 100, i.e. 10 steps per second, is still more than slow enough for most stepping motors.
Now you should check in which sequence the lines for the motor are switched. You can do this with your 1s delays with LEDs. To do this, you always solder two “antiparallel” together, best red and green. Antiparallel means that one is different. So anode on cathode of others and vice versa. Then a common resistance. This allows you to easily see which reel gets when plus and when minus gets.
I guess the lines are wrongly connected to the engine. There are two types like the coils to be operated.
Unidirectional means that each output can only be switched on. Then you need a unidirectional engine. He’s got double coils. One for “N” and one for “S”. They hang together on one side, usually on plus, and via two lines, “N” or “S” are then activated in which they are switched to ground. The whole thing’s in there two times. If the connections are exchanged, either not switched or the wrong coils are activated.
You can measure the coils with a multimeter. From the center of the coil you have two equal ohm values to the ends of the coils. Measured from the end to the end, you have the double value. With unidirectional motor you have 2×3 connections.
Bidirectional has only one coil for N and S, here the current must be reversed via a bridge circuit in order to switch between N and S. These engines then have 2×2 connections. They cannot be used with a unidirectional control.
Conversely, a unidirectional motor can be connected to a bidirectional control. Here you simply leave the center of the coil open or use only one of the two coils
So you can measure the engine first to find out which wires together lead to a coil.
If you have connected the coils correctly, turn one side. If both coils of the motor are polarized, it only runs backwards, if a coil is polarized, it will run forwards/backwards, and thus it only clocks forwards and back, which is then like a vibration.
The current is controlled by PWM. Linear would result in severe power losses, so the current is pulsed and the mean value then has the desired strength. Depending on the PWM frequency and their ratio you have a beep.
Of course, it is always best to control the power via the supply voltage to the motor.
This is always the problem, there is no standard in which order the connections must be on a plug and which plug is used for it. This makes every manufacturer different. You then need engines from a manufacturer designed by the Shield.
If I build something for myself, then I simply take a clamp block for loose wires or German plugs as they are used for construction machines.
So I got it when I connect the two reels correctly. at the cable exit from the stepper motor is this BABA
and the Driver BBAA.
Because I connect it correctly and as on the one picture everything is directly connected to the driver it runs as it should. However, it does so it has such a piepst sound permanently.
and the second problem is when I try this now with the CNC shield it does not work as before although I have actually connected the different coils as far as I know correctly.
but you know if the pins, where you connect the cable from the engine to the CNC shield, is almost suitable for the motor. So that I can connect it directly?
I’ve already run stepping motors myself, but with the normal stepping motors. I had the 8825s in the 3D printer, which make problems because they make a so-called “Lachs-Haut” in 3D printing. But they’re supposed to be all right.
Look who you can find at libraries in the Arduino-IDE. I had such a biibliothek that even had the start-up and braking of the engines controlled.
The engines have four connections. There are at least two types of engines with this connection type, and the cables are twisted to each other in both versions.