Что я по пивоварне за последнее время делал.
Всем привет и доброго здравия!
Небольшая преамбула – зимой мы собирали пивоварню в свободном помещении, поставили большой – 125-и литровый бак, сварили каркас, ёмкости, всё собрали и даже подключили, однако затем ситуация вильнула таким образом, что помещение мы решили оборудовать под сварочный цех – собрали вентиляцию, сделали стеллажи, приобрели немного дополнительного оборудования, переделали окно в дополнительную дверь, прокинули капитальную проводку на оборудование, которое потребляет много – в общем цех сейчас работает и это хорошо, однако пивоварню нужно было куда то девать, так как сварочный цех это полный ПЭ в виде металлической пыли, грязи и прочих вещей, с пивоварением малосовместимых.
Тогда было решено переделать основной бак на 50 литров, сделать его максимально узким и прикрепить к каркасу. В бак был вварен датчик температуры, в просверленные отверстия монтированы поплавковые датчики уровня (геркон) и ТЭН на 4кВт, в котёл пока поставили 2 тэна по 2 кВт, подключённые последовательно, для увеличения нагревающей поверхности, дабы исключить пресловутое подгорание солода. Ёмкости были соединены PPR трубами(чтобы в случае переделки не было мучительно больно переваривать нержавеющие трубы) через латунные электромагнитные клапаны. Затем всё это дело мы утеплили экструдированным пенополистиролом, толщиной 20 мм, а сверху к краям ёмкости мы подошли фасонными изделиями, для того, чтобы организовать притвор крышки и закрыть «кишки».
Если сказать одним предложением – то мы собрали опытный образец, который теперь необходимо активно тестировать, искать косяки, думать, как их устранять. В офисе мы вывели на внешнюю стенку воду и канализацию, подключились. Кинули напрямую медный кабель 3х4 прямо от ввода линии. Более подробно конструкцию я опишу позже, сейчас же я хочу перейти к электрической составляющей проекта, так как она озадачила меня на пару ночей…

Читать дальше
Небольшая преамбула – зимой мы собирали пивоварню в свободном помещении, поставили большой – 125-и литровый бак, сварили каркас, ёмкости, всё собрали и даже подключили, однако затем ситуация вильнула таким образом, что помещение мы решили оборудовать под сварочный цех – собрали вентиляцию, сделали стеллажи, приобрели немного дополнительного оборудования, переделали окно в дополнительную дверь, прокинули капитальную проводку на оборудование, которое потребляет много – в общем цех сейчас работает и это хорошо, однако пивоварню нужно было куда то девать, так как сварочный цех это полный ПЭ в виде металлической пыли, грязи и прочих вещей, с пивоварением малосовместимых.
Тогда было решено переделать основной бак на 50 литров, сделать его максимально узким и прикрепить к каркасу. В бак был вварен датчик температуры, в просверленные отверстия монтированы поплавковые датчики уровня (геркон) и ТЭН на 4кВт, в котёл пока поставили 2 тэна по 2 кВт, подключённые последовательно, для увеличения нагревающей поверхности, дабы исключить пресловутое подгорание солода. Ёмкости были соединены PPR трубами(чтобы в случае переделки не было мучительно больно переваривать нержавеющие трубы) через латунные электромагнитные клапаны. Затем всё это дело мы утеплили экструдированным пенополистиролом, толщиной 20 мм, а сверху к краям ёмкости мы подошли фасонными изделиями, для того, чтобы организовать притвор крышки и закрыть «кишки».
Если сказать одним предложением – то мы собрали опытный образец, который теперь необходимо активно тестировать, искать косяки, думать, как их устранять. В офисе мы вывели на внешнюю стенку воду и канализацию, подключились. Кинули напрямую медный кабель 3х4 прямо от ввода линии. Более подробно конструкцию я опишу позже, сейчас же я хочу перейти к электрической составляющей проекта, так как она озадачила меня на пару ночей…

