Input Shapers: 2HUMP_EI & 3HUMP_EI + Auto Tuning
-
@dc42 any chance that a future version of the toolboard could/would have the accelerometer baked into it, or an expansion header to work with say the adafruit board?
-
@nuramori
Good thought! That would also help to find different resonances on different toolheads (regarding weight) -
Here is a demonstration of input shaping:
https://www.youtube.com/watch?v=ePQ7LjKKB68
This one is wide band and supports pendulums of different frequencies:
https://youtu.be/MfLavweSiRo?t=18
Looks like magic to me, especially the fact that it's done in an open loop.
-
@dc42 Do you have an STL file that you are using to mount the accelerometer on your toolchanger? If not, I'll make one and post it.
-
@zapta said in Input Shapers: 2HUMP_EI & 3HUMP_EI + Auto Tuning:
Here is a demonstration of input shaping:
https://www.youtube.com/watch?v=ePQ7LjKKB68
This one is wide band and supports pendulums of different frequencies:
https://youtu.be/MfLavweSiRo?t=18
Looks like magic to me, especially the fact that it's done in an open loop.
That's amazing...
@zapta I'm with you on that one... absolutely black magic!!!
-
The Accelerometer saves so much time and filament finding the best frequency even for the basic DAA shaper.
M593 off
And with DAA:
Can't wait for the "real" shapers
-
My accelerometer has just arrived... Something else to tinker with when time permits.
As my printer bed moves with the part on it, I was thinking that for large parts the natural frequency will change. This begs the question could there be a way to change the parameter during a print based on the amount of filament extruded?
Just thinking out loud for now.
-
@dc42 I have my accelerometer set up on my tool changer. I mounted it like this:
Are any of the input shapers in the version you put into the dropbox?
Thanks!
-
@dc42 FWIW - I also am thinking that the table the printer is on vibrates. Could a second accelerometer could be used to measure the vibration of the printer frame and subtract it from the samples collected on the carriage? The accelerometer is measuring all vibrations, not just the vibrations of the carriage inside the printer frame. I know that samples would have to be synchronous, or perhaps asynchronous and the Fourier results of the frame vibration subtracted from the Fourier results of the carriage vibration?
-
Input shapers to generally have a range they reduce vibrations so it's not only a specific frequency they dampen but + / - x% from the specified input shaping frequency. Depending on the shaper the range is smaller or bigger.
Nevertheless it is possible to change the input shaping frequency during a print.The object "move.extruders[0].position" should display the total amount of filament used so far and with some conditional gcode in the daemon.g you should be able to achieve your goal.
-
@generisi said in Input Shapers: 2HUMP_EI & 3HUMP_EI + Auto Tuning:
I know that samples would have to be synchronous, or perhaps asynchronous and the Fourier results of the frame vibration subtracted from the Fourier results of the carriage vibration?
By using the same file for both tests, one could write a specific start- and end movement (a number of fast/short back and forth moves) which would allow to match the results. (*) The input shaper would have to search for these patterns...
*) calling a macro M98 P"ShakeItBaby.g"
-
@cncmodeller said in Input Shapers: 2HUMP_EI & 3HUMP_EI + Auto Tuning:
could there be a way to change the parameter during a print based on the amount of filament extruded?
Adding filament will change the frequencies, but it also depends where you put it. In case of a Cartesian, the layer height has an influence. In case of a Polar bed, even the distance from bed-center is important.
Then each layer of plastic adds a different amount of flexibility (PLA vs ABS, vs PETG)
It's impossible to digest all that in a theoretic shaper model.
Better measure online and correct on the fly -
Instead of input shaping, for global vibrations one could also create vibrations in opposite direction like a noise cancellation system for earphones. Maybe Piezo based, using LIS3DH as source of information.
-
@dc42 said in Input Shapers: 2HUMP_EI & 3HUMP_EI + Auto Tuning:
Yes, but perhaps not on the Duet Maestro because it doesn't have floating point hardware.
Boy, I really hope it doesn't pan out that way. I have been really looking forward to this feature on my Maestro. Accelerometer on the way.
-
I have a PT100 daughter board and my accelerometer is attached to my hot end assembly.
Could somebody point me in the direction of where to find how to connect the 2 boards and what changes are needed to config.g
Thanks -
-
@appjaws for the connection via the daughterboard see:
https://forum.duet3d.com/topic/22904/duet-2-wifi-accelerometer-connection/1 -
Thanks for the help.
I am totally confused....(not hard)from the Wiki*****
Two further signals must be connected on the accelerometer breakout board: SPI CS, and INT1. The INT1 pin must be connected to a Duet pin with interrupt capability. This is what we suggest:On Duet WiFi, Duet Ethernet and Duet Maestro all the SPI CS pins have interrupt capability, so you can use any two spare CS pins on the daughter board connector. For example, on a Duet WiFi or Duet Ethernet you could connect the accelerometer CS pin to SPI.CS3, and the INT1 pin to SPI.CS4. Then use this command to tell RRF about it:
M955 P0 C"spi.cs3+spi.cs4"
I can not see any markings on my daughter board for SPI.CS3 or CS4
from the Wiki*****
To use a direct connection, connect the accelerometer MOSI (also called SDI), MISO (also called SDO), SCLK and GND pins to the corresponding pins on the SPI daughter board connector. You can also pick up +3.3V on the daughter board connector to feed to the Vcc pin of the accelerometer.
On the accelerometer the markings are:
I2,A3,A2,A1,SDO,CSVin, GND,SCL, SDA INT
So would SDI actually be SDA?
Would SCLK actually be SCL?
Where are the corresponding SCLK, GND, Vcc SDI,SDO, SPI.CS3, SPI.CS4 on the daughter board?I already have a PT100 connected to RTD1 on the daughter board
-
@appjaws Here is my wiring diagram I used when connecting to the daughter board header on the Duet2 - see important notes below about actually connecting to the daughter board itself.
For the daughter board, I think the two key notes are
You would have needed to use spi.cs3 or spi.cs4(because spi.cs1 and spi.cs2 are used by the daughter board. Those pins are routed to the top of the daughter board on different pins (the pins that would be spi.cs1 and spi.cs2 respectively if those were routed straight through).
and
So when connecting via the daughterboard, I should connect cs to pin position 3, and int1 to pin position 1, to pick up cs3 and cs4?
Using M955 P0 C"spi.cs3+spi.cs4"
-
@sebkritikel perfect, thanks, I'll crack on in the morning.