I tried to reactivate my first printer, since i had some major developments on my second one. I made it up, as the second printer now is and tried to bring up the ADXL345 again.
In the first step it did nothing at all, so i decided to exchange the ADXL with one i dismantled from the previous print head. Success! But sadly the ADXL answered only once - every following ACCELEROMETER_QUERY fails with an ‘Invalid adxl345 id’ and it is throwing different id’s repeatedly. After power cycling the board, i get a new first shot and repeated fails - so i can confirm, the ADXL is not dead.
13:32 Invalid adxl345 id (got fa vs e5).
13:32 Invalid adxl345 id (got fa vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
13:32 ACCELEROMETER_QUERY
13:32 Invalid adxl345 id (got 0 vs e5).
13:32 Invalid adxl345 id (got 0 vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
13:32 ACCELEROMETER_QUERY
13:32 Invalid adxl345 id (got 30 vs e5).
13:32 Invalid adxl345 id (got 30 vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
13:32 ACCELEROMETER_QUERY
13:32 Invalid adxl345 id (got 82 vs e5).
13:32 Invalid adxl345 id (got 82 vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
13:32 ACCELEROMETER_QUERY
13:32 Invalid adxl345 id (got 0 vs e5).
13:32 Invalid adxl345 id (got 0 vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
13:32 ACCELEROMETER_QUERY
13:32 accelerometer values (x, y, z): 1036.288319, -6143.709319, 6052.154434
13:32 ACCELEROMETER_QUERY
I found posts with similar problems already:
I have seen quite a lot indications to wiring being the problem:
And yes, i have obeyed all those recommendations, but missed to follow this last one:
To make things even worse: I have a second printer with the exact same configuration and the ADXL works perfectly in that machine, after having a painful phase in research and development:
Consequently i have to exchange the parts from one Machine to the other - but, call me a chicken, i decided to ‘never touch a running system’!
So, my conclusion is: Leaving the ADXL what it likes to be and head for a reliable alternative, which is less picky and fits into the same location, will become my way.
Finally my Question is: Does anybody have recommendations for an alternative Chip?
19:07 Invalid adxl345 id (got ff vs e5).
19:07 Invalid adxl345 id (got ff vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
19:07 MEASURE_AXES_NOISE
19:07 Axes noise for xy-axis accelerometer: 1555.588271 (x), 1881.821208 (y), 7255.840686 (z)
19:07 MEASURE_AXES_NOISE
You can simply try to use manta’s SPI instead of CB’s.
And in case of troubles - decrease the SPI rate.
(or even use software SPI, it is more flexible generally and slower, that is okay for occasional accelerometer use, I suppose).
Otherwise there is a plenty of accelerometers supported right now.
From my experience all my 4? idk, more then one, simply just works. Sometimes I do need to decrease rate, but otherwise no issue.
Just looking at your klippy.log (thank you for that) and see that you’re running your SPI bus off the CB1 and using spidev for the interface - why are you doing that?
When I need a separate ADXL345 (on most of my printers, I use EB42 toolhead controller boards) I wire it to the main controller board and not to the host GPIO pins.
Here’s a video showing the basics for a Manta M8P:
to answer your question, i ’d like to refer to our discussion one year ago :
@nefelim4ag this should also answer, why manta’s SPI is not in use for the ADXL - it is reserved for ADS1220 (whenever i have managed to build a working load cell endstop).
Somewhere in that Topic i may also have explained why i do not use toolhead controller boards, but in short:
I like to avoid having the stepper driver for the feeder within the build chamber, since i reach temperatures around 70°C in there. That doesn’t seem to be a good environment for stepper drivers.
On the other hand i kept my toolhead extremely slender and lightweight.
X-stop Z-stop, ADXL, fans and feeder are the only components i accommodated there in a very compact manner. There is no room for an additional MCU there - and as far as i can see, no need also.
Just my two cents is that in my experience, if the accelerometer does not work via SPI due to issues with wiring (e.g. too long wires, electromagnetic interference, etc.), decreasing SPI rate almost never helps (well, I do not recall that to ever help me). My hypothesis here is that issues with wiring affect signal shape (e.g. the shape of the signal rise and fall), which messes up SPI protocol handling by the hardware (on accelerometer?), and decreasing the transmission rate does not improve the signal shape, helping nothing. And we are not operating at the speeds when individual clocks become too short and the signal rise and fall start to affect each other already.
That was a long involved discussion a while ago and quite a bit of water has passed under the bridge since then.
Going over it again, I don’t think I’m contradicting myself here - if you look through the post you’re listing:
I guess it’s not completely explicit but I was saying that you can use SPI1 for the ADXL345 - what I’m recommending here. At the time I did not know (you hadn’t decided) which stepper drivers you were using so I put in the caveat that if you’re using stepper drivers that use an SPI port you should use something other than SPI1 on the P6 connector.
Going through your klippy.log, I saw that you are using TMC2209s for all your stepper motor drivers so, using P6 and SPI1 (like I suggested in my original reply) should not have a problem and, in my opinion, should be more reliable than using the bit banging port software of spidev
When I talked about my usage, I noted that I use the integrated ADXL345 on the EBB42 when I have a toolhead stepper motor. I also use the small ADXL345 boards (from Amazon/AliExpress), connected to an SPI port on the main controller board and zip-tied to the toolhead for resonance measurements:
Not 100% true. There is the possible I2C/SPI conflict that you can get with the ADXL345 and other SPI devices where the I2C start conditions can appear to the ADXL345 which results in it responding as an I2C device, causing bus contention with the other device(s) on the SPI bus:
The first time I set up an ADXL345 on a printer, I also had a BTT Mini 12864 display on the same bus and nothing worked right after that.
This is why I only recommend using the ADXL345 on SPI buses that don’t have any other devices on it - unless the controller board was designed by an exceptionally smart engineer.