24.04.2014, 21:15
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Доброго времяприпровождения, форумчане!
И снова те - же грабли:
В "Протеусе" все "на ура", собрал в железе - никак
Путём "покусочной" отладки, вышел на то, что не правильно считываются данные по 1-Wire. Все временнЫе интервалы выставил, CRC соотв не совпадает. В обход получаю несуразные значения: › 100, при ожидаемых 22-25 (комнатная).
Хелп, плиз!
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
24.04.2014, 22:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Компараторы отключены? По умолчанию они включены. Если вход подключен как аналоговый, то имеет место увеличенная паразитная емкость соответствующего пина, что не есть гуд для 1-wire. Проверьте.
|
|
|
|
24.04.2014, 23:01
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Само - собой: и компараторы, и опорное.
Аналоговым (65) осцилографом смотрел - уровни нормальные. Пробовал через ТТL -› RS232 поймать информацию на СОМ, поигрался скоростью, никакого результата, для анализа. Цифрового с памятью под рукой нет. Скачал рус. даташит на 18В20, сижу, штудирую. Попробую по их рекомендациямвремя подогнать по шине. Раньше и сейчас опирался на "Компьютерный датчик температуры, на основе 18В20"
http://www.3dnews.ru/171138
Может команды в датчик криво залетают, потому и ответ такой?
Отлаживаю кусками, ориентируясь на индикатор, больше под рукой ничего нет: из программы вгоняю в индикатор, чего получаю. Уровни, только могу сказать, нормальные, по питанию "мух" тоже особо нет. ШОК
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
24.04.2014, 23:21
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Задайте простой меандр и измерьте по факту, совпадают ли тайминги. Плюс, конечно, совершенно не ясно, что вы там написали за программу. Все таки динамическая индикация + жестко регламентированный по времени ногодрыг не очень тревиальная задача.
|
|
|
|
24.04.2014, 23:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Вот увидел одну неприятность. Строка 6. Получается выход RA2 переключается в 1 до того как этот пин настраивается на вход. Это чревато сквозными токами. В этот момент DS уже мог выставить 0.
ЗЫ. RA2 вообще можно оставлять в 0, а переключать только направление.
Последний раз редактировалось alvadep; 24.04.2014 в 23:30.
|
|
|
|
25.04.2014, 03:25
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Сообщение от alvadep
|
Если вход подключен как аналоговый, то имеет место увеличенная паразитная емкость соответствующего пина, что не есть гуд для 1-wire.
|
У PIC16F628 нет АЦП, какая там ёмкость? Да и что сравнивать ёмкость в несколько пикофарад с ёмкостью длинной линии. Надуманно это всё.
Цитата:
|
RA2 вообще можно оставлять в 0, а переключать только направление.
|
Лучше юзать RA4 и вообще ничего не переключать, там open drain.
|
|
|
|
25.04.2014, 08:32
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 116
Сказал спасибо: 10
Сказали Спасибо 58 раз(а) в 34 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Протеус не для разработок, протеус для обучения. Частенько, если программа написана для протеуса, то только в нем и работает Вот тут есть проект с исходниками http://catcatcat.d-lan.dp.ua/multizo...ator-ch-c3010/ (правда ассемблер) посмотри может пригодиться.
|
|
|
Сказали "Спасибо" Catcatcat1
|
|
|
25.04.2014, 08:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Сообщение от STM32F0
|
У PIC16F628 нет АЦП, какая там ёмкость? Да и что сравнивать ёмкость в несколько пикофарад с ёмкостью длинной линии. Надуманно это всё.
|
Вы правы, АЦП нет. Просто отложилось в памяти, что аналоговые входы пагубно влияют на нарастание импульса, тем более, что подтягивающий резистор аж 4к7. При таких значениях о длинных линиях можно и не заикаться.
Цитата:
|
Лучше юзать RA4 и вообще ничего не переключать, там open drain.
|
Конечно лучше, "сквозняков" не будет по определению, а еще лучше использовать USART и не заниматься ногодрючеством, но в данном случае отталкиваемся от того, что уже есть.
|
|
|
|
25.04.2014, 08:40
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Сообщение от Catcatcat1
|
Протеус не для разработок, протеус для обучения. Частенько, если программа написана для протеуса, то только в нем и работает
|
Не надо сказок .
Если писано нормально то работает и там и там . Речь веду о пЫк...
__________________
Осторожно , злой кот
|
|
|
|
25.04.2014, 10:09
|
|
Прохожий
Регистрация: 02.10.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Снова PIC16F628 + DS18B20: Proteus - да, железо - нет. HELP, Please!
Цитата:
|
Уровни, только могу сказать, нормальные, по питанию "мух" тоже особо нет. ШОК
|
Шок, это то, как у вас схема нарисована.
на основе DS18S20!!! Обратите внимание. Разница насколько я помню в разрядности температуры и времени считывания при различной разрядности. Начните с инициализации датчика. Код программы весь необходимо привести. Прерывания используете?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:11.
|
|