реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> Забавное поведение датчика BS18B20
ILYAUL
сообщение Jan 2 2013, 23:48
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Тоже самое и с полевиками, фронты - мама не горюй , все регистры читаются как положено , даже загонял значения в USER's registers - . Резервные 5 и 8 выдают строго по DS.
6 байт - о котором нет ни слова , каждый раз выдаёт новое значение, хотя на полученной температуре сие не сказывается.
Один из трёх (дома на макетке) "уложил в талую воду. Ну скачет температура у датчика +/- 0,0625 ( использую 12 разрядов точность ) , но CRC всё равно не сходится хоть ты ее тресни. Второй обнял ВМР085- и они дружненько так показывают одинаково температуру до запятой , сточностью у них понятненько есть разница.
Третий с таким же собратом только от другого проекта , болтаются на улице, и здесь наблюдается единое мнение до 2 знака после запятой.
Ну ее на хрен эту CRC.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 3 2013, 00:39
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ILYAUL @ Jan 3 2013, 01:48) *
Ну ее на хрен эту CRC.

Как так - на хрен?
Тогда уж лучше с плеча - 1-wire на хрен.
Если без CRC, то как тогда отличать, где верно, а где нет?

P.S. Есть ли адекватная замена 1-wire?
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 3 2013, 02:52
Сообщение #33


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Всю ночь мой датчик проработал на улице. CRC совпадает. Без CRC строго не советую работать, температуры чудные выходят)

QUOTE (_Артём_ @ Jan 3 2013, 09:39) *
P.S. Есть ли адекватная замена 1-wire?

1-wire over RS-485? rolleyes.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 3 2013, 10:08
Сообщение #34


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата
CRC совпадает

C какой точностью работаешь?

Цитата
Если без CRC, то как тогда отличать, где верно, а где нет?

У этих датчиков есть один неприятный момомент , при частом опросе идёт саморазогрев, если CRC не совпало нужно повторить преобразование - чтение. Хорошо , если со второй попытки совпало , а если нет? Я бы не стал доверять такой температуре. У меня в MENU забит пункт - TIMEOUT опроса датчиков. Минимум , который можно задать- 1мин.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 3 2013, 11:26
Сообщение #35


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (ILYAUL @ Jan 3 2013, 19:08) *
C какой точностью работаешь?

Та, которая по умолчанию - 12 бит.
QUOTE (ILYAUL @ Jan 3 2013, 19:08) *
У этих датчиков есть один неприятный момомент , при частом опросе идёт саморазогрев, если CRC не совпало нужно повторить преобразование - чтение. Хорошо , если со второй попытки совпало , а если нет? Я бы не стал доверять такой температуре. У меня в MENU забит пункт - TIMEOUT опроса датчиков. Минимум , который можно задать- 1мин.

Я опрашиваю датчики не чаще 30 секунд. Причем интервал разбит на две части:
1. Команда на конвертацию.
2. Пауза 15 сек.
3. Чтение температуры.
4. Пауза 15 сек.
5. Переход к п. 1.

Такие паузы пришлось взять по причине использования ОС. А для формирования точной времянке на шине, приходится использовать критические секции (читай запрет прерываний). Чтобы часто систему не вешать - интервал взять большой. По сути для уличного измерения температуры его можно увеличить вплоть до 30 минут, чаще вряд ли оправдано. Для дома (ИМХО) - 1 минута, если датчик работает как противопожарный. И до 10 - 20 минут, если "просто" измеряет.

Как-то так)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 3 2013, 12:10
Сообщение #36


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата
1. Команда на конвертацию.
+ (~)750ms (обычно меньше)= данные. 0xF0 0x55 Rom 0x44 750ms 0xF0 0x55 Rom 0xBE ~= 800ms
У меня таймер работает по секундно , очень удобно 1Гц получать из USART-ого кварца.
Я это к чему, в течении 1 сек можно конвертировать и прочитать. Зачем
Цитата
2. Пауза 15 сек.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 3 2013, 13:35
Сообщение #37


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (ILYAUL @ Jan 3 2013, 21:10) *
+ (~)750ms (обычно меньше)= данные. 0xF0 0x55 Rom 0x44 750ms 0xF0 0x55 Rom 0xBE ~= 800ms
У меня таймер работает по секундно , очень удобно 1Гц получать из USART-ого кварца.
Я это к чему, в течении 1 сек можно конвертировать и прочитать. Зачем

Так КС-то до сих пор не сходится?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 3 2013, 16:41
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Празник, не дадут посидеть нормально.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jan 3 2013, 17:58
Сообщение #39


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(haker_fox @ Jan 3 2013, 15:26) *
...приходится использовать критические секции (читай запрет прерываний). Чтобы часто систему не вешать - интервал взять большой....


все с этого начинали. с синхронизации с другими критическими событиями в девайсе. но если присмотритесь повнимательней к протоколу, то точно выдерживать временной срез необходимо только в одном месте - от синхроимпульса до начала тайм-слота. всё остальное апсолютно не критично. если весь сыр-бор загнать в прерывание, то собственно общение по 1wire ни с кем конфликтовать и не будет в принципе...

типа совет дня.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 4 2013, 08:08
Сообщение #40


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (kolobok0 @ Jan 4 2013, 02:58) *
типа совет дня.

Спасибо, очень ценный совет!
В будущем, будет время заняться - попробую внедрить тему... Жаль в "ходовых" мегах один USART. Ну да ладно, таймерное прерывание лишнее найти думаю не проблема...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 4 2013, 15:21
Сообщение #41


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата
Жаль в "ходовых" мегах один USART
И чему это мешает?
1-USART = N-sensors 1-Wire+4-KNOB(можно больше, но мне не надо)+LCD+(прикручиваю в данный момент)радиомодуль. Требует мультиплексор =1 транзистор +2 сигнала квинтирования. Естественно все используют свои прерывания.
Используй 164P- там их два. Если пишешь на С - максимальная версия этой линейки 1284


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 4 2013, 21:08
Сообщение #42


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(haker_fox @ Jan 3 2013, 17:35) *
Так КС-то до сих пор не сходится?

Охренеть ( личная цензура внесла коррективы в это слово) . Чем думал пИсатель этой проги от МАКСИМ. Всё раком.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 5 2013, 01:45
Сообщение #43


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (ILYAUL @ Jan 5 2013, 00:21) *
И чему это мешает?
1-USART = N-sensors 1-Wire+4-KNOB(можно больше, но мне не надо)+LCD+(прикручиваю в данный момент)радиомодуль. Требует мультиплексор =1 транзистор +2 сигнала квинтирования. Естественно все используют свои прерывания.
Используй 164P- там их два. Если пишешь на С - максимальная версия этой линейки 1284

Сложно rolleyes.gif
У меня один USART постоянно под RS-485 занят)

QUOTE (ILYAUL @ Jan 5 2013, 06:08) *
Охренеть ( личная цензура внесла коррективы в это слово) . Чем думал пИсатель этой проги от МАКСИМ. Всё раком.

Да уж... тут же невоороженным глазом видно, что две суммы не сходятся...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 5 2013, 11:06
Сообщение #44


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(haker_fox @ Jan 5 2013, 05:45) *
Да уж... тут же невоороженным глазом видно, что две суммы не сходятся...

Да всё сходится и на первой и на второй картинке , только найдите семь отличий, такое вот предрождественское развлечение. А вот в конец можно писать слово из трёх букв и всё будет нормально.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jan 5 2013, 20:35
Сообщение #45


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(haker_fox @ Jan 4 2013, 12:08) *
..Жаль в "ходовых" мегах один USART...


сдался вам этот USART. можно в фоне, ногодрыганьем. да - таймер лучше разгрести. слишком разные временные интервалы - пришлось в своё время отказаться от "универсального временного задатчика" - таймер подправляю на лету, в зависимости от нужного интервала. обработчик зависит от карты считываемой из флэша. получается некая аля стэйт машина молотящая в фоновом режиме необходимые команды, описанные (и корректируемые уже чисто отдельно в таблице). сами мат. вычисления происходят в "основном потоке". для этого добавлены такие команды как: ожидание, перейти на начало и несколько ещё специфичных...реально в боевом железе надо быстро сканировать все датчики (штук 6-8), посему они все на одном порту и за каждую секунду реальная картина необходимая для принятия решения каждый раз известна. разогрев самих датчиков обычно лежит в пределах 0,2 градуса и при необходимости повышения точности - можно учитывать при задании корректирующего значения после линии сборки на самом производстве изделий (характеристика резисторных датчиков линейна - так, что достаточно одной точки).
речь шла о мега128, кварц 14,7456 МГц но в своё время реализовывал и на 51 серии с кварцем 24 и тактовой 2МГц. работает на ура.
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 5 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 01:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01507 секунд с 7
ELECTRONIX ©2004-2016