Страница 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...

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-й тиньки?
Прийдется учитывать и температуру и напряжение питания (помимо основной задачи).

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 - там и АЦП и термодатчик и проччего...

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 документа ворд в новом и старом формате.