BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

Re: BASCOM AVR в вопросах и ответах

Сообщение Sergik07 »

Dnepr_1186

Я точно не помню,но по-моему в даташите на этот градусник было написано,что преобразование занимает больше 750мс
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

Re: BASCOM AVR в вопросах и ответах

Сообщение pavel1979 »

SIM31 писал(а):Может дешифратор и экономичнее будет (3 мА потребление всего), а программная дешифрация достаточно сложная. Для Arduino всё есть:
http://arduino.ru/forum/proekty/dtmf-dekoder
http://forum.arduino.cc/index.php?topic=121540.0
спасибо,теперь понял что на тини13 это не уместится,итак занято 50 проц на прием/передачу мрф49,думаю попробовать сделать на прием 1750 гц,иначе жук срабатывает и от помех,если интересно-выложу все как будет готово здесь http://radiokot.ru/forum/viewtopic.php?f=28&t=113854
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Re: BASCOM AVR в вопросах и ответах

Сообщение SIM31 »

Dnepr_1186 писал(а):может подскажете что здесь нужно добавить?

Код: Выделить всё

1wreset
 1wwrite &HCC                                               ' Выдаем команду чтения ПЗУ
 1wwrite &H44                                               ' Запуск измерения

Config Portb.0  = Output (где датчик подключен)
Portb.0  = 1

Waitms 750                                                 ' Ждем окончания преобразования

Config Portb.0  = Input
750 мс при точности 1/16 градуса, если точность выбрана ниже, хватит и 200 мс

Чтобы датчику было питание во время измерения нужно подать питание на него, потребляет 1 мА, выхода порта хватит с запасом.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

Спасибо! Заработао даже без манипуляций с портами. Выставил задержку в 700мс и все пошло.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Здравствуйте.

Вообще и 700 мс мало, даташит для Вас должен быть основным источником знаний:

Изображение

Если же в Вашем термометре только целая часть температуры, то можно перевести в 9-ти битный режим и тогда преобразование будет занимать 93,75 мс. Конфигурируется датчик один раз, до основного цикла:

Код: Выделить всё

1wreset                                                     ' сброс линии
1wwrite &HCC                                                ' пропуск ROM
1wwrite &H4E                                                ' запись в память

1wwrite &H00                                                ' TH
1wwrite &H00                                                ' TL
1wwrite &H1F                                                ' регистр конфигурации (9bit)
Вложения
DS18B20.png
(29.29 КБ) 1111 скачиваний
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

да, спасибо, помголо.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

Опять я со своими термодатчиками. Возникла необходимость считывать показания двух датчиков. Нашел примеры, бился полдня но хоть ты тресни, при одном датчике, показывает одни и те же показания на экране на обоих датчиках. Как только подключаю второй датчик-выходит чушь, изменияя показания одного или второго датчика, показания на экране изменяются не понятно по какой системе и не соотвествуют действительности. Упростил уже все до максимума, оставил в рабочем цикле только цикл измерения температуры, все равно одно и тоже. Посмотрите пожалуйста, в чем я ошибась :cry:
Вложения
2термо.rar
(26.49 КБ) 174 скачивания
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Re: BASCOM AVR в вопросах и ответах

Сообщение SIM31 »

Скорее всего датчики отвечают одновременно, и нули в ответах логически умножаются (монтажное или), отсюда и загадочное влияние )) Когда 10 человек говорят одновременно, результат примерно такой же ))
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

дело в том что и в протеусе и в железе одинаково.
Попробовал командой 1wirecount() проверить сколько датчиков видит. Когда датчики не подключены выдает 0, а вот когда подключено 1 и более датчиков всегда выдает 1. Т.е. дальше первого датчика не видит. В чем дело?
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Re: BASCOM AVR в вопросах и ответах

Сообщение SIM31 »

Dnepr_1186 писал(а):дело в том что и в протеусе и в железе одинаково.
Попробовал командой 1wirecount() проверить сколько датчиков видит. Когда датчики не подключены выдает 0, а вот когда подключено 1 и более датчиков всегда выдает 1. Т.е. дальше первого датчика не видит. В чем дело?
Скорее всего видит как-раз все датчики, а датчики отвечают одновременно. Предположу что 1wirecount() считает о 0 до 1, через 1 wire pulse present, просто признак наличие любого датчика.
Проще помоему на разные порты датчики повесить.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

