Например TDA7294

Форум РадиоКот :: Просмотр темы - Применение семпла SHT21
Форум РадиоКот
https://radiokot.ru/forum/

Применение семпла SHT21
https://radiokot.ru/forum/viewtopic.php?f=25&t=55469
Страница 1 из 1

Автор:  myx [ Сб окт 01, 2011 00:41:22 ]
Заголовок сообщения:  Применение семпла SHT21

Статья тут http://radiokot.ru/konkurs/21/

Температуру отображает вроде нормально. Но не корректно показывает влажность. До 68% показывает как попало, а потом при повышении влажности начинает показывать в обратную сторону.
С датчиком все в порядке - проверено. Проблема в программе.

Автор:  NickNI [ Сб окт 01, 2011 09:03:12 ]
Заголовок сообщения:  Re: Применение семпла SHT21

myx писал(а):
Статья тут http://radiokot.ru/konkurs/21/

С датчиком все в порядке - проверено. Проблема в программе.

Может датчик надо подержать "в бане", как описано здесь:
http://we.easyelectronics.ru/part/datch ... sht21.html :dont_know:

Автор:  11VETAL [ Сб окт 01, 2011 09:07:26 ]
Заголовок сообщения:  Re: Применение семпла SHT21

Если есть желание могу выложить свой переделанный код, но под ЖКИ. В бане не выдерживал, но показывает правильно.
В исходнике ошибки.

Автор:  NickNI [ Сб окт 01, 2011 09:16:44 ]
Заголовок сообщения:  Re: Применение семпла SHT21

Да уж... Честно отдал за эту работу пять лап... :( А не начал собирать, т.к. "халява" не пришла. :(

Автор:  myx [ Сб окт 01, 2011 11:37:46 ]
Заголовок сообщения:  Re: Применение семпла SHT21

NickNI писал(а):
myx писал(а):
Статья тут http://radiokot.ru/konkurs/21/

С датчиком все в порядке - проверено. Проблема в программе.

Может датчик надо подержать "в бане", как описано здесь:
http://we.easyelectronics.ru/part/datch ... sht21.html :dont_know:


Дело не в выдерживании. Если не подождать некоторое время, то датчик незначительно брешет, что проходит через несколько часов.
Я датчик отключаю от этого проекта и сразу подключаю к другому, в котором все нормально показывает.
С железом все в порядке. Проблема в прошивке!

Автор:  myx [ Сб окт 01, 2011 11:39:40 ]
Заголовок сообщения:  Re: Применение семпла SHT21

11VETAL писал(а):
Если есть желание могу выложить свой переделанный код, но под ЖКИ. В бане не выдерживал, но показывает правильно.
В исходнике ошибки.

Может этот немного исправить?

Автор:  11VETAL [ Сб окт 01, 2011 12:01:23 ]
Заголовок сообщения:  Re: Применение семпла SHT21

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


void humm(void)
{ unsigned int h_1;
float h;

char rh=0;
char drob_rh=0;


i2c_start();
i2c_write(0x80); //команда записи
i2c_write(0xE5); //режим HOLD для влажности
i2c_start();
i2c_write(0x81); //команда чтения
delay_ms(40);

h_1=i2c_read(1); // read msb
h_1=h_1<<8; //сдвигаем считаный байт на 8 бит
h_1|=i2c_read(0); // read lsb и выполняем побитное или со значением h_1
//присваиваем полученное значение h_1
i2c_stop();

h_1&= ~0x0003; //очищаем последние 2 бита

h= (-6+(h_1/524.288));

rh=abs(h);
drob_rh=abs((h-rh)*10);

sprintf(lcd_buffer,"RH=%+2u.%u%% ",rh,drob_rh); //записуемв масив для экрана
lcd_gotoxy (0,1);
__print_lcd(lcd_buffer); //выводим масив на LCD

}

Автор:  myx [ Вс окт 09, 2011 23:06:45 ]
Заголовок сообщения:  Re: Применение семпла SHT21

Кроме проекта с сайта we.easyelectronics.ru/part/datchik-temperatury-i-vlazhnosti-sht21.html (вариант подключения к компу) к сожалению, не видел еще нормально работающего проекта на SHT21.

Автор:  11VETAL [ Вс окт 09, 2011 23:24:41 ]
Заголовок сообщения:  Re: Применение семпла SHT21

myx писал(а):
Кроме проекта с сайта we.easyelectronics.ru/part/datchik-temperatury-i-vlazhnosti-sht21.html (вариант подключения к компу) к сожалению, не видел еще нормально работающего проекта на SHT21.

Кто мешает. Сделай сам. :)) Я же предлагал свой вариант. Тебе не нужен. :?

Автор:  Rombor [ Пн окт 24, 2011 08:52:33 ]
Заголовок сообщения:  Re: Применение семпла SHT21

Собрал, работает. Температуру врет на +3 градуса, влажность на -20%.
Просьба к автору ввести кнопочку коррекции

Автор:  Tugarin [ Пн окт 24, 2011 12:49:03 ]
Заголовок сообщения:  Re: Применение семпла SHT21

А эту схемку измерителя на SHT21 - http://radiokot.ru/konkurs/11/ никто не собирал?
Как-то странно что оказалось очень похожих две одинаковые работы может их нужно было объединить в одну?

Автор:  ewgeny7 [ Пт ноя 18, 2011 20:53:02 ]
Заголовок сообщения:  Re: Применение семпла SHT21

Что-то не сложилось у меня до сих пор заглянуть сюда.
Отвечаю сразу всем:
У меня показывает нормально и температуру, и влажность. Благо, работаю на фармацевтике и приборов там достаточно.
Я сравнил формулу рачета влажности свою и 11VETAL, разницы НИКАКОЙ, что нетрудно увидеть по исходникам.
Касательно температуры - я не сразу допёр, почему у меня показывал завышенную температуру. Оказалось, не стОит ставить стабилизатор на ту же платку, где и SHT21 чалится. Убрал стаб в корпус, показания стали много лучше. Но, еще одно НО. Для точных показаний датчик не должен быть в "стоячем" воздухе, он, гад такой, все равно нагревается (хоть и на доли градуса). Разместив свой девайс неподалеку от вентиляционной вытяжки, я таки увидел точные показания температуры. Сравнивал с промышленным термометром и термометром на 18В20.
Вот такая ботва.
Возможно, хорошим решением будет подавать на датчик не 3,3, а несколько меньшее напряжение. Например, 3.0. Надо пробовать.

Автор:  foxit [ Чт дек 08, 2011 23:27:04 ]
Заголовок сообщения:  Re: Применение семпла SHT21

11VETAL писал(а):
Если есть желание могу выложить свой переделанный код, но под ЖКИ. В бане не выдерживал, но показывает правильно.

Выложите исходник если не можно.

Автор:  nkrk [ Вс фев 12, 2012 08:57:47 ]
Заголовок сообщения:  Re: Применение семпла SHT21

Уважаемые пожалуйста подскажите как проверить работоспособность датчика sht21
Пишу код на ATmega8 под winavr

пример кода >>
Код:
    unsigned char ret1 = 0, ret2 = 0;

    s = i2c_start(0x80);       // set device address and write mode
    if ( s ) {
        /* failed to issue start condition, possibly no device found */
        i2c_stop();
    }else {
        /* issuing start condition ok, device accessible */
        i2c_write(0xF5);                       // получить влажность
        i2c_stop();                            // set stop conditon = release bus
        s = i2c_start( 0x81 );       // set device address and read mode
       
   _delay_ms(100);
                                                                       
        i2c_rep_start( 0x81 );       // set device address and read mode
        ret1 = i2c_readAck();                    // read one byte
        ret2 = i2c_readAck();                    // read one byte
        i2c_readNak();                    // read one byte
        i2c_stop();
       
        ret = ret1;
    }
   
    return ret;


в итоге с датчика ничего не возвращается даже если пытаюсь прочитать регистр настроек

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/