Search
Write a publication
Pull to refresh
-2
0
Send message

Особенности использования и тестирования кода С++ на микроконтроллерах

Reading time11 min
Views25K
Так сложилось, что основным языком для работы с микроконтроллерами является C. Многие крупные проекты написаны именно на нем. Но жизнь не стоит на месте. Современные средства разработки уже давно позволяют использовать C++ при разработке ПО для встраиваемых систем. Однако такой подход до сих пор встречается достаточно редко. Не так давно я попробовал использовать С++ при работе над очередным проектом. Об этом опыте я и расскажу в данной статье.

Читать дальше →

Управляем автономным питанием загородного дома

Reading time8 min
Views24K
У большинства из нас есть дачи, а кто-то вообще круглогодично проживает в частном доме или коттедже. Проблема перебоев с электроэнергией на периферии знакома не понаслышке. Самый простой выход из ситуации – зажечь свечку и смиренно ждать лучшего, но в наше время это не всегда приемлемо. Более продвинутые дачники обзавелись генераторами, вот только их запуск и остановку нужно производить вручную. В темноте и в холодное время года это делать некомфортно. А бывают ситуации, когда хозяев вообще нет дома, однако прекращение подачи энергии может привести к останову систем управления обогревом дома и другим критическим ситуациям. В таких случаях просто необходимо автоматизировать процессы перехода с основного питания на резервное, и наоборот. В первой части мы рассмотрим пример работы модуля MP8036multi в режиме контроллера (смешанный режим, пример 1), управляющего автономным питанием загородного дома. А также приведем схему подключения и пример рабочей отлаженной программы.


Читать дальше →

Беспроводные технологии «интернета вещей»

Reading time11 min
Views28K
Привет, Гиктаймс!

В последнее время — ну как «время», так обычно говорят про дни или недели, а тут речь идёт скорее уже о годе-двух — мимо постоянно проскакивают статьи на тему «что такое Интернет вещей» (ну и на смежные: основные игроки, основные тенденции, новейшие продукты и так далее). К сожалению, примерно 99 из 100 из них насколько объёмны, настолько же и бессмысленны: их авторы пытаются говорить об IoT как о некоей единой и цельной концепции.

Однако цельного и единого IoT не существует и не может существовать. В лучшем случае, IoT можно определить как концепцию удалённого взаимодействия машина-машина (m2m) или машина-человек (m2h), в то время как классический Интернет — это взаимодействие человек-человек.

Но на этом единство и заканчивается. Можно ли описать одной статьей «тенденции и основных игроков интернета»? Да вы шутите, что ли? Придётся охватить СМИ, соцсети, видеосервисы, магистральных провайдеров, ВОЛС, сотовые сети, корпоративные сети, облачные сервисы для бизнеса, сетевое оборудование для дома, CPE для офиса, магистральное оборудование… всё это — части того, что называется сейчас «Интернет».

То же самое — и с «Интернетом вещей». Это и лампочки LiFX в квартире, и контроллеры Danfoss в вентиляционных установках офисных зданий, и ваш любимый фитнес-трекер, и система мониторинга дорожной обстановки мегаполиса, и централизованный сбор данных о состоянии и ресурсе парка электрофрезерных станков, и много чего ещё. Каждое из этих применений — это свой собственный рынок, собственные решения и на программном, и на аппаратном уровне и, разумеется, собственные игроки, многие из которых другими сегментами IoT не занимаются и никогда не будут заниматься.

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

Что в этой ситуации делать? Я думаю, начать немного разгребать интернето-вещевые завалы, раскладывая по полочкам базовые понятия. И начать я хочу с того, какие беспроводные технологии сейчас популярны — и чем они, чёрт возьми, друг от друга отличаются.

Говоря человеческим языком — на чём сейчас принято делать нижние три уровня модели OSI.



Читать дальше →

Щелкаем реле правильно: коммутация мощных нагрузок

Reading time3 min
Views252K
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

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



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

Читать дальше →

Компактная ОС для ARM процессоров

Reading time5 min
Views39K
“Кажется, что совершенство достигается не тогда, когда нечего более добавить, а тогда, когда нечего больше убрать."

(Антуан де Сент-Экзюпери)

image


По теме изучения программирования встроенных систем, ОС реального времени, Ассемблера и С позвольте представить очень простую операционную систему StartOS.

Предназначение:

— если вам необходимо создать устройство, начинающее работать через 1-2 секунды после включения питания и способное реагировать на сигналы из внешнего мира в течение микросекунд;
— для быстрого создания систем управления объектами с выводом данных в Интернет;
— отработка идей, алгоритмов, изготовлении прототипов устройств;
— приобретение опыта программирования встроенных систем на языках C и Assembler;
— получение полного доступа к «железу» компьютерного устройства, например, для разработки самомодифицирующихся программ.

Некоторые свойства системы:

Время готовности после включения питания: < 1 сек
Объем двоичного кода программы: < 40 kB
Читать дальше →

AMS и магический кристалл

Reading time8 min
Views8.9K
image

На этот раз предлагаю немного позаниматься магией (почему нет?) и создать магический кристалл для наших повседневных нужд. Использовать его мы будем по прямому назначению — для прорицания различных неочевидных сущностей и событий. И понадобится нам для изготовления сего артефакта всего два ингредиента — Arduino Mega Server и беспроводной контроллер светодиодной ленты nooLite SD111-180.

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

Итак, приступим…
Читать дальше →

STM32: SPI: LCD — Вы всё делаете не так [восклицательный знак]

Reading time8 min
Views90K
Надеюсь сообщество простит меня за такой заголовок, просто в последнее время все чаще и чаще сталкиваюсь с программами в которых к микроконтроллерам STM32 подключают различные дисплеи с интерфейсом SPI и очень часто передачу данных при этом делают не правильно.
Как следствие — либо код не работает совсем и тогда в него внедряют различные задержки, или пишут код таким образом что он гарантированно будет работать медленно (по сравнению с возможной скоростью). А кто то, не разобравшись просто копирует чужой «с костылями» код, и потом такие «произведения» ходят по интернету из примера в пример…
Блок SPI описанный в данной статье точно есть у контроллеров семейств: STM32F1, STM32F2, STM32F4. По другим смотрите Reference Manual.

Откуда растут такие проблемы и каким образом они решаются под катом.
Читать дальше →

Объединение печатных плат с gerbmerge

Reading time7 min
Views18K
Мы — небольшой стартап, который занимается разработкой современной электроники. Разумеется, мы регулярно делаем тестовые партии небольшого размера, для изготовления которых заказывать полноценное производство не имеет смысла — стоимость подготовки будет самой крупной статьёй бюджета. Поэтому мы регулярно придумываем, как быстрее, дешевле и эффективнее собирать эти партии самостоятельно. Иногда в процессе рождается что-то новое или допиливается что-то старое. Результатом мы и будем с вами периодически делиться.

Один из способов снизить себестоимость изготовления печатных плат — это объединение нескольких плат на одной заготовке и отправка на фабрику этой заготовки как единого проекта. Фокус в том, что серьёзные фабрики берут деньги за подготовку производства каждой платы, а ориентированные на DIY китайцы часто предлагают (Seeedstudio, например) фиксированную цену за фиксированный размер текстолита. В первом случае единый проект, даже если он в итоге разрезается на несколько плат, будет считаться как одна плата, а во втором — можно вместить на одну стандартную заготовку несколько небольших плат.

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

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



Это — один проект. В нём 32 платы 13 разных видов. Как собрать такой проект за четверть часа — ниже.

Читать дальше →

Что внутри у «Монитора качества воздуха» (разбор и анализ)

Reading time3 min
Views22K
Прочитав на днях на Geektimes про монитор CO2 от dadget, я не смог пройти мимо такого необычного девайса. Купил для использования по назначению «здесь и сейчас», так как озаботился качеством воздуха в квартире, но с прицелом встроить его в систему «умного дома» в будущем. Вот о последнем речь в посте и пойдет.

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

upd:
добавлены, не попавшие из-за преступной халатности, фотографии общего плана.
так же, добавлено бонусное видео работы датчик CO2
Читать дальше →

Почему многие не любят Arduino

Reading time5 min
Views104K
Не задумывались ли вы, почему специалисты/профессионалы в области микроконтроллеров и автоматизации относятся к тем, кто работает с Arduino примерно так, как будто они занимаются чем-то не серьёзным, вроде игры в песочнице?


Примерно так же к ардуино относится и мой кот Вася.

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


А ну-ка взглянем...

Технология программирования ARM Cortex-M0+

Reading time11 min
Views27K

Здесь я расскажу об удобном наборе средств и о технологии быстрой разработки простых программ на микроконтроллере S9KEAZN64AMLC с 32-х битным 40 МГц ядром ARM Cortex-M0+. Как аппаратную основу возьмем плату от анонсированного ранее проекта. Плата оказалась на удивление живучей при низких температурах и даже превзошла в этом смысле ожидания.
Начнем с подробного описания создания термометра без использования внешних датчиков и с функцией логера.

Читать дальше →

Путь от макета до серийного изделия

Reading time4 min
Views31K
Приветствую читатель!

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

Я хочу вам рассказать свой опыт создания серийного устройства (пока <1000 шт).
Читать дальше →

Экономим электричество или таймер времени для ночного тарифа в электросетях

Reading time30 min
Views85K
Как часто вам приходится настраивать различные таймеры? Будильник на смартфоне, таймер на хлебопечке, чтобы к завтраку был свежий хлеб, да и мало ли когда нужно что-то начать. Не менее важной оказывается задача вовремя отключить или закончить действие.

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

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

image
Читать дальше →

Ещё одна система автополива растений с использованием ESP8266 и Blynk

Reading time10 min
Views70K
Однажды, когда я отдыхал в компании друзей в студенческом лагере МИФИ, один из них рассказал мне, что недавно решил попробовать посадить на участке клубнику. Купил горшки, нарыл где-то почву, подвел шланги для полива. И все бы ничего, хозяин спит — клубника растёт, да только приходится стабильно раз в неделю или даже чаще ездить на дачу, дабы растения не засохли без воды.

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


Читать дальше →

PINE64 — довольно мощный мини-ПК всего за $15

Reading time1 min
Views28K


Если бы несколько лет назад кто-то сказал, что за $35 можно получить функциональный персональный компьютер, над ним бы просто посмеялись бы. Тем не менее, уже сейчас мини-ПК продаются по цене в $5 или $9 — вспомним Raspberry Pi Zero and CHIP. Правда, эти системы никак нельзя назвать мощными.

Нельзя назвать мощным и новый миниатюрный ПК PINE64. Но его характеристики существенно лучше, чем у аналогов, которые продаются дешевле $20. Разработчики PINE64 оснастили свой девайс четырехъядерным процессором Allwinner 1.2 GHz 64-bit ARM Cortex-A53, 1 ГБ ОЗУ и прочими плюшками. Все это предлагается по цене в $15 за младшую модель или $19 за старшую. Вскоре кампанию по сбору средств на этот миниатюрный компьютер планируется запустить на Kickstarter.
Читать дальше →

Метеостанция Ласточка

Reading time8 min
Views25K
Разработка электроники для меня это и работа и хобби одновременно. В очередном порыве желания что-нибудь сделать наткнулся на любительский недорогой набор датчиков: дождя, скорости и направления ветра. Он и задал для меня новую область интересов. В этой статье я расскажу об увлекательном процессе проектирования своей погодной станции.


Читать дальше →

Моя реализация системы домашней автоматизации

Reading time12 min
Views29K
Давно читаю статьи на Хабре о системах домашней автоматизации, захотелось описать то, над чем я работаю уже более 2 лет. Для лучшего понимания моей ситуации необходимо сделать небольшое вступление.

Три года назад мы с семьей переехали в новую трехкомнатную квартиру (67.5 кв.м), хотя технически квартира конечно старая — сталинка, дом 1946 года постройки. Алюминиевая двухпроводная проводка с кусками медного многожильного кабеля 1 кв.мм в некоторых местах. Ремонт предстоял капитальный, делать решил все сам, и начал с полной замены проводки. Было куплено 700м силового кабеля на освещение и розетки 1.5 и 2.5 кв.мм, бухта витой пары, немного коаксиала для телевизионных антенн (на всякий случай). Зачем так много и что из из этого вышло — прошу под кат.
Читать дальше →

Будет ли ваш hardware-стартап приносить прибыль?

Reading time6 min
Views16K


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

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

Не совсем так.
Читать дальше →

Чудо свершилось. Вышла «отвязанная» версия Arduino Mega Server

Reading time6 min
Views55K
image

Революция о которой так долго говорили большевики свершилась. Теперь вы можете взять карточку памяти microSD, записать на неё файлы дистрибутива AMS и ваша Arduino превратиться в маленькое (или большое, это как посмотреть) чудо. Вам больше не нужны «костыли» с поддержкой стороннего сервера, Arduino Mega Server стал полностью автономным и вполне «юзабельным» в одиночном режиме работы. И это открывает для всех нас очень интересные перспективы.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity