Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

Специальные цены на внешние фильтры Eheim! Десятки моделей внешних фильтров Eheim по отличным ценам. Выбирайте!
Подробнее

Невероятная серия фотографий подводного мира

Шестижаберная акула

ТОП-3 самых опасных рыб Красного Моря

Рекомендуемые сообщения

Первая версия моего аквакомпа описана здесь. Далее тот проект развился в систему из нескольких процессоров и исполнительных устройств, связанных радиоканалом - все это успешно работает у меня уже долгое время, настроено под мои нужды, и вряд ли кому интересно ее копировать.

 

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

 

В отличие от предыдущей, многоплатовой версии, новый аквакомп целиком, включая блок питания, спаян на одной плате:

post-2056-1266136275_thumb.jpg

На плате распаяны:

1. блок питания,

2. микропроцессорная часть на Atmega32 в DIP корпусе на панельке (чтобы можно было легко заменить если что),

3. интерфейс COM-порта,

4. часы реального времени с источником резервного питания (литиевая батарейка),

5. силовая часть – 14 каналов с опторазвязкой и zero-cross (коммутация в момент перехода напряжения сети через 0), на симисторах BTA12-600 (12 ампер в пике, 600 вольт). Симисторы имеют изолированные спинки и поэтому посажены на один длинный радиатор. Испытания проводил, подключая к каналу бытовой нагреватель на полтора киловатта. Без проблем.

 

Плата аквакомпа подключается к COM порту настольного компьютера (ПК). Для ПК написана программа-интерфейс. Ссылку на скачивание дам чуть позже (как выглядит можно посмотреть и без подключенного аквакомпа, но будет притормаживать и не сможет сохранить установки – они сохраняются в аквакомпе.)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Функции:

 

1. Первая вкладка – данные с пяти датчиков температуры и pH электрода.

post-2056-1266136382_thumb.jpg

 

2. К каждому датчику может быть подключен термостат

Каждый термостат имеет выход для нагревателя и для холодильника. То есть можно подключить нагреватель или холодильник или и то и другое вместе, с указанием температур включения и выключения каждого прибора (или включать-выключать вручную). Выходы термостата можно направить на любой свободный из имеющихся 14 каналов. Если термостат не используется. его можно отключить, освободив занимаемый канал для других устройств.

post-2056-1266136449_thumb.jpg

 

3. Таймеры. 8 таймеров, у каждого по 2 диапазона включения (то есть, например, включить с 12:00 по 15:00, и с 18:35 по 22:43). Некоторые таймеры можно отметить галочкой и они будут отключаться на заданное время кнопкой "Выключить стримы" на заданное число минут. (На время кормления, например). Эти же таймеры отключаются физической кнопкой (вывод PB4 на схеме). Любой таймер выводится на любой свободный канал. Можно поставить на Вкл, Выкл или Таймер.

post-2056-1266136495_thumb.jpg

 

4. Один "большой" таймер на многократное включение-выключение (не знаю, для чего он нужен, но попросили сделать…)

post-2056-1266136529.jpg

 

5. Вкладка с таймерами заточенными под баллинг, плюс автодолив. Автодолив от титановых электродов (титановая проволока). Алгоритм работы автодолива далек от простого включения-выключения при замыкании электродов, я его описывал уже несколько раз, не буду повторяться.

post-2056-1266136593_thumb.jpg

 

 

6. Вкладка с логами PH, температуры и работы автодолива. В микопроцессоре хранятся логи за сутки, а программа на PC, когда запущена, автоматом их скачивает, синхронизирует с ранее скачанными и складывает в архив. Размер архива не ограничен – можно посмотреть старые логи за любой прошедшую дату.

post-2056-1266136623_thumb.jpg

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Схема. Повторюсь - ничего интересного, типовая.

Исключен кварцевый резонатор на процессоре за ненадобностью (тактируется от внутреннего генератора, выставить на 8МГЦ).

Схема усилителя PH скопирована с сайта Юсупова (надеюсь он не обидится). Единственное изменение - мне кажется что следует поставить два переменных резистора вместо постоянных (показаны на схеме), тогда можно полнее использовать потенциал электрода. В любом случае я считаю что измеритель PH вещь мало полезная. Но сделал до кучи.

post-2056-1266137183_thumb.jpg

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Карен молодец, хорошо тебя в это дело затянуло. :vo:

 

Мою занудность в схемах ты знаешь, поэтому

5. силовая часть – 14 каналов с опторазвязкой и zero-cross (коммутация в момент перехода напряжения сети через 0), на симисторах BTA12-600 (12 ампер в пике, 600 вольт). Симисторы имеют изолированные спинки и поэтому посажены на один длинный радиатор. Испытания проводил, подключая к каналу бытовой нагреватель на полтора киловатта. Без проблем.

Не сильно обнадеживайся по поводу полутора киловатт. Это чисто активная нагрузка. Для индуктивной дели это на 3, тогда будет надежно. И кроме того желательно для ваших сетей поставить на каждый симистор защитные варисторы (выковырянные из компьютерных БП, например).

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для индуктивной дели это на 3, тогда будет надежно.

Олег, делить на 3 что, те полтора киловата о которых я написал? или макс. значения из даташита (RMS on-state current full sine wave - 12 ампер), то бишь 2640 ватт ? :shock:

Да, знаю, это при идеальных условиях и большом радиаторе...

Эти симисторы в полтора-два раза боле мощные, чем ставят обычно на подобные устройства (обычно на схемах вижу BTA06 или BTA12).

Еще на всех симисторах снабберы стоят (их нет на схеме, но на плату поставил на все каналы).

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да те 12ампер, и как ты сказал с сответствующим охлаждением конечно.

В DS "приличных" SSR обычно пишут "with inductive load, the inrush current should be no more than 2-3 times rating".

Снабберная цепочка предназначена для подавления колебаний и облегчения условий переключения тиристора, а я говорил про варистор- грозозащиту, короче. Он поглощает высоковольтные спайки наведенные снаружи в электросеть (или всплеск при коммутации индуктивнисти) и сохраняет жизнь симистору.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще пару замечаний :oops:

1. Несколько выходов стоит подключить к реле с нормальнозамкнутыми контактами. Тогда на такой выход можно подключить возвратную помпу (или чтото еще важное) и не бояться что при обесточивании контроллера встанет помпа.

2. В программе терморегулятора стоит предусмотреть функцию, что в случае перегрева (вылетел холодильник/вентилятор, или просто не справляется), отключаются лишние нагреватели воды (освещение особенно). Отсутствие такой функции стоило мне летом 5 тридакн.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток, Карен.

Вы обещали выложить исходные материалы проекта. С огромным интересом прочитал ветку про первый ваш контроллер. Сейчас как раз собираю похожее устройство, тоже на процессоре мега32, очень хотелось бы посмотреть на Ваш исходный код к мк и программе-интерфейсу. Можете ли отдельно что-то добавить про разводку платы относительно помехоустойчивости? С нетерпением жду от вас информации.

С уважением, Артём.

Изменено пользователем арт_аф (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вы обещали выложить исходные материалы проекта.

Такого я пообещать не успел. :gygy: Исходный код ни МК, ни программы для PC открываться не будет. Исходный код другого контроллера я здесь выкладывал... а потом столкнулся с тем, что другие своим кодом делиться не спешат, так что и я не буду. Но файл прошивки готового устройства могу выслать... если он Вам для чего-то нужен. Как и готовую программу под PC.

 

С другой стороны, если есть вопросы по сборке-программированию, пишите, помогу чем смогу.

 

про разводку платы относительно помехоустойчивости?

Про разводку платы относительно помехоустойчивости ничего умного сказать не могу, хотя, по моему небольшому опыту сам проц работает как часы, а все сбои возникают не по вине помех и плохой разводки, а из-за неправильного построения программы. Доведите свой програмный код до совершенства и сбоев не будет. (Сейчас набегут наши Израильские друзья и раскритикуют - слушайте их, а не меня, они в электронике профи ;) )

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Извиняюсь, видимо, "на радостях" додумал вашу фразу про ссылки для скачивания, как мне захотелось.

На самом деле очень грустно, что вы не хотите поделиться исходными кодами. Сам программирую не так давно, и примеры реализаций каких-то моментов и узлов здорово помогают адаптироваться. Совершенно не могу понять желание всех аквариумных самодельщиков скрывать свои труды, тем более что проекты не является коммерческим. :tuplu:

Если вас не затруднит, скиньте хотя бы скомпилированные hex/exe, посмотрю в работе. Дергать кого-то вопросами не люблю, буду сам биться о грабли.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скинул.

 

Дергать кого-то вопросами не люблю, буду сам биться о грабли.

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Про разводку платы относительно помехоустойчивости ничего умного сказать не могу, хотя, по моему небольшому опыту сам проц работает как часы, а все сбои возникают не по вине помех и плохой разводки, а из-за неправильного построения программы. Доведите свой програмный код до совершенства и сбоев не будет. (Сейчас набегут наши Израильские друзья и раскритикуют - слушайте их, а не меня, они в электронике профи)

А я думал что про электронику сейчас обсуждать не модно. Сегодня главная тема дня - поведение на дорогах злобных вооруженных вегетарианцев с сигаретой в зубах, травящих своим дымом мясоедов. :P

 

Поскольку речь идет про разводку самопальной 2х слойной платы, то ничего там супер сложного нет. Луше всего развести цепи питания и земли звездой, т.е от источника на процессор, и другая линия от источника на силовую часть. На каждой из ног питания процессора по конденсатору, плюс один -два 100мкф электролита. Проследить чтобы 15-27 пф конденсаторы на кварце были присоединены кратчайшим путем к земле процессора. Обязательно на сброс процессора поставить любой чип сброса, а не RC цепочку. Все входы/выходы процессора внаружу защитить диодами, и токоограничивающими резисторами. Силовые выходы развязать оптронами или реле. Не заводить 220 на эту плату. Не брать питание с процессорной платы внаружу для запитки других устройств находящихся на расстоянии. Питание естествено стабилизированное. Все реле должны быть зашунтированны диодами. Если на плате ести мощные реле/контакторы, то их желательно запитать через отдельный стабилизатор. Питание на термодатчик - через ограничивающий резистор, что бы кз в проводе не вырубило процессор. Все вроде. ;)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сам программирую не так давно, и примеры реализаций каких-то моментов и узлов здорово помогают адаптироваться.

 

Могу вам посоветовать (для примера) польский (открытый) проэкт Aquamat Правда там комментарии в исходном коде, на польском.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Ссылку на скачивание дам чуть позже (как выглядит можно посмотреть и без подключенного аквакомпа, но будет притормаживать и не сможет сохранить установки – они сохраняются в аквакомпе.)

 

Очень понравился Ваш вариант! :vo:

 

Можно ссылочку в личку? :tuplu:

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ссылку отправил в личку, там программ для PC и прошивка для МК. Программу для PC сможете запустить, без подключенного аквакомпа она будет сильно тормозить, но все же представление получите что это такое и как выглядит. С прошивкой есть заморочки, когда дойдет до дела - расскажу. Предупреждаю сразу - менять что-либо в прошивке специально под конкретно ваше устройство я не буду - она идет как есть и без исходного кода.

 

Прежде чем собирать всю схему, можно пойти по шагам:

1. Сначала на макетке просто "оживляете" МК - только один процессор, к нему только питание и больше никаких деталей. Подключаете программатор ("пять проводков" на LTP порт компьютера), запускаете на компе uniprof.exe (бесплатно в инете). И смотрите, откликнулся ли проц или нет.

 

2. Если откликнулся - пишите сюда и будет продолжение, сейчас нет времени писать слишком подробно.

 

Суммируя - для начала вам нужен только проц Atmega32, панелька к нему, и источник питания на 5 вольт и простейший программатор "пять проводков":

post-2056-1291460741.jpg

 

Подключаете, добиваетесь отклика процессора. Пока все. Если не откликнется, пишите сюда, разберемся.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ссылку отправил в личку, там программ для PC и прошивка для МК.

 

Подключаете, добиваетесь отклика процессора. Пока все. Если не откликнется, пишите сюда, разберемся.

 

 

Спасибо, все получил, спаял, проц откликнулся - 32K, 1024, mega32.

 

Теперь ждем дальнейших указаний ;)

Изменено пользователем maverick-dp (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, все получил, спаял, проц откликнулся - 32K, 1024, mega32.

Отлично. Просто очень много народу отваливалось уже на этом этапе :gygy:

 

Теперь жмете кнопку FUSE, появляется окно с FUSE битами.

Жмете в этом окне на кнопки READ - считываются фьюзы из МК. (Не дай бог нажать на кнопку Write если предварительно фьюзы из проца не считаны - тогда туда пропишутся нули и дальнейшее программирование станет невозможным!).

Выставляете указанные ниже биты следующим образом:

 

CKSEL0 = 0 (нет галки)

CKSEL1 = 0

CKSEL2 = 1 (стоит галка)

CKSEL3 = 0

 

SUT0 = 0 [самый быстрый старт (только при BOD enabled!)]

SUT1 = 0

 

BODEN = 0 [brown-out detector enabled]

BODLEVEL = 0 [=4 вольта для ATMega32 без буквы L]

 

CKOPT = 1

 

Жмете Write. Этим мы настроили мегу на 8мгц, работа от внутреннего генератора, без внешнего кварца. Закрываете uniprof.exe, запускаете его снова - проц должен откликнуться.

 

Теперь добавляем часы - микросхема DS1307 с ее обвязкой - кварц, резисторы, резервная батарейка (батарейка сейчас не обязательно но в конечном изделии обязательно!) и интерфейс COM порта - HIN232 или MAX232 (кажется нужны конденсаторы по 1 мкф, а не 0.1 как указано в схеме, проверьте по даташиту! Я на такие схемы обычно ставлю конденсаторы керамику использую SMD типа 0805 (и резисторы такие же, но не суть важно).

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

мы настроили мегу на 8мгц, работа от внутреннего генератора, без внешнего кварца. Закрываете uniprof.exe, запускаете его снова - проц должен откликнуться.

 

 

Так как я использую ATMega32 с буквой А (по идее это то что и с буквой L) у нее диапазон 2,7-5,5В, решил оставить BODLEVEL = 1 [=2,7 вольта для ATMega32А].

 

Надеюсь от этого только будет плюс . Т.е . Как я понял этим параметром мы задаем минимальное напряжение на проце после которого он уйдет в перезагрузку. При этом отальные параметры по ногам МК остаются прежние или я не прав?

 

 

 

Прописал, проц откликнулся :lol: .

 

 

Теперь можно и за второй шаг с часами приступить. ;)

Изменено пользователем maverick-dp (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прописал, проц откликнулся :lol: .

Теперь можно и за второй шаг с часами приступить. ;)

Точность хода часов DS1307 зависит от качества кварца и от того как он припаян (флюс смыть вокруг, чтоб чисто было и т.п.). Как ни крути будет немного бежать или отставать (по памяти - секунд на 10 в день). В свой личный комп я поставил DS3231 с уже встроенным в нее кварцем, термокомпенсатором и т.п. - идет месяцами секунда в секунду без синхронизации. К сожалению они програмно не взаимозаменяемы, так что у Вас выбора нет, только DS1307.

 

После того как спаяете часы и 232 порт, заливаете в МК прошивку, подключаете к COM-порту вашего компьютера, запускаете Aquacomp.exe - должно работать. Признак того, что работает - идущие часы в поле "Время МК". Да, помните, что пока запущен uniprof.exe при подключенном шлейфе от LTP порта, МК не работает (находится в состоянии сброса).

post-2056-1291811024_thumb.jpg

Напишите, как будет готово. Можно с фотографиями, как оно выглядил, интересно ведь.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так как я использую ATMega32 с буквой А (по идее это то что и с буквой L) у нее диапазон 2,7-5,5В, решил оставить BODLEVEL = 1 [=2,7 вольта для ATMega32А].

 

Надеюсь от этого только будет плюс . Т.е . Как я понял этим параметром мы задаем минимальное напряжение на проце после которого он уйдет в перезагрузку. При этом отальные параметры по ногам МК остаются прежние или я не прав?

Я не помню, что такое ATMega32А, но для наших целей, наверное, без разницы. C буквой L, опять же по памяти, может работать при пониженном напряжении, но макс частота не 16, а 8мгц? В любом случае это неважно, т.к. он у нас и так на 8мгц работает.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Точность хода часов DS1307 зависит от качества кварца и от того как он припаян...

 

После того как спаяете часы и 232 порт, заливаете в МК прошивку, подключаете к COM-порту вашего компьютера, запускаете Aquacomp.exe - должно работать. Признак того, что работает - идущие часы в поле "Время МК". Да, помните, что пока запущен uniprof.exe при подключенном шлейфе от LTP порта, МК не работает (находится в состоянии сброса).

post-2056-1291811024_thumb.jpg

Напишите, как будет готово. Можно с фотографиями, как оно выглядил, интересно ведь.

 

С часами все понятно, хотел уточнить еще один момент заливать в МК прошивку надо через uniprof.exe или через меню Аквакомпа ( у него есть такая закладочка)?

 

Спасибо за ценные советы, Карен!

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

С часами все понятно, хотел уточнить еще один момент заливать в МК прошивку надо через uniprof.exe или через меню Аквакомпа ( у него есть такая закладочка)?

 

Спасибо за ценные советы, Карен!

В первый раз через uniprof.exe. Пока в процессоре нет прошивки, COM порт не работает и Аквакомп.exe его не видит и все средства аквакомпа неработают.

 

Чтобы опция перепрошивки через Аквакомп.exe заработала нужен еще boot loader - прошивка, которая зашивается в верхние адреса МК и контролирует процесс перепрошивки. Я ее куда то задевал, как найду выложу и дам ссылку в приват. И для этой опции понадобится изменить кое что в фьюзах. Но это потом, аквакомп и без этой опции будет работать, а сейчас у меня реальный цейтнот с деланьем ЛЕД света и т.п.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

В первый раз через uniprof.exe. Пока в процессоре нет прошивки, COM порт не работает и Аквакомп.exe его не видит и все средства аквакомпа неработают.

 

 

 

 

Можно уточнить параметры СОМ порта ( Скорость, битность управление и т.д...)?

Изменено пользователем maverick-dp (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно уточнить параметры СОМ порта ( Скорость, битность управление и т.д...)?

 

baud=38400

parity=N

data=8

stop=1

 

А зачем Вам это?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Точность хода часов DS1307 зависит от качества кварца и от того как он припаян (флюс смыть вокруг, чтоб чисто было и т.п.). Как ни крути будет немного бежать или отставать (по памяти - секунд на 10 в день). В свой личный комп я поставил DS3231 с уже встроенным в нее кварцем, термокомпенсатором и т.п. - идет месяцами секунда в секунду без синхронизации. К сожалению они програмно не взаимозаменяемы, так что у Вас выбора нет, только DS1307.

 

После того как спаяете часы и 232 порт, заливаете в МК прошивку, подключаете к COM-порту вашего компьютера, запускаете Aquacomp.exe - должно работать. Признак того, что работает - идущие часы в поле "Время МК". Да, помните, что пока запущен uniprof.exe при подключенном шлейфе от LTP порта, МК не работает (находится в состоянии сброса).

post-2056-1291811024_thumb.jpg

Напишите, как будет готово. Можно с фотографиями, как оно выглядил, интересно ведь.

 

Карен, подскажи, Вот здесь в 19 посте на фото показана другая программа, чем та что выше описывалась.

Тут с поддержкой встроенного дисплея, датчика солености, вкладка Холодный (наверно речь о твоём холодноводном аквариуме) есть. Это интерфейс от твоего компа?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...