Constant Angular Acceleration of a Stepper Motor with Arduino

  Рет қаралды 17,087

Sichun Xu

Sichun Xu

Күн бұрын

Пікірлер: 33
@KW-ei3pi
@KW-ei3pi Жыл бұрын
Thank you. This will be a valuable asset in coding for Stepper Motors, as in some cases, the motor won't start at high speeds without problems. Thanks
@324amit77
@324amit77 2 жыл бұрын
great stuff ! I would love to see more about the arm project.
@goesintite
@goesintite 2 жыл бұрын
Thank you. I'm going to look around your channel to see if you added interrupts for my motors
@fooballers7883
@fooballers7883 Ай бұрын
Thank you for a very interesting video... much appreciated.
@LearnMLHub
@LearnMLHub 10 ай бұрын
Fantastic Video and explanation, but I wonder what the formula would be for the number of steps for deaccelerating to stop using the linear algorithm. Thank you!
@russ_vee_jr4199
@russ_vee_jr4199 Жыл бұрын
For me, this is a very valuable video because it shows me how to code part of my project that I know quite a bit about but didn't know how to even begin to implement the up/down ramps. Actually, I think I can package his code into my support code verbatim. This is an excellent presentation with really clean and consice code. This engineer really knows his trade! You, Sir, will be saving me many hours of grief and constipation. Thank you so very, very much...... FWIW: 45+ yrs ago, I was the senior electronics design engineer in a small company that was developing a product that relied heavily on the performance of a stepping motor to slew and position a print head on a highly advanced dot matrix printer. Too often in testing, the stepper would 'lose sync' when starting or changing direction. It could lose one or two steps or totally lose it and chatter/vibrate like the dickens. A few lost steps resulted in fuzy characters being printed. The software weenies blamed my Z80 hardware design, but my cohort in crime explained to me what was happening and educated me on the need to 'ramp' stepper motors. Charley had Been-There-Done-That years before in a previous job. Along with becoming a lifelong personal friend, Charley was a very good and experienced engineer with many talents. When I diplomatically explained the situation to the software iguneers, they balked, told me to mind my own business, and complained to the owner that I was interfering with their work. The boss called me in and said I needed to leave the 'kids' alone. Later, the 'kids' convinced the boss that they were working with bad motors and an inferior Z80 hardware design that was losing interrupts, which of course was my fault. He asked the manufacturer/supplier to come up and help identify our hardware problems. The supplier evaluated our hardware design and motor control microcode and said nothing was wrong with the hardware but that the microcode was really lacking and really bad. As they briefed a bunch of us on their findings, a small smile creeped across my face, but our boss never looked at me. I think he was embarrassed. Four weeks later, we had a new software team leader, 2 of the original 4 'kids' were laid off, and I was appointed as project engineer with oversight over the entire project. BTW : I think those 2 kids should have been fired. The other two were good guys who knew their stuff, and one of them picked up where the two losers left off and fixed the code to perfection. Anyways, as the almighty stepper motor god in the back room sais, 'Don't ever forget your ramps, your job may depend on it'.......
@camilonauffalsalas
@camilonauffalsalas 3 жыл бұрын
Nice men, you're a crack, actually I'm planning to make a robot arm too, so these explanations can help a lot for future. Great job!
@sichun100
@sichun100 3 жыл бұрын
Good luck!
@rmapdeep1388
@rmapdeep1388 3 жыл бұрын
Good explanation. Keep it up 👍
@sichun100
@sichun100 3 жыл бұрын
Thanks 🙂
@TYGAMatt
@TYGAMatt 4 ай бұрын
Great explination. Thank you Sir
@ТарасКостенюк-щ9щ
@ТарасКостенюк-щ9щ 9 ай бұрын
it's a pity that you stopped posting new video, it would be awesome to see the finall roboproject.
@MarcusPocus
@MarcusPocus 3 ай бұрын
use AccelStepper Library, more simple with max speed and acceleration variables!!
@Disparus
@Disparus 2 жыл бұрын
in your for loop, instead of incrementing delay, if you increment the frequency then calculate the corresponding delay, the acceleration will be linear, right?
@Giutter
@Giutter Ай бұрын
Why do you use a 50% duty circle? The high time of 5 microseconds is the minimum required by the stepper drive.
@giraftw2002
@giraftw2002 Жыл бұрын
please can you explain to me why there is no delay after digitalWrite(stepPin, LOW)?
@عاشقاللغةالعربية-ق1ش
@عاشقاللغةالعربية-ق1ش Жыл бұрын
Do you know the name of an integrated circuit that gradually increases the frequency, which means acceleration?
@Aaron-hs4gj
@Aaron-hs4gj Жыл бұрын
Thanks
@KW-ei3pi
@KW-ei3pi 7 ай бұрын
Thank you for posting the files. I'm trying to utilize ConstantAcceleratioStepper2 and I need a bit of help. Are you available to answer a couple of questions? Thanks very much. Regards
@plkh9602
@plkh9602 2 жыл бұрын
Timestamp(Num_Step)=(sqrt(2)*(ALPHA/STEP_MODE))/ACCELERATION*(sqrt(Num_Step+1)-sqrt(Num_Step)) Calcul de l'intégrale sous la droite de vitesse en considérant une accélération constante ACCELERATION in step/s/s ALPHA = unit/s^-1 = 1000000 (for µs) STEP_MODE = number of precision steps / real step = 1 by default (maybe 1/2/8/16/...) Note : ((sqrt(2)*(ALPHA/STEP_MODE))/ACCELERATION) is a fixed value and could be calculated one time per stepper acceleration to freed up some CPU time
@knucklehead83
@knucklehead83 7 ай бұрын
Couldn't you do something like: for (stepperDelay = 3000; stepperDelay >= 700; stepperDelay = stepperDelay*.99) and achieve similar results? I mean, unless I am not understanding something, I was lost on the explanation of angular and linear acceleration, it seems as what you are looking for is acceleration that is proportional so that the speed ramps up in a straight line instead of curving.
@آسرطنطاوي-ط9ث
@آسرطنطاوي-ط9ث Жыл бұрын
thnx a lot that's helped me
@STRATOS13PAO
@STRATOS13PAO 3 жыл бұрын
very interesting, i typed your code and tried it for myself, i couldnt find the link to the github, i guess to make drive a robot arm you will update the code so that you can drive from a possition to an other while accelerating and keeping a stady max speed and deselerating before you reash the end possition. Is this about right or you have something else in mind? I'm also in the prosses of building a robot arm, i would love to see more videos from you.
@sichun100
@sichun100 3 жыл бұрын
Yeah progress has been a little slow, hopefully I will be working on it a bit more soon. Your description is correct, that's how I plan to drive it. I'll add the link for the github right now
@sermadreda399
@sermadreda399 Жыл бұрын
this is called (s curve motion ) and using TMCStepper library is better with TMC drivers because they have the ability to do so in the code beside holding stepper position at the movement end
@robertpeters9438
@robertpeters9438 9 ай бұрын
HOW DO YOU MAINTAIN A REQUIRED SMOOTHNESS OF COORDINATED MOTION AMONG STEPPERS?
@ralphrego7470
@ralphrego7470 2 жыл бұрын
Hi Sichun Xu, I love your presentation. I would like to know if I can stop the stepper motor in one spot indefinitely , then when I switch off my machine the stepper motor reverses to original position
@jimmcmoy4624
@jimmcmoy4624 2 жыл бұрын
You NEVER want to disconnect the ground. You always disconnect the +
@MarcelRobitaille
@MarcelRobitaille 2 жыл бұрын
What is the context for this? That is false without a specific context. If you look up low side switching, you can see that many applications disconnect the ground.
@ugetridofit
@ugetridofit 2 жыл бұрын
@@MarcelRobitaille The context is that when you have other things like serial cables and what not connected to other equipment, disconnecting the GND is a bad thing to do. It will cause other connected things voltages to spike or float at wrong levels.
Big Stepper Motors with Arduino
29:43
DroneBot Workshop
Рет қаралды 1,2 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 19 МЛН
كم بصير عمركم عام ٢٠٢٥😍 #shorts #hasanandnour
00:27
hasan and nour shorts
Рет қаралды 12 МЛН
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 55 МЛН
PCB Motor - Why Are Wedge Coils Better Than Round Coils?
7:01
Beginners Guide To Using Large Stepper Motors: #087
19:49
Jeremy Fielding
Рет қаралды 300 М.
Stepper Motors with Arduino - Controlling Bipolar & Unipolar stepper motors
50:22
Stepper Drivers A4988 vs TMC SILENT drivers - Sound & Signals
9:15
How to use rotary encoders
14:12
FriendlyWire
Рет қаралды 42 М.
LESSON 7 Using While Loops with Arduino
26:56
Paul McWhorter
Рет қаралды 193 М.
What Makes TMC2208 Stepper Motor Drivers Silent?
9:07
Michael Klements
Рет қаралды 307 М.
The fastest CPU in the world
25:53
Linus Tech Tips
Рет қаралды 1,1 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 19 МЛН