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

Attiny13 измерить температуру кристалла Pull-Up резистором.

Добавлено: Сб янв 09, 2016 11:51:55
DronVolk
Вообщем есть мк Attiny13A с батарейным питанием и 1 свободная нога. Есть ли зависимость сопротивления Pull-Up от температуры кристалла? Я так понимаю, там стоит не обычный резистор (он туда не влезет), а полевой транзистор (или несколько) у которого затвор подключен к истоку.
Нужно формировать точные сигналы, а частота от температуры плывет. Или есть возможность как то сопоставить сторожевую собаку и таймер (у них разная термо-зависимость) и делать так же как в датчике температуры DS18B20 (по разности срабатывания таймеров определять температуру).
Зы еще эта нога мерит напряжение питания и если туда поставить диод вместо датчиков температуры, то мерить напряжение батареи не проблема и даже сопротивления знать не нужно (формулу дам если потребуется, но требуется знать не температуру диода, а кристалла мк).

Заранее благодарен :)

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Сб янв 09, 2016 15:36:39
BOB51
Поставь кварцованный генератор с термостатом по входу CLKI...
8)

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Сб янв 09, 2016 16:25:59
DronVolk
Ну это то понятно :) Просто стала интересна сама возможность и я описал причину почему в голову пришла такая странная мысль))))

Вот на Atmega328p проверил
СпойлерИзображение
Красный цвет пламя зажигалки на расстоянии в 2-4 см от корпуса.
Зеленый цвет если намочить корпус и подуть на него.

между пиками шума расстояние примерно в 0.2 сек

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Сб янв 09, 2016 20:47:51
BOB51
Это при батарейном питании и ресурсе ПЗУ в 512 команд у 13-й тиньки? 8)
Прийдется учитывать и температуру и напряжение питания (помимо основной задачи).
:roll:

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Сб янв 09, 2016 21:31:52
DronVolk
Если использовать Pull-up резистор для измерения температуры то диод отпадает и туда можно поставить резистор на 5к. По с равнению с диодом потребление упадет раз в 100 (подтяжка включается на момент измерения). Вот я и спросил есть ли у него зависимость сопротивление-температура (мерить температуру прожорливыми датчиками не охота). и нога свободная одна (не считая резет)

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Сб янв 09, 2016 22:25:47
BOB51
Так поставь attiny85 - там и АЦП и термодатчик и проччего...
:roll:

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Вс янв 10, 2016 08:29:02
DronVolk
Да на ней было бы лучше но заказчик закупился этими мк и чек не сохранил. Уперся сделать и все.

-привет, можешь сделать то и то?
-да могу, если использовать такой мк то это будет стоить кусок пицы и стакан пива.
-вот тебе tiny13 сделай на ней
-в ней 1014 байт под код программ и кварц не повесить это нужно вывернутся и стоить будет 3 кило рубля
-хорошо я дам тебе 3 кило рубля и каждый день по куску пицы в течении недели
........

ps поставить можно все что угодно и я думал над этим))) Интересна сама воможность (она есть грех не пользоваться) вдруг у кого были проблемы из-за термозависимости вот и спросил есть ли она (по картинке вроде есть но пока проверить не могу нормально)

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 10:13:53
GRAF
Можно с помощью биполярного транзистора измерять температуру.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 12:02:26
DronVolk
Можно :)) но нужна температура кристалла мк (он теплее на 0.2-1.2 градуса) чем внешняя температура.

