ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 октября
1544044 Топик полностью
Eddy_Em (25.09.2025 00:19, просмотров: 90) ответил Eddy_Em на А есть ли у кого-нибудь работающий ИК-болометр на MLX90640 и STM32F303CBT6? Хотелось бы производительность сравнить.
Таки заработало! 

https://github.com/eddyem/stm32samples/tree/master/F3%3AF303/MLX90640multi

Правда, я надеялся, что 8 датчиков "влезет" в STM32F303CBT6, ан нет: 40кБ ОЗУ хватит лишь на семь (плюс всякие транспортные и промежуточные буферы и т.п.).

На скорости 400кГц (не говоря уж об 1МГц) спокойно пять картинок при частоте обновления каждого датчика в 1Гц отоваривает за одну секунду. Пересчет идет лишь по запросу изображения. Т.к. я сэкономил на буфере предвычесленных параметров (он занимает аж 10100Б супротив 1668Б "сырых" данных), вместо 8-8.5мс одно изображение обсчитывается 13-14мс.

Как ни странно, датчики, висящие "на соплях", работают даже на 2МГц - "разогнал" I2C… Правда, там такая дичь с этими таймингами в регистрах, что каждую конкретную скорость приходится настраивать, смотря на картинку в осциллографе. И "ровных" значений вообще не получается, понятное дело (ведь частота тактирования I2C - 72МГц, а помимо установленных параметров еще есть "плавающие" времена переходных процессов).


Поигрался с изменением частоты опроса. Толку особого от дефолта уходить нет: и на бóльших, и на меньших частотах сильней шумит. И разрядность внутреннего АЦП нет смысла менять. "19 бит" - похоже, искусственно вычисляется, а меньшая битность дает сильней шумы.


Посмотрел выхлоп с пяти датчиков: один вообще непригоден (адово шумит и от кадра к кадру выдает разные данные, лишь немного напоминающие то, что должно быть), у остальных в общем температуры не совпадают. Ну, ничего - можно откалибровать, наверное. Да и облака хорошо с небом контрастируют, даже без калибровки должно быть видно.

eddy-em.livejournal.com github.com/eddyem