| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Температурен датчик PT1000 код http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11684 |
Страница 1 от 3 |
| Автор: | nikolovs [ Пон Сеп 02, 2013 5:31 pm ] |
| Заглавие: | Температурен датчик PT1000 код |
Здравейте на всички |
|
| Автор: | Бай Ставри [ Пон Сеп 02, 2013 6:07 pm ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
ПО опростен вариант от този няма!!! |
|
| Автор: | ToHu [ Вто Сеп 03, 2013 4:49 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Само не разбрах код ли ти трябва или схема |
|
| Автор: | nikolovs [ Вто Сеп 03, 2013 10:38 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
И двете трябват |
|
| Автор: | Бай Ставри [ Вто Сеп 03, 2013 11:43 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
примерен код......е колко да е примерен.......я опиши кво точно искаш ,че да знам кво да ти отговоря |
|
| Автор: | nikolovs [ Вто Сеп 03, 2013 11:54 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Примерно по-горе показаната схема как да преобразувам напрежението чрез пик микроконтролер |
|
| Автор: | Бай Ставри [ Вто Сеп 03, 2013 12:01 pm ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
закачаш го на АЦП-то и мериш....след това директно преобразуваш в квото искаш....ако търсиш по-голяма точност и линейност....првиш темп таблица и по нея.... unsigned int temp_res; void main() { ANSEL = 0x04; // Configure AN2 pin as analog ANSELH = 0; // Configure other AN pins as digital I/O C1ON_bit = 0; // Disable comparators C2ON_bit = 0; TRISA = 0xFF; // PORTA is input TRISC = 0; // PORTC is output TRISB = 0; // PORTB is output do { temp_res = ADC_Read(2); // Get 10-bit results of AD conversion PORTB = temp_res; // Send lower 8 bits to PORTB PORTC = temp_res >> 8; // Send 2 most significant bits to RC1, RC0 } while(1); } ----------------------------- http://electronicseverywhere.blogspot.com/2010/10/pic16f887877-programming-in-c-tutorial.html |
|
| Автор: | nikolovs [ Сря Сеп 04, 2013 10:28 pm ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Изходното напрежение на по горната схема при 25 градуса стайна ми показва 1.02 в някъде на изхода на операционния. Тази схема с какъв коефициент на усилване е. Измерих напрежението на pt1000 и там ми отчита 0.49 - 0.50 В. Това дава 2x коефициент на усилване. Но по мой сметки 10к/1к= 10 пъти! Къде бъркам ? Мисля да увелича коефициента на усилване, за да елиминирам голямата грешка от измерването, мисля да слагам делител на напрежение след операционния, както и програмно си го деля за да намеря съпротивлението на датчика по формулата. |
|
| Автор: | ToHu [ Чет Сеп 05, 2013 1:16 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Доста има да понаучиш за аналоговите схеми, http://en.wikipedia.org/wiki/Wheatstone_bridge , може би ще ти се поизясни, но само тов ане стига де, и опамп трябва да поразбереш как работят. |
|
| Автор: | nikolovs [ Чет Сеп 05, 2013 9:37 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Е да то без четене не става тая работа, но си иска време. Проблема е че като не се ползва се забравя. Не е сложна материята но си иска да се погледне. Мост на Уитстон учихме още по електрически измервания. Проблема е че търся бърз отговор и това провокира всичко това. |
|
| Автор: | sparkybg [ Чет Сеп 05, 2013 10:47 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Източник на ток, да речем 1mA. Към него като вържеш PT1000, при температура нула градуса ще дава 1 волт напрежение. При 100 градуса - 1.385 волта и т.н. по таблицата. Източника на ток се прави например с операционник, дребен мосфет, 2-3 резистора и някакво референсно напрежение, ако искаш голяма точност. Иначе може и с прост делител от захранващото напрежение. От там нататък тоя сигнал го прави каквото искаш - може да го приведеш към нула, усилваш, и каквото ти друго душа иска. Въпрос на няколко резистора и 1-2 операционника. Няма нищо екзотично или нестандартно в цялата работа. Все неща, които човъркащ се с аналоговщини ползва всеки ден. ПП: Схемата горе няма да ти даде линеен сигнал спрямо температурата. Ще трябва да коригираш прочетемното от ADC-то после. Схема с източник на ток дава линеен изход в зависимост от съпротивлението на датчика. "По-сложна" е, но пък сухранява това, с което платинените датчици са най-ценни - линейността им. |
|
| Автор: | nikolovs [ Чет Сеп 05, 2013 11:35 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Да колега, така е! Забелязах че тя не е линейна! Пробвах прост делител 10к към пт1000 и се получава Замислям се да го усиля този сигнал със операционен примерно коеф. на усилване 5 и после програмно да го деля и смятам ? |
|
| Автор: | sparkybg [ Чет Сеп 05, 2013 11:55 am ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Ааа скокове няма, освен ако не са от ADC-то. Нещо си се объркал. Просто това, което измериш престава да е линейно, ами се изкривява, което после трябва да компенсираш софтуерно. С източник на ток си остава линейно - аз затова си го тача тоя метод. Просто не винаги е нужно, ама това зависи от целите дето си си поставил. Трябва така да си направиш аналоговщината така че диапазона температури, който мериш, да напълва ADC-то, тоест например ако мериш 0-100 градуса, това да ти отговаря на показание 0-1000 на ADC-то. Ползват се и rail-to-rail операционници ако ползваш само едно захранване за всичко. На микрочип има подходящи и не-скъпи за целта. С подходящите чаркове се докарва доста прилична и температурно стабилна аналоговщина за човешки пари и ограничението ти става самото ADC в PIC-льото, което принципно не е върха на сладоледа, но пък хубавите са скъпи и капризни и вече става сложно. Имай предвид че и ADC-то и операционниците в двата си края са най-неточни. Тоест, да речем първите и последните 8 стойности на 10 битово АДЦ (0-8 и 1015-1023) ще са с доста по-голяма грешка от стойностите около средата. Отделно има и други нелинейности и особености при конверсията, които понякога имат значение в зависимост от поставените цели. |
|
| Автор: | nikolovs [ Чет Сеп 05, 2013 12:29 pm ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
Да така си е, понеже ацп не мери с голяма точност и когато се колебае в mv градусите се изменят драстично. Пуснах за опорно напрежение 10.75 в използвано от филтровия кондензатор и резултата се подобри в известна граница. Все пак увеличавам изходното напрежение два пъти! Мисля да го захраня със по високо за момента, но това не е окончателно решение ! Трябва да си припомня малко тази аналогова схемотехника и подбера подходяща схема. Тук без Оп амп няма как да се мине. Но засега мисля че по високо напрежение примерно изходното при 1000 ома т.е 0 градуса да бъде на входа на пика 3 в ще е добър резултат. Вие как смятате? |
|
| Автор: | Ки4о [ Чет Сеп 05, 2013 12:55 pm ] |
| Заглавие: | Re: Температурен датчик PT1000 код |
@sparkybg, моля те насочи ме към тази литература където пише, че нелинеен сензор като го включиш към генератор на ток и измерваш пада на напрежение върху него то се получава линейна зависимост входна величина/пад на напрежение. Защото мен са ме учили на други методи за линеаризация на харакатеристики и искам да си попълня този фатален пропуск в знанията си. @nikolovs, изтегли си от нета AN687 на Микрочип или Analog Applications Journal на TI брой 4Q 2011 и виж как се прави. Компенсацията може да я направиш софтуерно или с линейно-отсечкова апроксимация. Въпрос на вкус е кое ще си избереш. И си намери хубави прецизни операционни усилватели, макар че и с OP07 може да се реши тази задачка |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|