Например TDA7294

Форум РадиоКот • Просмотр темы - ATtiny25 и встроенный термодатчик
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 05:28:32

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 37 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 09:53:09 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 112
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 714
Рейтинг сообщения: 0
"Фсё ребят, берупомощьзнатоков". :)
1) ATtiny25, на ADC заведён внутренний термодатчик.
2) Раз в секунду поднимаю "Start Conversion" бит. (В прерывании от таймера).
3) Прерывания от ADC случаются.
4) Младшие биты из ADC сливаются в порт на светодиоды. (Проверка работоспособности).

При прогреве корпуса МК - данные не обновляются динамически. Но обновляются каждый раз при подаче питания (единожды). В чём подвох?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 11:42:55 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
в коде...?

Добавлено after 2 minutes 7 seconds:
Серый_ писал(а):
берупомощьзнатоков
пока, вижу, вам нужна помощь не знатоков а медиумов :) ...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 12:08:04 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14054
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Или анализ даташитов нескольких подряд выпусков да со всеми имевшими публикацию ерратами...
:?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 12:29:05 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 112
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 714
Рейтинг сообщения: 0
А что код даст? Тут аппаратное что-то. Может из за-того, что порт VS Reset как-то "не того"...
Спойлер.include "tn25def.inc"
.def ter = r19 ;хранение значение ADC температуры
.equ fleg = 244 ;флегмирование процессов 244 = неточная секунда
.cseg

;ВЕКТОРЫ ПРЕРЫВАНИЙ
rjmp reset
.org 0x0003 ;таймер 1 канал A [48]
rjmp int_timer1A
.org 0x0008 ;от ADC (результат готов)
rjmp int_adc

;ПРЕДКОНФИГ КОНТРОЛЛЕРА
reset: ldi r16,RAMEND ;стек на весь RAM [16]
out spl,r16
ldi r16,0b10000000 ;отключение аналогового компаратора [120]
out ACSR,r16
ldi r16,0b00011111 ;нужные электроды на вывод [64]
out ddrB,r16
;настройка таймера 1
ldi r16,fleg ;коэффициент флегмирования процессов канал A [91]
out ocr1A,r16
ldi r16,0b01000000 ;прерывание по совпадению в канале A [92]
out TIMSK,r16
ldi r16,0b10001101 ;режим CTC, клок таймера /4096 [89,90]
out tccr1,r16 ;таймер пошёл
;настройка ADC
ldi r16,0b10001111 ;опорка 1V1, >R-результат, ADC4-термосенсор [134]
out ADMUX,r16
ldi r16,0b10001111 ;ADC-вкл, Start-выкл, прерывание вкл, клок /128 [136]
out ADCSRA,r16

;---- ОСНОВНАЯ ПРОГРАММА ----
sei ;разрешить прерывания глобально
start: rjmp start ;вертеться здесь

;================= ПРЕРЫВАНИЕ ТАЙМЕР 1 СОВПАДЕНИЕ С КАНАЛОМ A
int_timer1A: brtc clea ;T сброшен = к зажжению светодиода
clt ;иначе сбросить T
;cbi portB,3 ;погасить светодиод (на заюзано)
rjmp next ;и к выходу
clea: set ;установить T
;sbi portB,3 ;зажечь светодиод (не заюзано)
next: sbi ADCSRA,6 ;запускать ADC
reti ;выход
;================= ПРЕРЫВАНИЕ ОТ ADC (РЕЗУЛЬТАТ ГОТОВ)
int_adc: in ter,ADCL ;забрать значение ADC в ter
cbr ter,0b11110000 ;обнулить старший полубайт
out portB,ter ;выдать в порт B (1=зажжение)
reti ;выход


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 12:52:59 
Друг Кота

Карма: 60
Рейтинг сообщений: 67
Зарегистрирован: Ср янв 02, 2013 08:37:35
Сообщений: 3342
Рейтинг сообщения: 1
А что код даст?

Насколько я понял из кода, регистр ADCH не читается… если так, то это неправильно…


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 13:20:23 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
точно - при чтении обязательно прочитать сначала младший байт, потом старший, т.е. сначала ADCL, потом ADCH, если он не нужен - читай его в какой нибудь темп регистр и забудь там...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 14:39:26 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 112
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 714
Рейтинг сообщения: 0
:))) Спс, код таки = что-то дал. Заработало. Прокол был в том, что спутал "процедуру забора" с чем-то, где надо обрабатывать вначале High, потом Low. Как результат пробовал так:

in ter,ADCH ;верх забрать впустую
in ter,ADCL ;туда же налепить низ и... этот вариант нерабочий (тем не менее при включении оно почему-то прокатывало)

И того, ваш рабочий вариант:

in ter,ADCL ;забрать Low
in r16,ADCH ;забрать High куда-либо (процедура забора обязательна)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 17:19:16 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
сам шпаргалкой пользуюсь :) при записи в одном порядке, при чтении наоборот...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 17:23:30 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Если Вам нужен 8битный АЦП , то можно включить бит ADLAR (выравнивание по левому краю) и считывать данные только с ADCH. Если конечно ИОН подойдет для входного сигнала.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 19:21:29 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 112
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 714
Рейтинг сообщения: 0
Тоже близко к "варианту". Показания меж светодиодами задуманы в 5°C. Но без 2-х младших битов это будет шаг = 4,64°C. (Правда, "планую" для промежуточных значений - "светодиод мигает"). В общем при любом сдвиге, "шаго-коэффициент" = 1,16°C, если приспичит поточнее - числа после запятой всё равно мутить.

P. s. тоже просчитался :))) Шаг ADC составляет 0,85°C. Соответственно при L-результате 0,85 х 4 = шаг 3,4°C


Последний раз редактировалось Серый_ Ср янв 17, 2018 10:34:17, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Вт янв 16, 2018 21:06:24 
Друг Кота

Карма: 60
Рейтинг сообщений: 67
Зарегистрирован: Ср янв 02, 2013 08:37:35
Сообщений: 3342
Рейтинг сообщения: 0
И того, ваш рабочий вариант:

in ter,ADCL ;забрать Low
in r16,ADCH ;забрать High куда-либо (процедура забора обязательна)

Лично я копирую сразу весь регистр ADC в двухбайтный регистр Y или Z или W, и никогда не было танцев с бубном.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Ср янв 17, 2018 02:43:48 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Лично я копирую сразу весь регистр ADC в двухбайтный регистр Y или Z или W, и никогда не было танцев с бубном.

Да? Ваш пример в студию, плиз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Ср янв 17, 2018 19:24:09 
Друг Кота

Карма: 60
Рейтинг сообщений: 67
Зарегистрирован: Ср янв 02, 2013 08:37:35
Сообщений: 3342
Рейтинг сообщения: 0
Ваш пример в студию

Вложение:
1.png [1.8 KiB]
Скачиваний: 457


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Ср янв 17, 2018 20:17:04 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
удобно, если откомпилить, а потом ничего не меняя наводить мышку, то высвечивается из чего какая операция состоит...
например это копирование состоит из 2х, и тут сам АБ следит за очерёдностью.

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Ср янв 17, 2018 21:50:44 
Друг Кота

Карма: 60
Рейтинг сообщений: 67
Зарегистрирован: Ср янв 02, 2013 08:37:35
Сообщений: 3342
Рейтинг сообщения: 1
например это копирование состоит из 2х, и тут сам АБ следит за очерёдностью.

Компилятор Си предполагаю поступает аналогично… а вообще данный нюанс хорошо расписан у Евстифеева.
Цитата:
Обращение к регистрам ADCH и ADCL для получения результата преобразования должно выполняться в определенной последовательности: сначала необходимо прочитать регистр ADCL, а затем ADCH. Это требование связано с тем, что после обращения к регистру ADCL процессор блокирует доступ к регистрам данных со стороны АЦП до тех пор, пока не будет прочитан регистр ADCH. Благодаря этому можно быть уверенным, что при чтении регистров в них будут находиться составляющие одного и того же результата. Соответственно, если очередное преобразование завершится до обращения к регистру ADCH, результат преобразования будет потерян.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Чт янв 18, 2018 03:43:21 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Вложение:
1.png

Ггг. А теперь откройте в дизассемблере ваш пример и посмотрите, как это будет выглядеть в командах. МК 8 битный. И есть только одна команда копирования сразу из двух регистров в два - movw. И то, только с рабочими регистрами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Чт янв 18, 2018 06:25:22 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Так тут всё норм - копирует поочереди, но он этого и не скрывает, а вот пару регистров в пару регистров - за раз. также за раз выполнятся операции вида "RR-const" => SBIW RWl,K "RR+const" => ADIW RWl,K. в справке это всё тоже описано

Добавлено after 28 minutes 8 seconds:
Главная то мысль в том, что, правильное чтение регистров - в АБ не проблема программиста

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Чт янв 18, 2018 07:31:28 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Мне за ассемблер можно не объяснять. И речь шла о командах пересылки данных. Я потому и сказал, пусть покажет пример копирования регистра ADC в рабочие регистры ЗА РАЗ. А это как раз и невозможно в случае регистров периферии и рабочих регистров.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Чт янв 18, 2018 14:48:08 
Друг Кота

Карма: 60
Рейтинг сообщений: 67
Зарегистрирован: Ср янв 02, 2013 08:37:35
Сообщений: 3342
Рейтинг сообщения: 0
Ггг. А теперь откройте в дизассемблере ваш пример и посмотрите, как это будет выглядеть в командах.

Я прекрасно знаю как выполняются действия компилятором то что я пишу. :wink: При чём здесь компилятор!? Речь шла обо мне, а не о компиляторе. :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATtiny25 и встроенный термодатчик
СообщениеДобавлено: Чт янв 18, 2018 15:20:17 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Ггг. А теперь откройте в дизассемблере ваш пример и посмотрите, как это будет выглядеть в командах.

Я прекрасно знаю как выполняются действия компилятором то что я пишу. :wink: При чём здесь компилятор!? Речь шла обо мне, а не о компиляторе. :)))

Вы написали, что копируете ADC сразу в регистры XYZ, а речь шла о порядке записи-чтения регистров ADCL и ADCH.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y