РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ

  • Курс по ускорению работы Мозга на 100%


    Архив - только для чтения
    Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Часы на AtMega8
    Часы на AtMega8
    Сб, 24.02.2018, 20:47 | Сообщение # 251        
    ЛесникБелый
    аватар
      Постов: 13   ОК 
    Цитата msmmmm ()
    Частоту ДИ замерил?

    У меня на работающем варианте 58 герц. Как будет у Pentiumа сможет сказать только он. smile
    Подскажите пожалуйста, где искать данные OSCCAL. В прошивке нигде запроса этого регистра нету.
    Сб, 24.02.2018, 21:12 | Сообщение # 252        
    msmmmm
    аватар
      Постов: 891   Друзья 
    ЛесникБелый, biggrin уже убрал вопрос (не глянул на автора поста), но может и не зря спросил. Протеус пишет, что частота ДИ должна быть 61,12Гц. На работающем МК видим -5% ухода частоты. Что на проблемном - узнаем, если Pentium измерит.
    OSCCAL - регистр ввода/вывода (адрес 0x31 (0x51)).
    Цитата ЛесникБелый ()
    В прошивке нигде запроса этого регистра нету.
    И я о том же. Но давай подождем измерений, может дело не в этом.
    Сб, 24.02.2018, 22:40 | Сообщение # 253        
    Pentium
    аватар
      Постов: 25   ОК 
    Всем огромнейшее спасибо за участие, дело было в исправных датчиках, исправных в прямом смысле слова, дома было 2 других термометра поменял местами датчики и...(барабанная дробь) работает всё, и этот проект и домашние...
    Сб, 24.02.2018, 22:54 | Сообщение # 254        
    ЛесникБелый
    аватар
      Постов: 13   ОК 
    Цитата Pentium ()
    поменял местами датчики

    Марка датчиков полностью одинаковая?
    Вс, 25.02.2018, 09:07 | Сообщение # 255        
    Pentium
    аватар
      Постов: 25   ОК 
    ЛесникБелый, абсолютно, покупал как то 3 датчика dallas18b20, 2 использовал а 1 остался вот и решил собрать термометр-часы по данной схеме, и вот такие грабли вышли с этим оставшимся датчиком...хотя в других термометрах работает. наверно такие вещи надо покупать в количестве не менее 5и штук...
    Вс, 25.02.2018, 14:16 | Сообщение # 256        
    Pentium
    аватар
      Постов: 25   ОК 
    Поправил прошивку под общий катод, сделал мигающую разделительную точку(не было индикатора с двумя точками) и изменил переключение часы->термометр->часы...вдруг кому понадобится
    Файлы: _OK_pentium.hex (6.6 Kb)
    Пн, 26.02.2018, 14:23 | Сообщение # 257        
    msmmmm
    аватар
      Постов: 891   Друзья 
    Было время и желание, почитал о калибровке тактового генератора.
    Цитата: "Поскольку интерфейс 1-Wire, используемый датчиками, критичен к тактовой частоте микроконтроллера, необходима точная настройка его внутреннего тактового генератора на 8 МГц. Для этого следует, подключив используемый экземпляр микроконтроллера к программатору, прочитать калибровочную константу, находящуюся в старшем байте слова, расположенного по адресу 0x0003 сигнатуры микроконтроллера". Эту константу записывают в любую ячейку EEPROM, а программа в самом начале должна считать это значение из EEPROM и записать в регистр OSCCAL. Проблема с совместимостью тактовых частот МК и датчика должна решиться.
    Ср, 28.02.2018, 19:37 | Сообщение # 258        
    ЛесникБелый
    аватар
      Постов: 13   ОК 
    Если судить по даташиту атмега8л, то калибровочная константа, записанная в контроллере справедлива для 1 МГц.
    В процессе сброса калибровочный байт аппаратно записывается регистр OSCCAL, тем самым автоматически выполняя калибровку RC-генератора. При питании 5В, температуре 25C и выбранной частоте генератора 1.0 МГц данный метод калибровки обеспечивает погрешность
    генерации частоты не хуже ± 3% от номинального значения

    Для остальных частот нужна программная.


    Добавлено (28.02.2018, 20:37)
    ---------------------------------------------
    По-экспериментировал я с этим OSCCAL-ом, получилось следующее:
    1 Если забить в него 0x00, то частота обновления индикатора падает до 30-31Гц, датчик выдает 999.
    2 Если забить 0xFF, то частота становиться 100Гц, а при индикации температуры растет до 120Гц.
    3 Забив своё значение (С0) получилась 61Гц, при инд-ции температуры растёт до 65-66Гц.
    В моём контроллере калибровочные значения были BF,C1,BD,C0. Это соответственно для 1,2,4 и 8МГц.
    В проекте просто добавил строку OSCCAL=0xC0;, перед инициацией программы.
    Также добавлю, что при питании от аккумулятора, частота обновления индикатора падает до 59-60 Гц.
    Файлы: 8503355.png (153.9 Kb)
    Ср, 28.02.2018, 20:05 | Сообщение # 259        
    msmmmm
    аватар
      Постов: 891   Друзья 
    Цитата ЛесникБелый ()
    частота обновления индикатора падает до 59-60 Гц
    RC генератор, что с него взять? smile Зависит и от напряжения, и от температуры.
    Цитата ЛесникБелый ()
    В проекте просто добавил строку OSCCAL=0xC0
    Для себя так, конечно, пойдет, но если писать программу для общего пользования, лучше бы вычитывать предварительно записанную константу из EEPROM - не нужно под каждую микросхему компилировать исходник.
    Диапазон подстройки получается как и по даташиту - очень широкий. Нужно учесть все это на будущее, хотя, если честно, я бы сам такую схему вряд ли нарисовал. Поставил высокочастотный кварц, а от него и часы и 1wire и ДИ. Все стабильно.
    А Pentium так частоту ДИ и не измерил...
    Ср, 28.02.2018, 20:23 | Сообщение # 260        
    ЛесникБелый
    аватар
      Постов: 13   ОК 
    Цитата msmmmm ()
    Для себя так, конечно, пойдет, но если писать программу для общего пользования, лучше бы вычитывать предварительно записанную константу из EEPROM - не нужно под каждую микросхему компилировать исходник.

    Да записать константу не проблема ( при программировании записать в еепром по адресу 0x00 свою константу), Присвоить ей название :
    eeprom unsigned char Calibr @0x00;// расположение байта калибра по адресу 0x00
    а перед инициацией программы:
    OSCCAL =Calibr;
    Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Часы на AtMega8
    Поиск:

    Внимание! Форум переехал на Tehnodium.ru



    © 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA