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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Закрытая тема
Опции темы
Непрочитано 05.03.2014, 23:39   #11
Astendos
Частый гость
 
Регистрация: 05.03.2014
Сообщений: 14
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
Astendos на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Ara41 Посмотреть сообщение
тактовую частоту контроллера в протеусе установите правильную. или в проекте..
вот это я рак

Однако спасибо преогромнейшее!
Реклама:
Astendos вне форума  
Сказали "Спасибо" Astendos
MixPet (06.03.2014)
Непрочитано 06.03.2014, 08:24   #12
Catcatcat1
Прописка
 
Регистрация: 05.05.2007
Сообщений: 116
Сказал спасибо: 10
Сказали Спасибо 58 раз(а) в 34 сообщении(ях)
Catcatcat1 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Мое личное мнение, в протеусе надо учиться электроники, ну типа в первом классе. А работать надо в железе. Мне чаcто задают вопросы, ваша программа в Протеусе не работает, ну так я говорю это вопрос к протеусу, а не ко мне. Есть варианты, когда запускается программа в протеусе, а в железе работать не хочет. У меня есть наработки и библиотеки на Си под PIC контроллеры. Если интересно взять как за основу то можно посмотреть здесь http://catcatcat.d-lan.dp.ua/skachat...turyi-ds18b20/ Тут можно взять описание русское http://catcatcat.d-lan.dp.ua/zashhit...lektrichestva/ Есть несколько проектов с исходниками, но правда тоже для PIC.
Catcatcat1 вне форума  
Непрочитано 07.03.2014, 18:37   #13
Astendos
Частый гость
 
Регистрация: 05.03.2014
Сообщений: 14
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
Astendos на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Снова попрошу вашей помощи.

Вобщем собрал я эту схемку, и она не работает, так как нужно.
В протеусе работает: если поставить в прошивке 8.0MHz, если же поставить 1.0MHz и запустить то он тупит, то принимает сигнал то не принимает.

В реале же всё наоборот, если поставить 8.0MHz и прошить микроконтроллер то, индикатор показывает что тепература "-9999", а если поставить 1.MHz и прошить то индикатор где то раз в секунду мигает смотрите рис. Кадр.jpg
Короче я в замешатеильстве что происходит....

толи я кривой , толи я кривой))
вот видео как мигает индикатор на прошивке 1MHz

P.S материалов по ds18b20 куча, и у всех всё работает... а я рак

Материалы:
Миниатюры:
Нажмите на изображение для увеличения
Название: Вид_сверху.jpg
Просмотров: 78
Размер:	86.2 Кб
ID:	60215   Нажмите на изображение для увеличения
Название: схема.jpg
Просмотров: 56
Размер:	143.1 Кб
ID:	60216   Нажмите на изображение для увеличения
Название: Датчик тепературы.jpg
Просмотров: 47
Размер:	45.1 Кб
ID:	60217  

Нажмите на изображение для увеличения
Название: Кадр.jpg
Просмотров: 111
Размер:	73.1 Кб
ID:	60218   Нажмите на изображение для увеличения
Название: Proteus.jpg
Просмотров: 69
Размер:	179.2 Кб
ID:	60220   Нажмите на изображение для увеличения
Название: AVRLib.jpg
Просмотров: 47
Размер:	52.0 Кб
ID:	60221  

Нажмите на изображение для увеличения
Название: AVRProperties.jpg
Просмотров: 60
Размер:	371.5 Кб
ID:	60222  
Вложения:
Тип файла: rar Исходник+Протеус.rar (29.1 Кб, 32 просмотров)

Последний раз редактировалось Astendos; 07.03.2014 в 18:44. Причина: Лишняя ссылка, Добавил видео.
Astendos вне форума  
Непрочитано 07.03.2014, 18:55   #14
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

У Вас в исходнике какая-то каша, связанная с индикацией. Порты А и С перепутаны местами (или вообще везде)
Ara41 вне форума  
Непрочитано 07.03.2014, 19:25   #15
Astendos
Частый гость
 
Регистрация: 05.03.2014
Сообщений: 14
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
Astendos на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Ara41 Посмотреть сообщение
У Вас в исходнике какая-то каша, связанная с индикацией. Порты А и С перепутаны местами (или вообще везде)
Простите забыл дописать.

Там не напутано, просто у меня схема в протеусе и в реале отличается (Разные индикаторы)...

заметка: в протеусе если показывает 7 значит работает, а если полоски сверху то нет...

Последний раз редактировалось Astendos; 07.03.2014 в 19:29. Причина: забыл дописать
Astendos вне форума  
Непрочитано 07.03.2014, 19:43   #16
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Astendos Посмотреть сообщение
Простите забыл дописать.

Там не напутано, просто у меня схема в протеусе и в реале отличается (Разные индикаторы)...

заметка: в протеусе если показывает 7 значит работает, а если полоски сверху то нет...
Сделайте что-ли нормальную схему в протеусе =) У Вас эта 7 показывается всегда, даже если вообще убрать датчик.
Ara41 вне форума  
Непрочитано 07.03.2014, 20:49   #17
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

чтоб не мигал индикатор придётся отказаться от использования стандартной библиотеки для работы с датчиком и написать свою или использовать чужую -
функция ds18b20_temperature непосредственно возвращает температуру. У нее есть один недостаток. Между вызовом процедуры и моментом когда она возвращает результат проходит примерно секунда. Динамическая индикация остановится (прерывания запрещаются) пока функция не отработает. Такая большая задержка связана с тем что датчик не может быстро оцифровать температуру. (с)
Код:
float ds18b20_temperature(unsigned char *addr)
{
unsigned char resolution;
if (ds18b20_read_spd(addr)==0) return -9999;
resolution=(__ds18b20_scratch_pad.conf_register››5) & 3;
if (ds18b20_select(addr)==0) return -9999;
w1_write(0x44);
delay_ms(conv_delay[resolution]);
if (ds18b20_read_spd(addr)==0) return -9999;
w1_init();
return (*((int *) &__ds18b20_scratch_pad.temp_lsb) & ((int) bit_mask[resolution]))*0.0625;
}
oleg110592 вне форума  
Непрочитано 10.03.2014, 02:41   #18
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Не могу подключить ds18b20

Сообщение от oleg110592 Посмотреть сообщение
Между вызовом процедуры и моментом когда она возвращает результат проходит примерно секунда. Динамическая индикация остановится (прерывания запрещаются) пока функция не отработает.
В функции ds18b20_temperature()
нет запрета прерываний. Можете посмотреть ассемблерный код.

Но тут проблема: чтение и запись 1wire чувствительны к таймингам. И если в неподходящий момент чтения/записи возникнет прерывание на индикацию, которое будет выполняться хотя бы 10 мкс, то чтение/запись может выполниться некорректно.

Фактически, всё сводится к нескольким десяткам вызовов w1_write() / w1_read().
И чтобы всё работало корректно, достаточно запретить прерывания именно на момент вызова этих функций (~ 500 мкс).

Ни к чему запрещать прерывания на весь период преобразования (~750 мс на лучшей точности измерения).

Для этого, правда, потребуется написать свои функции работы с 1wire (или изменить имеющиеся).

Прерывания даже на 1 мс существенно не нарушат динамической индикации (если только не используется регулировка яркости ШИМ-ом).

P.S. 10 мкс - это всего лишь вход и выход в обработчик прерывания на частоте 1 МГц. Работа с float - это миллисекунды.
Godzilla82 вне форума  
Непрочитано 10.03.2014, 10:23   #19
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Сообщение от Godzilla82 Посмотреть сообщение
В функции ds18b20_temperature()
нет запрета прерываний.
имелось ввиду, если не запретить прерывания перед вызовом этой функции, то вообще работать не будет - например http://radiokot.ru/lab/controller/18/
Цитата:
потребуется написать свои функции работы с 1wire (или изменить имеющиеся).
это, собственно, и написал выше
oleg110592 вне форума  
Непрочитано 11.03.2014, 11:50   #20
Astendos
Частый гость
 
Регистрация: 05.03.2014
Сообщений: 14
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
Astendos на пути к лучшему
По умолчанию Re: Не могу подключить ds18b20

Проблема сейчас в том что в протеусе работает отлично, а в реале показывает 999 (Я точно вычислил, датчик присылает 85 градусов ).

CVAVR настроен на 1,000000Mhz
Библиотека включена:
Enable 1 Wire Bus Interface Suport
I/O Port: PORTD Bit: 3

Кусок из кода:
Код:
        if(tmp==-9999)
            DDRC=0b1001001;
        else if(tmp‹10)
            setNum(0);
        else if(tmp‹20)
            setNum(1); 
        else if(tmp‹30)
            setNum(2);
        else if(tmp‹40)
            setNum(3);
        else if(tmp‹50)
            setNum(4);
        else if(tmp‹60)
            setNum(5);
        else if(tmp‹70)
            setNum(6);
        else if(tmp‹80)
            setNum(8); 
        else if(tmp‹90)
            setNum(9);
        else if(tmp‹100)
            DDRC=0b00001000;
        else if(tmp‹110)
            DDRC=0b10000000;
Обновил код и протеус:
Миниатюры:
Нажмите на изображение для увеличения
Название: lal.jpg
Просмотров: 55
Размер:	210.0 Кб
ID:	60434  
Вложения:
Тип файла: rar Source.rar (29.3 Кб, 29 просмотров)

Последний раз редактировалось Astendos; 11.03.2014 в 11:55.
Astendos вне форума  
Закрытая тема

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Как подключить веб-камеру от ноутбука iturup Видеотехника 5 01.07.2010 22:51
Как подключить двигатель сварочного полуавтомата Д-90С Levap Поиск схем. Делимся схемами 2 02.06.2010 10:23
[Решено] Как подключить мотор EINSHTEYNN Производственное оборудование 11 24.05.2010 22:18
Как подключить лампу дневного света через датчик движения? fipe Автоматика и аппаратура связи 7 03.08.2008 12:40
Матричный принтер СМ6337 как подключить? Ren Ремонт оргтехники 14 10.09.2005 00:50


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


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