roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 03:05

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 11:49 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
Вначале считаю ацп меги:
p - значение АЦП
z - шаг измерения
Ua - напряжение на АЦП
AREF берется с внутреннего источника (напряжение 2,56В), АЦП 10 битный, тогда:
z = 2.56/1024В = 2,5 мВ
Далее, Ua = p*z.
Ищю Ut - напряжение на термодатчике. Я замерил ток I = 30мкА через датчик.
по закону сохранения заряда:
i1+i2=I
для резистора R2
Ut = i2*R2 => i2 = Ut/R2
нахожу ток ч-з 1 резистор:
i1 = I - Ut/R2
падение напряжения на 1 резисторе:
dU1 = i1*R1 = R1*(I - Ut/R2)
для участка от датчика до ножки:
Ua + dU1 = Ut
Ua + R1*(I - Ut/R2) = Ut
Ut = R2*(Ua + I*R1)/(R1+R2)
вспоминаю что Ua = p*z:
Ut = R2*(p*z + I*R1)/(R1+R2)
вычисляю температуру на датчике:
t = Ut*100
подставляю:
t =( (10^2)*(10^4)/(101*(10^2)) )* (p*2.5*(10^-3) + 3*(10^-5)*(10^2))
t = ( (10^4)/101 ) * (p*2.5*(10^-3) + 3*(10^-3))
t = (25/101)*p + 30/101

И самое интересное - проверяю в реале. получаю бяку :(
внимание вопрос: где я соврал?


Вложения:
Shem.JPG
Shem.JPG [ 12.64 КиБ | Просмотров: 3504 ]
AREF.JPG
AREF.JPG [ 5.07 КиБ | Просмотров: 4369 ]
Комментарий к файлу: герой торжества
LM35.JPG
LM35.JPG [ 26.18 КиБ | Просмотров: 3518 ]

_________________
Tomorrow will be. Better
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 12:05 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
LM35 - питание до 20 вольт и резистор нагрузки наверно 5 ком лучше использовать. А с АЦП разобраться и без датчика можно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 12:33 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
дык с ацп на баскоме разобраться в три строки можно :)
вот бы верную температуру получить :)

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 12:36 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
что вольтметр на R2 говорит?
яб для начала R1 вобще в расчет не брал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 13:57 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
вобщем замерил напряжение между землей и неподключенным датчиком - 283мВ
и между землей и ножкой меги - 276мВ при одинаковой температуре.
считаю что зависимость так и будет сохрняться пропоциональная, поэтому ввожу коэфф-т 0,975
но все-таки хотелось бы узнать где в расчетах ошибка :oops: :oops:

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 14:03 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
может для начала на переменнике потренироваться, потом уже и на датчик можно переходить. (Я так начинал) если датчик работает током по температуре то как можно мерить напряжение без нагрузки??? что понимать под словом "неподключенным датчиком" - вывод в воздухе болтается??
для начала нужно получить просто значение на АЦП без пересчета в температуру, дальше совершенствоватсья в усложнениях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 14:14 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
да, вывод в воздухе.
датчик реагирует напряжением по температуре.
С ацп проблем нет, в васике три строки.

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 14:27 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
Если верить ДШ при комнатной 25 гр на выходе ЛМ должно быть около 3х вольт, что значительно больше опорных 2,56. в результате измерения получится значение АЦП 1024.
расшифруй "И самое интересное - проверяю в реале. получаю бяку" в цифрах


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 14:48 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
это может быть напряжение питания не менее 3В при комнатной?
формула для подсчета температуры: Ut=(10*t) мВ, т.е на каждый градус цельсия прибавка по напряжению на 10мВ.
бяка - у меня при комнатной температуре получалось раньше около 30 градусов.
если ввести коэффт и не заморачиваться с формулами, то около 28, что соотв показаниям датчика.
а ошибка я, кажется, понял в чем - ток не постоянен, а изменяется от температуры, соотвественно падение на резисторе плавает. вот :)

_________________
Tomorrow will be. Better


Последний раз редактировалось MiBBiM 16 мар 2009, 16:57, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 15:38 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
питание вродь от 4х до 30 вольт, чтото я недогоняю эти графики.

при минус 55 сколько будет на выходе??
10*(-55)мВ ?,
и при нуле.
10*(0)мВ ?,
с этим датчиком не работал, вопрос чисто для расширения кругозора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 19:30 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
такое включение как на картинке в первом посте только для положительных температур(я его использовал).
для всего диапазона включение ниже.
формула для расчета для разных подключений не меняется, у вас верно.
rig писал(а):
питание вродь от 4х до 30 вольт, чтото я недогоняю эти графики.

в даташите есть график Minimum Supply Voltage vs. Temperature, определяющий минимальное напряжение питания для измерения конкретных температур


Вложения:
123.JPG
123.JPG [ 13.35 КиБ | Просмотров: 3438 ]

_________________
Tomorrow will be. Better
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 19:41 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
тода и код для будущих поколений, наверняка кто нибудь захочет повторить.
с отрицательными напряжениями это плохо, чтоб МК применить придется ОУ использовать для смещения напряжения в положительную область.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 20:00 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
код на бейсике:
Код:
'настраиваю ацп, источник питания внутренний, подбробнее см. справку
Config Adc = Single , Prescaler = Auto , Reference = Internal
...
Dim Lword1 As Word      'переменная для хранения значения АЦП
Start Adc               'запускаю измерения
Lword1 = Getadc(2)      'беру значение с АЦП2
Lword2 = Getadc(0)      'беру значение с АЦП0
Stop Adc                'останавливаю АЦП

соотвественно, если использован внутренний источник напряжения на AREF, формула подсчета примет вид:
t = 0.25 * Lword1 градусов Цельсия

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 20:04 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
я бы рекоммендовал делать неменее 3 преобразований


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LM35 термометр
СообщениеДобавлено: 14 мар 2009, 20:09 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
да я заметил в вашем коде такую весчь. только какой смысл, если сохраняется значение последнего преобразования?

_________________
Tomorrow will be. Better


Последний раз редактировалось MiBBiM 14 мар 2009, 20:33, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO