Page 7 of 27

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Jan 2010 00:42
by hardlock
т.к. по линии 5 вольт тоже может быть пробой... Это взято из схем промышленных приборов с высокой степенью помехозащиты.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Jan 2010 10:34
by SergK
Смотрел исходники, а почему ты не используешь стандартную библиотеку CodeVision для работы с термометром 18b20?

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Jan 2010 19:12
by hardlock
SergK, а Вы попробуйте, и отпишитесь о результате.

ЗЫ: Там пользуются числа с плавающей запятой, а это не для тиньки.... Не влазит никак в 2 КБ

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 15:55
by SergK
Я споткнулся на преобразовании результата в нужный вид :wall:
До записи в мк дело не дошло. Вообще я хотел в часы дополнительную функцию встроить, но сомнения берут -
по идее во время работы с однопроводной шиной надо отключать все прерывания, а в часах время на прерывания завязаны, боюсь что с точностью хода проблем не избежать...

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 15:56
by hardlock
SergK wrote:по идее во время работы с однопроводной шиной надо отключать все прерывания
не обязательно - у меня не отключаются.
SergK wrote: боюсь что с точностью хода проблем не избежать...
скорей всего.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 18:38
by Kazemir
Hardlock!
Какую функцию выполняет в коде термометра Таймер/счетчик 0 и как понять по ходу текста
Преобразование скорости мотора и количества лопастей
в данные экранного буфера
Вход: wRpm - обороты ротора, byBladeCnt - количество лопастей
Выход: -
Это типа юмора или что то иное?

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 23:19
by neon-f
если посмотреть максимальный допустимый разброс напряжений стабилизатора и стабилитрона, то может сложится ситуация когда напряжение стабилизатора будет немного больше напряжения стабилизации стабилитрона, и между ними будет война..... конечно на практике это маловероятно, но возможно. стабилитрон лучьше взять на 5,6в.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 23:29
by hardlock
neon-f, если стабилизатор выдаёт больше чем 5,05 Вольта, то его стоит выкинуть сразу.

Добавлено спустя 8 минут 43 секунды:
Kazemir wrote:Это типа юмора или что то иное?
эта функция была взята из проекта тахометра для моделей вертолётов, потом перекочевала сюда, а описание осталась. Функция её и так понятна - преобразование двоичного представления числа в десятичное.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 23:54
by neon-f
я вас уважаю, но здесь вы не правы. посмотрел даташиты 7805, разброс +-5% - норма. т.е. 4,75 - 5,25 вольта нормальное рабочее напряжение заявленное производителем. стабилитрон не смотрел, но думаю врядли точность лучьше 5% (т.е. 4,85 - 5,35). Я понимаю что типовые значения обычно лучьше, но ситуация войны стабилизатора и стабилитрона весьма реальна. Защита ничуть не станет хуже если поставить стабилитрон на 5,6вольт, зато исключим даже теоритическую возможность войны.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 23:56
by Kazemir
Hardlock!
Насчет "юмора" я так и предполагал. Двоично-десятичное преобразование по коду делается вроде как в функции " PrepareRpmData", а по прерыванию по Таймеру /сч.0 выполняется только инициализация TCNT0=0x0F и все. Вопрос поэтому и возник.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 09 Jan 2010 23:57
by hardlock
neon-f wrote:Защита ничуть не станет хуже если поставить стабилитрон на 5,6вольт
станет, т.к. при напряжении +0,5 от питания МК будет пробит. Смотрите его даташит.
Kazemir , мабудь я его не пользую, хотя хотел... :-)

Re: Термометр на ATtiny2313 и DS18B20

Posted: 10 Jan 2010 00:00
by Kazemir
ОКей!

Re: Термометр на ATtiny2313 и DS18B20

Posted: 10 Jan 2010 00:46
by neon-f
хм, скользко это все както. :scratch: я думаю тогда надо либо в статье заострить внимание на этом моменте, чтоб перед пайкой измерили рабочие напряжение стабилизатора и стабилитрона. Либо положиться на запас прочности контролера и поставить на 5,6v. Контролер я думаю нас не подведет, над ним иногда так издеваются, так грузят - а он работает, хоть бы что. тем более импульсные помехи кратковременны. Или же использовать чтото типа LM337 с резистором на средней ноге, чтоб выдавала напряжение 4,5 вольт например.
Ну и раз я уже привязался к этому стабилитрону, скажи, а он действительно необходим. Просто видел кучу описаний различных устройств на микроконтроллерах, и не где не заморачивались с импульсными помехами.
:-)

Добавлено спустя 17 минут 13 секунд:
в догонку, КР1170ЕН4 - 4U

Re: Термометр на ATtiny2313 и DS18B20

Posted: 10 Jan 2010 12:59
by hardlock
neon-f wrote: Либо положиться на запас прочности контролера и поставить на 5,6v
neon-f wrote:Ну и раз я уже привязался к этому стабилитрону, скажи, а он действительно необходим.
стоит у меня на замке (на DS1990) тинька. 2 раза менял из-за пробоя, пока не поменял стабилитрон на 5,1 Вольта. С тех пор, уже более 2 лет, ни одного сбоя. Сколько собираю - ни разу не возникло проблем в этом плане. Были сообщения на форуме - греется стабилитрон, но работает... Как оказалось - стабилизатор выдавал 5,3 вольта. При этом происходил самонагрев термодатчика, из-за повышенного напряжения питания. Отсюда вывод стабилитрон - только 5,1 вольта, но Вам никто не запрещает экспериментировать. В схеме с термометром можно вообще не ставить стабилитроны, если не планируется мацать его руками и т.д. И боремся мы не с импульсными помехами, а со статичнским электричеством!

Тут вообще всё выложено для "ознакомления" и "дальнейших экспериментов"... :-)

ЗЫ: на неделе сообщения почищу, т.к. много не по теме. :evil:

Re: Термометр на ATtiny2313 и DS18B20

Posted: 22 Jan 2010 09:22
by ooogo
Как оказалось - стабилизатор выдавал 5,3 вольта.
чего-то может я не понимаю, но до 5,5В и термометр и мк работать должны нормально по даташиту, а в железе сам пробовал.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 22 Jan 2010 15:04
by hardlock
ooogo wrote:до 5,5В и термометр и мк работать должны нормально по даташиту, а в железе сам пробовал.
не все экземпляры. Некоторые DS-ки при напряжении 5,25 вольта начинают греться. Не сильно, но этого хватает, чтобы была большая погрешность в измерениях.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Feb 2010 13:46
by dvg13
Здравствуйте, hardlock!
Будьте так любезны, укажите, где в Ваших исходниках идет обращение к сегментам индикатора (для термометра). У меня LED подключен по-другому. С обозначениями символов (BYTE byCharacter[12]) разобрался.
И еще: как Вы решили проблему разницы показаний в 0,1 при отрицательных температурах?
Я только начал осваивать МК, в программировании не силен.
Спасибо!

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Feb 2010 13:49
by hardlock
dvg13 wrote:Будьте так любезны, укажите, где в Ваших исходниках идет обращение к сегментам индикатора (для термометра).
файл led.c, строки типа:

Code: Select all

      #ifdef Cathode
        PORTB = bLedChar[byDisplay[0]];
      #endif
      #ifdef Anode
        PORTB = ~bLedChar[byDisplay[0]];
      #endif
dvg13 wrote:как Вы решили проблему разницы показаний в 0,1 при отрицательных температурах?
посмотрите исходники термостата 0,1 (v3.2 с комментариями), где то на последних страницах той темы выкладывал. Там всё понятно.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Feb 2010 14:05
by dvg13
hardlock wrote:файл led.c, строки типа:Код: Выделить всё      #ifdef Cathode        PORTB = bLedChar[byDisplay[0]];      #endif      #ifdef Anode        PORTB = ~bLedChar[byDisplay[0]];      #endif
Это, как я понял, определение LED - с ОК или ОА. А сами сегменты (a, b, c, d, e, f, g, h) где определяются? Т.е. по Вашей схеме: PB 5, 7, 1, 3, 4, 6, 0, 2. А у меня PB 0...7.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Feb 2010 14:08
by hardlock
dvg13 wrote:А сами сегменты (a, b, c, d, e, f, g, h) где определяются?
орпеделяются массивом bLedChar[12]. Каждому сегменту соответствует свой бит.

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Feb 2010 14:17
by dvg13
А! Все понял! Спасибо большое! Т.е. этим массивом мы задаем биты на порте В, а затем управляем индикацией по аноду (катоду) функцией PORTB = ~bLedChar[byDisplay[0]];
Насчет 0,1 град - исходник скачал, все понятно.
Спасибо за оперативность!

Re: Термометр на ATtiny2313 и DS18B20

Posted: 08 Feb 2010 14:19
by hardlock
dvg13 wrote:Т.е. этим массивом мы задаем биты на порте В, а затем управляем индикацией по аноду (катоду) функцией PORTB = ~bLedChar[byDisplay[0]];
правильно!

Re: Термометр на ATtiny2313 и DS18B20

Posted: 14 Feb 2010 20:53
by POIAL
Как подключить индикатор с ОК ток на сигмент около 20 мА на
3ей странице к светодиодам наверное применима к индикаторам
схема рабочая? в Протеусе както не желает работать

Re: Термометр на ATtiny2313 и DS18B20

Posted: 15 Feb 2010 13:18
by hardlock
POIAL wrote:Как подключить индикатор с ОК ток на сигмент около 20 мА
надо ставить транзисторы хотя бы на ОК.
POIAL wrote:Протеусе както не желает работать
и не будет. Протеус далёк от жизни...

Re: Термометр на ATtiny2313 и DS18B20

Posted: 15 Feb 2010 18:34
by POIAL
Уважаю мнение знающих
hardlock wrote:и не будет. Протеус далёк от жизни...
hardlock респект, я думал крутая прога :lol: ,
как на счет схемы на 3ей странице она подойдет,
для индикаторов нужно отдельное питание по моему
с портов МК не хватает 8-)