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

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

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


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

Сообщение Nusik1975 »

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

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

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

Сообщение Nusik1975 »

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

Сообщение Smith2011 »

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

Сообщение Smith2011 »

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

Изображение

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

Сообщение Iggis »

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

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


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

Сообщение 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


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

Сообщение Nusik1975 »

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

Сообщение Iggis »

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

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


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

Сообщение Nusik1975 »

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

Сообщение Iggis »

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


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

Сообщение Nusik1975 »

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

Сообщение Iggis »

Моя печатка и прошивка без пользы, все-таки индикаторы и дизайны у всех разные.
Но вот - ГЕНЕРАТОР КОДА, в экселе :))
Позволяет полуавтоматически получить куски кода под свою разводку пп.
Port_define.rar
(41.54 КБ) 398 скачиваний
В файле все инструкции есть. Вкратце: при разводке печатки подключаете индикаторы и датчики к портам мк как удобно, вписываете это подключение в файл, полученные куски кода вставляете с заменой в соответствующие места исходника (в 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 КБ) 744 скачивания
Не забываем отписываться о результатах применения моих поделок :)
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


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

Сообщение Iggis »

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


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

Сообщение Stalker_W »

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

Сообщение OLIGARX »

Iggis

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

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

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

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

Сообщение Iggis »

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


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

Сообщение Aleksandr0411 »

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

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

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

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