Coordinated stepper motor control (arduino)

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

Fantastic work! It's rare to see anyone create an alternative to the Accelstepper library, which does multiple steppers with either acceleration or coordination, but not both. I'd be very interested to see this migrate to a separate library.

rthally
Автор

most insane video ever! I tried to understand it when I was 18, 4 years ago, but I failed. So I came back today, and I have to say that you did an excellent job.

alizghoster
Автор

AWESOME demonstration and tutorial! Exactly what I was looking for. Although I've loved DIY-type stuff for over 30 years, professionally, I'm an automated product and system design engineer (and design engineering instructor). I have tons of invention ideas that I want to bring to life, and some of those involve motion control. You've taken a professional approach to achieve the kind of motion control (and experience) you were after, combining several skills, and sharing your journey with us. THANK YOU SO MUCH! Also, you cracked me up when you asked if you just heard one of us yawn!!! That was actually the part where I was excitedly thinking "this is EXACTLY what I was looking for, and this guy thinks and explains things they way I do". Far from yawning!! Ha ha! Thank you again, and we'll be in touch!

conraddiaz
Автор

Thanks for the video, answering your question(if it is still valid), the series sum can be calculated from the following formula
float calcAccelDuration = step_delay * sqrt( (float)accel_lim + 1) ;
variable names from the ATmel document. Greetings from Poland.

maciejmajewski
Автор

I think this is my 5th time watching this video. every watch, It's making more sense for me! Im new to arduino and steppers btw 😅

franztrinidad
Автор

Actually linear acceleration is not always what you want... I made a position controller in the late 80-ies and we had problems when we used it for portal conveyors. The structure was shaking. The reason is that linear acc - constant speed - linear deceleration contains a lot of higher harmonics. Ideally you should try to move things in a way that does not have any higher frequency components. Sine-square acceleration does this and I used a table to calculate this. I also had dedicated hardware to generate the pulses... The portal conveyors were not shaking any more but we could notice that the structure bent very slightly during the acceleration and deceleration. It was amazing...

Siamect
Автор

That's awesome! Btw. the most important use case of coordinated motors is on robotic arms. Since CNC machines often have to move axis-by-axis except for interpolated movements like you showed with the diagonal path. I love coordinated motors!

webbastler
Автор

Just in case this helps out any other rookie programmers here, I finally figured out why the final sketch wasn't working when more than 8 motors were added in the same manner in the code. It's because the left and right bitshift operators (<< and >>) would break the byte type for remainingSteppersFlag and nextStepperFlag. Just find "byte" and replace with "word" in the sketch and all is well. All you experts can tell me how obvious this was but it took me all day. I was sure something in the interrupts or timing needed to be adjusted given the extra overhead, but no. Live and learn!

exnihilo
Автор

One of the best videos I've seen in a long time! Well narrated, interesting subject, examples well presented and explained. Really, really good job!

msimila
Автор

well done. really dense of concepts and best explained. Thank you. Instead of using already prepped libraries, gone under the hood and see how it's actually working. recommended for everyone who wants to understand more

Steve_LSP
Автор

I'm so glad that youtube suggested this video to me. Very nice, super interesting and well explained (from my point of view). Thank you. And finally I saw an real life application of a series and of a series sum (because on my math classes they teach me a lot of these series, but I never understood why should I know about them and what they are good foor). Very good video. Definitely I'll what your other videos ;)

randunik
Автор

Thanks a lot. I learned much, always wondered how to program interrupts with Arduino. Nicely structured lesson. Assigning this video as "Entertainment" is pure understatement, engineering would be appropriate ...

jenskapmeyer
Автор

Hallaluha, someone actually showing and explaining in detail. I'll certainly be watching this again.

adrianrawlings
Автор

Excellent topic. You have a mastery of coding the program. I need to watch this video 10x to see the total picture. Your programming jump start a newbie like me to a higher level. Your programming is a nice template to master this Arduino, stepper motor & controller in one place. Maybe you teach us to handle another beast called Picollo F28004s LaunchPad of Texas instrument. Thank you very much for sharing your intelligence.

yurigagarin
Автор

Almost every time I'm working on an electronics related project I find a video of you covering exactly what I was looking for! :D

MaximilianBeck
Автор

You are like a magician! I had incredibly hard time with these steppers! Thank you!

johannesbrahms
Автор

I enjoyed your video and didn't yawn.

The standard for coordinated stepper motors is Bresenham's line algorithm. Most famous in graphics. But it was originally developed by Jack Bresenham in 1962 to coordinate the motors for line drawing on a Calcomp plotter. It is the algorithm used in the open source GRBL CNC code. Bresenham's is all integer in the main loop, so very fast. I'm not sure what GRBL does for acceleration. They managed to cram it all into an Arduino Uno with just 2K of RAM. They just went to the Mega in the last year.

I'm working on making a CNC glass cutter. The glass cutting head needs to be parallel to the direction of travel. So I'm going to use a fourth stepper motor coordinated with the with the original three. Before I dive down into the rabbit hole of GRBL and Bresenham's it is interesting to see what other people have done.

Thanks,
Kurt

k
Автор

I'm using your simpleAccel for a 3 motor polisher, with 3 motors of 2HP, they move with the help of linear rails and servos back and forward to polish metal, is really really cool your video.

johnlocke
Автор

great video! I'm just now developing a cable robot for a uni project and I've looked at your sketches and the Atmel doc, and I've managed to add my take on this, in short, I'm giving a fixed time target for all motors to complete their task (just a constant acceleration between two positions). With that, you can set a base start delay and acceleration proportional to the Steps/Time request.

MrSantiagoDELO
Автор

I enjoyed the video a lot, quite followed it until the end, and I'm going to merge your last idea into the existing multistepper library

profBricks
join shbcf.ru