Обявления

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

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

Термостат ∆T=0,1°C теперь и на Atmega8

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

Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение Andrei007 » 22 дек 2013 11:13

Всем привет!
Понравился мне проект Термостат ∆T=0,1°C на Atiny2313, собрал не один экземпляр все работает, все хорошо,
но за неимением attiny2313 появилась мысль перенести код на atmeg8.
Но так как я в этом деле новичок, пришлось мне подучить язык C, начал разбираться в коде и в отличиях меду этими микроконтроллерами,
и тут стало ясно что порта A на atmega8 нет совсем :) , ладно поменял в коде на порт C, следующее препятствие это таймера :shock: ,
начал изучать таймера их регистры, в итоге таймер 0 конфигурировал по новой а у тамера 1 все регистры остались те же самые.
Ну и еще одно препятствие которое поджидало меня в codevision 2.05.0 это то что не было видно переменных в файле KBD.C, порывшись на форуме нашел решение проблемы прописал в файл KBD.H следущее:

extern BYTE View;
extern BYTE Counter;
extern WORD T_LoadOn;
extern WORD DeltaT;
extern void RefreshDisplay(void);
extern BOOLEAN btKeyUpdate; // = 1, когда обнаружено нажатие на клавишу
и все скомпилировалось :happy: :drink:

работоспособность пока проверил только в proteus.
Алгоритм работы термостата я описывать не буду, он уже описан автором устройства, читайте в ветке attiny тема Термостат ∆T=0,1°C.
Естественно прошивка от Attiny2313 не подойдет и схема тоже :)
Ссылка на проекты скачать с яндекс диска
Вложения
termostat_Atmega8.rar
прошивка для индикатора с общим катодом.
(2.42 КБ) Скачиваний: 762
Andrei007
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 13 сен 2012 11:29

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение Andrei007 » 23 дек 2013 12:57

Чуть позднее выложу прошивки на режим нагрева, охлаждения и для индикатора с общим анодом...
Andrei007
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 13 сен 2012 11:29

Комбинированная DIP-SMD печатка

Сообщение andreich78 » 24 дек 2013 14:17

Сделал одностороннюю печатку. Уже в железе.
1. Под МК в корпусе DIP, и под SMD компоненты. SMD - чтоб не сверлить, DIP - легче паять
2. МК расположен с обратной стороны платы. Прошивка доработана так, чтобы была возможность быстро ее менять под разные варианты печаток.
3. Индикатор расположен с лицевой стороны платы, паяется в последнюю очередь.
4. Супервизор питания на smd светодиоде - не взлетел. На печатной плате оставляю, но светодиод пришлось не устанавливать, с ним - не заработало, видимо, напряжение на пине RESET слишком низкое. Резистор подтяжки к питанию 3K3 - точно нужен.
5. В железе оказался неправильный порядок разрядов на индикаторе (см. пост ниже от Kenkel) - прошивка доработана, теперь порядок правильный.
6. Проект под CVAVR 1.25 (у Andrei007 - под 2.0.5)
7. Нормально-закрытый выход я не стал разводить, т.к. не пользуюсь. Он живет на порту PORTC.4, нога №27.
8. Проект максимально отсоединен от железа - вместо прямого обращения к портам используются макро-определения типа
Код: Выделить всё
#define DIGIT1 PORTD.5
#define DIGIT2 PORTD.7
#define DIGIT3 PORTD.6
#define DIGIT4 PORTD.4

#define OUTPIN_NO PORTC.1 // Нормально открытый выход
#define OUTPIN_NC PORTC.4 // Нормально закрытый выход (не используется)


Модельку изменил под эту печатку, проект переименовал, чтобы не перепутать с оригиналом под 2313.

Перезаливаю версию 1.0.1 - проверено в железе, модель соответствует железу.
Вложения
termo-mega8.v0.9.rar
Печатка в Eagle и png 600 dpi
(70.63 КБ) Скачиваний: 673
termostat_mega8.v1.0.1.rar
Проект CVAVR и модель в Proteus 7
(60 КБ) Скачиваний: 812
Последний раз редактировалось andreich78 09 янв 2014 12:18, всего редактировалось 9 раз(а).
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение Recov » 24 дек 2013 15:04

А нельзя печатку в Лауот?
Recov
Живу тут
 
Сообщения: 160
Зарегистрирован: 26 дек 2011 16:23
Откуда: г. Находка

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 24 дек 2013 15:21

я в игле работаю, в Layout печатки у меня нет
Обратите внимание - выложенную печатку я еще ни разу не спаял!
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 07 янв 2014 22:36

Спасибо за работу. Собрал в железе на своей печатке. Термостат заработал- но с придурью. Значение температуры выводилось справа на лево. Пришлось переназначить порты на индикатор. После этого все заработало правильно.
Выкладываю свою печатку в LAY ,как скромный вклад в развитие этой темы.
Вложения
Termo_MEGA8_MY.zip
(29.62 КБ) Скачиваний: 752
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 09 янв 2014 11:54

Немного картинок к версии 1.0.1

Добавлено спустя 3 минуты 30 секунд:
Замечание - SMD светодиод в верхней части схемы в итоге пришлось удалить.
Вложения
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 09 янв 2014 13:41

Если нужно- выложу фото своего девайса.
Личная просьба к andreich78- не могли-бы вы перенести на ATMega8 проект термостата от IYra на ATTiny2313 немного подправленный мной для управления циркуляционным насосом твердотопливного котла?
Вложения
V3.1.2_ATtiny2313.zip
(84.7 КБ) Скачиваний: 469
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 09 янв 2014 15:22

kenkel писал(а):Если нужно- выложу фото своего девайса.
Личная просьба к andreich78- не могли-бы вы перенести на ATMega8 проект термостата от IYra на ATTiny2313 немного подправленный мной для управления циркуляционным насосом твердотопливного котла?
В вашем проекте уже под мегу8 переделка начата, нужен исходник, который точно работает под 2313.
И еще помог бы исходник от IYRa до ваших правок.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 09 янв 2014 22:46

Спасибо.Действительно по ошибке выложил черновик. В приложении оригинальный проект от IYra и его вариант переделанный под управление насосом. Суть переделки- управлять скоростью циркуляционного насоса в зависимости от разности температур на входе и выходе котла.При этом происходит индикация скорости работы котла на индикаторе.
Данный проект реализован и успешно эксплуатируется в течении второго отопительного сезона. Переход на ATmega8 для меня это возможность усовершенствовать термостат. Хочу реализовать идею открытия нижней заслонки котла (поддувала) в зависимости от температуры на выходе из котла. В качестве шагового двигателя хочу использовать регулятор холостого хода от автомобиля ВАЗ. В настоящее время используется штатный механический термостат управления нижней заслонкой работой которого я недоволен.
Вложения
Termostat_IYra_ OR.zip
(82.29 КБ) Скачиваний: 550
V3.1.2_My.zip
(87.14 КБ) Скачиваний: 566
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 10 янв 2014 12:29

kenkel писал(а):В приложении оригинальный проект от IYra и его вариант переделанный под управление насосом.
Почти переделал, только 1-wire не завелся.

Добавлено спустя 8 часов 46 минут 14 секунд:
kenkel писал(а):В приложении оригинальный проект от IYra и его вариант переделанный под управление насосом.

Переделал. Что-то у тебя в кодах символов непонятное... это не ты спалил ногу на МК и переделывал индикацию?
Замечания:
  1. Файлы проекта переименовал.
  2. На частоте 8МГц не работает модель 1-wire - работает только на 4 МГц, что в железе будет - не знаю, проверяй.
  3. Что с индикацией - я не понимаю.
  4. Модель - прикладываю в архив, чтобы заработало нужно собрать проект (Make) и нажать там "Execute User's Program".
  5. Кнопки переехали на PORTC.2 и PORTC.3
  6. Если еще что вспомню - напишу.
  7. Народ, не думайте, что я всем буду переделывать проекты "других производителей", просто совпало с наличием свободного времени, Рождеством и свежей головой :-)
Вложения
Termostat_Mega8Kenkel.zip
(49.44 КБ) Скачиваний: 501
Последний раз редактировалось andreich78 12 янв 2014 00:41, всего редактировалось 1 раз.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение IYra » 11 янв 2014 11:25

andreich78 писал(а):Замечания:
  1. Файлы проекта переименовал.
  2. На частоте 8МГц не работает модель 1-wire - работает только на 4 МГц, что в железе будет - не знаю, проверяй.

Проект на тиньке был на 4 мгц. Поэтому на 8 вряд ли будет работать без изменения таймингов
IYra
Живу тут
 
Сообщения: 543
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 11 янв 2014 23:57

Так и есть проверил в железе- проект собирается, есть индикация 00 , на кнопки реакция отсутствует, 1Wire не запускается.
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 12 янв 2014 00:47

kenkel писал(а):Так и есть проверил в железе- проект собирается, есть индикация 00 , на кнопки реакция отсутствует, 1Wire не запускается.

Фьюзы какие шил?
Сделай на 4 МГц внутренний RC
fusebits-mega8.4MHz.PNG
фьюзы под 4МГц
fusebits-mega8.4MHz.PNG (2.82 КБ) Просмотров: 9926


И я забыл про кнопки сказать, они переехали на PORTC.2 и PORTC.3

Не заработает - выкладывай печатку (фотку печатки), или хотя бы схему твоего железа.

Добавлено спустя 22 часа 1 минуту 21 секунду:
IYra писал(а):Проект на тиньке был на 4 мгц. Поэтому на 8 вряд ли будет работать без изменения таймингов
Не-не, мой работает на 8-ми (но это хардлоковский исходник переделанный Andrei007), так что 1-wire сам по себе на этой частоте должен работать. Я еще покручу модельки, надо разобраться.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 13 янв 2014 01:24

