Отговори на тема  [ 25 мнения ]  Отиди на страница 1, 2  Следваща
Въпрос за честотен темп. сензор SMT16030M 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Въпрос за честотен темп. сензор SMT16030M
Мъча се да подкарам едно такова, каква е най-подходящата схема? В момента честотата ми плува доста, не знам дали е нормално. Измерването с контролера също плува. Сложил съм 100 nF на захранването, не знам дали трябва още нещо?


Пет Дек 19, 2008 3:53 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Фев 17, 2006 9:17 am
Мнения: 765
Местоположение: Стара Загора
Мнение 
Други елементи не ти трябват. Честотата може да плува, тя не носи информация. Коафицента на запълване носи информацията. Освен това трябва да направиш някакво натрупване, ако искаш по голяма точност - за период от 0.5-1 секунда да речем събираш времето на ниското ниво в една маеждинна променлива. времето на високото ниво в друга и накрая правиш сметката . Ползвай някакъв хардуерен кепчър за целта


Пет Дек 19, 2008 4:18 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Потърси из форума, бях постнал схемката и сорс кода на измерване на температурата на този сензор през АЦП-то на процесора, изхода на сензора през резистор се подава на вход на АЦП-то, паралелно от входа към земя голям натрупваш кондензатор, така се преобразува ШИМ-а на сензора в постоянно напрежение. Получава се много стабилно мерене, не ти трябва усредняване и филтрация в процесора, това се върши от резистора и кондензатора ( НЧФ филтър ). Така е защитено измерваното от пикове по захранване, външни смущения, просто кондензатора "обира" тия отскоци на ШИМ-а. Недостатък е по бавната реакция, примерно на 5.6к и 330uF се получаваше от порядъка на до 1 секунда.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Пет Дек 19, 2008 5:51 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Нед Юли 29, 2007 2:41 pm
Мнения: 610
Мнение 
Зазяпах се защото подобни джаджи са ми слабост. Тъкмо се канех да цункам дупето на Пи - разбира от аналогова техника :!: ама изрових http://home.comet.bg/datasheets/Sensors/SMT16030.pdf - бедно но повече не ми трябва. И к'во гледам: захранване 5В и 200мка и честота 1-4кХц.

Пи, първо с тебе ще се заям: 5В/200мка=25кОма а ти интегрираш с 5,6кОма 8O . Освен това тази електролитка 330мкФ утечки няма ли?
А 5,6кОма*330мкФ=1,848сек и за да се стигне до 10% точност май се умножаваше по 2,4 и оттам нататък става още по-бааавнооо. Що не ти дойде на акъла поне 100кОма и неектролитен 1мкФ за да си по-близо до истината?

Рек, не знам с к'во мериш ама наистина трябва да мериш период и да си независим от честотата. Не знам дали някой таймер може да го прави хардуерно а проца само да чете - то иначе си е живо разхищение на ресурси.
И не се връзвай на setoy да усредняваш максимума и минимума, т.е. смущенията. Това не е интегриране което Пи го "прави" аналогово. По моя акъл: сумирай поне 32 замервания...

_________________
Тя простотията по хората ходи


Пет Дек 19, 2008 11:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Съб Юни 24, 2006 8:25 pm
Мнения: 2292
Мнение 
Хората са го направили с цифров изход, защо трябва да се преобразува сигнала в аналогов и след това пак в цифров? Губи ми се идеята... Ползвал съм такъв датчик преди години и нямам спомени да съм имал проблеми. Oсредняването на резултатите е достатъчно. Температурната времеконстанта е достатъчно голяма и това е предпоставка за много натрупвания, стига да има време и възможности процесора.

_________________
Две плюс две е приблизително равно на четири. Факт!


Пет Дек 19, 2008 11:35 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Код:
ISR(INT1_vect)
{
   register BYTE   bh, bl;

   cli();
   
   bl = TCNT1L;
   bh = TCNT1H;

   nTimer = (bh << 8) + bl;

   if (bEdge)
   {
      MCUCR = 0x08;
      nSumPeriod += nTimer;
      TCNT1H = 0;
      TCNT1L = 0;
   }
   else
   {
      MCUCR = 0x0C;
      nSumPW += nTimer;
   }

   bEdge = !bEdge;

   if (++nCounter == INTEGRATION_VAL)
   {
      nPeriod = nSumPeriod / INTEGRATION_VAL;
      nPW = nSumPW / INTEGRATION_VAL;

      nSumPeriod = 0;
      nSumPW = 0;

      nCounter = 0;
   }

   GIFR = 0x80;

   sei();
}



Това ми е кода в момента. Mega AVR. Сега си мисля следното: INTEGRATION_VAL е забоден на 20000, като при тая стойност опресняването се извършва горе-долу всяка секунда. При положение, че прекъсването възниква 2 пъти за всеки период, това значи честота 10 КХц.
Всъщност, сега проверих, честотомера го потвърждава - плува около 8.6 КХц. Което не се връзва с даташита...


Пет Дек 19, 2008 11:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
bongo-bongo написа:
Пи, първо с тебе ще се заям: 5В/200мка=25кОма а ти интегрираш с 5,6кОма 8O . Освен това тази електролитка 330мкФ утечки няма ли?
А 5,6кОма*330мкФ=1,848сек и за да се стигне до 10% точност май се умножаваше по 2,4 и оттам нататък става още по-бааавнооо. Що не ти дойде на акъла поне 100кОма и неектролитен 1мкФ за да си по-близо до истината?


bongo, ти как я направи тази магическа връзка за товароспособността на изхода на сензора в зависимост от това колко ток консумира сензора :? Ако прочетеш малко по-надолу чаршафа с данни на сензора, ще видиш, че изходния му импеданс е 200 Ома, което на 5V е 25mA ток., демек моите 5.6к са около 1/28 от възможностите на изхода, и то при положение че това е докато се зареди кондензатора. Ако сумираш пък 5.6к с входното съпротивление на АЦП-то , което на ПИК-а е около 10к ще стане 15.6к, т.е. откъм натоварване изхода няма от какво да се оплаче. Дали ми е дошло на акъла 100к/1мкф не помня вече, това беше през 2001г., просто започнахме от 1к резистор и 10мкф кондензатор и започнахме да ги вдигаме докато схемата се успокои.

А може ли ся аз да се заям с теб ? Кажи ми какъв недостатък има това свързване на резистора и кондензатора :P ?

sthx написа:
Хората са го направили с цифров изход, защо трябва да се преобразува сигнала в аналогов и след това пак в цифров? Губи ми се идеята... Ползвал съм такъв датчик преди години и нямам спомени да съм имал проблеми. Oсредняването на резултатите е достатъчно. Температурната времеконстанта е достатъчно голяма и това е предпоставка за много натрупвания, стига да има време и възможности процесора.

Ами защото като го сложихме в производствена среда със силни смущения, смущенията побъркваха изхода на сензора при дължина на свързващите кабели към 10см ! Процесора ни беше доста натоварен, та нямаше време да се занимава само с този сензор, затова меренето през АЦП-то спаси положението: 1-во изхода на сензора престана да се влияе от индустриалните смущения, 2-ро получи се много добра стабилност, нямаше трепкания, нямаше усреднявания и т.н. 3-то вместо непрекъснато да го меря с хардуерния Capture и да математствам с резултата, правя 4 измервания с АЦП-то премествам резултата надясно с 2 бита и температурата е измерена с точност до 1 градус Целзий :wink:

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Съб Дек 20, 2008 1:32 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Да добавя малко пресни наблюдения (от сутринта) върху тоя многострадален датчик. :D Имам натрапчивото чувство, че е няква самоделка, правена от мангали в час по трудово. Като начало, вчера вечерта, махнах една моя грешка:

Код:
nPeriod = nSumPeriod / INTEGRATION_VAL;
nPW = nSumPW / INTEGRATION_VAL;


От това изобщо няма нужда. В резултат показанията за температура започнаха да плуват много по-малко, направо задоволително малко. :)

Обаче:

Сутринта свалих в колата цялата установка и я пуснах. В началото бачкаше супер. И дори честотата беше нормална, към 2 KHz! После обаче, изведнъж, без никаква видима (за мен) причина, датчика полудя, почна да показва някакви абсолютни глупости и честотата му пак скочи на над 8 KHz! Не знам какво се случва...


Съб Дек 20, 2008 1:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Реконструктор, кажи какво мериш, този сензор е неподходящ там където има големи смущения, а ти за коли говориш :wink:

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Съб Дек 20, 2008 1:54 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
¶ написа:
Реконструктор, кажи какво мериш, този сензор е неподходящ там където има големи смущения, а ти за коли говориш :wink:


В колата няма кой-знае какви смущения, освен това нещо да работи и изведнъж да полудее причината не са смущения, освен ако не е ЕМ импулс от атомен взрив. :D Направил съм температурен логер, за да изследвам един проблем, за който можеш да видиш тук: http://www.mitsubishibg.com/forum/index ... topic=8607
Датчика го избрах заради малката и линейна грешка. Гледах и LM335, но реших първо да пробвам този. Има и едни със сериен интерфейс на микрочип, но те ми се сториха доста мизерни като параметри.


Съб Дек 20, 2008 3:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Съб Юни 24, 2006 8:25 pm
Мнения: 2292
Мнение 
Рек, огледай си монтажа и ако всичко е наред, смени датчкика. Така, както го разправяш има нещо, което не е наред.

bongo-bongo oпределено не е прав. Не зная каква е точно схемата, но ако след филтъра следва директно ацп-то на процесора, 100ком-а не могат да се вържат. Единствената грешка може да дойде от напреженията на насищане от горе и от долу на изхода на схемата, както и тяхната промяна.
Ползвал съм такива датчици в промишлена обстановка, изнесени на около 30м. С галванично развързване , разбира се. Аз затова ги избра и тях, защото беше по-лесно да сложа оптрони. Все пак средата не беше много "зашумена".

_________________
Две плюс две е приблизително равно на четири. Факт!


