Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Термостат ∆T=0,1°C

Здесь только проекты на ATtiny

Re: Термостат ∆T=0,1°C

Сообщение space_s » 20 июл 2012 17:01

Собрал устройство.
Изменил прошивку под свои нужны (добавил функцию диммирования как в тахометре).
Прошил контроллер ATTINY2313A через режим параллельного программирования используя программатор Uniprog.
Запустил устройство.
Всё заработало нормально, все функции отрабатывались как положено, единственное, пришлось подбирать номинал резистора для термодатчика.
После удачного запуска системы решил подправить прошивку на предмет изменения яркости свечения индикатора.
Прошил новую прошивку - устройство не работает (даже дисплей не светится).
Проверил питание, промыл и просмотрел плату, проверил индикатор - устройство не работает.
Купил новый контроллер залил оригинальную прошивку автора, вернул аппаратную часть в первозданный вид - устройство не работает.
После прошивки контроллера всегда сверял записанные данные и исходные - все идентично.
Фьюз биты выставлял как указано:
CKSEL0=1
CKSEL1=1
CKSEL3=1
SUT0=1
SPMEN=1
Остальные=0

Поломал голову и не могу понять в чем дело?
space_s
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 14 окт 2011 16:07
Откуда: Киев

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 20 июл 2012 23:23

space_s, если не работает то, что работало, то либо сопли где-то , либо софт. Если софт исключили, то значит сопли. ищите.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение hvurt » 22 июл 2012 00:09

ZimA писал(а):hvurt а судьи кто? С чем сравниваешь? Эталон?

сравнивал с ртутным термометром и мультиметром(не китайским Proskit 3PK – 8205С).
hvurt
Пробегал мимо
 
Сообщения: 6
Зарегистрирован: 06 июл 2012 11:17

Re: Термостат ∆T=0,1°C

Сообщение Artem » 31 июл 2012 18:51

Доброго времени суток.
Собирал данный термостат - все работало. Возникла необходимость собрать еще один - при включении светятся "8" и точки во всех разрядах. Разводка плат - абсолютно идентичная ибо обе платы делались из одного шаблона с помощью фоторезиста. В чем может быть дело?

P.S. датчик подключен по трехпроводной схеме.

Спасибо за внимание.
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 31 июл 2012 20:50

Artem, ОА/ОК. Проверяйте.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение Artem » 31 июл 2012 21:14

Сменил прошивку на противоположную - при включении загорается левый ноль и кратковременно точка в первом разряде. Что это означает? Не определяется датчик?
При нажатии на кнопку - во всех разрядах 4-ки.

Обнаружился еще один глюк - при нажатии на "+" значение на дисплей выводит, но изменить его нельзя в большую сторону. Кнопка "-" функционирует как положено.
Спасибо за внимание.
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение ZimA » 01 авг 2012 04:59

Artem- перешить
ZimA
Частенько бываю
 
Сообщения: 58
Зарегистрирован: 13 авг 2010 09:52
Откуда: Красноярск

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 01 авг 2012 07:01

Artem, не прошился eeprom. Прошить заново.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение ironn » 01 авг 2012 11:35

А можно ли приобрести уже собранную данную конструкцию?
ironn
Пробегал мимо
 
Сообщения: 1
Зарегистрирован: 01 авг 2012 11:30
Откуда: Украина, Харьков

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 01 авг 2012 12:00

ironn, нет.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение Artem » 01 авг 2012 21:21

Спасибо, помогло. Затурканый какой-то я, до простых вещей не догадался :(.
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение within » 02 авг 2012 18:23

Так вот. Откопал я на работе термометр 1959 года для отопительного котла. Приглянулся он мне уж.
И решил я туда вставить современную начинку. После не очень долгих размышлений было принято
решение использовать трёхфазный моторчик от флоппика + часть механики от старых часов. После
опять же не очень долгих опытов исполнительная часть, шкала и плата были готовы. Для проверки и
подгонки шкалы переменную Tnew увеличивал на каждом прерывании на 10. Короче говоря, механика
работает неплохо. Хоть и не идеально. Проблема холостого хода механики при изменении направления
вращения будет решена позже. Да и вопрос, что же делать, если свет откючили? Не разбирать же его
каждый раз) Но это всё потом, а пока... Самая главная проблема: а как же получить это значение
Tnew от датчика? К слову, формат типа "больше/меньше 1000" меня устраивает очень-очень) Ведь знак
мне совершенно не нужен. Расчет вращения двигателя относительно предыдущего значения. Видать
сильно я раскинул мозгами, когда всё это задумал, что на остальное не очень хватило. Так вот,
скопировал я получение Tnew из проэкта термостата. И тут началось... Начал Вижн ругаться...
Сначала ему не нравилось объявление переменных. После перемещения их из прерывания и замены типов
типа "BYTE" и "WORD" на "char" и "unsigned int" он их вроде принял. Потом всё пошло нормально, но...
Если правильно понимаю, то это и есть чтение температуры:

Код: Выделить всё
Updating = !Updating;   //это шоб читать температуру через раз

if (Updating)           //если в этот раз читаем температуру, то
{       
w1_init();             //инициализация шины 1-wire
w1_write(0xCC);       //выдаём в шину 1-wire код 0xCC, что значит "Skip ROM"     
w1_write(0xBE);       //выдаём в шину 1-wire код 0xBE, что значит "Read Scratchpad"
t1=w1_read();   //LSB //читаем младший байт данных
t2=w1_read();   //MSB //читаем старший байт данных     
 

 
  Ff = (t1 & 0x0F);           //из LSB выделяем дробную часть значения температуры
  t2 = t2 << 4;
  t1 = t1 >> 4;
  T = (t2 & 0xF0) | (t1 & 0x0F);    //после объедининия смещённых частей LSB и MSB объединяем
                                    //их и получаем целую часть значения температуры.
                                    //подробней - смотри даташит.
 
  if (T & 0b10000000) //если отрицательная температура
  {
    Ff = ~Ff + 1;         //инвертируем значение дробной части и добавляем адын.
    Ff = Ff & 0b00001111; //убираем лишние биты
   
    if (!Ff)              //если дробная часть равна "0"
    {
      T--;                //значение температуры уменьшаем на адын
    }   
   
    Tnew = 1000 - (((~T & 0xFF) * 10) + (Ff * 10 / 16));  //вычисляем значение температуры если T < 0.
                                                          //Формат хранения - смотри строку 58 этого файла.
  }
  else
  {
    Tnew = 1000 + (T * 10) + ((Ff * 10) / 16);            //вычисляем значение температуры если Т > 0.
                                                          //Формат хранения - смотри строку 58 этого файла.
  }
 
}   
       
else
{
w1_write(0x44);          //выдаём в шину 1-wire код 0xCC, что значит "Convert T"
}     


Симуляция в Протэусе показала, что при первом чтении единицы градусов равны 5(Я так понимаю, это 85. Посмотреть полностью не
имею возможности, так как на индикатор вывожу только единицы для контроля положения стрелки). И все. При последующих
прерываниях на чтение ничего не меняется. Хотя температура датчика не имеет 5 в единицах.
Обьясните, пожалуйста.
within
Пробегал мимо
 
Сообщения: 6
Зарегистрирован: 03 июл 2012 08:11
Откуда: Николаев

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 03 авг 2012 09:14

Плюньте на протеус и попробуйте в железе.
И ещё. Посмотрите даташит на датчик, там вроже между посылками должны быть паузы, которые я заменил обновлением экрана.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение bilan » 03 авг 2012 18:23

Ребята подскажите: собрал девайс, прошил, после подачи питания - дисплей молчит, PD2=1 PD3=1. В чем проблема? Кто подскажет, шил прошивкой termostat 3.2, дисплей с общим катодом GNQ-5641as-21f. Спасибо!
bilan
Пробегал мимо
 
Сообщения: 11
Зарегистрирован: 13 июл 2012 17:14
Откуда: Кишинев

Re: Термостат ∆T=0,1°C

Сообщение Artem » 04 авг 2012 18:48

При прошивке МК этой прошивкой термостат запускается, показывает правильно температуру, но при попытке установить температуру срабатывания - работает только кнопка "-" и температура перебирается начиная с 999 градусов и по кругу до 0. Далее опять все повторяется, при этом сам порог выставить невозможно. В чем может быть дело? При симуляции в протеусе - происходит то же самое.
При прошивке старой версией (где точность установки 1 градус) все отлично работает.

Спасибо за внимание.
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 04 авг 2012 22:55

Artem,
hardlock писал(а):Artem, не прошился eeprom. Прошить заново.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение Artem » 04 авг 2012 23:07

Спасибо, попробую.
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение bilan » 05 авг 2012 13:21

bilan писал(а):Ребята подскажите: собрал девайс, прошил, после подачи питания - дисплей молчит, PD2=1 PD3=1. В чем проблема? Кто подскажет, шил прошивкой termostat 3.2, дисплей с общим катодом GNQ-5641as-21f. Спасибо!


Кто-нибудь сталкивался, с похожей проблемой, подскажите, в каком направлении копать!
bilan
Пробегал мимо
 
Сообщения: 11
Зарегистрирован: 13 июл 2012 17:14
Откуда: Кишинев

Re: Термостат ∆T=0,1°C

Сообщение Artem » 05 авг 2012 20:09

Перепрошивка не помогла. При моделировании в протеусе такая же картинка, значит проблема не в железе получается. В чем еще может быть дело? :(
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 05 авг 2012 21:55

Artem, ни в чём. Проблема именно в непрошитом еепроме. Посмотрите в понипроге содержимое еепром - будут все ФФ-ки
bilan, прошивка точно для катода? Хотя обе единицы говорят про то, что МК не работает, либо висит либо ещё что-то. Может с фьюзами напутали, может с прошивкой...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение space_s » 07 авг 2012 18:48

Кто-нибудь сталкивался, с похожей проблемой, подскажите, в каком направлении копать!

Я столкнулся с такой-же проблемой но пока решить не смог.
space_s
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 14 окт 2011 16:07
Откуда: Киев

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 07 авг 2012 19:20

Artem, space_s, а проблема всё там же. Ну гляньте вы в еепром - там пусто. Я устал на каждой странице по 10 раз писать про это.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение Artem » 07 авг 2012 21:54

Ниже скрин считанного с МК ЕЕПРОМа. И он далеко не пустой.

Изображение
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 07 авг 2012 22:01

Artem, а вот что должно быть по умолчанию:

Ну прошейте же из Кодевижена :wall:
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3371
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термостат ∆T=0,1°C

Сообщение Artem » 08 авг 2012 21:51

МК зависает после пуска двигателя, полностью тухнет дисплей. Я так понимаю - помехи по питанию? Как избавиться? Подтянуть 1 ногу к плюсу? Резистор 4,7 кОм подойдет?

Спасибо за внимание.
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Пред.След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 7