Печатка- 5 пост этой темы.
Фузы ставил как на картинке.
Прошивка проекта termostat_mega8.v1.0.1- нормально работает на этой печатке и с этими фузами (4MHZ)
Прошивка проекта Termostat_Mega8Kenkel- на этом железе и с этими фузами не запускается. Висит постоянная индикация 00.
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 13 янв 2014 10:14

kenkel писал(а):Печатка- 5 пост этой темы.
Фузы ставил как на картинке.
Прошивка проекта termostat_mega8.v1.0.1- нормально работает на этой печатке и с этими фузами (4MHZ)

До меня дошло.
Пробуй эту прошивку, фьюзы под 4МГц:
Termostat_Mega8Kenkel.vK.1.1.rar
(37.6 КБ) Скачиваний: 507

Тут даже индикатор работает без нареканий.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение IYra » 13 янв 2014 17:30

IYra писал(а):Проект на тиньке был на 4 мгц. Поэтому на 8 вряд ли будет работать без изменения таймингов

Если надо 8 мгц то
изменить в функции main
Код: Выделить всё
TCCR0B=0x03;  // делитель на 64  переполнение примерно каждые 4 мс

на
Код: Выделить всё
TCCR0B=0x04; 

и в конфигурации проекта поставить 8 мгц
IYra
Живу тут
 
Сообщения: 543
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 14 янв 2014 09:17

IYra писал(а):
Код: Выделить всё
TCCR0B=0x04; 
и в конфигурации проекта поставить 8 мгц
это на 2313, тут же мега, и регистр называется по-другому (TCCR0). И потом, TCCR0B=0x04 - это делитель на 256, в 4 раза реже, а нужно в 2. Всё равно придется перенастраивать счетчики.
Короче, как ни крути, лучше просто работать на 4МГц - просто фьюзы другие при прошивке указать.

8МГц - это вообще мой косяк, в proteus-модели, которую я переделывал, было так настроено, а я не посмотрел в исходник - ты там четко указал 4.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 20 янв 2014 14:44

Извиняюсь , что долго не отвечал. Дела однако.
Докладываю- запустил я проект IYra на своем железе после того как переназначил разряды для вывода на дисплей.
Спасибо за помощь.
Проект в протеусе у меня так и не заработал.
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 20 янв 2014 14:50

kenkel писал(а):Извиняюсь , что долго не отвечал. Дела однако.
Докладываю- запустил я проект IYra на своем железе после того как переназначил разряды для вывода на дисплей.
Спасибо за помощь.
Проект в протеусе у меня так и не заработал.

ты не мудри, ты пальцем покажи :)
говори точно, с какой пошивкой (название файла) запустилось.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 21 янв 2014 01:33

Вот это у меня заработало в железе.
Вложения
MY_WORK_DELTA_V1.ZIP
(90.01 КБ) Скачиваний: 633
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 21 янв 2014 09:10

kenkel писал(а):Вот это у меня заработало в железе.
Когда поставишь на "боевое дежурство" - отпишись пожалуйста о работе симистора (это ведь у тебя симистор включен на силовые клеммники). Я уже давно присматриваюсь к такому решению.
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение kenkel » 21 янв 2014 11:54

Термостат (а точнее спаренный термостат) , фото которого я выкладывал выше собран на 4 симисторах. Три семистора командуют скоростями насоса, один на общее отключение насоса.
Именно это устройство успешно эксплуатируется в течении второго отопительного сезона.
Кроме этого, по просьбе трудящихся, сделал 2 устройства на семисторе для аналогичных целей. Пока все работает нормально.
Вложения
kenkel
Частенько бываю
 
Сообщения: 37
Зарегистрирован: 06 янв 2013 23:15

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение andreich78 » 21 янв 2014 12:15

kenkel писал(а):Именно это устройство успешно эксплуатируется в течении второго отопительного сезона.
Кроме этого, по просьбе трудящихся, сделал 2 устройства на семисторе для аналогичных целей. Пока все работает нормально.
Напиши, плз, маркировку симисторов и защитных конденсаторов (это же конденсаторы красные?).
И какой ток идет через симисторы (как запитаны насосы - через реле или напрямую)?
И в каких условиях эксплуатируются - село/город?
andreich78
Частенько бываю
 
Сообщения: 91
Зарегистрирован: 25 июн 2012 12:45

Re: Термостат ∆T=0,1°C теперь и на Atmega8

Сообщение Tolya G » 21 янв 2014 15:38

kenkel ! Пожалуйста памогите, нужна принципиальная схематермостата с регулируемым гистерезисом, с поправкой погрешности температуры, аналогично проекту hardlok на attini 2313, но на ATMEGA8. Главное внести в схему гальваническую развязку на мосеке, плюс симистор. Фьюзы нужны для работы с внутренним генератором. Прошивочка нужна для индикатора с общим катодом. Понимаю хотелок много. Спаять смогу а в остальном...........
С уважением Толя
Tolya G
Пробегал мимо
 
Сообщения: 6
Зарегистрирован: 20 янв 2014 16:02
Откуда: пермский край

След.

Вернуться в ATmega



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

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