Йогуртница на основе 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 Uno

В уроке мы покажем вам, как сделать свою собственную плату Arduino Uno своими руками, используя микроконтроллер ATmega328p IC. В итоге вы сможете понимать как в дальнейшем делать аналоги любых плат, плюс создавать свои. Может быть вы даже откроете свою компанию по производству плат и микроконтроллеров.

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

Мы не будем использовать какие-либо SMD-компоненты для создания своей версии Arduino Uno, потому что не у всех есть паяльная станция, а иногда найти SMD-компоненты очень сложно. Кроме того, наш метод в большинстве случаев дешевле, чем компоненты SMD. Для тех кто, только начинает разбираться в электронике – технологию поверхностного монтажа печатных плат также называют ТМП (технология монтажа на поверхность), SMT (англ. surface mount technology) и SMD-технология (от англ. surface mounted device — прибор, монтируемый на поверхность), а компоненты для поверхностного монтажа также называют «чип-компонентами».

Шаг 1. Изменения в оригинальной версии

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

Изменения будут следующими:

  • Мы не будем использовать какие-либо компоненты SMD. Все элементы будут в формате сквозных отверстий.
  • Мы не нашли ни одного чипа FTDI в формате сквозного отверстия, поэтому преобразование USB в TTL не будет выполняться. Для программирования нового Arduino будет использоваться отдельная отладочная плата FTDI.
  • Оригинальный Arduino использует компаратор Mosfet, чтобы определить, подключаем ли мы плату с помощью источника питания USB или постоянного тока. Но в нашей версии мы будем вручную переключать это с помощью перемычки.
  • Традиционно используется микросхема LP2985 от Texas Instruments, чтобы получить источник питания 3,3 В на борту. Но из-за недоступности платы в формате TH мы будем использовать простой линейный регулятор. Таким образом, LM1117 должен быть очевидным выбором, но чтобы сохранить стоимость изготовления еще ниже, мы будем использовать LM317 с R1 и R2 как 240E и 390E соответственно.
  • Последнее, что нужно на плате, – это достаточное количество линий питания и два разъема для каждого порта IO ввода-вывода. Поэтому мы будем размещать ряд разъемов папа и мама вокруг платы, что поможет подключить большее количество устройств непосредственно к Arduino.

Учитывая все изменения, мы можем записать окончательный список компонентов.

Шаг 2. Необходимые компоненты

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

  • Микроконтроллер Atmel Atmega328p-pu
  • 28-контактная база IC
  • 16 МГц кварцевый генератор
  • конденсатор 22 пФ – 2 шт.
  • конденсатор 100 нФ – 4 шт.
  • Электролитический конденсатор 100 мкФ – 3 шт.
  • 3 мм красный светодиод – 2 шт.
  • 330E 1/4W резистор – 2 шт.
  • 240E 1/4W резистор – 1 шт.
  • 390E 1/4W резистор – 1 шт.
  • 10K 1/4W резистор – 1 шт.
  • Кнопка для сброса
  • Диод общего назначения 1N4007
  • Линейный регулятор напряжения 7805
  • Линейный регулятор переменного напряжения LM317
  • DC разъем мама
  • 2-контактный винтовой клеммный блок
  • много разъемов “папа” и “мама”

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

Вам также понадобится программатор USBASP ICSP или конвертер USB в TTL, такой как FTDI для программирования Arduino с вашего компьютера.

Вот проектная спецификация от компании Easyeda:

Собираем все компоненты и переходим к следующему шагу.

Шаг 3. Рисуем окончательную схему

Чтобы нарисовать окончательную схему, использовали Easyeda, набор инструментов EDA на основе веб-технологий. На этом портале очень просто рисовать большие схемы. Также это онлайн сервис. Таким образом, благодаря удобству использования что-то лучшее найти сложно. Рекомендуем вам использовать в своих проектах. Схема, которая разработана может быть скачена по ссылке ниже, PDF документ:

Шаг 4. Создаем печатную плату

Как только схема завершена, пришло время сделать печатную плату. Мы использовали веб-сайт JLCPCB (ссылка), чтобы сделать печатную плату. Эти ребята являются одними из лучших в производстве печатных плат в последние дни.

После завершения проектирования схемы преобразуйте ее в печатную плату и спроектируйте печатную плату на веб-сайте easyEDA (ссылка). Будьте терпеливы. Ошибка на этом шаге испортит вашу печатную плату. Проверьте несколько раз перед генерацией файла gerber. Вы также можете проверить 3d модель вашей платы здесь. Нажмите на создание файла gerber и оттуда вы можете напрямую заказать эту плату через JLCPCB. Загрузите файлы gerber, выберите правильную спецификацию, ничего не меняйте в этом разделе. Оставьте как есть. Это достаточно хорошие настройки для старта. Разместите заказ. Вы получите его через 1-2 недели.

Шаг 5. Пайка компонентов

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

Одна вещь, которую стоит пояснить, заключается в том, что значения конденсаторов не обязательно должны быть идеальными. Нечто близкое к тем величинам, что мы обсуждали выше, вполне будет работать. То же самое касается резисторов. Но сохраните значения R1 и R2 LM317.

Одна вещь, которую вы можете найти странной, что у arduino, который мы сделали, есть две кнопки сброса. На самом деле, когда разрабатывали макет, использовали четырехконтактную кнопку для справки. Но во время пайки стало понятно, что у нас её нет. Поэтому мы припаяли 2 двухполюсных переключателя сброса на место. Там нет ничего особенного.

Шаг 6. Запуск загрузчика на микроконтроллере

Если вы используете конвертер USB – TTL для программирования микроконтроллера, тогда загрузчик Arduino должен быть установлен в новый чип atmega328p. Об этом мы сделаем следующий большой урок. После этого процесс загрузки кода будет точно таким же, как и в обычной Arduino.

Если вы используете программатор ICSP, то есть программатор USBASP, тогда этот шаг не нужен. Но процесс загрузки кода немного отличается.

Шаг 7. Программируем Ардуино

Подключите коммутационную плату к Arduino и подключите её к компьютеру. Откройте диспетчер устройств и наблюдайте за com-портом конвертера usb – ttl. В Arduino IDE выберите com-порт и плату правильно. Теперь здесь начинается сложная часть.

Если ваша плата FTDI имеет вывод DTR и она подключена для сброса, просто сохраните программу и загрузите ее в Arduino как обычно. Ошибки не будет. Но если у вас нет пина DTR, как у нас, то, прежде чем нажать кнопку загрузки, удерживайте кнопку сброса на плате, а затем нажмите кнопку загрузки. Удерживайте кнопку до тех пор, пока программа не скомпилируется, когда IDE говорит «загрузка», затем отпустите переключатель сброса. Затем код будет загружен.

Шаг 8. Итоговый результат

Здесь вы можете увидеть, что мы загрузили 3-контактный код в новую arduino, и все работает, как и предполагалось. Используя только 3 контакта, мы контролируем 6 светодиодов с промежутком 200 мс между ними. Мы проверяли другие программы, все они работают без нареканий.

Йогуртница на основе 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) Далее при слайсинге, печати и управлении принтером в ручном режиме, мы будем оперировать классической декартовой системой координат, электроника принтера сама будет пересчитывать данные в нужную ей систему. Это условность нам необходима для понятия принципа работы и непосредственной калибровки принтера.

  • Обнуляем высоты осей X, Y, Z командой M666 x0 y0 z0.
    И сохраняем изменения командой M500. После каждого изменения настроек необходимо нажать home (или команда g28), для того что бы принтер знал откуда брать отсчет.
  • Калибровка принтера производится “на горячую”, то есть должен быть включен подогрев стола (если имеется) и нагрев печатающей головки (HotEnd’а) (Стол 60град., сопло 185 град.) Так же нам понадобится щуп, желательно металлический, известных размеров. Для этих задач вполне подойдет шестигранный ключ (самый большой, в нашем случае 8мм, он предоставляется в комплекте с принтерами Prizm Pro и Prizm Mini)
  • Опускаем печатающую головку на высоту (условно) 9мм (от стола, так, что бы сопло еле касалось нашего щупа, т.к. высота пока что не точно выставлена.) Команда: G1 Z9.
  • Теперь приступаем непосредственно к настройке наших трех точек.
    Для удобства можно вместо 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), добиваясь необходимого значения высоты, но есть шанс переборщить со значениями и ваше сопло с хрустом шмякнется об стекло.

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

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

    Выпуск 2. Основы Arduino для начинающих. Знакомство с Arduino, выбор платы и компонентов для дальнейшей работы

    Привет начинающим ардуинщикам!)

    Это второй выпуск из серии Arduino для начинающих, и по нашему плану сегодня мы впервые знакомимся с платформой Arduino – ее историей возникновения и примерами некоторых проектов, которые создавались на ее базе. Ну а во второй половине видео (статьи) мы попробуем разобраться, какую плату лучше выбрать и, вообще, какие компоненты нам понадобятся в дальнейшем.

    Как обычно, я подготовил весь материал для вас в двух вариантах – видео и текст, а какой из них выбрать – решать уже лично вам 😉

    Arduino – что же это такое? Наверняка многие из вас уже имеют представление об этой платформе, которая разрабатывалась для прототипирования (то есть разработки) различных устройств. И со временем так получилось, что эта платформа стала одной из самых популярных в кругу начинающих любителей электроники. И тут все дело в простоте: подключили плату к компьютеру, установили программную среду и уже можно писать свои первые программы, причем, на упрощенном, высокоуровневом языке – обо всем этом мы обязательно поговорим в следующих выпусках.

    В видеоролике на этом моменте я предлагаю посмотреть на примеры некоторых проектов на Arduino, ну а мы, минуя этот момент, продолжим.. 🙂

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

    Ну а история появления бренда Arduino берет своё начало ещё в далеком 1002 году, в Италии, где с 1002 по 1004г.г. правил король Ардуин, в честь которого и была названа эта платформа. А её создателем является Массимо Банци (Massimo Banzi), который в 2005 году, вместе со своей группой разработчиков выпустил скромный инструмент для студентов в Институте проектирования взаимодействий города Ивреа. Первый прототип платы выглядел достаточно просто, и тогда еще не имел никакого названия – чуть позднее Массимо назвал плату в честь бара Arduino, владельцем которого он тогда и являлся.

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

    Продукт, который создала команда, состоял из дешевых и доступных компонентов и главная задача разработчиков состояла в том, чтобы гарантировать работу устройства по принципу “plug-and-play”, — то есть, чтобы пользователь, достав плату из коробки и подключив к компьютеру, мог немедленно приступить к работе.

    Так и появилась Arduino, которая очень быстро набрала популярность в интернете и в настоящий момент является одной из самых популярных платформ для создания устройств любителями и новичками в этой сфере. До сих пор настоящие, оригинальные платы Arduino производятся только в Италии в городе Торино и в США, в Нью-Йорке.

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

    Для начала, пару слов о самой распространенной на сегодняшний день плате Arduino UNO, именно её все начинают представлять, когда речь заходит об Arduino. Более детально с внутренностями платы мы ознакомимся в следующем выпуске.

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

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

    Таким образом, любая плата Arduino, это, прежде всего, микроконтроллер, выводы которого удобно разведены по краям платы и подписаны. У Arduino UNO таких выводов 20, 6 из которых аналоговые, а остальные 14 – цифровые.

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

    Так же у Uno есть младший аналог – это Arduino Nano, которая, если рассматривать китайские аналоги, отличается от UNO меньшими размерами применяемых компонентов и, отсюда, небольшими размерами самой платы. Здесь уже стоит отталкиваться от того, кому как удобнее.

    Наоборот, старшим аналогом UNO является плата Arduino Mega с микроконтроллером ATmega1280, либо 2560 в зависимости от конфигурации. Такая плата подходит для уже более серьезных проектов, рассчитанных на большое количество подключаемых устройств и емкого программного кода, поэтому она содержит 54 цифровых выхода и 16 аналоговых, а так же объем памяти в ней по сравнению c Uno и Nano уже не 32Кб, а 128Кб – что, в 4 раза больше.

    Следующей в списке идет Arduino Leonardo, совпадающая по размерам с UNO, но отличающаяся в применяемом микроконтроллере – на сей раз это Atmega32u4. Эту плату компьютер распознает как подключенную к нему клавиатуру или мышь, поэтому, она, помимо прочего, идеально подходит для создания на ее основе различных джойстиков и других устройств ввода.

    Специально для реализации небольших устройств, разработчики Arduino создали плату под названием Arduino Mini, имеющую очень компактные размеры и построенную на базе микроконтроллера ATmega168. Так же существует версия Arduino Pro Mini, главным отличием которой является отсутствие ножек-выводов. Из-за такого сокращения компонентов плата не имеет собственного USB и программируется через специальные USB-преобразователи и адаптеры.

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

    Зачастую для ваших проектов будет не хватать одной лишь платы Arduino – например, в случае, если вы захотите взаимодействовать с интернетом, или управлять множеством сервоприводов. И здесь на помощь приходят так называемые шилды (от англ. Shield – щит), представляющие собой платы расширения, и подключаемые к Arduino по принципу бутерброда.

    Их количество очень разнообразно и каждый шилд отвечает за выполнение каких-либо конкретных задач.

    Кстати, не так давно @KeyAnyP радовал нас небольшой серией постов о шилдах здесь, здесь и здесь 🙂

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

    В качестве примера можно привести модуль реле, благодаря которому вам не придется самостоятельно собирать необходимую для работы реле схему, а лишь подключить при помощи проводов готовые выводы модуля с входами Arduino.

    Читайте также:  Металлоискатель своими руками (схема, печатная плата, принцип работы)

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

    Ну а теперь настало время разобраться с тем, какие компоненты вам понадобятся для начала работы с Arduino.

    Первым делом, конечно же, вам необходимо обзавестись самой платой Arduino. В качестве самой первой платы, на которой вы будете обучаться и строить свои проекты, я рекомендую приобрести Arduino Uno, из-за ее, на мой взгляд, удобных для макетирования размеров и наличия всех необходимых выводов. Здесь есть три варианта приобретения платформы – покупать дорогую оригинальную плату, купить плату от сторонних xDuino-производителей, либо китайский аналог Arduino.

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

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

    Помните, я упомянул про три возможных варианта, и не назвал еще один. Так вот, средними по ценовому диапазону и качеству компонентов являются платы так называемых xDuino производителей. Где вместо x подставляются различные наименования разработчиков, например, Freeduino, Seeeduino, CraftDuino и так далее. Эти платы являются полностью Arduino-совместимыми и зачастую имеют всяческие штрихи и дополнения, в виде каких-то улучшений или доработок.

    Версия платы Arduino под названием Craftduino

    Итак, достаточно рассуждений, давайте, наконец, посмотрим, как выбрать нужную плату из огромного множества производителей и при этом остаться довольным покупкой. Раз уж мы договорились, что в дальнейшем будем работать с Arduino Uno, то выбирать мы будем именно её. Если начать искать плату на всем известных сайтах Aliexpress или Ebay, то в целом можно выделить два вида плат, один из которых немного дешевле второго, и вот почему.

    Перед вами две фотографии этих плат, давайте посмотрим на их отличия.

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

    Второй отличительной особенностью этих плат является устройство связи платы с USB вашего компьютера – на левой плате это устаревший FTDI USB микроконтроллер, на правой – микроконтроллер ATmega8U2, имеющий свои плюсы, о которых мы говорить пока не будем. В остальном же, платы практически идентичные, и, я думаю, каждый из вас уже сделал выбор в пользу более совершенного, правого варианта. Кстати, эта версия Arduino имеет полное название как Arduino Uno R3, где R3 обозначает третью ревизию.

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

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

    2. Набор из резисторов различных номиналов, о назначении которых мы говорили в прошлом выпуске

    10 интересных вещей, которые можно сделать на Arduino

    Если у вас есть тяга к тех­но­ло­ги­ям (или ребё­нок с такой тягой), рас­смот­ри­те Arduino. Эта шту­ка оза­да­чит вас и ребён­ка на мно­го часов, а на выхо­де полу­чат­ся уди­ви­тель­ные про­ек­ты.

    Что за Arduino

    Arduino — это про­грам­ми­ру­е­мый мик­ро­кон­трол­лер. То есть это пла­та, на кото­рую мож­но запи­сать вашу про­грам­му, и эта пла­та смо­жет управ­лять дру­ги­ми шту­ка­ми: напри­мер, зажечь лам­поч­ку, издать звук, вклю­чить элек­тро­при­бор, изме­рить тем­пе­ра­ту­ру, отпра­вить СМС.

    На самом базо­вом уровне Arduino про­сто отправ­ля­ет и счи­ты­ва­ет элек­три­че­ские импуль­сы. Напри­мер, мож­но под­клю­чить к нему тер­мо­метр, и Arduino смо­жет счи­тать тем­пе­ра­ту­ру в ком­на­те. А потом, в зави­си­мо­сти от про­грам­мы, отпра­вить сиг­нал на устрой­ство, кото­рое вклю­чит вен­ти­ля­тор.

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

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

    1. Робот-бармен с Bluetooth-управлением

    Слож­ность: 4/5.

    Вре­мя: 5/5.

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

    Глав­ная слож­ность при изго­тов­ле­нии — инже­нер­ная. Нуж­но точ­но при­кру­тить все дета­ли и соеди­нить их меж­ду собой, что­бы ёмкость ока­зы­ва­лась точ­но под нуж­ны­ми бутыл­ка­ми.

    2. Светящийся куб на 512 светодиодов

    Слож­ность: 3/5.

    Вре­мя: 3/5.

    Кра­си­вая шту­ка, кото­рая может све­тить­ся в такт музы­ке как трёх­мер­ный эква­лай­зер и пока­зы­вать 3D-анимацию. А ещё это может рабо­тать как необыч­ный ноч­ник.

    Для сбор­ки пона­до­бит­ся дере­вян­ное шас­си с отвер­сти­я­ми, что­бы каж­дый ярус был таким же по раз­ме­ру и фор­ме, что и осталь­ные. Чис­ло све­то­ди­о­дов в каж­дой гра­ни выбра­но не слу­чай­но: 8 ламп = 8-битная логи­ка, самая про­стая в про­грам­ми­ро­ва­нии и управ­ле­нии через кон­трол­лер.

    3. Взломщик кодовых замков

    Слож­ность: 5/5.

    Вре­мя: 4/5.

    Этот про­ект раз­ра­бо­тал хакер Сэми Кам­кар, и мы при­во­дим его толь­ко в демон­стра­ци­он­ных целях. Для взло­ма, кро­ме пла­ты Arduino, автор взял серво- и шаго­вый дви­га­те­ли для пере­бо­ра ком­би­на­ций и соеди­нил всё на само­дель­ном шас­си из алю­ми­ния. В осно­ве алго­рит­ма — про­стой пере­бор всех ком­би­на­ций, но робот это дела­ет быст­рее чело­ве­ка.

    4. Nod Bang — киваем головой и делаем бит

    Слож­ность: 2/5.

    Вре­мя: 3/5.

    Идея в том, что­бы не про­сто кивать в такт музы­ке, а кив­ка­ми само­му гене­ри­ро­вать звук. Энд­рю Ли сде­лал спе­ци­аль­ное устрой­ство, кото­рое сле­дит за поло­же­ни­ем голо­вы и в момент накло­на вос­про­из­во­дит нуж­ный звук.

    В науш­ни­ки он встро­ил аксе­ле­ро­метр, кноп­ки отве­ча­ют за выбор зву­ка, а Arduino — за вос­про­из­ве­де­ние зву­ка на ком­пью­те­ре через MIDI-интерфейс. Что­бы всё выгля­де­ло эффект­нее, у кно­пок есть под­свет­ка, и они тоже дела­ют бит.

    5. Поющее растение

    Слож­ность: 2/5.

    Вре­мя: 2/5.

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

    Пла­та реги­стри­ру­ет изме­не­ние ампли­ту­ды сиг­на­ла, для чего автор исполь­зу­ет само­дель­ный сен­сор­ный детек­тор для ана­ли­за при­кос­но­ве­ний к цвет­ку. Кро­ме это­го пона­до­би­лась пла­та рас­ши­ре­ния Gameduino и сам цве­ток.

    6. Замок, который открывается на секретный стук

    Слож­ность: 3/5.

    Вре­мя: 2/5.

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

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

    7. Горшок для цветов с автополивом

    Слож­ность: 4/5.

    Вре­мя: 3/5.

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

    Основ­ные харак­те­ри­сти­ки чудо-горшка:

    • встро­ен­ный резер­ву­ар для воды;
    • дат­чик кон­тро­ля уров­ня влаж­но­сти поч­вы;
    • насос для пода­чи воды;
    • дат­чик уров­ня воды в резер­ву­а­ре;
    • све­то­ди­од, инфор­ми­ру­ю­щий о недо­стат­ке воды в резер­ву­а­ре.

    8. Драм-машина

    Слож­ность: 1/5.

    Вре­мя: 2/5.

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

    Мате­ма­ти­че­ская осно­ва это­го устрой­ства — раз­ло­же­ние в ряд Фурье, кото­рое реша­ет­ся под­клю­че­ни­ем стан­дарт­ной биб­лио­те­ки.

    9. Шагающий робот

    Слож­ность: 2/5.

    Вре­мя: 1/5.

    Про­стой в изго­тов­ле­нии четы­рёх­но­гий робот, кото­рый шага­ет и само­сто­я­тель­но пре­одо­ле­ва­ет пре­пят­ствия в сан­ти­метр высо­той.

    Что­бы его сде­лать, вам пона­до­бят­ся сер­во­мо­то­ры для ног, немно­го про­во­ло­ки и любой пла­стик, из кото­ро­го дела­ет­ся шас­си. Для пита­ния — акку­му­ля­тор любой моде­ли, кото­рый кре­пит­ся на спине робо­та.

    10. Робот-пылесос

    Слож­ность: 4/5.

    Вре­мя: 5/5.

    Дмит­рий Ива­нов из Сочи собрал насто­я­щий робот-пылесос, кото­рый дела­ет всё то же самое, что и про­мыш­лен­ные устрой­ства, толь­ко с воз­мож­но­стью тон­кой настрой­ки под себя и свою квар­ти­ру.

    Основ­ные дета­ли — пла­та Arduino, 6 инфра­крас­ных дат­чи­ков, тур­би­на с дви­га­те­лем и щёт­ка­ми и акку­му­ля­тор. Ещё у робо­та есть дат­чи­ки столк­но­ве­ния, кото­рые помо­га­ют объ­ез­жать пре­пят­ствия, и кон­трол­лер акку­му­ля­то­ра, кото­рый сле­дит за уров­нем бата­рей и пре­ду­пре­жда­ет о том, что пыле­сос надо заря­дить.

    Ссылка на основную публикацию