Pull to refresh
13
0

Инженер — электроник

Send message

IoT шлюз Ethernet-RS485 на базе STM32

Reading time6 min
Views27K

Привет, Хабр!


Данный пост посвящён DIY разработке Ethernet-RS485 шлюза. Цель данного шлюза – обеспечение централизованного управления нодами Mysensors со стороны контроллера умного дома.


imageНедавно меня таки достали провода, дюпоны, навесная пайка и т.п. и было принято давно оттягиваемое решение — сделать свои платы с нуля, т.е. всё по серьёзному. :)
Сказано — сделано!


Первым делом была разработана и нарисована принципиальная схема шлюза, в которой я постарался учесть все свои хотелки и пожелания. Далее произведена компоновка и подгонка платы под требуемые размеры (50x50мм). И последний этап, это заказ плат на производстве. Я заказывал на фабрике JLCPCB, 5 плат — 2$ + доставка.


Данный шлюз построен на базе МК STM32F103CB(8)T6. В качестве Ethernet чипа выступает достаточно известная микросхема от WIZnet — W5500. Транспортом данного шлюза в сети Mysensors является проводной интерфейс RS485. В качестве драйвера RS485 был выбран чип — MAX13488EESA+T, в том числе и в связи с наличием у него режима автоматического выбора направления приёма/передачи.

Читать дальше →
Total votes 23: ↑21 and ↓2+28
Comments71

Радиоактивные продукты. Гамма-спектрометр. Часть 2

Reading time13 min
Views21K
В предыдущей части мы узнали как собрать гамма-спектрометр. Научились правильно выбирать кристалл йодистого натрия и многие другие тонкости в этом спектрометрическом ремесле.

Первая часть



Дальше нам нужно построить свинцовый домик. Его задача изолировать спектрометр от внешнего природного фона.

Нам понадобится:

  1. Вентиляционная оцинкованная труба диаметром 120 мм с заглушкой на одном из концов.
  2. Латунная гильза калибром 76-мм для танковых пушек времен второй мировой войны. Год выпуска 1941. В идеале нам нужна медь, но латунь имеет в своем составе минимум 60 процентов меди, все остальное это цинк и возможные примеси.
  3. Две крепкие массивные ручки для транспортировки свинцового домика. Вес у него будет немаленький.
Читать дальше →
Total votes 50: ↑49 and ↓1+70
Comments32

Радиоактивные продукты. Гамма-спектрометр. Часть 1

Reading time13 min
Views27K
Хомяки приветствуют вас, друзья.

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



Представьте ситуацию: Идёте вы такие по продуктовому рынку, и тут в вашем кармане срабатывает дозиметр и оповещает о превышении радиационного фона. Вопрос: как узнать каким радиоактивным изотопом заражены помидоры бабы Раи? Всё просто, для этого необходимо поместить объект в специальный свинцовый домик и исследовать его с помощью гамма-спектрометра. Через несколько часов по характерным энергетическим пикам мы узнаём, что помидорки заражены радиоактивным изотопом цезия-137, и его дочерним продуктом распада барием-137. Вероятно у бабы Раи дома ядерный реактор! Краткое руководство пользователя довольно исчерпывающее, потому давайте посмотрим с чего все начинается, и как это все работает.
Читать дальше →
Total votes 83: ↑83 and ↓0+83
Comments30

Работа с китайской микросхемой АЦП Hx711

Reading time6 min
Views23K
Причина написания этого поста заключается в желании разобраться с модулем 24 разрядного дельта сигма преобразователя АЦП на основе микросхеме Hx711. Сам преобразователь собран в виде готового модуля по схеме включения рекомендованного производителем (????). Замечания о работе данного модуля есть и на данном сайте в блоге Герасименко Андрея «АЦП НХ711 от 3,3V- не верьте китайской документации и не только…».

Для испытания данного модуля была собрана схема на основе микроконтроллера ATmega16, модуля АЦП, двустрочного жки BC1602, на основе контроллера HD44780, четырех кнопок. В качестве среды разработки использовалась программа Code Vision AVR, version 1.25.9 professional, AVR Studio 4, Version 4.09.0.338, программатор AVR JTAG USB, позволяющий не только программировать кристалл, но и отслеживать пошагово, если это необходимо, выполнение программы в микроконтроллере, практически в режиме реального времени.


Читать дальше →
Total votes 14: ↑12 and ↓2+16
Comments20

Как выбрать усилитель сотовой связи и мобильного интернета

Reading time9 min
Views113K
Чтобы разобраться в этом вопросе, нужно понимать основные принципы и условия работы данного устройства. Усилитель сотовой связи или по-другому репитер, повторитель сигнала, решает поставленную перед ним задачу в связке с другими компонентами — приёмопередающими антеннами — внешней и внутренней, а также высокочастотным кабелем, объединяющем все устройства в единую систему усиления сигнала.

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

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

Принцип работы усилителя сотовой связи


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

Слабый сигнал от базовой станции оператора улавливается внешней антенной, расположенной на улице. От внешней антенны сигнал по высокочастотному коаксиальному кабелю передаётся на репитер. Репитер усиливает сигнал и отправляет его дальше по кабелю на комнатную антенну. Комнатная антенна обменивается информацией с мобильными устройствами и отправляет сигнал в обратном направлении.

image
Читать дальше →
Total votes 13: ↑12 and ↓1+19
Comments36

Хьюстон! У нас проблемы? От «умного» улья к роболетку и «кластеру» на ардуино

Reading time3 min
Views10K


Для начала хочется сказать, что умных ульев не существует, от слова вообще.


Вот что к примеру может умный дом?


Как минимум перекрыть воду в случае затопления, отключать свет и розетки, в общем есть обратная связь.


В конструкциях "умных" ульев регистрируется множество параметров, но они ничем не управляют, то-есть по сути являются системами мониторинга.


Да уж и пора-бы перейти от практической электроники к практическому пчеловодству (ради чего все и начиналось).


Собственно описание того, что и как будет уже этой весной и содержит данная статья.

Читать дальше →
Total votes 11: ↑10 and ↓1+14
Comments37

Raspberry Pi и модем SIM7600E 4G HAT

Reading time3 min
Views40K
Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети.

Параметры системы


Raspberry Pi 3B+
OS: Raspbian GNU/Linux 10 (buster)
Модем SIM7600E 4G HAT, версия прошивки LE11B08SIM7600M22

image

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments30

Анализ надежности электронного оборудования, подвергнутого удару и вибрации — обзор

Reading time39 min
Views8.2K
Журнал: Shock and Vibration 16 (2009) 45–59
Авторы: Robin Alastair Amy, Guglielmo S. Aglietti (E-mail: gsa@soton.ac.uk), and Guy Richardson
Места работы авторов: Astronautical Research Group, University of Southampton, School of Engineering Sciences, Southampton, UK
Surrey Satellite Technology Limited, Guildford, Surrey, UK

Copyright 2009 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Аннотация. В будущем предполагается, что все современное электронное оборудование будет иметь всё возрастающую функциональность, сохраняя при этом способность выдерживать ударные и вибрационные нагрузки. Процесс прогнозирования надежности затрудняется из-за сложных характеристик откликов и отказов электронного оборудования, поэтому существующие в настоящее время методы являются компромиссом между точностью расчетов и их стоимостью.
Достоверное и быстрое прогнозирование надежности электронного оборудования при его эксплуатации с динамическими нагрузками является очень важным для промышленности. В данной статье показываются проблемы при прогнозировании надежности электронного оборудования, замедляющие получение результатов. Следует учитывать также, что модель для расчета надежности обычно строится с учетом широкого диапазона конфигураций оборудования для целого ряда однотипных компонентов. Четыре класса методов прогнозирования надежности (справочные методы, тестовые данные, экспериментальные данные и моделирование физических причин отказа − физика отказа) сравниваются в данной статье для выбора возможности применения того или иного метода. Отмечается, что большинство отказов в электронном оборудовании вызываются тепловыми нагрузками, однако в настоящем обзоре основное внимание уделяется отказам, вызванным ударом и вибрацией при эксплуатации.


Читать дальше →
Total votes 6: ↑4 and ↓2+5
Comments8

Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android

Reading time11 min
Views23K
Добрый день, уважаемые хабровчане! Несколько лет назад я купился на красочную рекламу zWave и установил себе оконные датчики, базирующиеся на этом протоколе. К домашнему серверу был подключен USB zWave-Stick, который играл роль контроллера, написан небольшой модуль на Java, который получал данные с этого контроллера, а также написано небольшое приложение для Андроида, которое красиво отображало состояние всех датчиков. Батарейки вставлены, датчики зарегистрированы на контроллере, все заработало. Но через пару месяцев наступило жесточайшее разочарование. Во первых, данные zWave датчики работают по принципу «послать сообщение и, не ожидая подтверждения, заснуть». В моем случае это привело к тому, что сигнал от наиболее дальних от контроллера датчиков просто не доходил до контроллера. Не помогла даже установки дополнительного zWave-повторителя. Во-вторых, они настолько быстро садили батарейку, что примерно через шесть месяцев работать переставали все датчики. Причина в том, что они каждый час просыпались, чтобы сообщить контроллеру свое состояние. Отключить или изменить этот параметр не получилось, так как штатное программное обеспечение это сделать категорически не позволяло. Помучавшись два года с этой сырой, ненадежной и недружественной технологией, я решил что с меня хватит. Но вместо того, чтобы все убрать и выкинуть, мне пришла идея оставить корпуса, но поменять в них электронику. Выбор пал на достаточно простой приемопередатчик RFM69 (433 MHz), на базе которого удалось сделать как плату для датчика, так и контроллер, подключаемый через USB к серверу. Новая система в эксплуатации уже 5 месяцев, надежность близка к 100% (но некоторые сбои таки были), батарейки садиться пока не думают. То есть уже сейчас видно, что все недостатки старой системы на базе zWave устранены, и я хочу поделиться техническими подробностями этой моей поделки, см. картинку.



Кому интересно, прошу под кат.
Читать дальше →
Total votes 30: ↑28 and ↓2+33
Comments77

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32

Reading time9 min
Views12K

Введение


Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является трансфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой особенностью на известном китайском сайте.

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

Хочу подчеркнуть, что данный материал конечно же не является истиной последней инстанции. Я привожу лишь свой опыт взаимодействия с устройством. Основная цель статьи проста — помочь всем тем, кто решил, хочет или захочет поработать с данным дисплеем, не более.

image
Читать дальше →
Total votes 18: ↑17 and ↓1+23
Comments14

Памятка по борьбе с алкоголем или Как пережить фуршеты

Reading time20 min
Views177K
Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на Хабр. Рассказанное — услышит один человек, а написанное — прочитают сотни!

Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.

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

Читать дальше →
Total votes 155: ↑119 and ↓36+118
Comments478

Самодельный счётчик Гейгера на ESP8266 с сенсорным экраном

Reading time4 min
Views34K


Я разработал и собрал счётчик Гейгера – устройство, способное обнаруживать ионизирующее излучение и предупреждать об опасных уровнях радиации в окружающей среде знакомыми щелчками. Его также можно использовать для поиска минералов, и определять, есть ли в найденном вами камне урановая руда!

В интернете можно найти много готовых наборов и инструкций по сборке счётчика Гейгера, но я хотел сделать нечто уникальное – и я разработал GUI-дисплей с сенсорным управлением и красивым выводом информации на экран.
Total votes 52: ↑45 and ↓7+38
Comments70

Введение в технику оптимизации циклов

Reading time4 min
Views58K
Большая часть времени исполнения программы приходится на циклы: это могут быть вычисления, прием и обработка информации и т.д. Правильное применение техник оптимизации циклов позволит увеличить скорость работы программы. Но прежде, чем приступать к оптимизациям необходимо выделить «узкие» места программы и попытаться найти причины падения быстродействия.
Читать дальше →
Total votes 102: ↑98 and ↓4+94
Comments61

Оптимизация кода: процессор

Reading time18 min
Views115K
Все программы должны быть правильными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.

image

В этой статье мы рассмотрим базовые техники оптимизации кода, которые могут увеличить производительность вашей программы во много раз. Мы также коснёмся устройства процессора. Понимание как работает процессор необходимо для написания эффективных программ.
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments142

Стабильный источник высокого напряжения для питания ФЭУ

Reading time7 min
Views26K


Применение фотоэлектронного умножителя — это очень простой способ получить высочайшую чувствительность фотоприемника, вплоть до регистрации единичных фотонов при прекрасном быстродействии. А учитывая массу ФЭУ, выпущенных в СССР и до сих пор лежащих на складах, это еще и относительно недорого (современные «фирменные» ФЭУ все-таки неприлично дороги для любительского применения). Но для питания фотоэлектронного умножителя нужен источник напряжения в 1-3 киловольта, и притом очень стабильный.

Дело в том, что чувствительность ФЭУ зависит от анодного напряжения экспоненциально и очень резко: она увеличивается в 10 раз при увеличении напряжения на 80-300 В, в зависимости от типа ФЭУ. И если нужно обеспечить стабильность усиления на уровне процента, для некоторых ФЭУ необходимо, чтобы напряжение не менялось больше, чем на 0,1-0,3 В!

В данной статье я привожу схему источника высокого напряжения для ФЭУ, который хорошо зарекомендовал себя в лабораторных условиях. Он обеспечивает выходное напряжение от нескольких сотен до 1500 В при выходном токе до 1 мА и стабильности не хуже 0,2 В за час при неизменном потребляемом токе после прогрева. Несложная переделка увеличивает верхний предел напряжения до 3 кВ, правда, ценой меньшей стабильности.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments47

Интернет для дачника. Добываем максимальную скорость в сетях 4G. Часть 2. Выбор внешней антенны

Reading time6 min
Views167K
Недавно я проводил сравнительное тестирование LTE роутеров и вполне ожидаемо оказалось, что производительность и чувствительность радиомодулей у них существенно отличается. Когда же я подключил к роутерам антенну, прирост скорости увеличился кратно. Это натолкнуло меня на мысль провести сравнительное тестирование антенн, которые позволят не просто обеспечить связь в частном доме, но и сделать ее не хуже, чем в городской квартире, с подключением по кабелю. Ну а чем закончилось это тестирование можно узнать ниже. Традиционно, для желающих смотреть, а не читать, сделал видеоролик.

Total votes 30: ↑27 and ↓3+24
Comments110

Как защититься от переполнения стека (на Cortex M)?

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

image

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

В этой статье я расскажу о собственных изысканиях на эту тему. Поскольку я программирую в основном под STM32 и под Миландр 1986 — на них я и фокусировался.
Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments66

Простейшее профилирование памяти на STM32 и других микроконтроллерах

Reading time7 min
Views46K
«С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее»
— Jack Ganssle, «The Art of Designing Embedded Systems»


Привет, Хабр!

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

Отчасти это объясняется простотой учебных проектов, выполняемых при этом на отладочных платах с относительно жирными микроконтроллерами, на которых влететь в нехватку памяти, мигая светодиодом, довольно сложно — однако в последнее время даже у начинающих любителей мне всё чаще встречаются упоминания, например, контроллеров типа STM32F030F4P6, простых в монтаже, стоящих копейки, но и памяти имеющих единицы килобайт.

Такие контроллеры позволяют делать вполне себе серьёзные штуки (ну вот у нас, например, такая вполне себе годная измериловка сделана на STM32F042K6T6 с 6 КБ ОЗУ, от которых свободными остаются чуть больше 100 байт), но при обращении с памятью при работе с ними нужна определённая аккуратность.

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

Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments230

Information

Rating
Does not participate
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity