Страница 106 из 106

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

СообщениеДобавлено: 11 июл 2019 14:21
hardlock
shuum, ну плюс минут трамвайную остановку покажет. Если не критично, то можно. С другой стороны выводы кварца на МК свободны - можно прикрутить кварц и поменять фьюзы.

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

СообщениеДобавлено: 22 июл 2019 09:34
shuum
И еще момент, т.к. использовать BOD не представляется возможным (причины в шапке), а сделать супервизор не всегда удобно чисто физически, хочу попробовать просто добавить в прошивку:
Код: Выделить всё
#pragma keep+                                                            //запрещаем оптимизацию компилятором
eeprom unsigned char empty[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };    //забиваем нулями первые 16 ячеек EEPROM (которые чаще всего портятся при плавном падении питания и не выставленных BOD)
#pragma keep-

перед
Код: Выделить всё
eeprom WORD eeT_LoadOn = 1280;      //1280 = +28°C 1140 = +14°C
eeprom WORD eeDeltaT = 10;          //1°C

Идея в том, что у нас дофига свободного места в EEPROM, а портятся от питания только несколько первых ячеек - чаще нулевая, я просто забиваю нулями первые 16 ячеек и полезные данные начинают храниться со сдвижкой ... Прошу покритиковать данный способ.
P.S. да, я знаю, что в CodeVisionAVR можно сразу в инструкцию eeprom вставить желаемый адрес начала, но мне так нагляднее...

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

СообщениеДобавлено: 22 июл 2019 12:05
propell_ant
shuum писал(а):И еще момент, т.к. использовать BOD не представляется возможным (причины в шапке), а сделать супервизор не всегда удобно чисто физически
Супервизор спокойно поместился на плате исходного термостата хардлока - смотрите в теме Супервизор
у нас дофига свободного места в EEPROM, а портятся от питания только несколько первых ячеек
нет, мусор может появиться в любой ячейке, и это довольно легко проверить - выключаете питание, конденсаторы плавно разряжаются, подключаете программатор и сливаете содержимое EEPROM. Где-то с пятого раза увидите мусор.

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

СообщениеДобавлено: 22 июл 2019 12:36
shuum
propell_ant писал(а):Супервизор спокойно поместился на плате исходного термостата хардлока - смотрите в теме Супервизор

Проблема в том, что я немного изменил схему и задействовал первую ногу как обычный вывод )

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

СообщениеДобавлено: 22 июл 2019 14:33
propell_ant
shuum, ну так ваши приключения только начинаются

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

СообщениеДобавлено: 06 фев 2020 18:46
fvis
Всем хорошего вечера, собрал схемку залил контроллер и такая бяка, термостат показывает температуру кратную 0,5 градусов перепробывал кучу других софтов, ставил другой датчик все равно таже бяка, а нудно контролировать в пределах 0,1 градуса, может кто то подскажет вчем бяка

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

СообщениеДобавлено: 06 фев 2020 21:29
hardlock
fvis,
1) датчик точно 18B20?
2) датчик конфигурируется по количеству бит при считывании, но я не помню, правильно ли я его инициализирую... Стоит попробовать прошивку и соседней ветки "работа над ошибками".
3) я бы не стоил надеяться на точность даже 0,5 градуса. Эти датчики подвержены самонагреву, при столь частом опросе. Да и заявленная точность далеко не 0,1 градуса.

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

СообщениеДобавлено: 07 фев 2020 11:06
propell_ant
hardlock писал(а):fvis,
Стоит попробовать прошивку и соседней ветки "работа над ошибками".
В "работе над ошибками" этого тоже нет. Можно сделать отдельную прошивку, которая бы настраивала датчики. Залил, она всё настроила, и заливаешь обычную прошивку термостата.
Только ведь датчики с завода выходят с настройкой на 12бит дискретности, если датчик сейчас +-0.5, значит его уже кто-то программировал, он "с пробегом".