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

diy-cell-phone-gsm-atmega8-sim300-open-hardware

Сделать самодельный сотовый телефон — задача действительно непростая. Если взять за основу «голый» чипсет и попытаться самостоятельно провести полный цикл разработки как аппаратной, так и программной части, то тогда, разумеется, подобное занятие быстро выйдет за рамки хобби как по временным, так и по финансовым затратам. Но, перефразируя Ньютона, «я только потому и вылез из этой дыры, что стоял на плечах гигантов»; если уж ну очень хочется сделать свой собственный сотовый телефон, то можно использовать готовый GSM-модуль. Если добавить к такому модулю недорогой и …

Читать далее

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

diy-gps-tracker-atmega128-open-hardware

Разработка GPS/GSM трекера — дело относительно несложное, по крайней мере в части аппаратной составляющей. Все что вам нужно, это взять ваш любимый контроллер (желательно с поддержкой режима микропотребления), добавить GSM-модуль и GPS-приемник плюс продумать питание всех этих компонентов. Пример схемы показан ниже (изображение кликабельно, есть pdf-вариант). Да, я знаю, схема нарисована немного странно, но это не особенности вкуса разработчика, а просто шероховатости конвертации из PCAD в Altium Designer. Основное требование, которое выдвигалось к данной конкретной схеме — минимизация энергопотребления в спящем режиме. Предполагалось, что …

Читать далее

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

diy-wi-fi-stm32-esp8266-open-hardware

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

Читать далее

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

diy-gsm-stm32-sim900-sim900r-open-hardware

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

Читать далее

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

diy-ade7753-atmega8-energy-meter-open-hardware

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

Читать далее

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

diy-silicone-radiation-detector-pin-diode-open-hardware

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

Читать далее

Микропотребляющие блоки питания на базе SP6648

diy-sp6648-power-supply-open-hardware

При разработке встроенной электроники и приборов для «Интернета вещей» часто возникают примерно следующие требования к подсистеме питания: питание от одной или двух батареек AA или AAA; выходное напряжение 3.3 В и 5 В; приличный выходной ток, порядка 100 мА и выше; работа даже от очень низкого входного напряжения, позволяющая буквально «высосать все соки» из элементов питания; малое собственное потребление стабилизатора питания, позволяющее максимально растянуть срок жизни батарей или аккумуляторов при отключенной основной нагрузке. Одним из вариантов решения подобного техзадания является применение повышающего стабилизатора SP6648, …

Читать далее

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

diy-fram-stm32-open-hardware

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

Читать далее

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

diy-LNK306-transformerless-power-supply-open-hardware-smartnsmall.com

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

Читать далее

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

diy-si4432-stm32-open-hardware

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

Читать далее

Применение JSON парсера JSMN в микроконтроллерах

diy-jsmn-parser-open-source-smartnsmall.com

В рамках «Интернета вещей» нам приходится находить способы наладить взаимодействие между «взрослыми» серверами, служащих для накопления и обработки больших массивов информации и микроконтроллерной «мелочью», эту самую информацию собирающей. Одним из вопросов, возникающих при проектировании IoT-систем, является передача данных (например, первоначальных настроек) от сервера к контроллеру. Метод передачи данных, разумеется, может разниться в зависимости от решаемой задачи. При больших объемах информации, возможно, будет предпочтительнее использовать какой-то бинарный протокол, возможно, даже с сжатием информации. В случае же, если объем передаваемой информации относительно небольшой, можно передавать данные …

Читать далее

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

diy-stm32-usb-pc-open-source

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

Читать далее

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

diy-stm32-usb-pc

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

Читать далее

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

gps-parser-open-source-smartnsmall.com

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

Читать далее