1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Йогуртница на основе arduino своими руками

Йогуртница на основе arduino своими руками

Йогуртница на основе arduino своими руками

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

Блуждая по просторам интернета, наткнулся я на такую интересную вещь, как йогуртница. Жена у меня любит йогурт и частенько его покупает. Почитал профильный сайт, вдохновился. Вдохновила сама мысль о том, что его можно легко приготовить дома, причём он получится даже полезней, чем из магазина. После прочтения нескольких обзоров и сравнений, мы с женой решили купить «Moulinex YG230 YOGURTEO». Но вот незадача – город у нас небольшой и в продаже её мы просто не смогли найти. Хотели уже оформлять под заказ и тут меня осенило.
Что такое йогуртница? Грубо говоря – прибор для поддержания определённой температуры в течении определённого времени. Это же просто, почему бы не сделать самому? Конечно! Как раз в тумбочке уже с полгода лежит без дела arduino. Каюсь, грешен, да простят меня гуру микроконтроллеров, но я далёк от этого. Необходимости и времени изучать программирование микроконтроллеров у меня не было, поэтому, интереса ради, купил ардуинку, поморгал светодиодом, убрал в тумбочку и забыл. И вот, у меня появился шанс объяснить жене «зачем я покупаю весь этот хлам, если он потом всё равно без дела лежит в тумбочке».
Помимо ардуины нужны ещё термодатчик DS18B20 и твердотельное реле.

Сам скетч:

OneWire ds(10);
byte addr[8];
int active = true, ssrPin = 4, ledPin = 5;
float millisecondsPerGradus, currentTemperature, cookingTemperature = 36.0;
unsigned long totalWorkTime = 28800000; // 8 * 60 * 60 * 1000

void setup(void) <
Serial.begin(9600);
pinMode(ssrPin,OUTPUT);
pinMode(ledPin,OUTPUT);
while (true) <
if (!ds.search(addr)) ds.reset_search();
else break;
delay(250);
>
//предварительный прогрев
digitalWrite(ssrPin, HIGH);
delay(10000);
digitalWrite(ssrPin, LOW);
delay(1000);
//замер, за сколько миллисекунд температура воды изменяется на один градус
thermometer();
float startTemperature = currentTemperature;
digitalWrite(ssrPin, HIGH);
delay(30000);
digitalWrite(ssrPin, LOW);
delay(1000);
thermometer();
millisecondsPerGradus = 1000.0 / ((currentTemperature — startTemperature) / 30.0);
>

float thermometer(void) <
byte data[9];
while (true) <
ds.reset();
ds.select(addr);
ds.write(0x44,1);
delay(1000);
ds.reset();
ds.select(addr);
ds.write(0xBE);
for (byte i = 0; i totalWorkTime) <
//завершаем подогрев и оповещаем светодиодом
digitalWrite(ledPin, HIGH);
active = false;
return;
>
thermometer();
unsigned long delayTime;
if (currentTemperature >= cookingTemperature) <
delay(1000);
return;
>
else if (currentTemperature > cookingTemperature — 2.0) <
//если температура близка к необходимой, замедляем процесс подогрева
delayTime = millisecondsPerGradus * ((cookingTemperature — currentTemperature)/3.0);
>
else <
//иначе подогреваем на градус
delayTime = millisecondsPerGradus;
>
digitalWrite(ssrPin, HIGH);
delay(delayTime);
digitalWrite(ssrPin, LOW);
delay(1000);
>

Температура и время подбирались экспериментальным путём, не одна банка йогурта была испорчена. В итоге сошёлся на том, что надо готовить восемь часов (ставлю на ночь) при температуре 36 градусов. Везде пишут, что температура должна быть 38-40 градусов, но при такой температуре за восемь часов йогурт скисал (расслаивался), а за пять часов (до момента начала расслоения), как мне показалось, йогурт не успевал настаиваться и получался хоть и густым, но не таким вкусным. Кстати, точность DS18B20 меня приятно удивила, сверял с ртутным градусником — разница всего в 0,2-0,3 градуса. Об окончании приготовления оповещает светодиод (это же ардуино, она обязана моргать светодиодом в любом проекте, любой сложности).

Ну а теперь фотографии:

«Я его слепила из того, что было», реле с радиатором для хиленького кипятильничка это конечно сильно. Реле и без радиатора не нагревается, но чтобы не потерять радиатор — поставил реле вместе с ним.

Кипятильник, термодатчик и «миксер» чтобы температура воды была одинаковой в любой точке.

Внешний вид конечно с «Moulinex YG230 YOGURTEO» ни в какое сравнение, зато своими руками, из подручных средств, на коленке.

Жена отобрала кастрюлю, теперь йогуртница выглядит так.

На йогурт беру молоко 3,2% жирности (на 2,5% йогурт выходит жидковат). Закваску можно покупать в аптеке, например Эвиталия, но я предпочитаю Активию или Актимель, йогурт получается плотный и однородный, две чайных ложки на такую баночку вполне достаточно.

Готовый йогурт. Аж ложка стоит! Ну, почти стоит.

Здоровья вам и вашим близким!
P.S.: Удивите свою любимую девушку, подайте на завтрак самодельный йогурт. Как говорится – лучший подарок, это подарок, сделанный своими руками. Йогурт на подарок, конечно, не тянет, но девушка оценит вашу заботу и внимание.

Читать еще:  Строительство деревянного летнего гостевого домика своими руками

Автор: Shrim
Хабрахабр

Самодельная йогуртница

Для приготовления йогурта в домашних условиях требуется термостат, способный в течении 5 — 10 часов поддерживать температуру 38 — 40 градусов Цельсия. Йогуртницы, выпускаемые промышленностью, обычно содержат маломощный электрический нагреватель постоянно подключенный к питающей сети. В некоторых случаях это приводит к существенному отклонению температуры от оптимальной, что отрицательно сказывается на качестве получаемого продута. В данной статье предлагается схема и конструкция простого электронного термостата, способного поддерживать температуру с достаточной точностью. Схема электрическая принципиальная термостата приведена на рисунке.

Зелёный светодиод HL1 является индикатором наличия сетевого напряжения. На элементах VD2, R1, R2 и R3 собран стабилизированный источник питания с выходным напряжением 12В. Кремниевые диоды VD3, VD4 используются в качестве датчика температуры. При температуре 20°C падение напряжения на них около 1В, а коэффициент преобразования составляет -4 мВ/°C. Компаратор DA1.2 сравнивает напряжение на датчике с уставкой, получаемой с переменного резистора R9. Благодаря резисторам R11, R12 компаратор работает с небольшим гистерезисом. Если температура ниже заданной, то напряжение на входе 3 DA1.2 выше, чем на входе 2 DA1.2, выходной транзистор компаратора заперт, мощный высоковольтный полевой транзистор VT1 открыт, т. к. благодаря резистору R13 на его затворе присутствует напряжение 12 вольт. На нагреватель R17 подаётся выпрямленное сетевое напряжение. Когда температура поднимется выше заданной, то выходной транзистор компаратора откроется, а VT1 запрётся, нагреватель выключится. Красный светодиод HL2 является индикатором включения нагревателя. Переменный резистор R9 снабжён шкалой 20°C — 60°C, позволяющей задавать желаемое значение температуры. Подстроечные резисторы R5 и R6 задают границы диапазона регулирования температуры.

Описанная схемная реализация имеет недостаток, заключающийся в том, что в случае обрыва цепи датчика произойдёт неконтролируемый рост температуры нагревателя. Для устранения этого недостатка используется компаратор DA1.1, выход которого соединён с выходом DA1.2 по схеме «монтажного или». В случае обрыва в цепи датчика напряжение на входе 6 DA1.2 окажется выше, чем на входе 5. Выходной транзистор компаратора DA1.1 откроется и VT1 будет заперт независимо от состояния DA1.2.

Демпфирующая цепочка (снаббер) R16, С6 защищает транзистор VT1 от пробоя короткими высоковольтными импульсами, которые иногда возникают в питающей сети.

Конструкция и детали

Устройство состоит из двух частей — электронного блока и термостабилизированной поверхности, представленных на следующей фотографии.

Электронный блок собран в пластмассовой коробке размером 100х75х65 [мм]. Ось переменного резистора R9 выведена на верхнюю панель блока. Торец этой оси немного заглублён относительно уровня верхней панели. На нём имеется шлиц, позволяющий с помощью отвёртки менять заданную температуру. Также на верхнею панель вынесены светодиоды HL1 «Сеть» и HL2 «Нагрев». Монтаж электронного блока выполнен на макетной плате, представленной на следующей фотографии.

Термостабилизированная поверхность изготовлена из металлического подноса, внутри которого размещены датчик температуры VD3, VD4 и нагреватель R17, в качестве которого использован нагревательный элемент от фотоглянцевателя. Нагреватель и датчик смонтированы на алюминиевой пластине толщиной 5 мм, прикрученной к дну подноса 6-ю винтами с потайными головками. Пластину следует изготовить по размерам дна подноса. Краску с внутренней поверхности дна подноса нужно счистить и нанести на него тонкий слой теплопроводящей пасты КПТ-8 или, что хуже, смазки Литол-24, а затем установить пластину и прикрепить винтами. Размеры пластины можно существенно уменьшить или даже вовсе от неё отказаться, если использовать поднос из алюминия, теплопроводность которого существенно больше, чем у стали. Нагреватель следует разместить в середине пластины. Взаимное положение нагревателя и датчика показано на фотографии. Зазор между нагревателем и датчиком нужно заполнить теплопроводящей пастой.

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

Электронный блок подключается к термостабилизированной поверхности с помощью самодельного четырёхжильного кабеля длиной 50 см, заканчивающегося разъём DB-9. Провода, идущие к нагревателю, следует перевить, а для подключения датчика использовать провод в экране, как это показано на схеме.

В качестве HL1 можно использовать любой зелёный светодиод, например L-1154GF фирмы Kingbright, в качестве HL2 — любой красный, например L-1154ID той же фирмы.

VD3, VD4 1N4148 можно заменить на КД512 или КД503 с любой буквой. VT1 IRF740 можно заменить на IRF840.

Читать еще:  Гидроэлектростанция своими руками на приусадебном участке

Резисторы R1, R2, R4, R7 и R10 желательно использовать стабильные С2-23, MF-25 и т.п. Подстроечные резисторы R5 и R6 СП5-3, СП5-14 или 3266 bowrns. Переменный резистор R9 должен иметь линейную зависимость сопротивления от угла поворота оси (для отечественных резисторов — группа А, для импортных — B). Автор использовал проволочный резистор ПП3-20.

Данное устройство имеет непосредственную связь с питающей сетью. Все операции по наладке рекомендуется выполнять подключив электронный блок к сети через разделительный трансформатор 220В/220В.

Наладка устройства сводится к установке границ диапазона регулировки температуры. Для этого потребуется термометр и цифровой вольтметр или мультиметр.

Термометр следует расположить вблизи датчика и записать его показания. После этого нужно измерить напряжение на датчике — контрольная точка КТ1. Зная коэффициент преобразования датчика (- 4 мВ/°C) легко рассчитать какое будет напряжение на датчике при температуре 20°C (V1) и при 60°C (V2).

Подключив вольтметр к КТ3 нужно установить на этой контрольной точке напряжение V2 с помощью подстроечного резистора R6. Далее следует установить на КТ2 напряжение V1 с помощью R5. Поскольку эти регулировки являются взаимозависимыми их следует повторить несколько раз. На этом наладку устройства можно считать законченной.

В заключении несколько советов по эксплуатации.

Для равномерного прогрева йогурта полезно создать над термостатированной поверхностью замкнутый термоизолированный объём. Проще всего это сделать с помощью одеяла или толстого пледа.

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

Данный термостат имеет расширенный температурный диапазон. Это позволяет использовать его не только по прямому назначению, но и для других кулинарных и технических целей. Например для приготовления теста, подогрева раствора при травлении печатных плат и т.д.

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

Йогуртница на основе arduino своими руками

Дельта принтеры крайне требовательны к точности изготовления комплектующих (геометрия рамы, длины диагоналей, люфтам соединения диагоналей, эффектора и кареток) и всей геометрии принтера. Так же, если концевые выключатели (EndStop) расположены на разной высоте (или разный момент срабатывания в случае контактных концевиков), то высота по каждой из осей оказывается разная и мы получаем наклонную плоскость не совпадающая с плоскостью рабочего столика(стекла). Данные неточности могут быть исправлены либо механически (путем регулировки концевых выключателей по высоте), либо программно. Мы используем программный способ калибровки.
Далее будут рассмотрены основные настройки дельта принтера.
Для управления и настройки принтера мы используем программу Pronterface.
Калибровка принтера делится на три этапа:

1 Этап. Корректируем плоскость по трем точкам

Выставление в одну плоскость трех точек — A, B, C (расположенных рядом с тремя направляющими). По сути необходимо уточнить высоту от плоскости до концевых выключателей для каждой из осей.
Большинство (если не все) платы для управления трехмерным принтером (В нашем случае RAMPS 1.4) работают в декартовой системе координат, другими словами есть привод на оси: X, Y, Z.
В дельта принтере необходимо перейти от декартовых координат к полярным. Поэтому условимся, что подключенные к двигателям X, Y, Z соответствует осям A, B, C.(Против часовой стрелки начиная с любого двигателя, в нашем случае смотря на логотип слева — X-A, справа Y-B, дальний Z-C) Далее при слайсинге, печати и управлении принтером в ручном режиме, мы будем оперировать классической декартовой системой координат, электроника принтера сама будет пересчитывать данные в нужную ей систему. Это условность нам необходима для понятия принципа работы и непосредственной калибровки принтера.

Точки, по которым мы будем производить калибровку назовем аналогично (A, B, C) и позиция этих точек равна A= X-52 Y-30; B= X+52 Y-30; C= X0 Y60.

Алгоритм настройки:

  1. Подключаемся к принтеру. (В случае “крагозяб” в командной строке, необходимо сменить скорость COM порта. В нашем случае с 115200 на 250000 и переподключится)

    После чего мы увидим все настройки принтера.
  2. Обнуляем высоты осей X, Y, Z командой M666 x0 y0 z0.
    И сохраняем изменения командой M500. После каждого изменения настроек необходимо нажать home (или команда g28), для того что бы принтер знал откуда брать отсчет.
  3. Калибровка принтера производится “на горячую”, то есть должен быть включен подогрев стола (если имеется) и нагрев печатающей головки (HotEnd’а) (Стол 60град., сопло 185 град.) Так же нам понадобится щуп, желательно металлический, известных размеров. Для этих задач вполне подойдет шестигранный ключ (самый большой, в нашем случае 8мм, он предоставляется в комплекте с принтерами Prizm Pro и Prizm Mini)
  4. Опускаем печатающую головку на высоту (условно) 9мм (от стола, так, что бы сопло еле касалось нашего щупа, т.к. высота пока что не точно выставлена.) Команда: G1 Z9.
  5. Теперь приступаем непосредственно к настройке наших трех точек.
    Для удобства можно вместо g- команд создать в Pronterface четыре кнопки, для перемещения печатающей головки в точки A, B, C, 0-ноль.

  • Последовательно перемещаясь между тремя точками (созданными ранее кнопками или командами) выясняем какая из них находится ниже всего (визуально) и принимает эту ось за нулевую, относительно нее мы будем менять высоту остальных двух точек.
  • Предположим, что точка A у нас ниже остальных. Перемещаем головку в точку B(Y) и клавишами управления высотой в Pronterface опускаем сопло до касания с нашим щупом, считая величину, на которую мы опустили сопло (в лоб считаем количество нажатий на кнопки +1 и +0.1)
    Далее командой меняем параметры высоты оси Y: M666 Y <посчитанная величина>
    M666 Y0.75
    M500
    G28
  • Ту же операцию проделываем с оставшимися осями. После чего следует опять проверить высоту всех точек, может получится, что разброс высот после первой калибровки уменьшится, но высота все равно будет отличатся, при этом самая низкая точка может изменится. В этом случае повторяем пункты 6-7.
  • 2 Этап. Исправляем линзу

    После того как мы выставили три точки в одну плоскость необходимо произвести коррекцию высоты центральной точки. Из за особенности механики дельты при перемещении печатающей головки между крайними точками в центре она может пройти либо ниже либо выше нашей плоскости, тем самым мы получаем не плоскость а линзу, либо вогнутую либо выпуклую.

    Корректируется этот параметр т.н. дельта радиусом, который подбирается экспериментально.

    Калибровка:

    1. Отправляем головку на высоту щупа в любую из трех точек стола. Например G1 Z9 X-52 Y-30
    2. Сравниваем высоту центральной точки и высоту точек A,B,C. (Если высота точек A, B, C разная, необходимо вернутся к предыдущей калибровки.)
    3. Если высота центральной точки больше остальных, то линза выпуклая и необходимо увеличить значение дельта радиуса. Увеличивать или уменьшать желательно с шагом +-0,2мм, при необходимости уменьшить или увеличить шаг в зависимости от характера и величины искривления (подбирается экспериментально)
    4. Команды:
      G666 R67,7
      M500
      G28
    5. Подгоняем дельта радиус пока наша плоскость не выровняется
    3 Этап. Находим истинную высоту от сопла до столика

    Третьим этапом мы подгоняем высоту печати (от сопла до нижней плоскости — столика) Так как мы считали, что общая высота заведомо не правильная, необходимо ее откорректировать, после всех настроек высот осей. Можно пойти двумя путями решения данной проблемы:
    1 Способ:
    Подогнав вручную наше сопло под щуп, так что бы оно свободно под ним проходило, но при этом не было ощутимого люфта,

    • Командой M114 выводим на экран значение фактической высоты нашего HotEnd’а
    • Командой M666 L получаем полное значение высоты (Параметр H)
    • После чего вычитаем из полной высоты фактическую высоту.
    • Получившееся значение вычитаем из высоты щупа.

    Таким образом мы получаем величину недохода сопла до нижней плоскости, которое необходимо прибавить к полному значению высоты и и записать в память принтера командами:
    G666 H 235.2
    M500
    G28

    2 Способ:
    Второй способ прост как валенок. С “потолка”, “на глаз” прибавляем значение высоты (после каждого изменение не забываем “уходить” в home), добиваясь необходимого значения высоты, но есть шанс переборщить со значениями и ваше сопло с хрустом шмякнется об стекло.

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

    Вы можете помочь и перевести немного средств на развитие сайта

    Ссылка на основную публикацию
    Статьи c упоминанием слов:
    Adblock
    detector