зы: Если мне подскажут как делить числа на avr без аппаратного деления выложу формулу.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 14:05:19
GRAF
Почитайте ассемблер для i8080, он не поддерживал аппаратное деление. Деление реализовывалось через вычитание. Еще можно через вычитания, сдвиги и сложения.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 14:24:04
Jack_A
Стесняюсь спросить: каким боком ассемблер для i8080 имеет значение для спрошенного ТСом АВРа ?
DronVolk писал(а): температура кристалла мк (он теплее на 0.2-1.2 градуса) чем внешняя температура.
Смелое заявление. А мне казалось, перегрев зависит от загрузки процессора, тактовой частоты, токов нагрузок, условий охлаждения и пр.
А что до формул -- выкладывайте, посоветуем. Надеюсь, об различии int и foat арифметики наслышаны?

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 14:34:12
GRAF
Jack_A Вычитания, сложения и сдвиги платформозависимы?

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 14:44:29
Jack_A
MUL, DIV, реализованные аппаратно, очень платформозависимые, учитывая, что в старших моделях АВР оно уже есть. А не-механическое перенесение подпрограмм умножения-деления с i8080 на АВР потребует ( я так думаю, учитывая разницу архитектур ) определенных плясок с бубном. Гораздо легче поискать п/п конкретно для АВРок, тем более в сети их немало. Тем более нет ясности float -- не float .
Если загуглить "подпрограммы деления для AVR" - много ссылок, вот одна:
http://we.easyelectronics.ru/AVR/matema ... v-avr.html
сам не проверял, придется протестировать или верить автору на слово.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 14:53:02
Z_h_e
Если мне подскажут как делить числа на avr без аппаратного деления выложу формулу
Можете и не выкладывать.

Вот подпрограмма деления на 6 из одного недоделанного мной проекта.
Спойлер

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

.def buf1=R16
.def buf1H=R17
.def buf2=R18
.def buf2H=R19

.def buf3=R25

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

//----------------------------------
//Деление на 6 столбиком
//делимое в Buf1 buf1H
Delen6:
	
	clr R0
	clr R1
	
	ldi buf2H,0b11000000 //как видно что старшие три бита как бы 6
	ldi buf2,0
	ldi buf3,14 //количество циклов деления

LoopDel:
	cp buf1,buf2//если  больше то сдигаем его вправо и все заново
	cpc buf1h,buf2h
	brcc Vich
	lsr buf2h
	ror buf2  
	lsl R0  //задвигаем 0 в ответ
	rol r1
	dec buf3 
	brne LoopDel
	rjmp ExDel
vich:
	sub buf1,buf2
	sbc buf1h,buf2h
	lsr buf2h
	ror buf2  
	sec //С=1
	rol R0  //задвигаем 1 в ответ
	rol r1

	dec buf3 
	brne LoopDel
	rjmp ExDel
	
ExDel:
	ret
Результат в R0R1. Проект так и остался недоделанным. Так что я непомню как делил. Если интересно то разбирайтесь сами.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 14:54:58
GRAF
Вопрос в вычитании, сложении и сдвиге. Не в аппаратном делении и умножении. Jack_A читайте внимательно.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 15:09:14
akl
DronVolk писал(а):...как делить числа на avr без аппаратного деления...
Умножение деление больших чисел
MULT.rar

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Пн янв 11, 2016 16:10:00
COKPOWEHEU
Создаете проект на Си, пишете операцию деления нужных чисел, компилируете (с сохранением отладочной информации), дизассемблируете и получаете подпрограмму деления. Останется только определить, в каких регистрах делимое, в каких делитель, а в каких результат. Тоже самое пригодится и для других операций.

Re: Attiny13 измерить температуру кристалла Pull-Up резистор

Добавлено: Вт янв 12, 2016 13:42:46
DronVolk
Как формула это скорее метод.

Схему рисовать не буду так как нужно взять резистор от пина и притянуть к земле из расчета, что напряжение на делителе Pull-up/резистор не будет больше внутренней опоры на максимальное напряжение питания (5.5 - 6 в). Измерение выполняется при включенной подтяжке на время засщелки (для atmega 1.5 тика АЦП и 13 на замер). Подтяжка не термо-стабильна это видно из моей картинке выше. Для Attiny13a из дата-шита известно что минимальное значение подтяжки 20к значит резистор нужно ставить в районе 5к. Внутренняя опора при включении требует стабилизации в 70 микросекунд если не была включена ранее (например для компатора или контролера напряжения).

в архиве 2 документа ворд в новом и старом формате.