Рубрика «программирование микроконтроллеров» - 60

Реверс инжиниринг протокола пульта от инверторного кондиционера Electrolux - 1

В этой статье я опишу свой опыт и основные этапы изучения ИК пульта от кондиционера. Из инструмента понадобится Arduino nano на mega328 и приемник ИК сигналов (у меня VS1838B).
Читать полностью »

Проектирование архитектуры embedded-приложения - 1

Добрый день! Хотелось бы поговорить на тему архитектуры embedded приложений. К сожалению, книг по этой теме очень мало, а в связи с тем, что, в последнее время, интерес к embedded и IoT растет, хочется уделить внимание этому вопросу. В этой статье, я бы хотел описать один из возможных вариантов того, как можно проектировать такие приложения.
Читать полностью »

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

Предварительная идея

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

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

Вентиляция санузла с умом - 1Вентиляция санузла с умом - 2Вентиляция санузла с умом - 3
Читать полностью »

Однажды передо мной возникла задача обеспечить выход в сеть Интернет на STM32 имея для этого только COM порт. Для решения этой задачи мне понадобился PPP, или, еcли быть точным, PPPoS (англ. Point-to-Point Protocol over Serial — один из способов реализации PPP, используется при подключении через COM-порт).

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

Статья описывает создание проекта для System Workbench for STM32 с нуля. Показывает пример работы с UART. Есть примеры кода для реализации PPP. Ну и конечно, пример отправки сообщения на соседний компьютер.
Читать полностью »

Со времени написания предыдущей статьи ” Как сжать загрузчик для STM8 до размера 18 байт в памяти FLASH” появились две версии загрузчика STM8uLoader . Загрузчик STM8uLoader версии $36 научился передавать управление прикладной программе по любому адресу в памяти RAM без участия хост-программы. Размер 18 байт загрузчика в памяти FLASH не изменился, в области OPTION Bytes размер увеличился до 53 байта (занял все доступное пространство).

В отдельную ветку выделилась версия $0D загрузчика. Основное требование к этой версии: максимально сжать код. На сегодняшний день размер кода во FLASH памяти 8 байт и в EEPROM памяти 35 байт.
Читать полностью »

Уже не первый год Wilson Research Group проводит исследование по тенденциям в сфере FPGA и ASIC. По данным исследованиям можно определить основные векторы развития и изменения, которые происходят в мире программируемой логики.

image
Читать полностью »

Как мы делали БелАЗ. Часть 3 – Пусконаладка на разрезе - 1
Это третья статья из цикла о самосвале (первая, вторая). Теперь мы едем на карьер, устанавливать электрооборудование на машину и выезжать в первый рейс! Но, конечно же, так просто, с наскоку, ничего не ездит, и я расскажу про множество проблем с которыми мы столкнулись во время командировки. Хоть мы и испытали в прошлой статье все оборудование на лабораторном стенде, реальность бьет совсем с другой стороны. В этой статье будет много видео и фотографий!
Читать полностью »

Как мы делали БелАЗ. Часть 2 – Лабораторные испытания - 1

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

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

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

Собрав ее, вы получите опыт работы с компонентами поверхностного монтажа (SMD) и, конечно, полезное устройство.

Simple Solder MK936 SMD. Паяльная станция на SMD-компонентах своими руками - 1
Читать полностью »

В процессе поиска загрузчика для микроконтроллера STM8S103F3 было обнаружено, что имеющиеся загрузчики в основном написаны на ”C”, «крадут» значительный объем у FLASH памяти, переносят таблицу векторов прерываний.

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

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

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

Первое условие было моментально выполнено, а вот над последующими требованиями пришлось потрудиться.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js