Is the ADXL345 just unreliable?
qv my post in the 'other place' about getting very different results from my frequency response comparisons (readings with the same procedure spaced 24 hours apart in a locked and unoccupied room produce wildly different results on my V-Core 3/400).
I've now got three ADXL345's and today have run MEASURE_AXIS_NOISE and ACCELEROMETER_QUERY on each of them a number of times. Nothing was done between each test apart from changing the ADXL345 and I wasn't in the room when the tests were run.
There seems to be a high degree of variability in the results of each measurement and none of the three sensors seems much worse or better than the others.
For ACCELEROMETER_QUERY readings ADXL#1 goes from 76-1378 in the Y value, ADXL#2 518 to 1036 and ADXL#3 -536 to 1378. All while the sensor is just sitting still.
I don't know what the numbers produced by the tests actually are, but from the spec sheet the default sensitivity is 3.822 cm/s^2 in 2G mode so variation of up to 1914 in Y between readings seems very strange.
If these devices do produce such inconsistent results, are we all just wasting our time plotting graphs from their output? or could there be some other reason why I'm seeing such ranges of values?
Do others get the same sort of results?
Thoughts, comments and brickbats appreciated.
Raw results in next post as Discord limits to 2K postings.
26 Replies
silly question but fans are off?
apparent-cyanOP•2y ago
Print head at bed centre. Hotend & Cooling fans off. Steppers off
(M18). Pi POE heatsink fan running.
axes_map: x,z,y in printer.cfg
ADXL Power Supply - 4.85V measured at ADXL345 pins. Within spec for a GY-291.
ADXL #1
MEASURE_AXIS_NOISE
09:25:37 Axes noise for xy-axis accelerometer: 25.903595 (x), 65.426018 (y), 28.002754 (z)
09:25:40 Axes noise for xy-axis accelerometer: 24.472181 (x), 62.738261 (y), 24.775556 (z)
09:25:42 Axes noise for xy-axis accelerometer: 27.770979 (x), 61.510182 (y), 29.289397 (z)
09:25:45 Axes noise for xy-axis accelerometer: 25.142165 (x), 64.935647 (y), 25.981033 (z)
09:25:47 Axes noise for xy-axis accelerometer: 24.094781 (x), 68.824303 (y), 27.568795 (z)
09:25:50 Axes noise for xy-axis accelerometer: 24.373538 (x), 70.203418 (y), 26.036982 (z)
09:25:53 Axes noise for xy-axis accelerometer: 24.697278 (x), 68.052506 (y), 25.698283 (z)
09:25:55 Axes noise for xy-axis accelerometer: 25.115195 (x), 65.500693 (y), 25.720471 (z)
09:25:58 Axes noise for xy-axis accelerometer: 25.011335 (x), 65.260256 (y), 24.179036 (z)
ACCELEROMETER_QUERY
09:27:49 accelerometer values (x, y, z): 296.082377, 306.438199, 9992.780217
09:27:50 accelerometer values (x, y, z): 444.123565, 536.266849, 9770.718434
09:27:52 accelerometer values (x, y, z): 148.041188, 229.828649, 10140.821405
09:27:53 accelerometer values (x, y, z): 444.123565, 1378.971896, 10362.883188
09:27:54 accelerometer values (x, y, z): 296.082377, 459.657299, 10066.800811
09:27:56 accelerometer values (x, y, z): 296.082377, 383.047749, 9844.739029
09:27:57 accelerometer values (x, y, z): 222.061783, 153.219100, 9844.739029
09:27:58 accelerometer values (x, y, z): 444.123565, 76.609550, 9770.718434
09:28:00 accelerometer values (x, y, z): 296.082377, 459.657299, 9992.780217
09:28:01 accelerometer values (x, y, z): 148.041188, 153.219100, 9918.759623
09:28:02 accelerometer values (x, y, z): 444.123565, 153.219100, 9918.759623
ADXL #2
MEASURE_AXIS_NOISE
09:57:11 Axes noise for xy-axis accelerometer: 21.488541 (x), 53.400406 (y), 22.892385 (z)
09:57:14 Axes noise for xy-axis accelerometer: 21.301344 (x), 54.300633 (y), 23.872559 (z)
09:57:16 Axes noise for xy-axis accelerometer: 22.209539 (x), 53.293956 (y), 25.161205 (z)
09:57:19 Axes noise for xy-axis accelerometer: 19.982583 (x), 55.025041 (y), 22.461924 (z)
09:57:22 Axes noise for xy-axis accelerometer: 23.466676 (x), 51.344939 (y), 22.920010 (z)
09:57:24 Axes noise for xy-axis accelerometer: 22.146765 (x), 51.463055 (y), 22.152714 (z)
09:57:27 Axes noise for xy-axis accelerometer: 21.191429 (x), 47.874401 (y), 22.745475 (z)
09:57:29 Axes noise for xy-axis accelerometer: 21.228416 (x), 55.969937 (y), 23.007746 (z)
09:57:32 Axes noise for xy-axis accelerometer: 22.049474 (x), 49.096758 (y), 23.871996 (z)
09:57:35 Axes noise for xy-axis accelerometer: 21.918745 (x), 52.979106 (y), 22.440106 (z)
09:57:37 Axes noise for xy-axis accelerometer: 20.575176 (x), 50.119271 (y), 24.315349 (z)
ACCELEROMETER_QUERY
09:58:29 accelerometer values (x, y, z): 666.185348, -306.438199, 10288.862594
09:58:29 accelerometer values (x, y, z): 1036.288319, 153.219100, 10066.800811
09:58:30 accelerometer values (x, y, z): 740.205942, 306.438199, 10288.862594
09:58:30 accelerometer values (x, y, z): 518.144159, 0.000000, 10214.842000
09:58:32 accelerometer values (x, y, z): 1036.288319, -536.266849, 11029.068536
09:58:33 accelerometer values (x, y, z): 518.144159, 1378.971896, 9474.636058
09:58:34 accelerometer values (x, y, z): 814.226536, 612.876398, 10584.944971
09:58:36 accelerometer values (x, y, z): 814.226536, 153.219100, 10140.821405
09:58:37 accelerometer values (x, y, z): 666.185348, 306.438199, 10288.862594
09:58:38 accelerometer values (x, y, z): 666.185348, 306.438199, 10066.800811
ADXL #3
MEASURE_AXIS_NOISE
15:33:54 Axes noise for xy-axis accelerometer: 22.145834 (x), 57.123242 (y), 23.654968 (z)
15:33:56 Axes noise for xy-axis accelerometer: 21.712356 (x), 51.395193 (y), 22.199809 (z)
15:33:59 Axes noise for xy-axis accelerometer: 22.216715 (x), 55.398921 (y), 22.401974 (z)
15:34:02 Axes noise for xy-axis accelerometer: 21.503211 (x), 51.319914 (y), 23.481196 (z)
15:34:04 Axes noise for xy-axis accelerometer: 21.980826 (x), 56.305112 (y), 22.762685 (z)
15:34:07 Axes noise for xy-axis accelerometer: 22.973753 (x), 54.019205 (y), 23.600833 (z)
15:34:09 Axes noise for xy-axis accelerometer: 22.047764 (x), 57.547056 (y), 22.790226 (z)
15:34:12 Axes noise for xy-axis accelerometer: 22.955984 (x), 55.017138 (y), 22.091125 (z)
15:34:15 Axes noise for xy-axis accelerometer: 21.462280 (x), 54.685568 (y), 23.619194 (z)
15:34:17 Axes noise for xy-axis accelerometer: 22.228954 (x), 50.884562 (y), 21.088305 (z)
ACCELEROMETER_QUERY
15:35:03 accelerometer values (x, y, z): -148.041188, 1378.971896, 9770.718434
15:35:05 accelerometer values (x, y, z): -296.082377, 1225.752797, 9770.718434
15:35:06 accelerometer values (x, y, z): -296.082377, 1225.752797, 9918.759623
15:35:07 accelerometer values (x, y, z): -444.123565, 1225.752797, 9918.759623
15:35:09 accelerometer values (x, y, z): -148.041188, 1072.533697, 9918.759623
15:35:10 accelerometer values (x, y, z): -148.041188, 1149.143247, 9696.697840
15:35:11 accelerometer values (x, y, z): -222.061783, 995.924147, 9770.718434
15:35:13 accelerometer values (x, y, z): -296.082377, 1302.362347, 9918.759623
15:35:14 accelerometer values (x, y, z): -222.061783, 1225.752797, 9696.697840
15:35:15 accelerometer values (x, y, z): -222.061783, 1149.143247, 9844.739029
15:35:17 accelerometer values (x, y, z): -296.082377, 1302.362347, 9844.739029
15:35:18 accelerometer values (x, y, z): 0.000000, 919.314598, 9696.697840
Yes except for the Pi POE heatsink fan which is DIN mounted on the back of the printer. There is a laptop on a bench several meters away but unless I'm in a curious highly variable local gravity field I can't think what else could be causing these weird datasets.
btw looking at the noise values
I dont think there is anything wrong
do you get widely different input shaper graphs?
apparent-cyanOP•2y ago
Yes. To summarise my previous post before this became a forum.... I remotely (the room containing my V-Core3 400 was locked and alarmed) powered up, did a G28, ran my little move the head around a bit macro, did the MEASURE_COREXY_BELT_TENSION thing and got one graph. Powered off and repeated the same process 24 hours later and got something quite different.
I've been wondering why I'm chasing my tail making micro changed to belt tension and seeing no or big differences.
how long was the VC3 assembled for?
fresh setup?
apparent-cyanOP•2y ago
No been running it since... October '21. I am wondering about the belts getting stretchy as they're the original Ratrig so I have some Gates heading my way.
I would probably just get new ADXL, they are cheap
apparent-cyanOP•2y ago
I've got three! two only just turned up today and tried each one (see above) back to back with much the same variable results.
how do your cables look like?
apparent-cyanOP•2y ago
Deconstructed CAT5 cable. If it was a cable problem I'd expect to see either low voltage (it's 4.85V at the ADXL) and/or SPI errors (AIUI SPI does have checksum and overrun detection).
It's kind of the reason for trying three. I suspected it could be the ADXL345 but the above tests indicate they're all the same.
apparent-cyanOP•2y ago
These are the graphs from my previous post. 24 hours apart NOTHING done to the printer other than the tests. Hence trying to investigate the consistency of the measurements.
apparent-cyanOP•2y ago
and here's one generated just now. Again no changes or twiddling with belts.
apparent-cyanOP•2y ago
I'm really not sure how I'm meant to make use of these graphs if they are so inconsistent.
Does anyone else have an ADXL345 connected and feel like running a few MEASURE_AXIS_NOISE and ACCELEROMETER_QUERY back to back and seeing if their results are like mine?
deep-jade•2y ago
Are you sure that your accelerometer is tighten enough on the printer? Maybe it moves a bit…
apparent-cyanOP•2y ago
@arcy0185 Yes it's securly fixed to the EVA. A wobbly ADXL might explain my random MEASURE_COREXY_BELT_TENSION results but doesn't explain why the ACCELEROMETER_QUERY produces seemingly random results when the printhead isn't moving.
As nobody's come back on their results from a few ACCELEROMETER_QUERYs I'll try asking in another channel.
As a followup @helgekeck kindly ran some ACCELEROMETER_QUERYs on his machine and got a somewhat similar range of fluctuating values returned.
Seems I'm going to have to look elsewhere for a solution to this puzzle 😦
are these your graphs here? definitely not an ADXL issue
assembly issue
can you show a photo of your toolhead and the cable loom installation?
apparent-cyanOP•2y ago
FWIW, I've tried holding the cable bundle while doing the MEASURE_COREXY_BELT_TENSION test and that doesn't make much/any difference.
show the adxl setup closer please
from the side maybe
this doesnt look like a typical installation
apparent-cyanOP•2y ago
The outer socket head screws for the mount go into the EVA support. The ADXL mounting ones go into heatset inserts in the grey plastic. Tried without Shroud but no difference (unsurprisingly as it's not bolted to the shroud).
apparent-cyanOP•2y ago
FWIW I have checked every screw and bolt for tightness; none were loose.
The thing that really puzzles me is that I get different results from MEASURE_COREXY_BELT_TENSION hours apart when the V-Core is in a locked and alarmed room so cannot have been tweaked.
something is loose, something is vibrating/shaking
try to zip tie your really heavy adxl cable to the extruder tensiotner at least
dont say that this solves your problem, but it doesnt hurt
apparent-cyanOP•2y ago
Worth a try. Same methodology. Powered up. G28, wizzed the gantry round a bit, ran MEASURE_COREXY_BELT_TENSION.
I'ts actually very similar to the one from the 2nd December (posted above) so maybe you've hit on something there.
yeah, your cable looks super massive, whats that exactly btw?
your ADXL uses only two screws, so even if they are tight its relatively easy to bend the board
is that a network cable?
so here is my suggestion:
1. dont use that massive network cable or whatever this is, these cables do not flex very well, they transfer every little movement to the adxl board. use individual wires inside a sleeve
2. check your belt path for binding, means check if the belt grinds somewheree, this can happen in the motor cages and xy joiners
3. check every screw again from eva, tthe joiners, the rail, .......
4. consider to update to the FMMM mod, this will remove the motor cages completely out of this equation
5. same for front idlers in case you are using Enclosure 1.0
look here at the motor cages and front idler
this will save you a lot of headache
oh, and the cherry on top is a medium preloaded x-rail from CNA
apparent-cyanOP•2y ago
Thanks. The cable isn't actually that massive (repurposed CAT-5 patch cable possibly? Hmmm... colours seem wrong for that... can't remember as it was a long time ago that I built it). The cores are 0.8mm insulation diameter and the sheath ~5mm. I guess it's the split sleeve making it look huge but I think I have some of Mikkel's prefered cable lying around so I'll try that or some loose silicone wires inside the sleeve. <thinks>or even a short silicone wire extension to isolate the ADXL?
I've just had some Gates belts turn up so I'll try them and check the belt runs while I do so. I did remove the adjuster blocks from the EVA and pulled the belts trying to feel for binding when I started down this rabbit hole but didn't find anything.
I am using the, original, Ratrig enclosure (hinged lid) so don't see that I could use the FMMM mounts in your picture. I have changed the front idler mounts for the Funsor aluminium ones (and Funsor aluminium XY joiners with Carbon plates) but not done the motor plates as that's a bit more of a PITA. Maybe it's time to do so.
Thanks for all the suggestions. I'll report back when I see any changes which might help someone else down the line.