Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 25.06.2013, 15:41  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию DHT11

pic16f690 не читает DHT11 проблема следующего характера... есть библиотека DHT11 нормально использующаяся на pic24 в микробасике. прилепил ее к piic16 и не читается DHT11... такое впчатление что неправильно работает Delay_ms.
к модератору!! не рубите тему
Вложения:
Тип файла: zip Новая папка.zip (78.3 Кб, 68 просмотров)
Реклама:

Последний раз редактировалось Dtolok; 26.06.2013 в 23:36.
Dtolok вне форума  
Непрочитано 25.06.2013, 22:01  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: DHT11

Сообщение от Dtolok Посмотреть сообщение
есть библиотека DHT11 нормально использующаяся на pic24 в микробасике
Это утверждение Вас, как автора библиотеки, проверившего ее, или типа "одна бабка сказывала, что когда глубоко затянешься цигаркой с навозом - торкает, как с анаши"?
Сообщение от Dtolok Посмотреть сообщение
прилепил ее к piic16 и не читается DHT11...
Вот от первого утверждения все и исходит.
Сообщение от Dtolok Посмотреть сообщение
такое впчатление ...
А у меня вПЧатление, что Вы "начитались впечатлений"... СуСествует единый и непреложный ТуГомент, он же даташит, пусть даже и из поднебесной. А он гласит строго - при длине до 20м подтяжка DATA - 5кОм (у Вас - 10), после запуска питания - не трогать датчик (в смысле "не бомбить" запросами) в течение 1 сек, рекомендуется опрашивать с частотой 2 сек. Я не силен в "птичьем языке", он же "Васик", поскольку на дух его не перевариваю, но что-то я не увидел у Вас первоначального delay в 1 сек, да и пауза между опросами тоже равна всего 1 сек.
Сообщение от Dtolok Посмотреть сообщение
неправильно работает Delay_ms
Да, уж, только еще такое впечатление, что хрен знает какой именно Delay_ms. "Внутри средневекового рыцаря - наши опилки" (А. Райкин). Китайский DHT11 имеет в своем составе собственный МК, с которым и надо "согласовываться" - в смысле "дружить организмами" во времени.
Сообщение от Dtolok Посмотреть сообщение
к модератору!! не рубите тему
А надо бы, поскольку к Автоматика и аппаратура связи она так же близка, как Пекин к Москве и достойна разве что песочницы...
Halex07 вне форума  
Непрочитано 26.06.2013, 23:48  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: DHT11

библиотеку для работы с DHT11 для pic24 я написал практически сам... на основе не "птичьего " языка С!! вот тоже не переношу его из- за туевой кучи скобок...хотя при набодности и программирую на нем...)))! так вот то что я сбросил плод моих истязаний программы изначально нормально работающей на pic24. в чем вижу косяк?!! не взирая на "языки" (все они только лишь интерпритаторы!!!) и проги в асме я уверен на 100% будут одинаковые потому что это микро!!! какой бы нибыл интерпритатор суть одна! и действие тоже одно и тоже. и будет оно скомпилировано один в один. или if на с не будет соответствовать if на "птичьем"? ну это отступление.... так вот - я написал задержку свою на таймере расчитав предварительно период задержки в 1мкс и сделал while() с счетчиком внутри для проверки времени изменения стартовых действий DHT и вот что получилось... вместо 80мкс я получил 5. был я склонен думаль что частота работы pic16 не соответствует установленой в интерпритаторе... ан нет.. проверив биты настройки частоты - выяснил что все верно. 4 мгц. кстати у меня на работающем устройстве DHT опрашивается значительно чаще рекомендуемой частоты. проблем нет. и 10кОм. это только схема. на устройстве стоит 4.7кОм.больше мыслей пока нет. и прошу по существу... не надо обижать производителей и программистов написавших микроС и микроВасик.
Код:
sub function OW_Read_Bit_DHT () as byte
    dim i, j, DHT_dat as byte
    DHT_dat = 0
    result = 0
    for j = 7 to 0 step - 1
        i = 0
        while (DHT_bit = 0)
              Delay_us(1)
              if i › 70 then ER_MK.4 = 1 break end if
              INC(i)
        wend
        Delay_us(40)
        If DHT_bit = 1 Then
           result.j = DHT_bit
        end if
        i = 0           '
        while (DHT_bit = 1)
              Delay_us(1)
              if i › 70 then ER_MK.4 = 1 break end if
              INC(i)
        wend
    next j
end sub

sub function Read_DHT11() as byte
   dim i as byte
       DHT_byte as byte[4]
   result = 1
   DHT_bit_Direction = 0
   DHT_bit = 0
   Delay_ms(18)
   DHT_bit_Direction = 1
   Delay_us(40)
   if DHT_bit = 1 then result = 1 exit end if 'датчик не ответил
   Delay_us(80)
   if DHT_bit = 0 then result = 1 exit  end if 'датчик не ответил
   i = 0
   while (DHT_bit = 1)
         Delay_us(1)
         if i › 80 then result = 1 exit end if
         INC(i)
   wend
   DHT_byte[0] = OW_Read_Bit_DHT ()
   DHT_byte[1] = OW_Read_Bit_DHT ()
   DHT_byte[2] = OW_Read_Bit_DHT ()
   DHT_byte[3] = OW_Read_Bit_DHT ()
   Sum_Byte = OW_Read_Bit_DHT ()
   DHT_bit_Direction = 0
   DHT_bit = 1
   i = DHT_byte[0] + DHT_byte[2]
   if i = Sum_Byte then
      iSHT_Humi =  DHT_byte[0]
      iSHT_Temp = DHT_byte[2] * 16
      result = 0      'если все ок возврат "0" , нет - "1"
   end if
   
end sub

Последний раз редактировалось Dtolok; 02.07.2013 в 11:22.
Dtolok вне форума  
Непрочитано 26.06.2013, 23:53  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: DHT11

Сообщение от Halex07 Посмотреть сообщение

А надо бы, поскольку к Автоматика и аппаратура связи она так же близка, как Пекин к Москве и достойна разве что песочницы...
недавно.... пол года назад написав новую тему (у меня была проблема с програмированием pic24 для ухода в сон) -в был перенесен в автоматику. и как написал один из участников форума - знания и опыт не повод для надменности.

Последний раз редактировалось Dtolok; 26.06.2013 в 23:59.
Dtolok вне форума  
Непрочитано 29.06.2013, 23:50  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 944
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: DHT11

Сообщение от Dtolok Посмотреть сообщение
и проги в асме я уверен на 100% будут одинаковые потому что это микро!!!
Для пиков 16й и 24й серии? Какая чушь... Одни странички памяти программ в 16й серии чего стоят. Впрочем, посмотрите сами асмовые листинги компиляторов, открытий будет море.

Сообщение от Dtolok Посмотреть сообщение
был я склонен думаль что частота работы pic16 не соответствует установленой в интерпритаторе... ан нет.. проверив биты настройки частоты - выяснил что все верно. 4 мгц.
Не стоит забывать, что в 16й серии команда занимает минимум 4 такта. Это потом, просрав свою треть рынка микроконтроллеров (щас, если не ошибаюсь, микрочипу принадлежит всего порядка 6% рынка микроконтроллеров) микрочип стал вносить изменения в свою архитектуру, превратив 24 серию уже во вполне человеческую.
Someone вне форума  
Непрочитано 30.06.2013, 20:54  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: DHT11

по поводу асма я имел ввиду программы написаные на микро васике и микро си. в интерпритаторе нет необходимости задумыватся над количеством тактов. указал частоту - все остальное сделает интерпритатор. тут другое... не работает вполне рабочая программа. DS18d20 без проблем а вот с DHT11 нет....
Dtolok вне форума  
Непрочитано 09.07.2013, 17:56  
Программолюбитель
Частый гость
 
Регистрация: 27.05.2013
Сообщений: 75
Сказал спасибо: 1
Сказали Спасибо 24 раз(а) в 14 сообщении(ях)
Программолюбитель на пути к лучшему
По умолчанию Re: DHT11

Сообщение от Dtolok Посмотреть сообщение
по поводу асма я имел ввиду программы написаные на микро васике и микро си. в интерпритаторе нет необходимости задумыватся над количеством тактов. указал частоту - все остальное сделает интерпритатор. тут другое... не работает вполне рабочая программа. DS18d20 без проблем а вот с DHT11 нет....
А конкретней? что не работает? не совпадают времена? Я работал с DHT22 на dspic - вроде все нормально. Конкретней вопрос - конкретней будет ответ
Программолюбитель вне форума  
Непрочитано 30.07.2013, 22:48  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: DHT11

с пик24 и у меня работате а вот на пик16 не хочет... пишет всякую хрень. причем прогу перенес рабочую.считанный байт по полубайтам закидываю на индикаторы и выводит ерунду... такое впечатление что значение больше чем 16 в каждом полубайте ((((!!!!. по индикации невидно даже чтобы менялись значения при измерении влажости и температуры!

Последний раз редактировалось Dtolok; 30.07.2013 в 22:53.
Dtolok вне форума  
Непрочитано 30.07.2013, 23:30  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: DHT11

Если вы пишете тексты программ так же небрежно, как тексты сообщений в этой теме, то удивительно, что вообще хоть что-то работает. Впрочем, в этом заслуга не ваша, а интерпрИтатора васика
Alex9797 вне форума  
Непрочитано 30.07.2013, 23:31  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: DHT11

У вас похоже прерывание мешает правильной длитетельности Delay_ms и Delay_us. Если программа находится в подпрограмме Delay_ms или Delay_us, а в это время происходит прерывание (и может не одно) то нарушиться заданная длительность и соответственно не будет правильной например Delay_us(40) (будет длиннее). Программу скорее всего придется переделать.
Делал на меге48: http://www.3v3.com.ua/product_1351.html
Писал на АБ.
oleg110592 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:26.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot