Сообщество - Arduino & Pi

Arduino & Pi

1 493 поста 20 825 подписчиков

Популярные теги в сообществе:

40

WCB: 2 WAVE #1

Всем привет!

С недавнего времени в Новосибирске проводятся соревнования, которые называются Wi-Fi Control Battle (WCB). Их суть заключается в том, что командам нужно из набора деталей и электронных компонентов за 20 дней собрать и запрограммировать робота с Wi-Fi, написать приложение на смартфон для управления своим роботом, после чего сразиться с другими командами в полевых битвах по нескольким дисциплинам.

Оригинальный формат нашего WCB идет в разрез с традиционными форматами, которые все привыкли видеть на соревнованиях по робототехнике в Новосибирске и России, когда робота программируют на выполнение одной задачи, ставят на поле, и он ее решает (или нет). В последнем случае, после того, как робот вышел на площадку, от человека уже ничего не зависит, а ведь самые интересные сюрпризы всегда преподносит человеческий фактор. В наших соревнованиях роботы управляются операторами непосредственно во время состязаний, и это добавляет им зрелищности. В этом смысле соревнования больше походят на знаменитые Robot Wars, но мы уничтожаем не роботов, а воздушные шарики, в этом есть свои плюсы. При этом на этапе подготовки от участников требуются специальные инженерные навыки, которые до этого можно было редко где продемонстрировать, поскольку задача нетипичная для соревновательной робототехнической сферы.

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

Прямо сейчас проходит вторая волна WCB, и все желающие приглашаются к голосованию за понравившийся ролик: vk.com/arduinonsk?w=wall-89723599_755%2Fall

Показать полностью 3
655

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud

Введение


Я расскажу о простом способе создания домашнего облачного хранилища на основе Raspberry Pi и Nextcloud Server, покажу интерфейс Nextcloud и расскажу о его клиентах и приложениях. В рунете есть несколько хороших постов на эту тему, но они больше про установку и настройку Nextcloud. Благодаря стараниям команды разработчиков cusdeb.com, вся установка Nextcloud свелась к записи RAW-образа на карту памяти MicroSD.


Nextcloud начинался как проект ownCloud, который, в свою очередь, был инициирован разработчиками KDE с целью создания платформы для развертывания Dropbox-подобного хранилища данных на своих мощностях. Проект оказался настолько успешным, что сначала вышел из под патронажа KDE, а затем перешел под крыло компании, названной в свою же честь – ownCloud, Inc. К сожалению, ключевые разработчики ownCloud не смогли договориться со своими инвесторами, что стало причиной форка под названием Nextcloud (читайте подробности здесь). Несмотря на то, что ownCloud продолжает свое существование, Nextcloud развивается ключевыми разработчиками ownCloud. Тем не менее, клиентское программное обеспечение ownCloud все еще совместимо с Nextcloud и будет оставаться совместимым так долго, насколько это возможно.


Подготовка


Вот список компонентов, из которых состоит мое домашнее облако:

1. Raspberry Pi 3

2. Блок питания

3. Карта памяти MicroSD

4. Внешний жесткий диск

5. Маршрутизатор.

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

Вместо жесткого диска можно использовать простую флешку в качестве хранилища данных. Главное, чтобы первый раздел был отформатирован в NTFS. Можно не подключать внешнее хранилище вообще, тогда файлы будут сохраняться на SD-карту на которой находится вся система с Nextcloud. Настоятельно рекомендую использовать внешнее хранилище, иначе SD-карта быстро придет в негодность.


Установка Nextcloud Server


Скачайте образ для Raspberry Pi 2 или Raspberry Pi 3 и запишите его на SD-карту. Образ содержит операционную систему Ubuntu 16.04, все необходимое серверное программное обеспечение для работы Nextcloud и сам Nextcloud.


Запуск


Вставьте SD-карту в Raspberry Pi, подключите устройство к сети и воткните его в розетку. При первом запуске инициализация Nextcloud продлится около семи минут. Все последующие запуски будут занимать меньше минуты.


Узнайте IP-адрес сервера в локальной сети. Это можно сделать как минимум тремя разными способами:

1. из админки роутера

2. программой Angry IP Scanner (для Windows и различных Unix-подобных ОС)

3. командой sudo ifconfig, авторизовавшись в только что загруженной системе (используйте ubuntu в качестве логина и пароля)


Например, адресом устройства оказался 192.168.0.8, тогда в строке браузера наберите http://192.168.0.8:8001/nc и вы увидите страницу завершения установки Nextcloud.

Придумайте логин и пароль администратора и нажмите кнопку «Завершить установку». Через несколько секунд вы увидите корневой каталог файлов вашего домашнего хранилища.

Пользователи и группы


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

Впишите логин и пароль нового пользователя в соответствующие поля. Если вы после этого нажмите кнопку «Создать», то пользователь попадет в безымянную группу. Однако прямо здесь вы можете выбрать одну из существующих групп или создать новую.

Управлять группами можно через панель, которая находится слева.

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

Загрузка файлов через веб интерфейс


Откройте корневой каталог файлов и создайте папку для загрузки файлов, например «Красная Поляна 2017».

Затем, перейдите в папку и загрузите несколько фотографий.

Права доступа к файлам


Кликните на иконке «Поделиться» рядом с названием папки и справа появится панель, в которой можно настроить правила доступа к папке. Я вбил в строку поиска название группы «Лыжники» и установил галочки «можно создавать» и «можно изменить», чтобы члены группы могли загружать свои фотографии в папку «Красная Поляна 2017».

Нажмите на иконке с домиком вверху и вернитесь в корневой каталог файлов. Создайте новую папку и загрузите в неё несколько файлов. Нажмите на иконку «Поделиться» рядом с именем одного из файлов и поставьте галочку «Поделиться ссылкой». Теперь файл доступен по ссылке на любом устройстве в локальной сети.

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


Клиенты


Nextcloud предлагает клиенты под Windows, Linux, macOS, Android и iOS, что позволяет настроить синхронизацию почти на всех своих устройствах. К примеру, клиент для синхронизации файлов под Android можно абсолютно бесплатно загрузить из Play Market, а пользователям iOS придется заплатить символическую цену в виде $0.99. С каким бы клиентом вам не пришлось иметь дело, его настройка предельно проста. Сначала вводится адрес сервера, а затем логин и пароль пользователя.

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

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


Приложения


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

Разработчики cusdeb.com поместили в образ для Raspberry Pi 2 и Raspberry Pi 3 множество приложений, которые нужно только активировать. Для этого откройте выпадающий список со всеми вашими приложениями и нажмите плюсик.

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


В качестве первого примера рассмотрим Calendar, которое является отличной альтернативой Google Calendar.


Calendar


Для того чтобы установить это приложение, перейдите в раздел «Организация» каталога приложений, найдите Calendar и нажмите кнопку «Включить» и через несколько секунд новое приложение появится в списке.

Вам сразу будет доступен один календарь под названием «Личное», с которого можно начать работу. Добавьте при необходимости столько календарей, сколько вам нужно. Их количество не ограничено. Запланируйте какое-нибудь событие на один из дней в календаре «Личное» для того, чтобы позднее его синхронизировать со своим мобильным устройством и получать от него напоминания о том, что событие приближается.

Рассмотрим в качестве примера синхронизацию календаря «Личное» с устройством на базе Android. Для этого нужно клиентское приложение, которое работает по протоколу DAV. Одним из таких приложений, которое я настоятельно рекомендую, является DAVdroid. Его можно получить как минимум двумя способами: купить в Play Market за 249 руб. или загрузить бесплатно из каталога приложений F-Droid, т.к. DAVdroid является полностью свободным программным обеспечением. Нет никакой разницы, каким именно способом вы воспользуетесь, но помните, что в первом случае вы поддержите разработчиков хорошего ПО.


После первой загрузки клиента вам необходимо настроить подключение к вашему серверу. Используйте в качестве адреса что-то вроде домен-или-ip-адрес-сервера/remote.php/dav/ и логин и пароль вашего текущего пользователя.

Обратите внимание на то, что необходимо явно указать календари, изменения в которых вы хотите отслеживать. В данном случае мой выбор невелик: мне остается только указать DAVdroid, что ему нужно отслеживать изменения в календаре «Личное».

Теперь после пары нажатий на Next клиент может считаться сконфигурированным, и в штатном календаре Android появится запланированное выше мероприятие.

