Page 1 of 6

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

Posted: 02 Dec 2017 22:25
by propell_ant
Термостат на ATmega8A.
Сделано по образу и подобию термостата Хардлока. Плата в один слой не влезла, но второй слой состоит только из перемычек. В принципе термостат на Tiny2313 тоже с перемычками на обратной стороне.
Прошивки и исходники в аттаче, всё проверено в железе.

Основные идеи такие:
- в тиньку 2313 постоянно что-то не влезает, но при этом цена на нее перестала быть сильно ниже, чем на мегу.
- в термостате Хардлока главное то, что он стал платформой, на которой разработана куча ответвлений. Предлагая смену чипа, нужно помнить про совместимость на уровне платформы - люди часто просят что-то доработать.
- исходный код термостата Хардлока должен втыкаться с минимальными переделками в термостат на меге
- исходный код термостата из "работы над ошибками" должен вообще быть совместим, ну плюс-минус ссылки на другой контроллер.

При разводке печатной платы выяснилось, что всё влезает примерно в форм-фактор термостата на 2313. Примерно соответствует оригиналу даже расположение входов под кнопки и выходов на нагрузку, и падов для подпайки датчика температуры. То есть в принципе возможно заменить оригинальный термостат на этот, что может оказаться полезным.
TQFP.top.image.2.0.1.png
Особо хочется отметить, что реализованы некоторые старые "хотелки":
  1. простейший супервизор питания включен в схему изначально
  2. кварц не влезал, но удалось впихнуть керамический резонатор (для всяких там тахометров и распределений зажиганий)
  3. удалось вывести на колодку один из входов АЦП (для всяких там вольтметров в машину)
  4. защитный диод заменен на защитный полевой транзистор, это позволяет запитываться напрямую от USB зарядок
  5. сама печатная плата может быть сделана на однослойном текстолите, вся обратная сторона может быть заменена перемычками из проводов (сам пока не пробовал, нужно внимательно следить за соединениями земляных полигонов)
  6. предусмотрены пады под все ноги, необходимые при программировании, причем почти все они находятся на одном торце устройства, это на мой взгляд удобно
Что не удалось сделать:
  • вывод RESET не получилось вывести на колодку на торце. Может кто придумает как...
TQFP.scheme.png
Распиновка:
нижний торец (нумерация справа налево) - подключение питания и датчика (3,4,5 соответствуют названиям пинов в даташите на DS18B20)
1 GND
2 V+
3 GND
4 VDD
5 DQ

правый торец (нумерация от нижнего угла)
1 GND
2 LOAD (выход на реле), MOSI
3 BTN-, MISO
4 BTN+, SCK
5 VCC
6 ADC (пока не используется прошивкой)
для программирования требуется штырек для доступа к пину RESET, отмечен стрелочкой на картинке выше.

Фьюзы:
fusebits-mega8-8MHz.PNG
fusebits-mega8-8MHz.PNG (3.1 KiB) Viewed 8351 times
Изменения:
Номер версии вернулся к четвертой (сначала была выложена версия под номером 7.0.7), теперь версии исходного термостата на ATtiny2313 и этого термостата на ATmega8 TQFP синхронизированы по функционалу и имеют одинаковые версии 4.1.00
Для поддержания совместимости с версией для ATtiny2313 (http://hardlock.org.ua/viewtopic.php?f=9&t=370)
некоторые прямые обращения к регистрам заменены на дефайны:
DISPLAY_PORT, DISPLAY_PIN, DISPLAY_DDR,
OUTPIN_NO (нормально открытый порт),
OUTPIN_NC (нормально закрытый порт - в Mega8 пока не поддерживается)
Бинарники теперь собираются на CodevisionAVR v3
Для автоматизации сборки в проект добавлен файл version.txt
Плата слегка изменена:
В парочке мест увеличены расстояния между дорожками, так как при ручном изготовлении там из раза в раз медь не протравливалась.
Все отверстия колодок приведены в соответствие с размером штырьков PLS. В предыдущей версии был задан такой диаметр отверстий, что штырьки не влезали.
Переходное отверстие, к которому припаивается штырь RESET также увеличено до размеров штырька PLS.
В итоге платы, изготовленные на заказ по комплекту герберов TermostatTQFP.gerber.v2.0.4.zip выглядят так:
готовая плата, сторона деталек
готовая плата, сторона деталек
готовая плата, обратная сторона
готовая плата, обратная сторона
В архиве также есть полноценная плата в формате Sprint Layout 6, весьма точно соответствующая плате в формате Eagle. Но по lay6 я на производстве не заказывал и в железе не проверял, так что за отсутствие косяков не ручаюсь.

И по многочисленным заявкам наших постоянных зрителей выкладываю фотку готового девйса:
TQFP.dev.top.photo.2.0.4.JPG
Номиналы деталей не соответствуют схеме, это я экономлю, беру похожие из имеющихся в наличии. Плата подключена к USB зарядному устройству шнурком с USB-A разъемом на конце. Шнур питания припаян (я пока не придумал как без пайки сделать надежно, компактно и так, чтобы не препутать плюс с минусом. Регулятор напряжения не распаян, вместо него сопелька из припоя.
Светодиод в верхеней части фото - часть супервизора питания.
На плате виден распаяный резонатор - это необязательный элемент.

Исправленные ошибки:
1. Версия 4.1.02 исправляет неправильную конфигурацию портов кнопок - порты были настроены на выход вместо входа. Проблема проявлялась в повышенном потреблении тока при нажатии кнопок.
2. Фьюзы - обратите внимание, термостат должен работать на 8ми мегагерцах.

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

Posted: 03 Dec 2017 10:25
by Yanshun
propell_ant, Добрый день.
Зачем что-то рисовать, когда можно просто получить Gerber файлы и вставить их в Sprint-Layout 6. Получится то что нужно. при этом каждый сможет открыть файлы даже не имя никакой программы, все можно делать онлайн. Не добавляйте себе трудностей.
Схему разумеется приложить не смог, ограничения форума мне не позволяют это сделать, но что смог то сделал. Приложил Gerber файлы и Lay 6 для тех кто захочет подредактировать что-то для себя. Порядковые номера и номиналы не помещались, поэтому только контуры компонентов.
ДАННЫЙ GERBER ФАЙЛЫ НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ОТПРАВКИ НА ПРОИЗВОДСТВА, НЕ ХВАТАЕТ НЕСКОЛЬКО СЛОЕВ, ТОЛЬКО ДЛЯ ПРОСМОТРА.
Схема в следующем сообщении.

Добавлено спустя 53 секунды:
Как и обещал схема в PDF.

Добавлено спустя 3 минуты 30 секунд:
Не хватает только описания данного устройства, но думаю за автором не заржавеет.

Добавлено спустя 1 час 15 минут 3 секунды:
На печатной плате есть маленький косячек, а именно, в месте под микросхемой есть переходное отверстие при его пайке, если ПП делалась в домашних условиях без металлизации, если его запаять то микросхема не сядет на свои пады. При промышленном производстве, это не является проблемой.

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

Posted: 03 Dec 2017 11:25
by propell_ant
Yanshun, спасибо, пусть пока хоть в таком виде побудет. Я, всё-таки думаю, что нужна полноценная версия в Layout, бо людей, привыкших только к нему - полно.
Описание, схема, и др. и пр., приложу.

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

Posted: 03 Dec 2017 11:31
by Yanshun
propell_ant, Добрый день.
Это Вам спасибо, Вы мне неоднократно помогали, поэтому я хоть как-то должен был Вам отплатить.
Если Хардлок "не сможет", не будет у него времени, я тогда сделаю "полноценную" версию ПП, переведу по картинке ее.
А пока буду следить за продвижением темы.

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

Posted: 04 Dec 2017 00:47
by propell_ant
тему-то я создал не в том разделе, это ж мега. Придется переносить.

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

Posted: 04 Dec 2017 05:50
by Yanshun
Доброе утро.
Это все спешка :-)
Так-же желательно расписать разъем SV1 где подключается датчик и питание, я то понял, но буду задавать вопросы. Нумерация разрядов у Вас идет Слева на Право или наоборот?
Так-же на схеме где подключаются сегменты, можно сделать шину, чтобы не было таких перекрестий, это все волишь для красоты.
А почему 5 ногу на микросхеме не подключили, я понимаю, что они внутри подключены, но все же.
А картинка фъюзов есть?
А органы управления сием устройством есть?
А почему на разъеме программирования исключен вывод Reset и подключен к другой ноге №19?
Буду ждать продолжения, фото устройства и описание его возможностей.
Благодарю.

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

Posted: 04 Dec 2017 22:32
by propell_ant
Yanshun, спасибо, приложил фьюзы и распиновку, подправил 5 ногу.
Шину не стал делать специально, с ней менее понятно для новичков.
Я использую две тач-кнопки на TTP223 ну и дополнительная плата для реле.
Reset не получилось вывести на колодку, предусмотрен пад для штырька. На другой ноге №19 - ЦАП (ADC6). Это на будущее, сейчас не запрограммирован.
А что на фото смотреть? Как у хардлока, только другой :)

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

