Я использую от 1 до 4 трехосных акселерометров ADXL355 (https://www.analog.com/media/en/technical-documentation/data-sheets/adxl354_355.pdf) в сочетании с Arduino MKR WIFI1010 в тестовой установке. В идеале я хотел бы сэмплировать частоту около 500 Гц с каждым, независимо от того, тестирование с 1 датчиком или с 4 с использованием мультиплексора TCA9548A I2C. В настоящее время я собираю около 200 Гц с 1 датчиком или 50 Гц со всеми 4 датчиками (для этой настройки используется другой код). По умолчанию для ADXL355 используется значение 500 Гц, которое делает это еще более странным, я не могу пробовать с такой скоростью.
Я пытался увеличить скорость передачи данных с 9600 до 128000. Я пытался использовать Wire.setClock (), чтобы максимизировать скорость I2C до максимума 3,4 МГц, на котором могут работать датчики и Arduino. Я пытался сохранить на микро SD с помощью экрана в одной точке, хотя большая часть моего тестирования была с Serial Monitor. Я изменил Wire.write (), который должен быть тем, что контролирует выходную скорость, однако даже когда я установил его на настройку 4 кГц (Wire.write (0x00)), я все еще выполняю выборку на частоте ~ 200 Гц.
#include <Wire.h>
#define ADXL 0x1D //Datasheet pages 4 and 7 have info that will be necessary for future development.
void setup() {
Wire.begin(); // initiate the accelerometer
Wire.setClock(3400000L);
Serial.begin(128000); // initiate the serial monitor
delay(100);
Wire.beginTransmission(ADXL); //set STBY bit 0 to low / turn on MEASURE mode
Wire.write(0x2D);
Wire.write(0x00);
Wire.endTransmission();
delay(100);
Wire.beginTransmission(ADXL); //set RANGE to +/- 2g pg. 37 of data sheet
Wire.write(0x2C);
Wire.write(0x01);
Wire.endTransmission();
delay(100);
Wire.beginTransmission(ADXL); //set data rate to 4000HZ page 37
Wire.write(0x28);
Wire.write(0x00);
Wire.endTransmission();
delay(100);
}
Я ожидаю получить 500 Гц (или 4000 Гц, как мой код сейчас), но я получаю 200 Гц, и изменение установленной скорости передачи данных, похоже, не влияет на результаты. Любая помощь в увеличении моей скорости выборки будет принята! Спасибо!