Синхронизация работает в двустороннем режиме. Запланируйте какое-нибудь событие в штатном календаре Android, но не забудьте выбрать календарь «Личное» или любой другой, созданный в приложении Calendar.


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

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

Теперь все готово для использования приложения Calendar в полную силу.


Default encryption module


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


Для того чтобы установить «Default encryption module» откройте каталог приложений, перейдите в раздел «Не включено» и найдите там это приложение. Затем нажмите «Включить». В отличии от других рассмотренных здесь приложений, «Default encryption module» не появится в вашем списке, т. к. оно не предоставляет никакого пользовательского интерфейса.


После активации приложения необходимо включить шифрование на странице администратора. Для этого перейдите на страницу «Администрирование». Затем в разделе «Шифрование» поставьте галочку напротив «Включить шифрование на стороне сервера». После этого необходимо перезайти в систему под текущим пользователем. Теперь все ваши файлы будут шифроваться перед сохранением в вашем облаке.

Заключение


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


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


Жду ваших комментариев!

Показать полностью 22
65

Наверное самый простой Bluetooth RC Car

Всем привет. Знаю их понаделали много, но проще наверное не было.

Собиралось для детей, а оказалось отличным средством загнать шумного кота на долго под кровать. Драйвер подойдет любой, и сначала планировал поставить unl2003, но хотелось питать Ардуину от 5V и был взят L298N с пяти вольтовым выходом, так же в отличии от приведенной схемы, bluetooth модуль питается с ноги VIN.

Используемые ШИМ выходы UNO и Nano совпадают посему никаких даже не значительных переделок не потребуется.

Наверное самый простой Bluetooth RC Car

Скетч для Arduino http://kitsel.ru/wp-content/uploads/2017/05/bluetooth-rc-car...


Приложение Bluetooth RC Car Arduino в Google Play https://play.google.com/store/apps/details?id=braulio.calle....


YouTube канал https://www.youtube.com/channel/kitsel?sub_confirmation=1

Показать полностью 1
11

Android + Arduino - дружба не удалась. Помощь будет полезна

В догонку к этому посту: http://pikabu.ru/story/pomoshch_po_android_usb_otg_4992692


Сказано-сделано, купил Arduino Uno, USB Host Shield 2.0 и тут начались танцы с бубном.

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

Сперва начинает звать WProgram.h, который оказалось, что уже давно переименован на Arduino.h, потом еще 5-6 библиотек полетело, в конечном итоге я тупо забил на примере от гугла, нашел другой пример, скомпилировал, запустил свой апп на андроиде, поставил отправлять 3 при правильном результате в апп-е и о чудо, на принте ардуино пришла троечка. Все замечательно, настроили что троечка, подача напряжения 5В на 15 сек, все зашибись, радости полные штаны. Подключил электронику, пробую - все работает.

Даже не верилось, что все так легко. И конечно оно не так легко.


Выключил планшет, выключил ардуино, отсоединил ардуино от планшета. Включил планшет, включил ардуино, втыкаю провод в USB планшета и привет. Нет никого. Планшет и Ардино не видят друг друга. Опять выключаю все, подключил - глухо. Перезагрузил ардино с кнопки - нет. И так полтора часа, уже почти был уверен что USB Host Shield полетел и о чудо они подключились.


Опытным путем установил когда они подключаются:

Подключаем питание к Ардуино, подключаем ардуино к компьютеру, подключаем к планшету, перезагружаем ардуино кнопкой, вытаскиваем USB с планшета, перезагружаем кнопкой Ардуино, подключаем к планшету, видим Connected as media device на планшете, перезагружаем опять ардуино с кнопки и видим Connected as media device, Debugging mode, Connected as Accessories - ура, все работает. Если отсоединить провод от планшета - всю процедуру заново.


Все что вижу на Ардуино когда зависает: OSCOKIRQ failed to assert

Тоже самое происходит если пользовать другой Андроид дивайс, пробовал на Нексусе 4 и Леново К1

Андроид планшета - 4.2.1


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


Вариант в котором надо повторять такую процедуру каждый раз неприемлем.


Комментарии для минусов внутри.

Голова горит у меня, так что тек мое.

Показать полностью
144

Паяльная станция (Manual)

Мануал не для чайников. ncuxckocou прости но я ленив.

Взглянем на картинку. Что тут есть/нет и ежу понятно.

Печатка "для меня". Что, где, куда?

F вывода 220В для нагревателя фена

-S+ вывода 24В для нагревателя паяльника

FAN  Вентилятор корпуса. 3 пина: 2 левых=24В, 2 правых 12В.

+MF- +/- Мотор фена. 3 пина: аналогично выше

+TS- +/- термопары паяльника

+TH- +/- термопары фена

BF (button fen) кнопка для фена с фиксацией

BS (button solder) кнопка для паяльника с фиксацией

D7,D6,D5,D4,E,RS цифровые выходы для дисплея

+ плюсдля потенциометров

- минус для потенциометров

SF (speed Fan) потенциометр оборотов фена может быть от 5К до 10К

F (Fen) потенциометр температуры фена может быть от 5К до 10К

S (Solder)потенциометр температуры паяльника может быть от 5К до 10К

VC +/- 5В для дисплея

Верхний триммер (многооборотный) - калибровка температуры фена

Нижний триммер (многооборотный) - калибровка температуры паяльника


Камень раз. Из-за плотности дорожек, некоторые площадки после ЛУТа слипаются.


Плата была модернизирована:

1.Был третий подстроечник для контраста дисплея, но я его выдрал из схемы (подкл он к разъемам Vc и был еще третий для CONTR) .

2.Добавил по 3 пина FAN и +MF- для возможности подключения или 24В или 12В. Так мотор фена на 24В, а кулер корпуса на 12В.

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

Оговорочка: у меня LCD I2C и подстроечник контраста расположен на нем. +/- подводятся на крайние вывода справа (желтые и зеленый). Если подвести к линейке выводов, то этот подстроечник выкорачивается из схемы и контраст не регулируется (такой вариант только для обычных LCD 16x2 c триммером на плате управления).

Симистор подойдет любой силовой. Полевик N канальный аналогичный. Чем мощнее, тем меньше греется. LED1 не любой, не сверх яркий. Подойдет только с низким потреблением =20мА. При большом потреблении внутреннему с/д MOC3062 может не хватить тока для управления симистором. (Это камень дваз)

Камень триз: Распиновка разъема паяльника и фена может отличатся от картинок в инете, поэтому все разбирается и прозванивается. Китайцы любят путать провода. На рисунке ниже разъемы паяльника и фена конкретно для моих китайских приобретений. Геркон на фена не использовался.

Насчет полярности термопары можно не парится. Потом при отладке можно поменять местами провода на плате.

После того как спаяли плату управления, проверяйте уровни стабилизации 24, 12, 5В, подключив к БП. Минус садится на корпус и является общим для всех уровней напряжения. После подключайте все провода.

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

Камень четырез: дребезг контактов при использовании комплекта проводов из ардуино и втычных/затычных контактов (кракозябры на дисплее, не выставляется температура, пустой дисплей). Весь монтаж запаивается! Проверено на себе! На снимках может показаться что они просто воткнуты...да это так, но они еще припаяны. Папа-мама вместе forever!

Бесплатный совет: Длинна проводов, особенно у дисплея, должна уменьшатся к минимуму, а свободные цифровые входы посажены на землю.

2 радиатора: для стабилизатора 12В и симистора. Мосфеты не нагреваются. Если кто надумает забабахать общий для L7812 и рядом стоящий IRF***, то поимеете постоянно открытый полевик (Это камень пятьз). Либо изолируйте друг от друга. либо не ставьте.

Да это мощнейший радиатор из КУСКА алюминия для симистора. Зато мало греется.

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

Камень Шесть: Печаталось на глянцевой стороне, поэтому краска отлетала как не родная.

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

А вот и сама иллюзия, вроде все ровно, но я то знаю где нет.

Бесплатный совет: Распечатывалась 2 копия. Вырезалась с некоторым запасом по периметру,  аккуратно наклеивалась повторно. Там где дисплей, разрезалось по тонким линиям и загибались внутрь прямоугольника. Запас загибались по краям. Получалась обтяжка всего. Все это покрывалось аэрозольным лаком.

Проверка на весу. Прежде чем прикручивать все, наводить порядок в проводах, нужно проверить работу микроконтроллера, дисплея, потенциометров на весу (отладка).

Без подключения паяльника и фена.

Бесплатный совет:Для уменьшения рисков с работой 220В, подать 24В на плату от лабораторника или от импульсного БП, без подведения 220В к контактам F.

1. Сначало проверается дисплей. При подаче питания он загорается, 2 секундная заставка бла-бла-бла и появляется надпись Solder:OFF, Air:OFF

2.Далее иммитируется работа кнопок включения. Для этого на плате управления закорачиваются BS и SF.

3.Если все ОК, то OFF сменится на Error. Все по плану -> нет данных с термопары

4.Установить поочередно любой сопрот от 10 до 50 Ом в TH и TS (иммитируем термопару). Error исчезает и вместо него появляется уставка по температуре и какая то температура (зависит от подобранного сопрота, можно вставить подстроечник и наглядно посмотреть как изменяется температура от сопротивления)

5.Установка температуры регулируется потенциометрами S, F. Если при повороте ручки температура меняется не в ту сторону, то меняется полярность. У меня они связаны шлейфом по плюсу и минусу, которые я подвожу к крайнему сопроту.

6.То как работает ШИМ сигнал нагрева фена или паяльника, видно по миганию светодиодов на плате. Не мигает с/д? Полярность с/д, разрыв дорожки, не пропай. Горит постоянно? У меня это был камень пятьз.

7.Установка оборотов фена регулируется по аналогии с п.5. Если у вас моторчик на 24В и скорость почти не регулируется: либо 0, либо макс, то это решается программно. Описано ниже.

8.Собирается все в полную схему. Прикручивается, заталкивается.

Камень семьз. Собрали? Думаете все сейчас заработает как по маслу. А вот хз! Еще же нужно с полярностью термопары угадать, а у дисплея может только верхняя строка гореть и то прямоугольниками . Тут не пропай, дребезг, полярность.

Отладка-наладка. При нормальных стечениях обстоятельств должно быть так:

Проверяется опять дисплей, крутилки, кнопки. Установку температуры лучше установить до минимума 10-50 градусов. Если все пойдет по маслу, то увеличиваем.

Камень восемьз:

>>Solder или Air показывают Error после вкл кнопок -> меняется полярность у термопары, проверяется пайка проводов термопары в разъеме паяльника или фена.

>>Solder или Air OFF при включении -> проверяются кнопки.

>>Не регулируется значение температуры -> резюки, я выкинул 2 шт.

>>При повороте регулятора скорости фена либо крутится на макс, либо вообще останавливается >решается программно (вот здесь и нужно выставить температуру на 0, чтобы в случае остановки обдува не спалить фен)

>>Вообще nihu черный экран смерти -> регулируем контраст дисплея, пайка.

>>БП уходит в защиту -> коротыш. Где? Вероятно паяльник (термопара-нагреватель), фен - анлогично.


Наглядный пример проблем термопары: или обрыв, или полярность, или защита от перегрева

Здесь все отсоединено и кнопки включены. Обрыв термопары.

PS. Т.к в разъеме фена есть 220В, то подсоединение и отсоединение разъема выполняют при полном отключении от сети.


Калибровка температуры: Выставили 150-200 градусов (здесь выставляется среднее значение из-за несовершенства термопары), приплюснули паяльник к цифровому термометру или термопаре мультика. Замерили реальную и показания на дисплее. Подкрутили соответствующий триммер на плате. t Мультик = t дисплей. С феном по аналогии.


А теперь я буду флипать! НЕкоторые в комментах поднимают или поднимут вайн: "Чо каво?Да как так то! где компенсация по температуре? Почему на дисплее стартует от нуля, где поправка от комнатной? Это неправильно!!! Да ты ваще чо? Если отрегулировать на низах, то не добирает при высокой температуре 20 градусов, если откалибровать на верхах, то перебирает на низких на 15. Да вот у меня часы отстают на 0,0001 сек и я тогда сдаю в мастерскую! Ибо так правильно" Для таких будет первый коммент от меня, как только зальется пост.

Прошивка заливалась через ардуино. Залил, вынул и переставил.

Скетч "для себя"

/*

ПАЯЛЬНАЯ СТАНЦИЯ ver. 0.5.1

Дата создания 2016

Спизжено у Олега Андреева и изменено

*/

#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8); // Выходы для дисплея 1602

int pinSolderOut = 5; // Выход для паяльника

int pinSolderIn = A4; // Потенциометр паяльника

int pinSolderTCouple = A3; // Термопара паяльника

int pinSolderButton = 2; // Кнопка вкл. и выкл. паяльника

int pinHotAirOut = 6; // Выход для фена

int pinHotAirIn = A2; // Потенциометр фена

int pinHotAirTCouple = A1; // Термопара фена

int pinHotAirCoolerOut = 3; // Выход для вентилятора фена ( PWM )

int pinHotAirCoolerIn = A0; // Потенциометр вентилятора фена

int pinHotAirButton = 4; // Кнопка вкл.и выкл. фена

// boolean NeedFANcd = true; // Принудительный обдув после откл фена

Скетч целиком запиливать...да нееее. Только в отдельные куски кода ткну.

TCCR2B = TCCR2B & 0b11111000 | 0x02; // Частота ШИМ понижена для корректной регулировки оборотов фена.

Камень семь: при частоте 0x01 скорость оборотов вентилятора 24В в фене была или макс или мин, никакого среднего, только хардкор. После изменения частоты регулируется и появляется свист. НА форумах писали про исчезновение свиста при 0x04, но я не пробывал. Свист не особо раздражает.

Постоянный обдув фена: Здесь мапят обороты от положения ручки в 0 до макс и соответствие их оборотам. При выкрученной в 0 ручке мотор будет вращатся на мин оборотах (0.5-0.6Uном), при макс положении на максимум оборотов. Кому как угодно.

int setHotAirCooler = map(analogRead(pinHotAirCoolerIn), 0, 1023, 160, 255)


В исходном файле бесила меня, то что при охлаждении фена до 60 мотор отключался, переставал охлаждать и нагреватель разогревался >60. Запускался опять обдув, опять отключался/включался/отключался. Крч на форумах нашел код:

boolean NeedFANcd = true; // Флаг:Принудительный обдув после откл фена

/*Убираем инерционность охлаждения фена до 35 градусов. Однократное отключением и вкл на макс оборотов = 255*/

else {

if (hotAirTCouple >=35 && NeedFANcd) {

analogWrite(pinHotAirCoolerOut, 255); //полные обороты

}

else {

analogWrite(pinHotAirCoolerOut, 0); //выключаем

NeedFANcd = false;

}

После охлаждения до 35 и отключения, происходит разогрев до 50-60 градусов. Норм.


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

//показывать температуру фена при охлаждении до 35 градусов

if (hotAirTCouple >=35 && NeedFANcd || digitalRead(pinHotAirButton) == HIGH) {

lcd.setCursor(9, 1);

lcd.print(hotAirTCouple);

lcd.print("\1");

//Вентилятор фена на дисплей (этот кусок можно убрать т.к обороты незвисимо от ручки будут на макс)

lcd.setCursor(14, 1);

lcd.print(displayHotAirCooler);


Так это выглядит: Несмотря на цифру 68, обороты в этот момент макс

Защита от перегрева:

int setSolderTemp = map(analogRead(pinSolderIn), 0, 1023, 0, 455); //преобразование от 0 до 455 градусов.


// Защита, если не работает термопара

if (solderTCouple > 455) {

setSolderTemp = 0;


// Данные паяльника на дисплей

lcd.clear();

lcd.print("Solder:");//здесь может быть хоть khuy

lcd.setCursor(7, 0);

if (digitalRead(pinSolderButton) == HIGH) {

if (solderTCouple < 455) {

lcd.print(setSolderTemp);

lcd.print("\1");

lcd.setCursor(12, 0);

lcd.print(solderTCouple);

lcd.print("\1");

}

else {

lcd.print(" Error");


Что куда вписывать? Ссылка на файл будет. В коде закомментены нужные строчки. Я ленив для объяснения каждой строки.

Так выглядят крепления для паяльника и фена. Шпильки М6

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

Для фена слишком уж большая петля получалась. И так сойдет.

По поводу БП. 4А хватит до усеру. Вопрос только в качестве. Если китаец на странице положил кучу инфы, то поделите его слова на 200 и получите суть. Вся информация берется из отзывов покупателей. Если их много, то обязательно найдется хотя бы один с осциллографом и результатом замеров.

Все дефекты которые вспомнил я раскрыл. Есть проблемы не указанные в тексте? Тогда вам сюда. Именно оттуда взяты некоторые идеи для кода, и устранены описанные проблемы. Там и про реле, и про термопару, и кривую схему, и про кривые руки, и про БП. Ссылка моего спи жена проекта.

http://pikabu.ru/story/payalnaya_stantsiya_svoimi_rukami_5028852

Микроконтроллёр: Atmega328p

ОУ: LM358

Опторазвязка: MOC3063

Мосфет: IRFZ44N ( 2 шт.)

Симистор: BT138

Стабилизатор: L7812CV

Стабилизатор: L7805CV

Потенциометр: 5К ( 3 шт. )

Подстроечный резистор (многооборотный): 10К ( 2 шт. )

Резистор: 22К

Светодиод: 2.5 мм, 20мА ( 2 шт. )

Резонатор: 16 Мгц

SMD резистор: 220 ( 2 шт. )

SMD резистор: 10К ( 4 шт. )

SMD резистор: 220К ( 2 шт. )

конденсатор: 1 мкф ( 3 шт. )

Переключатель: (3 шт. )

Гнездо: GX16-8

Гнездо: GX16-5

Блок питания: импульсный блок питания 24В, 2А и выше

Паяльник на 24В с К термопарой

Фен с встроенным вентилятором 24В с К термопарой

Корпус от компьютерного БП

4 шпильки М6 80мм

Показать полностью 23
243

Библиотеки - как с ними работать и создать свою собственную. Драйвер двигателей L298N и ШИМ-сигнал

Привет, друзья ардуинщики! :)

Это выпуск #9 из серии видео "Arduino для начинающих" и в нем мы затронем тему создания библиотек, а также немного разберемся с тем, что такое ШИМ-сигнал и заставим двигаться колеса робота благодаря драйверу двигателей L298N.

Список остальных выпусков:

#0 Введение в курс. Чего ожидать от этой серии для начинающих.

#1 Немного электроники и схемотехники – без них никуда.

#2 Знакомство с Arduino. Основные компоненты для начала работы.

#3 Arduino изнутри - структура, составляющие и их назначение. Микроконтроллер Atmega328P

#4 Arduino IDE Настройка и установка драйверов. Проверка работоспособности платы Arduino

#5 Первая программа – работаем со светодиодом и кнопкой.

#6 Условные операторы и циклы.

#7 Логические операции И, НЕ, ИЛИ.

#8 Функции и их применение.


Удачных компиляций и с праздником вас! :)


P.S.: Если вы еще не состоите в сообществе "Arduino & Pi", милости просим: http://pikabu.ru/community/arduino

Показать полностью
230

Паяльная станция своими руками

Это пожалуй мое первая и серьезная самоделка.

Тэг МОЁ, но разработка не моя.

Источник байтерства: http://d-serviss.lv/index.php?mod=pages&pageName=solderingstation.

https://www.youtube.com/watch?v=Bs8hpzlnzGI

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

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

Серенькая, с молотковым эффектом, лаком покрытая. Мммммм Danone.

Состав изделия:

Микроконтроллёр: Atmega328p

ОУ: LM358

Дисплей из комплекта ардуино: LCD 16x2 c I2C

Опторазвязка: MOC3063

Мосфет: IRFZ44N ( 2 шт.)

Симистор: BT138

Стабилизатор: L7812

Стабилизатор: L7805

Потенциометр: 5К ( 3 шт. )

Подстроечный резистор: 10К ( 2шт. )

Резистор: 22К

Светодиод: 2.5 мм, 20мА ( 2 шт. )

Резонатор: 16 Мгц

SMD резистор: 220 ( 2 шт. )

SMD резистор: 10К ( 4 шт. )

SMD резистор: 220К ( 2 шт. )

Конденсатор: 1 мкф ( 3 шт. )

Переключатель: (3 шт. )

Гнездо: GX16-8

Гнездо:GX16-5

Блок питания: импульсный блок питания 24В, 4А

Паяльник на 24В с К термопарой

Фен на 220В, 24В - мотор + термопара.

Корпус от компьютерного блока питания.


Я не знаю, нужно ли здесь описание, т.к. весь материал есть в интернете. Могу забабахать пост про гемор и некоторые проблемы, а так же доработки в исходном коде если нужно. Комментарий жалоб помещен внутрь.

Показать полностью 9
Отличная работа, все прочитано!