Posted: 05 Dec 2017 05:07
by Yanshun
propell_ant, Доброе утро.
На будущее, при использовании АЦП обязательно нужно развязывать линии питании.
Устройство меня очень заинтересовало, буду следить за продвижением и разработаю свою версию ПП.
На данный момент он, данный термостат, пока не чем не отличается от Хардлока, но если в нем будет изюминка, тогда присматриваться буду к нему.
Только вход в меню не делайте нажатием одновременно двумя кнопками, при активном использовании устройством это оказалось мучением.
Буду следить за развитием, если чем-то смогу помочь, буду рад.

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

Posted: 05 Dec 2017 14:28
by propell_ant
Yanshun wrote:propell_ant, Доброе утро.
На будущее, при использовании АЦП обязательно нужно развязывать линии питания.
Эт я в курсе, только тут места нет. Если кто начнет городить измерения через АЦП - напомню.

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

Posted: 10 Dec 2017 21:35
by georg77
тут рядом : http://hardlock.org.ua/viewtopic.php?f=10&t=426
подобный проект с 2 датчиками и исходниками. Никого не тяну за рукав, но если надо - используйте как Вам будет удобно.

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

Posted: 09 May 2018 21:16
by Yanshun
Добрый вечер.
И что так и никто в железе не сделал устройство и не отпишется о нем?

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

Posted: 10 May 2018 11:40
by propell_ant
Ну, я то довел до железа, в обычном виде (без кварца) всё работает. Но скучно, никаких глюков-косяков, всё как у хардлока.

Теперь думаю, где бы сделать заказ плат. В резолите дороговато выходит, а других я не знаю.

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

Posted: 11 May 2018 09:37
by Yanshun
Могу посоветовать такие сайты.
https://jlcpcb.com/
https://www.pcbway.com/
Качество отличное, а цена очень низкая.

А какие-нибудь красоты и дополнительные параметры в прошивку планируется добавлять? Место вроде там должно остаться.

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

Posted: 11 May 2018 13:37
by propell_ant
Yanshun, Спасибо, попробую и отпишусь.

Я эту тему затеял именно из-за доработок, в тиньку 2313 уже не возможно что-то добавить. Инициатива доработок сейчас в основном исходит от участников форума, у меня самого запросы скромные.

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

Posted: 11 May 2018 14:23
by Yanshun
При просмотре схемы обнаружил странное подключения Q3 на схеме, кажись его нужно развернуть на 180 градусов. А иначе потенциал пройдет через внутренний диод.
А "плохо" не будет стабилизатору, если на его выход подать +5В?
Надеюсь вход в меню не одновременное нажатие двух кнопок.
Заказ себе Мегу, потихоньку буду набирать деталек и продумывать печатную плату, рисовать буду свою версию.
Есть рекомендация на "хотелки" пользователей, выкладывать прошивку в первое сообщение с кратким его описанием под прошивкой, а в самом архиве полное, чтобы не задавать одни и те же вопросы.

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

Posted: 12 May 2018 16:41
by propell_ant
Yanshun wrote:При просмотре схемы обнаружил странное подключения Q3 на схеме, кажись его нужно развернуть на 180 градусов. А иначе потенциал пройдет через внутренний диод.
Это защита от переполюсовки (нарыл здесь), и в теории и в железе всё работает. Я особо не вдавался, но вроде первоначальный ток течет через диод, создает потенциал, отпирающий транзистор, и дальше транзистор пропускает через себя основную часть тока, а диод совсем чуток. Короче шаманство, но используется сейчас широко, вроде даже в яблокофонах
А "плохо" не будет стабилизатору, если на его выход подать +5В?
если вход специально не заземлять, вроде ничего не будет
Надеюсь вход в меню не одновременное нажатие двух кнопок.
:) я уже сделал отключение этой фичи, но свободное время резко закончилось, и выложить пока не получается
Заказ себе Мегу, потихоньку буду набирать деталек и продумывать печатную плату, рисовать буду свою версию.
Есть рекомендация на "хотелки" пользователей, выкладывать прошивку в первое сообщение с кратким его описанием под прошивкой, а в самом архиве полное, чтобы не задавать одни и те же вопросы.
Спасибо, учту

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

Posted: 12 May 2018 18:07
by Yanshun
Раз Вы все протестировали значит все в ажуре. Интересное решение с полевиком, не знал.
Спешить никуда не нужно всему свое время.

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

Posted: 12 May 2018 20:43
by propell_ant
Кстати, такая защита от переполюсовки (на P-MOSFET'е) позволяет, не распаивая LDO и его обвязку, запитаться от USB зарядного устройства. Просто бросаю сопельку припоя с пада входа питания нераспаянного LDO на пад выхода, и готово. Сейчас гоняю два термостата в этом режиме. От зарядки обычно приходит 5В с копейками, на МК приходит 4.8-4.9, а зарядки все сейчас стабилизированные (я специально искал самые дешевые и спрашивал у продавцов самые плохие, желательно чтоб пищали). Думал придется городить фильтр по питанию - нет, термостаты работают без нареканий.

Правда у меня у ноги VCC микроконтроллера всегда стоит конденсатор (как в даташитах написано).

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

Posted: 13 May 2018 08:02
by Yanshun
А на какую частоту кварц ставить?
Без него при прошивке контроллера могут появиться проблемы в обнаружении контроллера программатором.

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

Posted: 13 May 2018 13:55
by propell_ant
Yanshun, В термостате кварц не используется, о проблемах при прошивке термостата никто пока не сообщал. Место под резонатор оставлено для других применений, например тахометров.

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

Posted: 14 May 2018 16:46
by propell_ant
обсуждение термостата на MAX6675 выделено в отдельную тему

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

Posted: 20 May 2018 09:02
by Yanshun
Добрый день.
А можно сделать чтобы он, термостат, изначально работал от внешнего кварца. Чтобы я спал уже спокойно и не рисковал при перепрошивке, обнаружение контроллера программаторов, 8 мгц, ну или сколько там нужно на все случаи жизни.
Случаи разные бываю, поэтому лучше сразу обезопасить себя от них.
Благодарю.

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

Posted: 20 May 2018 18:29
by propell_ant
Этот мой ответ - результат глубокого заблуждения. Термостат Хардлока всегда работал на частоте 8 МГц, и термостат на атмеге8 тоже работает на этой частоте. Не удаляю специально чтобы иметь под рукой пример того, как можно перемудрить на пустом месте.

Yanshun, тут всё не так просто как может показаться на первый взгляд.
Дело в том, что оба термостата, и исходный хардлоковский и Mega8TQFP работают на частоте 4МГц.
Дело несколько осложняется тем, что хардлоковский термостат на attiny2313, у которой есть настраиваемый делитель частоты, и этот делитель настроен в прошивке так, чтобы делить тактовую частоту 8МГц на 2. В чипе ATmega8 нет делителя, но есть возможность изменять фьюзами частоту работы внутреннего RC осциллятора, на картинке настройки фьюзов это как раз и отражено - CKSEL3:0 = 0011(1=unprogrammed) = 4МГц .

На печатной плате под мегу TQFP я развел не кристалл, а керамический резонатор, CSTCE из-за его небольшого размера - 2х3мм. Как видите из названия, рабочая частота таких резонаторов - от 8 до 20МГц, и для термостата он не годится (и не предполагался, термостат прекрасно работает и без него).

Утверждать, что термостат на меге TQFP не будет работать с резонатором на 8МГц я не могу, но могу сказать, что никто пока не пробовал так делать.

В целом же, нормальная работа меги с кварцем или резонатором целиком зависит от правильной настройки фьюзов, и это целиком в ваших руках. Если нужно, картинку настроек фьюзов под резонатор или под кварц конкретной частоты я вам составлю.

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

Posted: 20 May 2018 19:53
by Yanshun
propell_ant, Добрый вечер.
Во как сложно оказалось.
Но если есть возможно, для меня, картинка с фьюзами на внешний кварц 4 МГц, я лучше его поставлю. Чтобы Мега работала на внешнем кварце, а не на "внутреннем".
* затактировать микроконтроллер от внешнего кварца, так как протокол «1-Wire», который использует датчик, критичен к формированию временных интервалов (тайм-слотов), поэтому молиться о стабильности встроенного тактового генератора мне не хотелось бы;

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

Posted: 23 May 2018 23:20
by propell_ant
Yanshun, вот картинка фьюзов для Mega8 - кварц 4МГц.
(если точнее, то от 3 МГц и выше)