Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Categories:

Как невнимательность убивает эксперимент

Долго думал, как так может быть, что имеющие заводские калибровки датчики ползут практически нос к носу, отличаясь лишь постоянным слагаемым. А проблема вот в чем: изменяя логгер для пары термодатчиков на работу с N штуками я в процессе отладки при вычислении температур поставил тупо 0 вместо номера датчика. И забыл это убрать...
Вот такая веселуха.
Ничего переделывать не буду, но из оставшихся датчиков попарно проверю несколько штук и сравню, насколько у них хорошо показания согласуются.

Написал прошивку, вычисляющую код на MCU, что в принципе не очень хорошо, но если флеш-памяти будет достаточно, можно так будет и оставить (все меньше шансов напутать еще раз индексы констант для всяких разных датчиков).
Забавно получилось: сначала сделал функцию с использованием double, размер прошивки вырос от 3400 до 11300 Байт! Замена double на float вместо ожидаемого уменьшения, наоборот, увеличила размер прошивки до 12300Б (видимо, софтовая библиотека плавающей точки написана под double, а для float еще дополнительные преобразования идут). Понятно, что на МК, не умеющем даже аппаратного деления целых чисел, считать что-то с плавающей точкой — тот еще моветон. И я сделал алгоритм на fixed point (но пришлось тащить int64t для вычислений). В итоге размер кода получился 8300Б, что ненамного меньше варианта для double. А учитывая то, что рекуррентная формула вычисления температуры на fixed point вносит дополнительные ошибки (до ±0.04°C), я плюнул, и оставил double.

Завтра надо будет выбрать один из четырех экранчиков (LCD, LED и oLED), которые я притащил из дома, написать код работы с ним и соорудить эдакое переносное устройство, при помощи которого я смогу проверять температуры, которые намеряют мне датчики на зеркале. По грубым отклонениям от среднего можно будет вычислить те датчики, где нет нормального контакта со стеклом, или которые вообще оторвали при монтаже разгрузок.
Tags: рукожопие, термодатчики
Subscribe

  • Не могу найти документацию по RGB-LED модулю P4

    Купил на али вот такой модуль. У меня уже был опыт работы с монохромным P10, думал, что здесь так же просто. А оказалось все не так. Распиновку…

  • Новый кикад - просто ужас!

    Пока маюсь дурью под Звенигородом, решил было поработать. Но оказалось, что кикад я давно не пересобирал и после последнего обновления системы он не…

  • Хочется взять, и…

    Что-то последнее время чем дальше в лес все больше и больше падает грамотность интернет-пользователей. Похоже, из-за появления дешевых…

promo eddy_em август 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments