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

Автоматическая кормушка для кота на Arduino

Содержание

Интернет вещей: кормушка для кота

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

Шаг 1: Проект и чертеж

Мне нужно было спроектировать такое устройство, которое можно было бы распечатать на 3D-принтере, и которое, разумеется, могло бы кормить моего кота. Устройство также должно управляться через интернет, так чтобы и моя мама смогла покормить голодное животное, где бы она ни находилась. Поэтому возникла идея задействовать для этого проекта WIFI Arduino с сервоприводом.

Для проектирования был выбран Fusion 360; вы же можете работать, например, в Auto CAD, 123D Sketch или OpenSCAD
Впрочем, если вы небольшой специалист в CAD, вы можете просто скачать чертежи по следующей ссылке:
http://www.thingiverse.com/thing:1855459

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

Основание 1

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

Основание 2

По отдельности экструдируйте круговую часть и держатель лотка, т.е. создайте трехмерные объекты.

Лоток 1

Лоток должен держать корм внутри устройства.
Здесь нам, как показано на рисунке, понадобится два чертежа – для верхней и нижней части. Размеры должны соответствовать размерам основания.
ХИТРОСТЬ. Создавайте чертеж на базе чертежа основания.

Лоток 2

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

Крышка 1

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

Крышка 2

Экструдируйте по отдельности внешний и внутренний контуры, соберите крышку. Одна четвертушка должна быть открыта.

Крышка 3

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

Шаг 2: Инструменты и материалы

Детали 3D-печати

Все детали нарисованы в Fusion 360. Вы можете скачать их с Thingiverse.

Электроника

Adafruit Feather HUZZAH и ESP8266 WiFi будут управлять устройством, а Continuous Rotation Micro Servo — FS90R будет приводить механизм в движение. Нам также понадобится кабель micro USB, лучше плоский.
Инструменты
Вот список инструментов, которые вам понадобятся:
Крестовая отвертка
Пассатижи
Кусачки
Щипцы
Клеевой термопистолет
Компьютер
Файл
Паяльник
Инструмент для зачистки проводов

Шаг 3: Сборка

Подача электропитания

Прорежьте в пластике отверстие, чтобы пропустить USB. Сгладьте углы.

Крышка

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

Шаг 4: Электроника

Режем провода

Установите предварительно мотор и плату, чтобы определить нужную длину кабелей; обрежьте провода.

Пайка

Припаяйте на плату три провода. Перед пайкой провода обязательно залудите.
КРАСНЫЙ = USB
КОРИЧНЕВЫЙ = GND (земля)
ОРАНЖЕВЫЙ = 5

Шаг 5: Дальнейшая сборка

Монтаж электроники

Установите сервопривод и печатную плату на основание.
ХИТРОСТЬ. Для крепления платы воспользуйтесь двусторонним скотчем.

Крышка

Закройте сервомеханизм крышкой.

Шаг 6: Программирование

Скачайте Arduino IDE 1.6.8 или более новый

Скачайте Arduino IDE (1.6.8 или старше) с Arduino.cc
Установите ESP8266 Board Package

Введите
http://arduino.esp8266.com/stable/package_esp8266com_index.json
в поле для ссылки в Additional Board Manager в настройках Arduino v1.6.4+.
Arduino > Preferences

Установите ESP8266 Package
Перейдите в Tools > Board > Board manager и добавьте ESP8266 package. Перезагрузите компьютер.

Выбор платы

Перейдите в Tools > Board и выберите Adafruit HUZZAH ESP8266.

Скорость процессора

Установите частоту процессора в 80 МГц: Tools > CPU Frequency.

Скорость выгрузки

Установите Upload Speed в 115 200 бод.

Выбор порта

Выберите порт под ваш FTDI или USB-Serial кабель.

Код

Зайдите на GitHub и скачайте код.
https://github.com/ntrobot2/IOT-Pet-Feeder-ino/blob/master/v1.ino
Введите SSID и пароль вашего Wi-Fi, но сначала не отправляйте их на плату.

Настройка приложения 1
Как вы, возможно, догадались, для связи с Arduino мы воспользуемся Blynk. В таком случае нам не придется писать приложение с нуля.
Скачать Blynk на телефон: http://www.blynk.cc/

Настройка приложения 2
Создайте проект внутри приложения Blynk.

Настройка приложения 3
Отправьте себе на почту AUTH TOKEN и скопируйте его в код: char auth[] = «AUTH TOKEN»;
Теперь закачайте его на плату.

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

Настройка приложения 5
Нажмите на кнопку L.

Настройка приложения 6
Настройте параметры кнопки.
OUTPUT = V1 (виртуальный выход)
Mode = PUSH
Поименуйте метку, дайте имя кнопке.

Тестирование
В приложении Blynk нажмите на кнопку запуска и убедитесь, что код загрузился на плату.
Не забудьте заполнить:
char auth[] = «AUTH TOKEN»;
char ssid[] = «SSID»;
char pass[] = «PASSWORD»;

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

Автокормушка для кошки своими руками. Часть 2

Приветствую всех. Более года опубликовал пост о создании автокормушки для кошки. Спустя некоторое время стал замечать, что корма высыпается мало, а в определённый момент перестал сыпаться вовсе. Решил, что причина в конструкции шнека и недостаточной мощности электродвигателя. Приобрёл шаговый двигатель, контроллер и плату ардуино для управления. Шнек решил распечатать на 3D-принтере. Собрал в тот же корпус, но данная конструкция оказалась неудачной, поэтому фото сюда скидывать не буду. Проблема та же: шнек заклинивает от корма. Поскольку доступ к 3D-принтеру имеется, то решил распечатать корпус кормушки полностью. Поискал среди моделей в базе 3D-моделей и выбрал вот эту модель. Распечатал, и собрал в корпус. Печатал PLA-пластиком.

Корпус сделал из старого научного прибора, который уже не работал. Модель никто уже не знает. Стенки и основание сделал из фанеры. Миску прикрутил на винт с гайкой, для периодического мытья. Вся электрическая часть расположена снизу. Для включения цепи используется реле sonoff с таймером, для питания драйвера двигателя используется блок питания 12 вольт ну и реле времени (об этом ниже). Сама плата ардуино питается от драйвера двигателя, там есть специальный вывод.

Читать еще:  Автоматическая кормушка для собаки

Контроллер шагового двигателя сильно греется, поэтому пришлось закрепить его на радиатор.

Как всё работает: реле sonoff подаёт напряжение на блок питания, а он, в свою очередь, на драйвер, который питает плату ардуино и двигатель. Зачем же реле времени, в таком случае? Это я таким нехитрым образом реализовал включение звуковой дорожки. Вначале включается mp3-модуль, а потом плата arduino. На карту памяти можно было записать свой голос, что бы кошка не забыла хозяина, но я поступил проще: записал трек из передачи «В мире животных». Зачем? А просто так!. За неделю кошка выучила мелодию и теперь, услышав её, бежит к кормушке.

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

Пришлось осваивать 3D-моделирование и нарисовать шнек другой конструкции. Всего с одним витком.

Кроме этого, пришлось модернизировать программу управления двигателем, добавив реверс. На видео видно вращение шнека.

Проверяем с кормом.

Очевидно, что объём бункера для корма мал. Распечатывать выше не стал, а просто увеличил при помощи металлической банки с крышкой. Далее приделал стенки из фанеры.

Согласен, выглядит некрасиво. При возможности распечатаю продолжение бункера и приклею к основной части. Ну и видео работы вместе со звуковым сопровождением.

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

На видео это первый раз сработала с музыкой. Сейчас она абсолютно спокойно сидит и ждёт

Ну если тебе некогда покормить кошку вручную — распечатай её на 3D принтере, проблема исчезнет.

На самом деле часто бываем в отъезде, тогда шайтан машина выручает

С едой теперь понятно, а как с туалетом во время отъезда?

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

Срабатывает только днём и вечером

Хотелось бы ещё добавить по двигателю nema, купил я такой на 2 ампера и потключил

Его к 12 вольтам через драйвер , грелся ужасно драйвер, замерял ток , оказалось он зашкаливает,движок то 3 х вольтовых как оказалось, выставил напряжение и ток греться перестал , но момент на валу маловат поэтому заменил на мотор редуктор))

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

Добрый день! Я повторил проект ваш с автоматикой на Ардуино и esp8266 , т.к. 3д принтера не было шнек собрал из жёсткой пружины и двигатель редуктор поставил , работает дабротно , но со шнеком вашего исполнения думаю порции были бы точнее, если можно скиньте проект шнека на почту

Здравствуйте. Я сейчас в отпуске, а модель шнека осталась на компьютере. На яндексе нашёл только эту версию, но проверить не на чем. Попробуйте сами. Файл можно получить по ссылке:

Ты бы еще гимн рОССИИ поставил, и кормушку поднял бы на уровень груди кота, вот это было б да.

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

Можно подумать. В фанеру, например, вмонтировать гайку. А винт использовать покороче.

Да, как раз с потайной головой

Какая милая кошка😍

Прямой привод? Неудивительно, что клинит.

Пока я собирал этот вариант, то на Али появился вариант по цене ниже, чем у меня ушло:

Не сочтите за рекламу

Тоже думал об этом , но с доставкой выходит дорого, у меня ушло от 1000 до 2000 рублей на проект

Сейчас у xiaomi появилась автокормушка

До чего дошёл прогресс.

Всем привет. Недавно наткнулась на пост где был показан прогресс в работе и подумала — мне ведь тоже есть что показать. Первое фото — октябрь 2019, второе — апрель 2020. Пол года между работами

Прогресс налицо. Ну. или морду🤔 Очень интересно видеть рост в работе. И это очередной способ показать новичку, что не всегда все получается с первого раза и не стоит опускать руки. Достаточно просто трудиться в нужном направлении и все получится😉 через годик нужно будет еще сравнить прогресс

Больше моих работ можно посмотреть в группе https://vk.com/kuka.monster_clay

Когда нечем заняться на карантине

Мама пошила всем маски и решила не останавливаться.

Как мы делали электротранспорт на советском асинхроннике. Часть 2

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

Красотища. Ну, когда-нибудь мы вырежем для него корпус из акрила. А пока я занялся перемоткой и улучшением охлаждения небольшого мотора. Перематывал в первый раз, так что получилось немного коряво и заполнил пазы только на 80% примерно, проволока изгибалась, мешалась. Изоляторы не нашёл где взять и напечатал на 3D принтере из ABS. Так же в корпус мотора, поближе к обмоткам, засунул 2 термодатчика, один — DS18B20, второй — обычный NTC термистор. Первый как-то очень быстро умер непонятно почему. Ну а резистору плевать на всё, он и остался главным датчиком температуры.

Обычный герметик, как оказалось, неплохо проводит тепло (по крайней мере явно лучше воздуха). Заодно почистил всё, промыл и смазал подшипники. Была ещё идея сделать в роторе проточки и пустить в корпус антифриз с входом/выходом с концов мотора, поставить сальники. Чтобы ротор при вращении сам был помпой антифриза и себя охлаждал. Но почему-то решили пока не гробить движок. Здравый смысл и понимание того, сколько с этим придёт проблем взяли верх).

Пошёл я делать частотник. Опять.

И тут я подумал, почему бы не попробовать запихать тестовый частотник прямо в распределительную коробку мотора? А транзисторы прямо к корпусу прикрутить (само собой через изолирующие прокладки), чтобы был единый радиатор. Сделали так — работает. Но появился некий хруст, частота очень сильно прыгала, STM’ка входила в прерывание для расчёта оборотов мотора даже когда сигнала с оптического энкодера не было. (да, это вон та зелёная приблуда на одной стороне мотора) Экранирование провода с датчика, кучи фильтров (пороговый, Калман, среднее из сотни замеров, экспоненциальный. ) не особо помогало, как ни странно. Грешил уже на наводки по питанию, близость к обмоткам и поддельную STMку с алика за 100 рублей. Кстати, в таком «хрустящем» режиме он работал на мощности около 300 Ватт и без нагрузки на валу, то есть самый неэффективный режим работы. И да, частота была не фиксированная, а динамическая, то есть он разгонялся и частотник пытался всегда держать частоту немного выше оборотов. Спустя пару минут такой работы корпус нагрелся до 50-55 градусов и обмотка (судя по термистору) до примерно той же температуры, что говорит об эффективности охлаждения обмоток т.к. раньше на такой мощности корпус грелся до 40, а обмотка под сотню. Наверное надо просто мотать нормально. Но главное работает мотор)

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

Читать еще:  Кормушка для кур из ПВХ труб

Не проблема, подумал я, и решил развести плату, за одно добавив туда датчики тока на эффекте Холла, один 150 (должен был быть на 50) Ампер по питанию и 30 Амперные на фазовые выводы, чтобы потом попробовать векторное управление.

Советы из комментариев предыдущей части учтены небыли т.к. плата заказывалась ещё в январе) Пришлось чутка поколхозить. Светодиоды тут для отладки весят.

Всё собрал, подключил. Детали, кстати, точно оригинальная, заказывал у поставщика, который ещё и платы делает и разводил платы тоже в их сервисе. Название писать не буду, чтобы не рекламировать) Естественно ничего с первого раза не заработало. При тесте от ЛБП при 24 Вольтах выбило 5 Вольтовый стабилизатор (Он питался от стабилизатора «бортовой сети» 12 Вольт, построенной на преобразователе LM2596HVS, чтобы держал напряжение заряженных аккумуляторов 58.4 Вольт) А 3.3 при этом остались стоять спокойно. Оказалось, у меня на плате есть фильтр на основе RC фильтра и триггера Шмидта (74hc14) и я поставил случайно версию LVC (питается от 3.3 Вольт, а не 5), она умерла, естественно, благо 12 Вольт не пошли дальше по плате, ведь от них питаются датчики тока. Мулюсенький TVS диод спас, стабилизатор бортовой сети ушёл в защиту. Сам не знаю, как у него хватило сил такое сделать). Поменял HC14, поставил, на всякий случай, пока что преобразователь mini360. Запускаю — ничего не работает. STM не стартует (в тестовом скетче она должна помигать светодиодом при включении). Напряжения на Reset, Boot0 и Boot1 — 3.3, 0, 0 соответственно. Напряжение на кварце есть (потыкать осциллографом не могу, нет такого крутого). Прошивается через STLink нормально, определяется, читается. Питание подаётся на все пины питания, перед каждым конденсатор. Всё пропаено хорошо, КЗ нигде нет. До сих пор запустить не могу, Может подскажет кто чего? Что ещё может быть не так? Все провода (датчик оборотов, дисплей, переменник в качестве ручки газа) отключал. (Да, переменник будет позже заменён на оптический энкодер или ещё что, ибо не надёжно)

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

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

Разместить я его думаю продольно на раме (места больше на двухподвесе нет) и аккум положить в багажник, правда багажник ещё нужно сделать.

Рекуперация пока не сильно нужна. На самом деле просто по другому разместить не получается, чтобы был привод напрямую на колесо. А так — через угловой редуктор от болгарки (Он скорее всего не потянет, если что поставим от большой болгарки) и дальше привод звёздочкой на цепь. Как ни странно, даже всё подходит по степени редукции, при номинальных оборотах двигателя получается уже не помню что, но что-то вменяемое)

Да, вал из обычного болта и пока не доделан ибо токарный станок перестал быть доступен. Класс прочности 8.8, определённо хватит) На самом деле просто ничего лучше не нашли, но если свернёт (А после понижения на низких оборотах момент при 1кВт чуть ли не 100 Нм..) то найдём на какой-нибудь металлоприёмке сталь покруче. Хотя тут явно первым умрёт редуктор от болгарки)

Корпус для всего этого планируется напечатать на 3D принтере, возможно, сделаем силовой каркас из алюминия, если сможем запустить ЧПУ фрезер.

Надуюсь, продолжение следует)

Если кто в теме почему STM может не запускаться — прошу помощи)

Как сделать электронную кормилку с дозатором для кота — автоматическая кормушка для кошек своими руками

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

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

Кормушки для кота с дозатором, которые есть в продаже, имеют ряд недостатков, таких как: ужасная система программирования, энергозависимая память (стирается, при отсутствии питания) и др.

Хорошая кормушка для котов с таймером стоит более 300 долларов США, поэтому есть смысл сделать такую автокормушку самостоятельно.

Шаг 1: Необходимые материалы

  • Один обычный серводвигатель.
  • Один непрерывный (или взломанный) серводвигатель.
  • Один шнек, напечатанный на 3D-принтере.
  • ПВХ-тройник.
  • Один контроллер Arduino (UNO или любого другого типа).
  • Один энкодер KY-040.
  • Один символьный (буквенно-цифровой) жидкокристаллический дисплей на базе контроллера HD44780.
  • Одна небольшая кнопка (без фиксации).
  • Один высокий контейнер для еды.
  • Одна монтажная коробка из МДФ.
  • Один блок питания на 12 В, 500 мА (лучше 1 А).

Шаг 2: Изготавливаем шнек (механизм подачи пищи)

Один из сложных моментов в проекте автоматической кормилки для кошек – создание шнека. Придется изготовить его при помощи 3D-печати. Скачайте проект с ресурса Thigiverse и распечатайте его. Если у вас нет 3D-принтера, можете вначале построить и его.

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

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

Вставьте и прикрутите сервопривод к основанию шнека. Убедитесь, что он выровнен и не имеет биений. Протестируйте работу шнека в пластиковом тройнике диаметром 15 мм (используется в сантехнике). Если шнек работает без проблем, зафиксируйте его в тройнике темро-клеем.

Шаг 3: Делаем корпус

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

Напечатайте на 3D-принтере панель (или найдите подходящую) для установки на нее ЖК-дисплея, кнопки ручной подачи и энкодера. Прикрутите все это на коробку корпуса. Все должно выглядеть красиво и аккуратно!

Мешалку для пищи также напечатайте на 3D-принтере и прикрепите к планке (которая насаживается на вал серводвигателя и идет с ним в комплекте).

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

Пройдет некоторое время, и, возможно, ваши кошки научаться самостоятельно нажимать кнопку ручной подачи корма!

Шаг 4: Электронные компоненты Arduino

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

Ознакомьтесь с принципами работы и управления ЖК-дисплеем, энкодера, модуля часов реального времени, сервоприводов, затем объедините все это и переходите к программированию.

Читать еще:  Оконная кормушка для птиц

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

После того, как электроника будет отлажена и протестирована, можно собирать схему в более компактном исполнении. Контроллер Arduino, для экономии места, можете заменить чипом ATMEGA328P. Также вам потребуется источник питания 5 В.

Ссылка на эскиз макетной платы, созданный с помощью программы PCB Wizard, есть в конце этого шага.

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

Можете изменить схему на свое усмотрение: исключить кнопку и энкодер, или наоборот, добавить какие-то компоненты; можете изготовить плату травлением, или вырезать дорожки с помощью ножа – выбор за вами. Главное потом написать правильный код.

Шаг 5: Программирование

Код программы не такой сложный, как может показаться на первый взгляд.

Программа работает следующим образом:

  • Считывается время из модуля часов реального времени.
  • На ЖК-экране отображается текущее время, а также время кормления и доза корма (по умолчанию).
  • Отслеживается работа энкодера, если его вращать, то начинают циклически переключаться параметры: часы, размер порции, время подачи-1, время подачи-2.
  • Проверяется, подошло ли время кормления (1 или 2), если подошло, то выдается очередная порция пищи.
  • Отслеживается нажатие кнопки ручной подачи корма: если кнопка нажата, то подается корм. После отпускания кнопки, продолжается обычная работа программы.

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

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

Процедура кормления основана на функции if (если), то есть, когда текущее время совпадает с запрограммированным временем кормления, выполняется процедура подачи пищи.

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

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

Шаг 6: Проводим апгрейд: замена серводвигателя подачи на шаговый двигатель NEMA 17

Проведем апгрейд нашей машины: заменим серводвигатель подачи на шаговый двигатель Nema 17, приводимый в движение при помощи драйвера EasyDriver.

Осуществить замену несложно. У шагового двигателя типа Nema 17 имеется 6 выводов. Определите, какие провода являются выводами катушки «A», а какие катушки «B» и игнорируйте остальные. Если у вашего двигателя четыре вывода, то вам будет проще.

Выполните подключение драйвера EasyDriver следующим образом:

  • Плюсовой вывод подключается к +12 В источника питания.
  • Провод «Земля» подключается к минусу.
  • Пара проводов катушки «A» идет на контакты «A» драйвера.
  • Аналогично, провода катушки «B» идут на контакты «B» драйвера.
  • Контакт «Step» на плате драйвера подключите к цифровому выводу 13 на контроллере Arduino.
  • Контакт «Dir» – к аналоговому выводу A0 на Arduino (этот вывод будет использоваться в качестве цифрового).
  • Контакт «Enable» на плате EasyDriver подключите к выводу A1. С помощью этого вывода будет производиться включение и выключение питания драйвера для экономии электроэнергии.

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

После замены серводвигателя на шаговый, код программы нужно будет откорректировать. Для управления шаговым двигателем используется библиотека «Accellstepper». Адаптированный для шагового двигателя скетч, доступен для скачивания в конце этого шага. При подаче низкого уровня на вывод «Enable» драйвера, отключаются все выходы данного драйвера. Это позволяет экономить энергию, а также избежать нагрева платы драйвера. Поэтому имеет смысл использовать этот вывод.

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

АВТОМАТИЧЕСКАЯ КОРМУШКА НА ARDUINO

06.02.20 Версия 1.0: первоначальная, вроде бы стабильная версия

  • Точная дозировка порции корма
  • Защита от застревания и заклинивания
  • Контроль скорости вращения шнека под нагрузкой
  • Режим глубокого энергосбережения
  • Управление кнопкой
  • Клик – выдать порцию вне очереди
  • Удержание – настройка размера порции
  • Напряжения одного аккумулятор не хватит, чтобы прокрутить даже слабый засор! Нужно городить мосфет и повышайку… Потом сделаем
  • Для полноценного энергосбережения нужно чуть раскорёжить плату, читай гайд для новичков

ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ

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

Понятные схемы, OpenSource прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов! Основная страница пожертвовать – здесь.

СХЕМЫ, ПЕЧАТНЫЕ ПЛАТЫ

МАТЕРИАЛЫ И КОМПОНЕНТЫ

Ссылки на магазины, с которых я закупаюсь уже не один год

Вам скорее всего пригодится:

  • Arduino NANO 328p – искать
    • https://ali.ski/tI7blh
    • https://ali.ski/O4yTxb
    • https://ali.ski/6_rFIS
    • https://ali.ski/gb92E-
    • Giant4 (Россия)
  • Драйвер – искать
    • https://ali.ski/ruOzOT
    • https://ali.ski/xAQftY
    • https://ali.ski/YW3UFq
  • Мотор – искать
    • https://ali.ski/WdBWJ7
    • Синие моторы все оказались без двойного вала!
  • Датчик – искать
  • Колесо энкодера – искать
  • Кнопки – искать
  • Батарейный отсек – искать
  • Аккумы – искать
  • Зарядный модуль – искать

ЗАГРУЗКА ПРОШИВКИ

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если например лента его потребует. Это может привести к выгоранию защитного диода на плате Arduino. Гайд по скачиванию и загрузке прошивки можно найти под спойлером на следующей строчке.

ИНСТРУКЦИЯ ПО ЗАГРУЗКЕ ПРОШИВКИ

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

2. Скачайте архив со страницы проекта. Если вы зашли с GitHub – кликните справа вверху Clone or download, затем Download ZIP. Это тот же самый архив!

3. Извлеките архив. Содержимое папки libraries перетащите в пустое место папки с библиотеками Arduino C:/Program Files (x86)/Arduino/libraries/

4. Папку с прошивкой из firmware положите по пути без русских букв . Если в папке с прошивкой несколько файлов – это вкладки, они откроются автоматически.

5. Настройте прошивку (если нужно), выберите свою плату, процессор. Подключите Arduino к компьютеру, выберите её COM порт и нажмите загрузить.

6. При возникновении ошибок или красного текста в логе обратитесь к 5-ому пункту гайда для новичков – “Разбор ошибок загрузки и компиляции“.

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