Читать дальше
- +4
- 12 июня 2016, 23:46
- VeniaminCaver
- 33
Кольцевой буфер
Пусть здесь полежит, а то вдруг с моим репозиторием что случится… А тут, глядишь, кому и сгодится.
Код для обслуживания кольцевых буферов, маленький и шустрый.
Собственно так: в секции данных надо поместить массивчик, где будет храниться сам буфер, произвольного размера, до 255 байт. Глубина буфера задаётся константой RBSIZE, и массив получается на три байта больше размером. В первом байте лежит глубина заполнения, то есть сколько данных сейчас в буфере. При укладке байта — увеличивается, при выгрузке — уменьшается; если ноль — буфер пуст. Второй и третий байты — служебные, указатели загрузки и выгрузки. Для инита буфера надо эти три байта обнулить.
А дальше всё стандартно — процедурой PutToBuf укладываем в буфер содержимое r16, процедурой GetFromBuf — достаём. Если буфер переполнен — очередной байт туда не ляжет, если пуст — содержимое r16 не изменится.
Портит xl,xh,r17, загрузка/выгрузка занимает по 29 тактов. Локальных меток не имеет, так что можно легко тиражировать в любом количестве экземпляров внутри программы.
Код для обслуживания кольцевых буферов, маленький и шустрый.
Собственно так: в секции данных надо поместить массивчик, где будет храниться сам буфер, произвольного размера, до 255 байт. Глубина буфера задаётся константой RBSIZE, и массив получается на три байта больше размером. В первом байте лежит глубина заполнения, то есть сколько данных сейчас в буфере. При укладке байта — увеличивается, при выгрузке — уменьшается; если ноль — буфер пуст. Второй и третий байты — служебные, указатели загрузки и выгрузки. Для инита буфера надо эти три байта обнулить.
А дальше всё стандартно — процедурой PutToBuf укладываем в буфер содержимое r16, процедурой GetFromBuf — достаём. Если буфер переполнен — очередной байт туда не ляжет, если пуст — содержимое r16 не изменится.
Портит xl,xh,r17, загрузка/выгрузка занимает по 29 тактов. Локальных меток не имеет, так что можно легко тиражировать в любом количестве экземпляров внутри программы.
; В секции данных:
;.equ RBSIZE=11
; ringbuf: .byte RBSIZE+3
; Конструкция кольцевого буфера:
;+0 - глубина заполнения
;+1 - указатель укладки
;+2 - указатель выгрузки
;+3... - данные
; Использованные регистры: xh,xl,r16,r17
; укладка в буфер. 29 тактов
PutToBuf: ldi xh,high(ringbuf+3) ;загрузка базы буфера
ldi xl,low (ringbuf+3)
lds r17,ringbuf+0 ;load rbdept
cpi r17,RBSIZE ; проверка на переполнение
brcc pc+16
inc r17
sts ringbuf+0,r17 ;store rbdept
lds r17,ringbuf+1 ;load rbputptr
add xl,r17 ; складываем указатель с базой
brcc pc+2
inc xh
st x,r16 ; помещаем байт в буфер
inc r17 ; приращение указателя укладки
cpi r17,RBSIZE ; закольцовка, если достигнута граница
brcs PC+2
clr r17
sts ringbuf+1,r17 ;store rbputptr
ret
; выгрузка из буфера. 29 тактов
GetFromBuf: ldi xh,high(ringbuf+3)
ldi xl,low (ringbuf+3)
lds r17,ringbuf+0 ;load rbdept
tst r17 ; проверка наличия данных
breq pc+16
dec r17
sts ringbuf+0,r17 ;store rbdept
lds r17,ringbuf+2 ;rbgetptr
add xl,r17
brcc pc+2
inc xh
inc r17
cpi r17,RBSIZE
brcs PC+2
clr r17
sts ringbuf+2,r17 ;rbgetptr
ld r16,x
ret
Термометр с тревогой и логированием в баню

Для контроля температуры, влажности и датчиков дыма решил собрать схемку с использованием платки Arduino Pro Mini.
Плата, в принципе, подойдет любая, главное чтобы на ней стоял микроконтроллер ATMEGA328P и были доступны все выводы.
Датчики температуры цифровые (1-Wire), датчик влажности аналоговый.
Запись лога в формате CSV ведется на SD карту (используется библиотека FatFs (C) ChaN).
Дисплей используется символьный — 20x4.
Читать дальше
Простая макетная плата ATmega16 ATmega32 DIP
Развёл простенькую макетку. Тупо все ноги МК вывел на пятачки, кондёры по питанию повесил, кварц, и разъём для программирования. Остальное цепляется к пятакам по вкусу. Так как у меня в разных проектах всё по разному, вешать кнопки/светодиоды на жёстко заданные выводы нет смысла.
Читать дальше
Читать дальше
- -3
- 01 октября 2014, 19:47
- Zlodey
- Оставить комментарий
- 1
нецелевое использование декатронов
Если вы хотите использовать аутентичную схему — вам не сюда. Здесь же я расскажу как использовать декатрон в качестве необычного индикатора.

www.adslclub.ru/upload/img/2014-02/27-22375665849.jpg
Читать дальше

www.adslclub.ru/upload/img/2014-02/27-22375665849.jpg
Читать дальше
Умный дом на микроконтроллере ATMEGA1280 часть-4
Итак в этой статье пойдет речь об описании протокола MODBUS и его реализация в Atmeg1280. Сам протокол модбас по сравнению с DCON протоколом имеет конечно намного больше возможностей. Но его реализация посложнее будет и требует намного больше ресурсов от микроконтроллера. Да и сам модбас, тормознутый протокол при обмене данными между устройствами.
Читать дальше
Читать дальше
- +1
- 26 мая 2013, 20:16
- Papandopala
- 28
Умный дом на микроконтроллере ATMEGA1280 часть-2.
Итак в этой статье рассмотрим такие пункты:
1.Подключение модулей ICPCON к контроллеру.
2.Опрос модулей по протоклу DCON.
В следующих статьях:
3.Подключение панелей Weintek.
4.Опрос панелей по MODBUS.
5.Подключение модема.
6.Управление модемом.
Читать дальше
1.Подключение модулей ICPCON к контроллеру.
2.Опрос модулей по протоклу DCON.
В следующих статьях:
3.Подключение панелей Weintek.
4.Опрос панелей по MODBUS.
5.Подключение модема.
6.Управление модемом.
Читать дальше
- +1
- 21 мая 2013, 13:49
- Papandopala
- 98
контроллер светодиодного табло
Было привезено из китая безымянное светодиодное табло разрешением 192х32. Длина около 1.5 метров.

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

Внутри был безымянный контроллер, со стертой маркировкой, в комплекте пустой компакт диск на котором должен был быть софт.
После непродолжительных поисков рабочего софта было решено заменить контроллер на атмегу.
Читать дальше
Шаблоны проектов на C++ для AVR [GCC, IAR]
Шаблоны проектов для микроконтроллеров: ATmega48, ATmega16, ATmega32, ATmega128.
Хотел оформить в виде ссылки, да забыл стиль поста выбрать. Подробности и обсуждение на форуме тут: Шаблоны проектов на C++ для AVR [GCC, IAR]
Хотел оформить в виде ссылки, да забыл стиль поста выбрать. Подробности и обсуждение на форуме тут: Шаблоны проектов на C++ для AVR [GCC, IAR]