wunderwaffe: рабочее (Default)
доктор Вандершпигель ([personal profile] wunderwaffe) wrote2021-11-01 08:26 am

Как лучше исследовать то, что происходит в фильтре?

Гнать сырые данные в комп и разбираться с ними детально, т.к. я не очень понимаю что происходит - не секу тему и не вьезжаю в фишку.

Скорость I2C по умолчанию - 100 кбит/сек что примерно соответствует 115200 бод для СОМ-порта, т.е. можно гнать данные более-менее как IMU их отдает, если успевает* Полный цикл в ардуине с матобработкой занимает 6-7 мс, т.е. если принять то условие, то для передачи 2 байта на три оси на 3 датчика = 18 байт, а для передачи 18 байт каждые 1000мс/(6-7)мс достаточно 1000мс / 6мс * 18 байт * 10 бит/байт(для передачи) ~ 25000-30000 бод.
Т.е. по грубым прикидкам два из трех или три из четырех измеренных значений ардуиной не обрабатываются.
Поэтому можно
1) сделать ардуину мостом I2C -> COM порт, и колупаться с сырыми данными в компе
2) Считывать непосредственно I2C, например с помощью RaspberryPi, поставить на него Лазарус и колупаться там.
Раскопал пылившийся на полке Raspberry Pi 3 Model B 1GB RAM, обновил систему и поставил Лазарус, как написано вот здесь -
https://wiki.freepascal.org/Lazarus_on_Raspberry_Pi
(работа Лазаруса с I2C и прочими I/O описана там же)
Включение I2C и подключение модуля Troyka -
https://github.com/Shatki/pyTroykaIMU
________________
* данные по датчикам - https://wunderwaffe.dreamwidth.org/33872.html#cutid1

Post a comment in response:

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting