Welcome! Log In Create A New Profile

Advanced

Reducing vibrations before "extruder" reaches defined position

Posted by Arnix 
Reducing vibrations before "extruder" reaches defined position
September 21, 2018 07:50AM
Hi to all.

Im wondering if it's possible to reduce movement speed few cm before endpoint.

e.g. if the object is, lets say 50 cm from base center and if the moving speed is
fast, would it be possible to reduce this speed few cm before endpoint. ?

I just to reduce vibrations that are produced if the extruder stops without "slow breaking"...

A.
Re: Reducing vibrations before "extruder" reaches defined position
September 21, 2018 08:03AM
Quote
Arnix
Hi to all.

Im wondering if it's possible to reduce movement speed few cm before endpoint.

e.g. if the object is, lets say 50 cm from base center and if the moving speed is
fast, would it be possible to reduce this speed few cm before endpoint. ?

I just want to reduce vibrations that are produced if the extruder stops without "slow breaking"...

A.
Re: Reducing vibrations before "extruder" reaches defined position
September 21, 2018 12:22PM
That sounds possible, but reducing acceleration would have a somewhat similar effect. Or you could generate Gcode that splits the move into a fast and a slow part.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Reducing vibrations before "extruder" reaches defined position
September 21, 2018 04:32PM
Marlin keeps constant speed of carriages instead of platform (at least it did about a year ago, not sure about the latest version).

The result is that the hotend speed is slower in the radial direction near the edge of a heatbed.
Tangential speed of the platform will continue to be high.

Other option is what dc42 mentioned. Reduce your acceleration and jerk settings globally or on the fly with M201. You need slicer support to change it depending on the hotend position.

No clue why you want it and I do not consider it a good feature anyway.
Re: Reducing vibrations before "extruder" reaches defined position
September 22, 2018 02:43AM
Quote

No clue why you want it and I do not consider it a good feature anyway.
It makes perfect sense for a pick and place machine.

You could try to set max. Z-speed to a low level. That way vertical_only moves would be fast, but the picking move ( lowering Z ) is as slow as Z.
Don't go slower than the conveyor belt speed, otherwise the bottles will escape winking smiley
Re: Reducing vibrations before "extruder" reaches defined position
September 23, 2018 07:47AM
Hi guys and thank you all for replay.

I will try all your suggestions, but i do have one more problem.
Regardless the speed, i can see "ring " on every axis and this is additional problem regarding vibrations ( at higher speeds ).
E.g. if i test separately every axis, you can clearly see ring some 20 cm from base and outer radius is 50 cm from base so this has nothing to do with robot boundaries...

2.) After that ring, robot looses himself and returning to starting point isnt correct. To be more exact, head is moved to center but it misses the center spot for the amount of that ring.
At higher speeds you can see bigger rings and bigger homing errors...

3.)
Is there a way to "compensate / autocalibrate " robot position if robot hits some object ?
E.g. as test i have set bottle filled with water and the bottle is located at X30.
Robot job is to hit this bottle, and moves to X0. The task is done but you can see something similar as the part i described in point 2.

4.) I need to find a way (or understand), how will robot react if it hits some obstacle of if something goes wrong with pickup part.

Should i consider buying stronger motors ( then i would need external power supply for duet )
Maybe some position sensor should do the trick ?

Arnix
Re: Reducing vibrations before "extruder" reaches defined position
September 23, 2018 11:27AM
The problem is that our machines are open loop.
Most probably your steppers skip steps (e.g. at crash). If they skip steps then there is no way for firmware to know where the head is located because firmware does not know how many steps were skipped. The firmware state and mechanical machine state are not synchronized. The only way to resynchronize an open loop machine is to home all axes again.

If you want to recover from skipped steps without homing then you need to make your machine a closed loop system. One option is to use servos instead of steppers. Other option is to add external sensing elements (e.g. on platform or on each stepper) which will measure the platform position and report it to the firmware. This will give you more control but you need also firmware support.
Re: Reducing vibrations before "extruder" reaches defined position
September 23, 2018 02:12PM
@hercek
- thank you for explanation between open and close systems.
I didnt take this in consideration when i was defining design of the robot, but i still can change the HW.

If i have to choose i would say that i will rather add some HW part/sensor.
Firmware can be updated in the near future....

Can you suggest some encoder for nema23 / 1,8 degrees 3A motor with installed 10:1 gearbox ?
Or maybe some other solution ?

A.

Edited 1 time(s). Last edit at 09/23/2018 02:19PM by Arnix.
Re: Reducing vibrations before "extruder" reaches defined position
September 23, 2018 04:50PM
Adding an encoder on a stepper can make it kind of like a servo.
May be somebody will chime in to tell you whether DUET board can support some encoders. If so then you should select the ones supported by DUET and update firmware (if it does not have support for it).

I used only RM44SC. Not with a 3D printer. It would be good enough to mount on your steppers (before the gearbox). But it is probably overkill. You should be able to find something simpler/cheaper. You need an encoder with higher resolution (after it was lowered by its precision) than stepper full step to detect a skipped step.
Re: Reducing vibrations before "extruder" reaches defined position
September 24, 2018 04:34AM
Regarding the HW...
I can add some optical encoder and i guess this should do the trick.

There is one major thing to solve.... stabilization rod in the middle of robot.
Im always impress when i see ABB flexpicker at work, but this one, as any other big
size robot, uses some kind of stabilization.

As you can see, moving speed from some X to some Y point is really fast, but there is no or almost no
vibration when robot reaches target point. I dont know if this is compensated with motors or with stabilization rod, or both...
Maybe bigger gearbox ratio ?

[www.youtube.com]

A.
Re: Reducing vibrations before "extruder" reaches defined position
September 24, 2018 05:17AM
The shock damper probably plays the major role. It also lowers maximum acceleration.

You can change the resonant frequency with the gearbox and steppers and that will influence vibrations too. E.g. bigger gear box ratio will increase resonant frequency. If that moves it far enough from the frequencies induced by movement than that will help too.
Re: Reducing vibrations before "extruder" reaches defined position
September 24, 2018 07:07AM
Professional robots usually use servo AC or DC motors with encoders (not steppers). This close loop systems can achieve much better control of velocity, acceleration and position. They can move much faster with less oscillations. Advantages of home made 3D printers are lower cost and good (enough) results. That's why they are so much available.
Re: Reducing vibrations before "extruder" reaches defined position
September 24, 2018 10:01AM
@tabana
I agree with you regarding DC motors, but this can be implemented in V.2 ( if necessary ).
At the begginig i was quite sceptic regarding the speed and perfomance of stepper, but after
bunch of test i must say am quite satisfied. I can make pick and place under one second and this
is OK for first version. When i solve vibration and ring part, it should be quite good piece of equipment.

@hercek
Do you know where can i buy such shock damper ?
The one that can be used in delta robot design....

Now that i mentioned pickup part, i got one question.

This is the test code that am using to locate object and to move it to "container":

G28
G1 S2 X25 Y-20 F500 --> starting position --> container
G4 100
G1 S2 Y22 X30 z-5 F500 --> object position
G4 100
;-----------------------------
; part for calculating conveyor track speed in vision system
;----------------
;G91
;G1 Z-15 F500 --> down
;G1 Z0 F500 --> up
;G1 S2 X20 Y28 Z-10 F500 --> one of the tests
;----------------
G1 S2 X25 Y-20 F500 --> transfer to container
G4 100

I have tested several options to create actual pickup but i can not calculate right
UP/DOWN position. E.g. i can locate object and place the "extruder" right on top of it
but when i lower the head down, arms are moved aside and it's quite hard to lower the arm down,
on that specific location. Btw. at the moment, test is done on solid platform, so object is still.
In the future, i will have to recalculate this to the speed of conveyor track...

A.

Edited 2 time(s). Last edit at 09/24/2018 10:31AM by Arnix.
Re: Reducing vibrations before "extruder" reaches defined position
September 24, 2018 10:49AM
No specific recommendation on a shock damper.

Quote
Arnix
E.g. i can locate object and place the "extruder" right on top of it but when i lower the head down, arms are moved aside and it's quite hard to lower the arm down, on that specific location.
If the location below is mechanically reachable (*) then it looks like firmware bug.

(*) Do all the arms have enough free movement to follow platform down to the desired position?
Re: Reducing vibrations before "extruder" reaches defined position
September 25, 2018 04:52PM
Yes, its mechanically reachable. So it could be firmware bug....
We will see.

Regards !
Sorry, only registered users may post in this forum.

Click here to login