Съб Дек 20, 2008 4:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Ами какво да ти кажа, при мен 2003 Honda Accord EX V6 всичко си работи перфектно по климатика, зимата жега, лятото хладно, среден разход на гориво повече от приличен за 240-те коня, т.е. нямам никакви забележки по тази кола :wink: Може да сложиш 2 сензора, единия до оригиналния сензор, и вторият на изхода където духа топло/студено, така ще направиш сравнение какво чува сензора и какво говори климатика.

Ако сензора ти е изнесен по-далечко от професора опитай се да сложиш един RC филтър на захранването на сензора, примерно 47 Ohm/0.25W и 10-22 мкф ( остави си и 100-те нанофарада ), RC филтъра го сложи близко до сензора, не да е при професора и оттам жиците до сензора. Преди да решиш да го сменяш можеш да опиташ и да мериш през АЦП-то, голямата времеконстанта от около секунда няма да попречи да измериш точно температурата.

LM335 е много приличен сензор, много често съм го използвал и винаги се е държал добре, ако искаш да ти е автокалибриран тябва да му пуснеш 1мА ток през генератор на ток, тогава не се нуждае от калибровка. Генератора на ток най-лесно може да го изработиш с 7805 и резистор.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Нед Дек 21, 2008 2:08 am
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Нед Юли 29, 2007 2:41 pm
Мнения: 610
Мнение 
Добре, де! Признавам, че 100те килоома са по-близо до химията и по-малко до магията. Обаче чаршафът който намерих бе с толкова малко данни, че ме изнерви и не е чудно, че ми убягнаха 200-та ома. На всичко отгоре бе единствения документ (!!!) който гугъла ми намери и май е прав Рек за мангалите.
А изходният импеданс не е товароспособност!

Иначе, Пи, недостатъкът на RC групата е, че ползваш много голям електролит който има непредсказуеми утечки ама в случая си извадил късмет в това отношение (май). Другият недостатък е, че за да постигнеш някаква точност ти трябва огрооомна времеконстанта (изчислява се ама ме мързи сега) и по този начин правиш изделието отчайващо бавно. Пък и е тъпо да правиш аналогово от нещо което не е проектирано за това при положение, че има аналогови източници на ток...

Рек, освен ако не ти е изпушил датчика и аз се съмнявам да полудява. По-скоро ти полудява проца. Ама 100-те нФ близо до крачката на датчика ли са?
Освен това е тъпо да свързваш жица директно към вход на MCU - събрал съм кашон с платки в които са допуснали тази глупост. Иначе MCU-то е читаво, само въпросното краче прави к'вото си иска.
Аз бих екранирал, бих сложил филтърни кондензатори близо до пиновете за захранване. А сигнала от датчика бих подал през 470Ома на 1.5нФ, има такива и с разпределени параметри, с 3-и крака. После бих сложил и 10кОма към маса и чак тогава на пина.

Ама наистина е тъпо да мериш софтуерно. Нямаш ли някой таймер? Пък и като гледам чувствителността от 0.47%/'С което при 2кХц прави около микросекунда май нямаш голям избор на кварцове :)
Е, тука вече навлизам в твои води, де...

Edit: почти се засякохме с Пи. Ама имаше някво двукрако LM или AD което бе източник на ток, можеш колкото искаш да го филтрираш...
Edit2: още пазя няколко ГДРешки в ТО92 :D . Казват се В511 обаче едва ли ще намеря и чаршафът им. Ако може някой да помогне 8)

Аааа, изкопах го - AD590. Дава 1мкА/'К. Супер! Едното краче към +5В, на другото слагаш къвто искаш филтър и мериш ток.

_________________
Тя простотията по хората ходи


Нед Дек 21, 2008 2:20 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Тцъ bongo, не позна, недостатъка е, че ако сензора ти е изнесен на жици от процесора ( RC филтъра на цифровия изход на сензора е при процесора, няма смисъл при този сензор да се слага близко до изхода ), при скъсване на някоя от жиците ще се мери заряда на кондензатора, затова се изисква един високоомен резистор паралелно на кондензатора, да може да го разрежда, иначе ще се разрежда през вх. съпр. на АЦП-то, но само когато е включен входа да измерва. Времеконстантата си е супер, няколко секунди за температурен сензор е нищо работа. Тъпо или не, не знам, няма да правя сравнения, просто тоя сензор от много умнотия да се цифровизира е нестабилен и аналоговото преобразуване е начин да го вкараш в правия път :)

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Нед Дек 21, 2008 1:05 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Яну 20, 2005 1:44 am
Мнения: 616
Местоположение: Варна
Мнение 
Този датчик трябва да се буферира на изхода за да работи добре. Пускали сме го на 20м в индустриали условия и нямаше проблеми. Да го мериш с АЦП за мен не е най доброто решение, но и на мен ми мина през кратуната като се запече работата със смущенията.

Поздрави на Пи и Рек за добрият избор на фтомобил :) Вече почвам да съжалявам че жапонците загубиха войната. Китайците ша ни превземат без бой мама им жълта


Пон Дек 22, 2008 11:21 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 25 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни