Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Accelerometer Usage

    Scheduled Pinned Locked Moved
    Beta Firmware
    25
    191
    19.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Sotidiiundefined
      Sotidii
      last edited by Sotidii

      G1 X-20 G4 S2 M956 P121.0 S1000 A0 G4 P10 G1 X50 F20000
      

      Error: M956: Accelerometer is already collecting data

      gives an error message

      Duet 3 3.4.0-b2
      DSF
      Tool Board 1.1

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @Sotidii
        last edited by dc42

        @sotidii please send M115 B# where # is the CAN address of the tool board, to verify the tool board firmware version. There was a bug with similar symptoms in unofficial beta builds of the tool board, but it was fixed in the official beta release.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        Sotidiiundefined 1 Reply Last reply Reply Quote 0
        • Sotidiiundefined
          Sotidii @dc42
          last edited by

          @dc42
          M115 B 121
          FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.0beta2 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_DATE: 2021-08-03 12:42:44

          dc42undefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @Sotidii
            last edited by

            @sotidii said in Accelerometer Usage:

            @dc42
            M115 B 121
            FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.0beta2 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_DATE: 2021-08-03 12:42:44

            Run the command again, but don't put a space between the B and the 121.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            Sotidiiundefined 1 Reply Last reply Reply Quote 0
            • Sotidiiundefined
              Sotidii @dc42
              last edited by

              @dc42
              M115 B121
              Duet TOOL1LC firmware version 3.3RC3 (2021-05-26 12:30:20)

              dc42undefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @Sotidii
                last edited by

                @sotidii said in Accelerometer Usage:

                Duet TOOL1LC firmware version 3.3RC3 (2021-05-26 12:30:20)

                Please upgrade the tool board firmware to version 3.4beta2.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • Sotidiiundefined
                  Sotidii
                  last edited by

                  @dc42 OK!

                  1 Reply Last reply Reply Quote 0
                  • CCS86undefined
                    CCS86 @dc42
                    last edited by CCS86

                    @dc42 said in Accelerometer Usage:

                    @ccs86 said in Accelerometer Usage:

                    @dc42 said in Accelerometer Usage:

                    Reading one less sample doesn't help. I can only assume that communicating with the accelerometer creates an electrical disturbance that slightly affects the reading.

                    If you read only 10 samples at a time, do the peaks appear at that new interval?

                    I didn't try that. I did find that the LIS3DSH has smaller peaks are multiples of 20 samples than the LIS3DH.

                    Is eliminating these false peaks something you plan on pursuing? It seems like they have the ability to skew the analysis.

                    I tried manually removing the peak samples from a copy of one of my logs, for the purpose of comparing the analyzed result. But while the modified log is displayed correctly in DWC, the analysis always shows a blank chart.

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @CCS86
                      last edited by

                      @ccs86 said in Accelerometer Usage:

                      Is eliminating these false peaks something you plan on pursuing? It seems like they have the ability to skew the analysis.

                      I have already looked into it, and come to the conclusion that reading the data is what caused the spurious peaks. Apart from avoiding wires running very close to the accelerometer chip, I don't think much can be done about it, except perhaps randomising the times at which data is read.

                      The spurious peaks I see from my LIS3DH accelerometers are very much lower than in your plot, and even lower for my LIS3DSH accelerometer. Perhaps you have either a bad accelerometer, or a wire running right over the chip or right under the PCB.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      CCS86undefined 1 Reply Last reply Reply Quote 0
                      • CCS86undefined
                        CCS86 @dc42
                        last edited by CCS86

                        @dc42 said in Accelerometer Usage:

                        The spurious peaks I see from my LIS3DH accelerometers are very much lower than in your plot, and even lower for my LIS3DSH accelerometer. Perhaps you have either a bad accelerometer, or a wire running right over the chip or right under the PCB.

                        In the graph I posted, the Y axis scale was between 1.15 and 0.85. Your graph was 1.2 to -0.2. That is a vertical compression of 4.66 times, which visually downplays the peaks.

                        Even if yours don't have quite as much amplitude, they are still erroneous data on up to 5% of the samples taken. To me, that surely need to be addressed if you want accurate analysis.

                        dc42undefined 1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @CCS86
                          last edited by

                          @ccs86 if you use the Analyse button, I think you will see that the energy in those spurious peaks is much lower than the energy in genuine ringing. Nevertheless, if this proves to be a problem then I will look at randomising the read times somewhat to spread the spectrum out.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          1 Reply Last reply Reply Quote 0
                          • mendenmhundefined
                            mendenmh
                            last edited by mendenmh

                            One could apply a statistical hack if one really knows the problem is every 20 samples, and either the first or last sample in a batch. One can just replace the (known) bad point with the average of the point before and after. This doesn't change the power spectrum significantly. This is equivalent to adding a random Dirac comb of small amplitude (the difference between the correct, missing point and the average) to the data, which has only a very weak effect on the spectrum. The noise floor at frequencies which are harmonics of (sampling rate / 40) will be slightly raised.

                            CCS86undefined 1 Reply Last reply Reply Quote 2
                            • tecnoundefined
                              tecno @dc42
                              last edited by

                              @dc42
                              How critical is the way the board is mounted?

                              9bef51ba-f0e2-48e7-b888-c960a53d2c5a-image.png

                              Above picture is a mockup with another accelerometer.

                              As I am only going to use only X axis in this case does it really matter how it is mounted?

                              1 Reply Last reply Reply Quote 0
                              • CCS86undefined
                                CCS86 @mendenmh
                                last edited by

                                @mendenmh said in Accelerometer Usage:

                                One could apply a statistical hack if one really knows the problem is every 20 samples, and either the first or last sample in a batch. One can just replace the (known) bad point with the average of the point before and after. This doesn't change the power spectrum significantly. This is equivalent to adding a random Dirac comb of small amplitude (the difference between the correct, missing point and the average) to the data, which has only a very weak effect on the spectrum. The noise floor at frequencies which are harmonics of (sampling rate / 40) will be slightly raised.

                                As a straightforward fix I think that is a great idea.

                                1 Reply Last reply Reply Quote 0
                                • CCS86undefined
                                  CCS86
                                  last edited by CCS86

                                  I did some more testing and found something interesting. This makes me think that the erroneous spikes don't have anything to do with wiring.

                                  Running back to back tests, with the only change being the inclusion / omission of the "X" parameter in the M956 call (just X axis, or XYZ):

                                  Just X:
                                  107d3623-53ae-49d2-9b13-bde053b4ef2a-image.png

                                  XYZ:
                                  09f70d2c-2a0f-4b8a-b2f5-fd7734dfc8fb-image.png

                                  Just X still has some spike on the 20 sample intervals, but they appear much worse when logging all 3 axes (~double).

                                  And here are the analyzed results. Not vastly different, but different enough to warrant elimination of that bad data:

                                  a292211c-a637-4c61-b6e5-3e87394e8af7-image.png
                                  5d89c08d-da4a-4f7f-8ee1-0e4904deef63-image.png

                                  1 Reply Last reply Reply Quote 0
                                  • CCS86undefined
                                    CCS86
                                    last edited by

                                    Somewhat off topic, but this is wild. Here is the analysis of X at 5k / 10k / 15k accel. I did not expect such a big difference when increasing accel to 15k. Makes me suspicious:

                                    5k:
                                    53a62047-179d-4ae7-b8ae-e2cb287c2928-image.png

                                    10k:
                                    4f651040-250b-4d50-835c-ca38b144439d-image.png

                                    15k:
                                    013a1699-1a98-43f0-9e8f-a070d51486ea-image.png

                                    dc42undefined 1 Reply Last reply Reply Quote 0
                                    • CCS86undefined
                                      CCS86
                                      last edited by

                                      At this point, I am getting almost no overflows reported, without actually changing anything. Odd.

                                      Is it possible to log at faster than 1344 Hz? The sensor seems to be capable of 5000 Hz, but the "S" parameter doesn't seem to work in the M955 command. I have only ever gotten 1344 Hz and 400 Hz replies in the console.

                                      Also, DWC seems to infer a sampling rate of 1331 Hz, while RRF says 1344 Hz. Only a 1% difference, but I'm guessing it shifts the analysis result slightly. Not sure whether DWC is accurately sensing a 1331 Hz logging rate, on a desired 1344 Hz. Or, if it should be changed to match.

                                      dc42undefined 1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators @CCS86
                                        last edited by dc42

                                        @ccs86 said in Accelerometer Usage:

                                        Somewhat off topic, but this is wild. Here is the analysis of X at 5k / 10k / 15k accel. I did not expect such a big difference when increasing accel to 15k. Makes me suspicious:

                                        If the time taken to accelerate or decelerate is about half the period of ringing, that will tend to suppress the ringing. That is how DAA worked. I suggest you calculate the acceleration/deceleration time, i.e. the feed rate of your test move in mm/sec divided by the acceleration.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        CCS86undefined 1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators @CCS86
                                          last edited by

                                          @ccs86 said in Accelerometer Usage:

                                          Is it possible to log at faster than 1344 Hz? The sensor seems to be capable of 5000 Hz, but the "S" parameter doesn't seem to work in the M955 command. I have only ever gotten 1344 Hz and 400 Hz replies in the console.

                                          In theory the code support 5kHz, but it's unlikely to work when using a direct SPI connection. The LIS3DSH supports 1600Hz instead of 1344Hz.

                                          Also, DWC seems to infer a sampling rate of 1331 Hz, while RRF says 1344 Hz. Only a 1% difference, but I'm guessing it shifts the analysis result slightly. Not sure whether DWC is accurately sensing a 1331 Hz logging rate, on a desired 1344 Hz. Or, if it should be changed to match.

                                          The sensor data rate is only approximate (the manufacturer told me +/-20% AFAIR), so RRF measures it and includes the actual data rate in the .csv file.

                                          Duet WiFi hardware designer and firmware engineer
                                          Please do not ask me for Duet support via PM or email, use the forum
                                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                                          CCS86undefined 1 Reply Last reply Reply Quote 0
                                          • CCS86undefined
                                            CCS86 @dc42
                                            last edited by

                                            @dc42 said in Accelerometer Usage:

                                            @ccs86 said in Accelerometer Usage:

                                            Somewhat off topic, but this is wild. Here is the analysis of X at 5k / 10k / 15k accel. I did not expect such a big difference when increasing accel to 15k. Makes me suspicious:

                                            If the time taken to accelerate or decelerate is about half the period of ringing, that will tend to suppress the ringing. That is how DAA worked. I suggest you calculate the acceleration/deceleration time, i.e. the feed rate of your test move in mm/sec divided by the acceleration.

                                            Is that calculation only valid with jerk set to zero, or do you think it holds?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA