Здравствуйте.
стоит задача сделать датчик термометра на таком вот моторчике http://autotuninggroup.ru/category/denso/
использую мегу8 и датчик температуры ds18b20
моторчиком управляю всё ок. с датчиком тоже всё понятно.
вопрос кто подскажет с алгоритмом как связать данные датчика с углом поворота вала моторчика и в плюс и в минус
В зависимости от количества шагов на оборот. Может и 0,1 градус = 1 шагу. Если есть редуктор, то может и другое соотношение типа 0,1 градус = 20 шагов. От условно взятого нуля влево-вправо.
Перед измерением запомнить температуру, получить данные с датчика, декодировать, сравнить с предыдущим значением. Смотря куда отклонения, туда и крутить.
Нужно еще чтобы каким-то образом мотор находил 0 градусов. И от него уже выставлял температуру. Либо можно сделать периодическое сохранение в EEPROM значений текущего положения. Это нужно для запуска после прекращения питания.
ipkin писал(а):...как связать данные датчика с углом поворота вала моторчика и в плюс и в минус
Nt=K*(T+55), где
Nt-число шагов для измеренной DS18B20 температуры
K- число шагов, приходящееся на 1гр.С
T- измеренная DS18B20 температура.
Предполагается, что сначала, при подаче питания стрелка принудительно сдвигается на большее чем максимально возможное число шагов и укладывается на ограничитель. Таким способом, изначально установив стрелку на ограничитель можно провести начальную установку оной.
Коэффициент К будет определяться длиной шкалы в шагах мотора, диапазоном измерения, редуктором мотора. Эти параметры взаимосвязаны и их нужно знать.
0 будет находится автоматом при подачи питания. вообще эта конструкция будет использоваться в панели приборов автомобиля. на авто произвели замену панели на более современную. всё на ней работает а вот данные температуры передаются по цифре. на данном авто этой шины нет. вот и родилась идея сделать такой термометр используя штатный моторчик панели. спасибо всем откликнувшимся. буду пробовать предложенные варианты