Схема помехоустойчивой Arduino Nano

Здесь расположена схема Arduino Nano, модернизированная в рамках подготовки к проекту «Arduino для индустриальных применений». В отличие от «Перерисовываем Arduino Nano», это уже не копия оригинальной схемы, а переработанный вариант с многочисленными добавлениями, призванными значительно повысить помехоустойчивость первоначальной конструкции. Пожалуйста, помните, что эта схема еще не отлаживалась и может содержать массу ошибок. Если вы вдруг заметите шероховатости, косячки, ошибки, просчеты, грубые заблуждения и иные отклонения от пути дао, способные привести к дестабилизации взаимодействия между…

Continue reading

Перерисовываем Arduino Nano

Данная заметка не имеет особой самостоятельной ценности, так как здесь расположены лишь схемы Arduino Nano1, перерисованные в рамках подготовки к проекту «Arduino для индустриальных применений». Но если вы работаете с Nano и оригинальная схема кажется вам не очень удобной, то можете воспользоваться схемами, приведенными ниже. Пожалуйста, помните, что эта схема еще не испытывалась и может содержать ошибки (но уже меньше, чем версия 0.1). Если вы вдруг заметите несостыковки с оригиналом, напишите,…

Continue reading

Полупроводниковый детектор гамма-радиации на PIN-диоде

Для сотового телефона «HardCode» со встроенным полупроводниковым датчиком гамма-радиации нам, разумеется, понадобится полупроводниковый датчик гамма-радиации. Разумеется, несколько круче было бы построить прибор на основе трубки Гейгера-Мюллера, но учитывая разумный компромисс между энергопотреблением, габаритами и питающим напряжением (не каждому захочется носить в кармане штанов самолепный девайс с напряжением питания 400 В), остановимся все же на полупроводниковом сенсоре радиации. К счастью, компания Maxim в свое время озаботилась созданием подобной схемы (Application note 2236, Gamma-Photon…

Continue reading

DIY сотовый телефон «Mammoth» на ATmega8 и SIM300

А почему бы нам не замахнуться на самодельный сотовый телефончик? Покажем всяким там Эпплам и Самсунгам, что на них свет клином не сошелся, и в случае чего, у нас имеется ассиметричный, так сказать, ответ на их претензии на мировое господство. Так глубоко, как Эндрю Холм со своим самодельным GPS-приемником, мы лезть не будем, сделаем GSM-телефон на базе готового модуля, однако получившийся пепелац безусловно будет радовать своего владельца мощными габаритами, минималистичным функционалом и…

Continue reading

GPS/GSM трекер на базе AVR ATmega128 и SonyEricsson GR-64

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

Continue reading

Однофазный счетчик электроэнергии на базе ADE7753 и ATmega8

Микросхема однофазного счетчика электроэнергии ADE7753 в настоящее время уже не очень актуальна (сейчас для построения однофазного счетчика я бы выбрал ADE7953), плюс AVR микроконтроллеры вообще и ATmega8 в частности потихоньку проигрывают рынок дешевым и быстрым 32-битным ARM’ам с богатой периферией, но — у нас в запасниках сохранились проверенные на практике чертежи для построения однофазного счетчика электроэнергии именно на ADE7753 и ATmega8, так что если вам нужно сделать прибор конкретно на этой элементной базе или нужно глянуть какие-то схемотехнические решения…

Continue reading

NMEA парсер для обработки данных GPS/ГЛОНАСС приемника

При разработке микроконтроллерной системы, содержащей GPS/ГЛОНАСС приемник, необходимо получать и декодировать его сообщения, превращая текстовые посылки в удобочитаемый формат. Как правило, GPS приемник выдает сообщения через последовательный порт в формате NMEA. NMEA парсер превращает данные в формате NMEA, получаемые от GPS-приемника, в массив более удобоваримой информации (широта, долгота, высота над уровнем моря и т. д.). Программа тестировалась на микроконтроллере STM32F217 при совместной работе с GPS/ГЛОНАСС модулем Geos-1M, но, думаю, с…

Continue reading

Использование USB в STM32 на примере Virtual COM port

К счастью, задача программирования работы с портом USB для контроллеров STM32 не отличается особой сложностью. Программа STM32CubeMX, предназначенная для конфигурирования периферии микроконтроллеров STM32, сделает самую грязную работу — скомпонует комплект файлов с исходным кодом, при работе которого ваш прибор уже будет определяться как готовое к работе устройство. Все что вам останется, это обеспечить работу USB-порта с точки зрения схемотехники плюс, разумеется, написать саму логику обработки принимаемой и отдаваемой по USB…

Continue reading

Обмен данными между STM32 и ПК через USB virtual COM port

Давайте рассмотрим достаточно типовую на сегодняшний день задачу: есть ПК, есть какое-то внешнее «железо» на базе микроконтроллера с USB, необходимо наладить обмен данными. Рассмотрим решение этой задачи, несколько уточнив требования: работать будем через virtual COM port на базе USB; среда программирования Visual Studio; язык C#, причем требования к аппаратной составляющей и вопросы программирования микроконтроллера STM32F102 освещены в статье-симбионте «Использование USB в STM32 на примере Virtual COM port», а здесь мы рассмотрим только разработку…

Continue reading

Подключение Wi-Fi модуля ESP8266 к микроконтроллеру STM32 (STM32L051K6T6)

В принципе, как вам, возможно, известно, микросхема Wi-Fi трансивера ESP8266 и, соответственно, модули, созданные на ее основе не требуют подключения внешнего контроллера, так как разработчиками ESP8266 изначально был открыт доступ к встроенному 32-х битному микроконтроллеру, штатно  работающему на частоте 80 МГц и поддерживающему разгон до 160 МГц. Но, учитывая дополнительные факторы, такие, например, как некоторая нестабильность работы ESP8266, требующая применения внешнего сброса, бедная периферия и, главное, достаточно большой ток потребления даже в режиме…

Continue reading

Программное создание MJPEG Time Lapse видео под Android

Это несколько переработанная копия моей статьи на habrahabr.ru. Если у вас нет аккаунта на «Хабре», но есть вопросы по описываемой программе, вы можете задать их здесь. Давайте напишем программу для создания своих собственных фильмов в технике Time Lapse. Завораживающее видео, снятое в этой технике с борта МКС, можно посмотреть здесь, более доступный вариант, который можно повторить с помощью описываемой программы — здесь. Программа имеет простой интерфейс и несложный принцип работы: • пользователь задает периодичность…

Continue reading

Процедуры работы с GSM-модулем на примере STM32 (STM32F102) и SIM900

Ежегодно тысячи DIY-энтузиастов разрабатывают свои конструкции GSM-сигнализаций, систем контроля доступа и удаленного управления на базе микроконтроллеров и GSM-модулей. Эта статья посвящена среднему слою программного обеспечения для обмена информацией между GSM-модулем и микроконтроллером и призвана облегчить переход от первого включения GSM-модема (когда на запрос «AT» был получен долгожданный ответ «OK») к полноценной рабочей программе или, другими словами, позволяет сохранить творческий запал за счет быстрого решения чисто технических задач. Программное обеспечение, представленное ниже,…

Continue reading

Подключение радиомодуля Si4432 к микроконтроллеру STM32 (STM32F102R8T6)

Рассмотрим вкратце подключение Si4432 к STM32F102 — только схемное решение и небольшой кусочек кода для проверки работоспособности радиомодуля. Обращаю ваше внимание на то, что в статье речь идет именно о готовом модуле Si4432, а не о микросхеме Si4432, которая сама по себе требует довольно обильной обвязки. Тут исторически сложилась небольшая путаница, так как, в отличие от, например, микросхемы Wi-Fi трансивера ESP8266, готовые к применению модули на базе которой имеют собственные названия, вроде «ESP12», модули…

Continue reading

Бестрансформаторный блок питания на базе LNK306

Когда-то, когда трава была зеленее, а мамонты вкуснее, рассчитать и собрать мощный (100—200 мА) бестрансформаторный блок питания, преобразующий переменное напряжение 85—265 В в постоянное 5 или 12 В было достаточно нетривиальной задачей. К счастью, прогресс в области бестрансформаторноблокопитания не стоит на месте и сейчас мы можем собрать нужную схему с гораздо меньшим напряжением содержимого черепной коробки. Поможет нам в этом микросхема LNK306, или вернее сказать, семейство LinkSwitch-TN производства Power Integrations, объединяющее в себе…

Continue reading

Программное рисование в Android

При разработке программного обеспечения под Android программист пользуется в основном визуальными компонентами, встроенными в ОС, такими как ImageView или EditText. Но иногда возникает необходимость перейти на уровень ниже, рисуя графику непосредственно на экране. Самостоятельное рисование графических примитивов может быть полезно как при кастомизации приложения, работающего на базе стандартных компонентов, так и при разработке собственных компонентов. Нарисуем линию, а если точнее — набор линий, составляющих сетку. Такая конструкция показана на рисунке…

Continue reading

Работа STM32 (STM32F102R8T6) с FRAM памятью FM25CL64B

Подружить STM32 с SPI FRAM памятью FM25CL64B — задача, конечно, не архисложная, но, возможно, вам стоит воспользоваться данными ниже рекомендациями, чтобы сэкономить себе толику времени, которое можно будет потратить не на копание в документации, а на кофе с плюшками. Минимальная схема работоспособного подключения FRAM-памяти FM25CL64B к STM32F102 показана ниже (картинка кликабельна) и содержит: собственно микроконтроллер STM32F102R8T6 DD2 с тактовым генератором на ZQ1, C9, C10 и фильтром по питанию L1, C1—C3, C6—C8; микросхему FRAM-памяти FM25CL64B-GTR DD1…

Continue reading