В протеусе необходимо дать датчикам разные серийные номера. По умолчанию они одинаковые. Правой кнопкой по датчику - правка свойств:

Изображение
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

блиин! вот и за чего протеус глючил! Добил все таки, в итоге спалив один порт мк. Пошло работать и с паразитным питанием на одном порте два датчика.И еще такая особенность, когда один датчик не включен, то показания отключенного датчика дублируются показаниями включенного.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: BASCOM AVR в вопросах и ответах

Сообщение Мурик »

Dnepr_1186 писал(а):Посмотрите пожалуйста, в чем я ошибась :cry:
По моему в этом коде

Код: Выделить всё

   1wreset
   1wwrite &H55
   1wverify Dsid1(1)
   1wwrite &HBE
   I1 = 1wread(2)
'---------------------------------
   1wreset
   1wwrite &H55
   1wverify Dsid2(1)
   1wwrite &HBE
   I2 = 1wread(2)
Строка "1wwrite &H55" лишняя.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Мурик писал(а):Строка "1wwrite &H55" лишняя.
Почему?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: BASCOM AVR в вопросах и ответах

Сообщение Мурик »

Потому что в примерах нет ее. http://avrhelp.mcselec.com/index.html?1wverify.htm
Скорее всего эта команда отправляется из 1wverify.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Вполне возможно. Хоть и по документации это разные вещи: сначала MATCH ROM, а потом уже передача 64 бит ROM...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

с термометрами все хорошо-работает. Впихнул еще туда вольтметр для измерения напряжения в сети авто. Так вот когда машину заводишь-напруга начинает прыгать-десятое доли вольта. Притом что параллельно подключенный тестер показывает стабильное напряжение? Как с этим бороться? Повесить на измеряемый напряжение порт керамику с электролитом? Или поставить задержку в программе? Думал усреднять значение-но памяти нету совсем-библиотека экрана 5110 жрет всю память
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Re: BASCOM AVR в вопросах и ответах

Сообщение SIM31 »

Dnepr_1186 писал(а):с термометрами все хорошо-работает. Впихнул еще туда вольтметр для измерения напряжения в сети авто. Так вот когда машину заводишь-напруга начинает прыгать-десятое доли вольта. Притом что параллельно подключенный тестер показывает стабильное напряжение? Как с этим бороться? Повесить на измеряемый напряжение порт керамику с электролитом? Или поставить задержку в программе? Думал усреднять значение-но памяти нету совсем-библиотека экрана 5110 жрет всю память
Чтобы усреднять достаточно 1 байта. Например так, среднее арифметическое

X среднее = (X среднее + X измеренное) / 2 = X среднее = (X среднее/2) + (X измеренное / 2)

Операция деления это быстрый побитовый сдвиг вправо на 1 бит, x SHR 1

Более сильное сглаживание

X среднее = (X среднее * 15/16) + (X измеренное / 16)

деление на 16 тоже сдвиг на 4 бита.

Типа среднего арифметического, только среднее значение имеет больший вес при подсчете результата. Можно применить и 254/256, и т.п. числа кратные степени 2.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

Re: BASCOM AVR в вопросах и ответах

Сообщение Dnepr_1186 »

И так) Спасибо всем за помощь. Родил я все же готовое устройство. Вот фото еще опытного образца
Изображение
Установлено устройство уже на машине. НО есть один косяк. Оно наводит помехи на радио в магнитоле. На укв диапазоне на некоторых станциях, а также на некоторых частотах вне станций помеха-шум и сквозь него короткие гудки как в телефоне. Как ее побороть? Устройство работает на 8мгц, может снизить частоту до 1-4мгц? Или искать косяк в другом?
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Re: BASCOM AVR в вопросах и ответах

Сообщение SIM31 »

ферриты на длинные провода, к питанию, индикатору, может помогут? Да и частоту можно попробовать снизить, если нет сложных вычислений.
Ответить

Вернуться в «AVR»