Страница 55 из 55

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 24 июл 2019, 20:03
vodovoz
И что?

Проблема со чтением температуры.

СообщениеДобавлено: 27 июл 2019, 13:25
vodovoz
Добрый день.
У кого нибудь есть рабочий код Flowcode + DS1820 для Pic16...
Что не могу понять в чём проблема. Во первых в самом FlowCode, работа проходит по разному, Если ставить скорость симуляции до максимальной, то выводит значения как положено, если поставить максимально быстро, то идёт ерунда, или вообще нули. При симуляции в протеусе данные отличаются от того что идёт в FlowCode но температуру показывает правильную. А в железе вообще третий вариант, показания -1, как будто вне диапазона и нет реакции при воздействии на датчик.
Сначала написал код для Pic16f628a, но при использовании типа переменной Float, почему то не хватало памяти при компиляции, и выдавала ошибку. Переделал под Pic16f877a, ошибка пропала, но прибор не заработал. В чём может быть проблема? Оба варианта прикрепляю.

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 27 июл 2019, 14:48
vodovoz
Кто когда либо работал с этой парой. Какое число должен возвращать датчик в флов коде, откуда это число (18384) это если пересчитать в градусы будет 1149 градусов, хотя максимальная рабочая температура 125 градусов?

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 05:24
Вячеслав
Какой парой? На форуме это пройдено - работа с датчиками 1820. Float не использую, память жалко, String использую редко. Как сделал:
p877A_2DS18B20_LCD.rar

Здесь FC 5.5, Proteus 7.10. Изменения для FC5 сам ищи, я в них путаюсь. Вывод значений на LCD - смотри по сообщениям на форуме.
В этом архиве 2 датчика DS18B20 (такая была задача). Один убери, если надо. Есть макрос DS1820_get_temp.fcc для импорта в программу. И есть файл для Proteus-a.

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 07:02
mim

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 07:56
vodovoz
Я имел ввиду пару PIC + DS18B20. По любому это у кого то получилось. Вот я и прошу помощи. Нужен заведомо работоспособный код, что бы я смог понять почему мой не работает. Я уже делал и Float и без него, ничего не работает. Такое ощущение что с датчика идет отрицательное число и он встаёт с ступор. И не понятно каким макором скорость симуляции в FlowCode может влиять на показания?
И кстати, архив не открывается.

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 08:49
victor1964
Архив открывается в WinRAR 5.0

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 08:53
Вячеслав
vodovoz писал(а):архив не открывается.

Обнови архиватор. Проверил вложение: архив открывается. Вот скрин.
Архив открывается.docx

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 11:49
vodovoz
А тактовая частота какая должна быть? Что то там установлено 19660800 Hz. Я установил 4 MHz, в железе выводит как и в моём проекте -0.
Всё вроде заработало, установил частоту 19660800 Hz, и кварц поменял на 19 МГц, стало реагировать на датчик. Сейчас попробую со своим проектом.

Re: Чтение температуры с DS18B20 (продолжение)

СообщениеДобавлено: 28 июл 2019, 12:16
vodovoz
Так и есть, вся проблема была в рабочей частоте контроллера. Я пробовал на 4 МГц, как поменял на 19 МГц все проекты заработали.
Вячеславу и victor1964 отдельное спасибо за помощь.