Помощь по подключению Термодатчика
Есть датчик TMP36GT9z , ну как бы к ардуине прицепил , и получил на выходе 152 , и вот не пойму это что градусы по фаренгшейту, либо нужно как то высчитывать , формулу писать??? В инструкциях на пендоском разобраться не могу , да и все эти электро абривеатуры тоже как то подзабыл, или не знал .... не помню. Вобщем буду благодарен за любую помощь .
Re: Помощь по подключению Термодатчика
Нужно при этом измерить реальную температуру и потом вычислить коэффициент
Re: Помощь по подключению Термодатчика
косяк ещё в том что запитав датчик от ардуино я получаю на выходе 0.75v но как только подсоеденяю выход датчика к ардуино то тестер кажет падение до 0.09v, как с этим бороться ???
Re: Помощь по подключению Термодатчика
А схемку подключения посмотреть?
Re: Помощь по подключению Термодатчика
а какя схема ,на прямую, питание от 5в и гнд ардуины в аналоговый вход А1 вставляю провод выхода датчика, до подключения ардуины 0.75в, при подключении на тесторе 0.09в а отправляя на сериал данные с входа получаю 16, при повышении температуры на датчике все показания меняются
Re: Помощь по подключению Термодатчика
Так может быть проблема в тестере? Подключаешь тестер в цепь с микротоками и ждешь результата?
Re: Помощь по подключению Термодатчика
тестер постоянно подключен, кста при выключении сериал монитора из IDE arduino происходит скачёк, буквально секунду ,тестер кажет 0.75 и снова 0.09 пока не отключишь провод с порта А1 , тогда опять с 0.09 до 0.75.
Re: Помощь по подключению Термодатчика
Попробуй без тестера датчик на А0 подключи и в сериал мониторе посмотри
Re: Помощь по подключению Термодатчика
попробовал, запускаю сериа монитор , данные с датчика 16 , пробую тестер, получаю в сериале теже 16 , на тестере 0.09, то есть падение вызывает подключение датчика к ардуине, покрайней мере данные в сериале меняются только при изменении температуры на датчике, да и сами данные на тестере более соответствуют данным из описания где говорится что при питании 2.7-5.5 в и температуре 25 градусов на выходе будет в районе 750mV
Re: Помощь по подключению Термодатчика
Скорее всего, у тебя нога не включена на вход, а работает на выход. Микроконтроллер не запрещает измерять напряжение на ноге, притянутой внутренним образом к Vcc или Gnd.
Функции, которыми задается состояние ног arduino не помню.
Re: Помощь по подключению Термодатчика
pinMode(pin,INPUT), или что както по другому нужно ???
Re: Помощь по подключению Термодатчика
При подключении к аналоговому входу конфигурировать порт не нужно
Re: Помощь по подключению Термодатчика
кста если написать скетч типа
setup(){
Serial.begin()
}
loop(){
Serial.write(pin 13)
}
то в сериал такая помойка значений пойдёт, попробовал digitalWrite(13,0), и тогда в сериал идёт 0 пока не поступит реальный сигнал
Re: Помощь по подключению Термодатчика
2 Chip, смотри сам исходники wiring_analog.c и wiring_digital.c . AnalogRead просто запускает АЦП на нужном канале. Никаких более телодвижений эта функция не делает.
2 all:
У ног avr (и цифровых и аналоговых) есть четыре состояния
Output + High - притянут жестко к Vcc
Output+ LOW - жестко притянут к Gnd
Input+Low - не притянут никуда. Болтается от Gnd до Vcc.
Input+high - притянут через резистор в десятки килоом к Vcc. В случае специального изменения регистра SFIOR - может быть не притянут никуда.
Хочу подчеркнуть, что состояние Output+ <что угодно> включает именно жесткую привязку. Попытка изменить состояние такой ноги внешним электрическим воздействием (с Gnd на Vcc и наоборот) совершенно спокойно может привести к выгоранию соответствующего ключа в контроллере. Я это делал по дурости несколько лет назад и ключи замечательно выгорали.
В момент старта контроллера в нем прописаны значения Input+Low для каждой ноги. Именно поэтому в этот момент на ноге и есть нужное напряжение. Соответственно, потом видимо прописывается Output+Low. В результате - нога жестко притянута к 0 и на ней уже нет нужного напряжения.
Если надо измерять аналоговое напряжение, но при этом вывод может болтаться в воздухе (из-за этого обычно лезет мусор), можно притянуть ногу к aVcc или к Gnd большим резистором. Думаю, в данном случае вполне можно воспользоваться комбинацией Input+high.
Re: Помощь по подключению Термодатчика
Попробовал INPUT+HIGH , значение до было 153, после стало 15, пару раз с обновлением delay(1000), затем перешло на 16 , и далее при повышении и понижении температуры значения идут из двух цифр , и кста делал замеры и тестером, и в спаре с цифровым термометром (ну уже с табло который), значения на тестере не соответствуют тем которые даташите, а именно при 25 градусах 0.75, и значения которые идут на сериал растут не пропорционально, если делить значение на сериале на температуру то при 20 градусах получаю делитель 6.5 а на 40 градусах он уже 4.2 , ну это не точные значения но смысл думаю ясен.
Re: Помощь по подключению Термодатчика
получил на сериале значение равное количеству мВ на выходе с датчика но немогу допереть по какой формуле всё это дело пересчитать в градусы по цельсию, чип посмотри плиз это ссылка на руководство http://www.softelectronics.ru/docs/dt/TMP36GT9.pdf , как тут высчитывать, если как в руководстве при 25 градусах 0.75мВ , я уж обрадовался и сделал мВ*100/3 но не катит, при повышении до 40 градусов косяк вылазит в 8 градусов в меньшую сторону(((
Re: Помощь по подключению Термодатчика
Я не чип, но попробую помочь
Формула:
T=25+(V-0.75)*100;
Проверяем: при V=0.75, T=25 градусов
при V=1 , T=50 градусов, что и должно быть.
У тебя же есть поправочный коэфф на V, ведь ты не V меряешь, а считываешь значение ADC. Заменям V на A. A=V*1023/5. т.е. V=5*А/1023
Получаем
T=25+(5*A/1023-0.75)*100=25+(A*500/1023-75); С достаточной точностью (ошибка порядка 2 градусов) это можно пересчитать в
T=25+(A/2-75)=A/2-50
Re: Помощь по подключению Термодатчика
Re: Помощь по подключению Термодатчика
Не просто ГРОМАДНОЕ спс , сверил значенияс данного TMP36GT9z и двух комнатных цифровых термометров(типа дома и выносной на улице и просто выносной,ну они маленкие и их мона в притык закрепить ) и показания из HDDlife, градус в градус, разница в сотых !!!!! Мля щастья полные штаны!!!