Двухканальный термометр на AtMega8

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Двухканальный термометр на AtMega8

Сообщение Nusik1975 »

хвост, исходник в архиве в полном порядке, ничего там не повреждено. Более 300 скачиваний и никто еще не пожаловался. :)) . Распаковываете архив, и открываете файл term.prj программой CodeVision AVR. В тексте программы есть комментарии.
хвост
Родился
Сообщения: 7
Зарегистрирован: Ср дек 30, 2015 18:04:37

Re: Двухканальный термометр на AtMega8

Сообщение хвост »

Nusik1975 спасибо за ответ. Всех С новым годом!
Последний раз редактировалось хвост Пт янв 01, 2016 18:58:57, всего редактировалось 1 раз.
Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Двухканальный термометр на AtMega8

Сообщение Nusik1975 »

В исходнике есть строка, она откомментирована, и в ней можно прибавить или отнять столько, на сколько привирает датчик
Аватара пользователя
Smith2011
Прорезались зубы
Сообщения: 210
Зарегистрирован: Вс дек 26, 2010 23:08:53
Откуда: Москва, Зеленоград
Контактная информация:

Re: Двухканальный термометр на AtMega8

Сообщение Smith2011 »

Все и вся собрал из темы в один файл, может кому пригодится. :)
Вложения
Двухканальный термометр на AtMega8.rar
(539.55 КБ) 851 скачивание
Аватара пользователя
Smith2011
Прорезались зубы
Сообщения: 210
Зарегистрирован: Вс дек 26, 2010 23:08:53
Откуда: Москва, Зеленоград
Контактная информация:

Re: Двухканальный термометр на AtMega8

Сообщение Smith2011 »

Полистал код и понял что ничего не понимаю :)
Сделал свой вариант регулировки яркости индикаторов от фоторезистора.
Пытался снять видео, но фотик не передает всю глубину регулировки, он от самой яркой, до еле заметной в темноте, т.к. добавляет чувствительности на матрице фотика :( . Регулируется как верхний, так и нижний предел яркости.
Строго не судите, я не схемотехник, но она работает и очень хорошо.
Транзистор у меня стоит КТ502.

Изображение

Фоторезистор самый простой с Али - 3 рубля штучка http://ru.aliexpress.com/item/Free-Ship ... eb201560_8
Изображение
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

Smith2011 писал(а):вариант регулировки яркости индикаторов от фоторезистора
У транзистора на вашей схеме надо поменять местами эмиттер и коллектор (минус ведь общий?). Еще стОит последовательно с переменными резисторами поставить небольшие постоянные, во избежание нулевых сопротивлений.

Вот такая схема тоже работает:
Изображение
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

Nusik1975, я так понимаю, что меняя имена портов в этом куске кода
Спойлер

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

void show_digit(char what_digit)      //проверяем, какую цифру выводить
{
  switch (what_digit)
  {case 1:  {PORTD.3=0;PORTB.2=0;} break;
   case 2:  {PORTB.0=0;PORTD.3=0;PORTB.1=0;PORTB.4=0;PORTB.5=0;} break;
   case 3:  {PORTB.0=0;PORTD.3=0;PORTB.2=0;PORTB.5=0;PORTB.1=0;}break;
   case 4:  {PORTD.4=0;PORTB.1=0;PORTD.3=0;PORTB.2=0;}break;
   case 5:  {PORTB.0=0;PORTD.4=0;PORTB.1=0;PORTB.2=0;PORTB.5=0;}break;
   case 6:  {PORTB.0=0;PORTD.4=0;PORTB.4=0;PORTB.5=0;PORTB.2=0;PORTB.1=0;}break;
   case 7:  {PORTB.0=0;PORTD.3=0; PORTB.2=0;}break;
   case 8:  {PORTB.0=0;PORTD.3=0; PORTB.2=0;PORTB.5=0;PORTB.4=0;PORTD.4=0;PORTB.1=0;}break;
   case 9:  {PORTB.0=0;PORTD.3=0; PORTB.2=0;PORTB.5=0;PORTD.4=0;PORTB.1=0;}break;
   case 0:  {PORTB.0=0;PORTD.3=0; PORTB.2=0;PORTB.5=0;PORTB.4=0;PORTD.4=0;}break;
   case 10: {PORTB.1=0;}break;
   case 11: {PORTB.0=0;PORTD.4=0;PORTB.4=0;PORTB.5=0;PORTB.1=0;}break;           // Буква Е
   case 12: {PORTB.4=0;PORTB.1=0;}break;                                         // Буква r
   case 13: {PORTB.0=0;PORTD.4=0;PORTB.4=0;PORTB.5=0;PORTB.2=0;PORTD.3=0;}break; // Буква О
   case 14: {PORTB.4=0;PORTB.5=0;PORTB.2=0;}break;                               // Буква u
   case 15: {PORTD.4=0;PORTB.1=0;PORTB.4=0;PORTB.5=0;}break;                     // Буква t
  }
 }
можно переопределить подключение индикаторов к мк, как удобно для разводки пп? Или ещё где-то что-то менять надо?

Пользуясь случаем, СПАСИБО вам за полезный прибор и многолетнюю поддержку проекта Изображение
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Двухканальный термометр на AtMega8

Сообщение Nusik1975 »

Там придется по всему коду проходить. Мне кажется, что гораздо проще переразвести печатку под себя.
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

В том и вопрос. Начал делать печатку, и все дороги от мк к индикатору крест-накрест.

Своим выпуклым военно-морским глазом неспециалиста посмотрел код и увидел там еще порт для точки и порты для разрядов.
Чтобы подключить индикаторы по-своему, надо только их, а также сегменты, переопределить, или где-то что-то еще?
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Двухканальный термометр на AtMega8

Сообщение Nusik1975 »

Нужно пройтись по всему коду и проверить, где используются порты, отвечающие за сегменты. И их переопределить. Разряды трогать не нужно.
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

Разобрался-поменял-скомпилировал-прошил-работает. На макетке.
Трогал и разряды и сегменты и датчики. Только точка случайно осталась на прежнем месте :)
Теперь на печатке все ровненько, а было так:
Изображение
Период опроса датчиков поставил 5 секунд. Коррекцию датчика убрал. Если датчик врет, то он не врет, а стоит в неудачном месте. У меня сейчас оба датчика рядом на макетке - разница показаний обычно 0-0.1°, но бывает до 0.4°, как и обещано в даташите (флуктуации датчика не более ±0.2°).
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Двухканальный термометр на AtMega8

Сообщение Nusik1975 »

Ну и отлично. Выкладывайте тогда здесь свои наработки, может, кому и пригодится :beer:
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

Моя печатка и прошивка без пользы, все-таки индикаторы и дизайны у всех разные.
Но вот - ГЕНЕРАТОР КОДА, в экселе :))
Позволяет полуавтоматически получить куски кода под свою разводку пп.
Port_define.rar
(41.54 КБ) 394 скачивания
В файле все инструкции есть. Вкратце: при разводке печатки подключаете индикаторы и датчики к портам мк как удобно, вписываете это подключение в файл, полученные куски кода вставляете с заменой в соответствующие места исходника (в CVAVR), компилируете-шьете, работает! 8)


:idea: Заодно исправил косячок, который в теме уже упоминался - температура "-9.9" выводилась как "-09".
СпойлерДля исправления "Проблемы -9.9" нужно в исходнике исправить:

- в 72 строке

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

if(minus&(tem<=9.9))tochka();
    //исправить на
if(minus&(tem<10))tochka();
- в 99 строке

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

if(minus1&(tem1<=9.9))tochka();
    //исправить на
if(minus1&(tem1<10))tochka();
- в 141 и 142 строках

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

if(minus&(tem>=9.9))temp=tem;
if(minus&(tem<=9.9))temp=tem*10;
    //исправить на
if(minus&(tem>=10))temp=tem;
if(minus&(tem<10))temp=tem*10;
- в 189 и 190 строках

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

if(minus1&(tem1>=9.9))temp1=tem1;
if(minus1&(tem1<=9.9))temp1=tem1*10;
    //исправить на
if(minus1&(tem1>=10))temp1=tem1;
if(minus1&(tem1<10))temp1=tem1*10;
Прошивка с исправленной "Проблемой -9.9". Порядок портов как в оригинале. Коррекция первого датчика убрана. Период опроса датчиков 2 сек.
term-99.hex
(8.83 КБ) 737 скачиваний


Не забываем отписываться о результатах применения моих поделок :)
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

Iggis писал(а):было так:
Изображение

Теперь, после переназначения портов, на печатке все ровненько
Изображение
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
Stalker_W
Открыл глаза
Сообщения: 50
Зарегистрирован: Пт окт 09, 2009 19:28:13
Откуда: Украина
Контактная информация:

Re: Двухканальный термометр на AtMega8

Сообщение Stalker_W »

Генератор кода в Экселе - это, простите за каламбур, ат-мегАоригианлно! мяу! :))) :beer:
Аватара пользователя
OLIGARX
Открыл глаза
Сообщения: 67
Зарегистрирован: Пн май 19, 2014 18:17:12

Re: Двухканальный термометр на AtMega8

Сообщение OLIGARX »

Iggis

Спс за прошивку с убранным "косячком -9.9___-09 "
залил, тестирую вторые сутки- полёт нормальный
Пьяный проспиться_Дурак никогда!
Не заведешь кота, самого заставлю мышей жрать!
(Бестужев) кф
ГАРДЕМАРИНЫ, ВПЕРЕД!
хвост
Родился
Сообщения: 7
Зарегистрирован: Ср дек 30, 2015 18:04:37

Re: Двухканальный термометр на AtMega8

Сообщение хвост »

Да погорячился я, про погрешность в +6 градусов. Показания были 28 дома, не поверил, а проверить нечем было, когда нашёл градусник оказалось правда. Собрал две штуки.

Изображение
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

Re: Двухканальный термометр на AtMega8

Сообщение Iggis »

Изображение
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Aleksandr0411
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн авг 25, 2014 09:12:20

Re: Двухканальный термометр на AtMega8

Сообщение Aleksandr0411 »

А как установить фьюзы в uniprof?
Вложения
1.jpg
uniprof
(120.95 КБ) 892 скачивания
хвост
Родился
Сообщения: 7
Зарегистрирован: Ср дек 30, 2015 18:04:37

Re: Двухканальный термометр на AtMega8

Сообщение хвост »

Aleksandr0411 Автор очень хорошо описал установку  фьюз в статье там и картинка есть. Повторяю его слова;Для выставления фьюзов в других программах я пользуюсь универсальным правилом.  Считываем фьюзы нового МК и смотрим на фьюз RSTDISBL.  Если на нем нет галочки (как в CodeVision  и как на скриншоте), то все галочки ставим также. А вот если на этом фьюзе есть галочка, то все фьюзы нужно выставить инверсно, то есть наоборот. Фьюз RSTDISBL никогда не трогайте. Если его изменить, то прошивка МК станет невозможна.
Ответить

Вернуться в «Статьи»