Микроконтроллерный терморегулятор с дистанционным управление

В этом форуме обсуждаются статьи напечатанные в журнале "Радио"

Re: Микроконтроллерный терморегулятор с дистанционным управл

Сообщение dak » 24 дек 2016, 12:37

nuklid писал(а): "S76->OSCCAL" при компиляции программа выдала ошибку "НЕОБЪЯВЛЕННОЕ ИМЯ S76" попробовал ввести "76->OSCCAL" программа отработала,выдала отчёт и 2 файла как у автора.


nuklid, первый символ должен быть не буква "S", а символ доллара "$" - это признак шестнадцатеричного числа. Когда вы ввели просто "76", то вы ввели десятичное число, которое соответствует шестнадцатеричному "$4C".
Исправьте на $76.
Что касается измерения температуры. Опрос датчика идёт по протоколу 1-Wire имеющим ограничения по длительностям импульсов (как в меньшую, так и в большую стороны), поэтому "неправильная " тактовая частота может привести к "неправильным" длительностям информационных импульсов. В результате считанные данные окажутся некорректными.
При отключенном датчике должно высвечиваться "-0,0".

Пульт ДУ с импульсами повтора длительностью 10 мс с периодом 110 мс скорее всего подойдёт.
dak
 
Сообщения: 8
Зарегистрирован: 09 ноя 2016, 08:51

Re: Микроконтроллерный терморегулятор с дистанционным управл

Сообщение nuklid » 27 дек 2016, 01:06

Добрый вечер. Спасибо за подсказку. Пробовал вводить $76->OSCCAL результат тотже "10,6" "2,3", при $4C->OSCCAL система датчика температуры не видит совсем на экране "-0,0". Что может быть, ума не приложу. И ещё во вкладке DS18b20-TIC5231 в пояснениях значится LM75_Temp это просто ошибка в пояснениях или ошибка в программе?
nuklid
 
Сообщения: 6
Зарегистрирован: 10 янв 2016, 10:15

Re: Микроконтроллерный терморегулятор с дистанционным управл

Сообщение dak » 15 янв 2017, 16:46

nuklid, извините за то, что долго не отвечал - почему-то не пришло извещение об ответе в форуме.
Давайте разбираться по порядку - сначала с пультом ДУ.
Загрузите RC_Samp-TIC5231_3W_v2.zip с yadi.sk/d/0crt5bhhyHkY3
Прошейте этой прошивкой ваше устройство.
В посте от 09 ноя 2016 есть инструкция по этой прошивке.
Покажите значения нескольких пар импульс/пауза, начиная с первой.
После этого будем двигаться дальше.
dak
 
Сообщения: 8
Зарегистрирован: 09 ноя 2016, 08:51

Re: Микроконтроллерный терморегулятор с дистанционным управл

Сообщение nuklid » 03 фев 2017, 01:43

Добрый день уважаемый автор. По Вашей рекомендации прошил конструкцию программой для измерения параметров ПДУ. Вот что у меня получилось:
При включении загорается на индикаторе "tst.rc", затем 1.04.FF
При нажатии на кнопки пульта высвечиваются следующие данные:
1.88.42
2.0A.07
3.09.08
4.06.08
5.0A.07
6.09.08 и т.д.
Подскажите пожалуйста как подкорректировать программу микроконтроллера под эти параметры? Заранее благодарен.
nuklid
 
Сообщения: 6
Зарегистрирован: 10 янв 2016, 10:15

Re: Микроконтроллерный терморегулятор с дистанционным управл

Сообщение dak » 03 фев 2017, 11:08

nuklid писал(а): И ещё во вкладке DS18b20-TIC5231 в пояснениях значится LM75_Temp это просто ошибка в пояснениях или ошибка в программе?

Это ошибка в пояснениях.
nuklid писал(а):При нажатии на кнопки пульта высвечиваются следующие данные:
1.88.42

Подсчитаем: $88 это 136 в десятичном представлении. 136 умножить на период измерительного таймера 53.3 мкс = 7.25 мс, а должно быть 9 мс.
Значит тактовая частота процессора в 0.8 раз меньше чем 4.8 МГц, т.е. равна 3.84 МГц.
При такой частоте проблем с чтением температуры с датчика быть не должно.
С датчиком разберёмся позже.
Если Вы не возражаете, то хотелось бы разобраться с проблемой более основательно.
В прошивке для тестирования пультов ДУ отсутствует загрузка калибровочного байта.
Пожалуйста, отредактируйте исходный код тестовой прошивки:
После первой строки: "|Reset"
вставьте строку: "$76 -> OSCCAL", откомпилируйте, залейте прошивку и проведите измерения первой пары импульс/пауза.
У меня получаются такие значения:
1.А9.52
Вместо A9 могут быть A5..А9, вместо 52 - 51..55.
Если у Вас получились значения меньше указанных мной, то нужно увеличивать значение, загружаемое в OSCCAL до тех пор, пока не получатся правильные цифры.
Т.е. вместо $76 пытаться загружать $77, $78, $79, $7A, $7B и т.д. Максимальное значение $7F.

Для большей оперативности предлагаю общаться по электронной почте. Мой адрес dak-dakСобакаlist.ru
Отчёт об успешном решении опубликуем здесь.
dak
 
Сообщения: 8
Зарегистрирован: 09 ноя 2016, 08:51

Re: Микроконтроллерный терморегулятор с дистанционным управл

Сообщение dak » 07 фев 2017, 08:35

От уважаемого nuklidа поступило сообщение на мою электронную почту:
Последовал Вашему совету и в програмку для проверки ПДУ ввёл строку для корректировки частоты тактового генератора. Начал подбирать калибровочные байты, и при "$7D->OSCCAL" вместо родного "78", програмка выдала 1.А8.50.
Ввёл "7D->OSCCAL" в программу регулятора температуры, и конструкция ожила!!! Регулятор очень чётко отрабатывает команды с пульта даже при засветке фотоприёмника от 100 ватной ламы накаливания.

Какие можно сделать выводы?
В даташите на ATtiny13 сказано, что калибровка выполняется при напряжении питания 3,3 В.
Поэтому если конструкция питается от источника с напряжением 5 В, то загрузка "родного" калибровочного байта не является гарантией "правильной" частоты генератора.
При увеличении напряжения питания частота генератора уменьшается.
Далее. Максимальное значение калибровочного байта - 7F.
У nuklidа "родное" значение было 78. Т.е. фактически на пределе возможностей калибровки.
В даташите приведён график зависимости частоты генератора от значения OSCCAL - зависимость экспоненциальная. Очевидно поэтому наблюдается такой большой уход частоты генератора при питании напряжением отличным от 3,3 В.
dak
 
Сообщения: 8
Зарегистрирован: 09 ноя 2016, 08:51

Пред.

Вернуться в Журнал "РАДИО"

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23