Емельянов Эдуард Владимирович (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

  • Дочка сейчас выдала: а зачем вообще людям "домашние" телескопы, если с компьютера можно намного удобней с телескопа данные получать? Да уж, вся в…

  • Рамп шаговика

    Сижу уже второй вечер, обдумываю алгоритм. Сначала хотел было без делений попробовать. Но не получается нормального трапецеидального рампа. В итоге…

  • О, in100грамм повеселел!

    Теперь не нужно, чтобы туда фотографию воткнуть, жамкать F12, переходить в режим "отображение со смартфона" и перезагружать страницу! Они таки…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments