• ATtiny13 против ПЛК, или как получить 14 I/O от контроллера с 8 ногами

      image

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

      1. То, что я описываю, делать нельзя по многим причинам, эти причины вам радостно укажут в комментариях, и я ни коим образом не призываю так делать. И ни в коем случае я не утверждаю, что описанным ниже устройством можно заменить реальный ПЛК. Всё описанное было сделано только для того, чтобы доказать себе, что это технически возможно, и не применяется на реальном оборудовании.
      2. Если вам становится плохо только от упоминания слова «Ардуино», вам лучше не читать. Все действия с контроллером я выполнял в среде Arduino IDE, мне так проще. Но ничто не мешает сделать всё то же без использования оной.
      Читать дальше →
    • Что такое сознание



        Одним из самых главных научных вопросов Человечества, считается вопрос: «Что такое сознание?». Как Человек думает, принимает решения, как происходит мышление, анализ и интерпретация различных внешних раздражителей и т.д. Ответы на эти вопросы, а также что такое сознание, главный вопрос жизни, вселенной и всего такого под катом.
        Читать дальше →
      • Делаем ST-Link V2.1 из китайского ST-Link V2

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

        В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1.

        Возможно для кого-то это не будет новостью, но особой инфы по данной теме в инете не нашел.

        Кому интересно — прошу под кат.
        Читать дальше →
      • STM32. Практика похудания или диета для контроллера



          Что за бред, наверняка подумают некоторые читатели, увидев заголовок публикации. Не ошибся ли автор ресурсом? Или разместить это планировалось в хабе «Здоровье гика»? И будут отчасти правы, но лишь отчасти… Под катом речь пойдет о методике снижения-оптимизации энергопотребления электронных устройств.

          Читать дальше →
        • STM32F103C8T6 как накопитель flash с файловой системой FAT12

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

          Рассмотрим вариант хранения в пожалуй самых распространенных микроконтроллерах STM серии F103. Способствовала распространенности также всем известная макетная плата Blue Pill

          image
          Имеющаяся в ней flash позволяет не только хранить и модифицировать настройки используя файловую систему FAT12 во внутреннем flash, но и организовать обновление прошивки.

          Согласно документации в STM32F103C8T6 имеется 64К flash памяти. Однако практически во всех STM32F103C8T6 установлено 128К. Об этом также упоминается в разных источниках — обычно ставят на 64К больше. Такая «фича» позволяет использовать микроконтроллер как flash накопитель объемом 128К — 20К (системные нужды FAT12) — размер прошивки.

          Многие энтузиасты, пытавшиеся использовать данный контроллер как накопитель flash, сталкивались с проблемой его использования в режиме файловой системы FAT12. Использовать для снятия/заливки образа диска получалось. А вот при работе как с файловым накопителем начинались проблемы.
          Читать дальше →
        • Начинаем FPGA на Python

          Технология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT.

          Данная технология имеет один существенный минус: для программирования используются довольно сложные и специфичные языки описания цифровой аппаратуры Verilog и VHDL. Это осложняет вхождение новичка в FPGA и для работодателя найти специалиста с этими специфичными знаниями на рынке труда сложно. С другой стороны популярный высокоуровневый язык программирования Python с фреймворком MyHDL делают программирование FPGA простым и приятным. Тем более людей знающих Python на порядок больше специалистов владеющих Verilog/VHDL. Серией статей я хочу показать как легко и просто войти в область FPGA зная Python и начать делать настоящие сложные FPGA проекты на этом языке. Отмечу, что на ПЛИС python непосредственно не исполняется, а является инструментом для генерации прошивки.
          Читать дальше →
        • АЦП HX711 от 3.3V — не верьте китайской документации и не только

            Плата конвертера


            У энтузиастов, использующих данный модуль для сборки электронных весов "по-умолчанию", с пяти-вольтовым питанием, проблем не возникает.


            Я-же который раз сталкиваюсь с несоответствиями мануалов — притом ладно, линейный регулятор сгорает при вдвое меньшем входном напряжении, или настройки модуля Ai-Thinker не сохраняются, но перепутать формулу в документации — это перебор.


            О модификации платы 24-битного конвертера АЦП для работы от "батареек" под катом.

            Читать дальше →
          • Радиомодули для arduino JDY-40

              image

              Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможно, кого-то он заинтересует. Речь пойдет о маломощном трансивере JDY-40, работающем на частоте 2,4 Гигагерца. Работать с модулем очень просто, для настройки модуля используются ат команды, которые передаются по USART.

              Читать дальше →
            • Фантастика и фентези за два с половиной года, почти сто хороших книг

              На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
              Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
              Читать дальше →
            • UDB. Что же это такое? Часть 2. Datapath

              • Перевод


              Продолжаем рассматривать UDB на основе документации Cypress. И в этот раз предметно изучим Datapath, операционный автомат.
              Читать дальше →
              • +15
              • 2,5k
              • 4
            • UDB. Что же это такое?

              • Перевод


              В комментариях к моей статье про управление RGB светодиодами средствами блока UDB микроконтроллеров PSoC фирмы Cypress было высказано мнение, что неплохо бы в начале статьи кратко рассказать, что такое вообще UDB. Как я уже отметил в статье, про UDB кратко не написать, но можно просто перевести фирменную документацию на него, чтобы познакомить отечественного читателя со столь мощным средством для реализации микропрограммных функций.
              Читать дальше →
              • +23
              • 4,8k
              • 8
            • Разработка buck-преобразователя на STM32F334: принцип работы, расчеты, макетирование

              • Tutorial
              В двух своих последних статьях я рассказал о силовом модуле и плате управления на базе микроконтроллера STM32F334R8T6, которые созданы специально для реализации систем управления силовыми преобразователями и электроприводом. Так же был рассмотрен пример DC/AC преобразователя, который являлся демонстрацией, а не завершенной конструкцией. Теперь пришло время сделать что-то простое, но полезное, а главное завершенное.

              Большинство вопросов, касающихся проекта и силовой электроники, связаны с конкретными топологиями: кому-то интересно узнать алгоритм управления PFC, кому-то хочется научиться строить LLC полумост, но наиболее популярная топология — это несомненно buck. Ведь buck-преобразователь (он же buck converter) является основной для большинства интересных проектов: это и драйвер для LED светильников, и основа MPPT контроллера для солнечных панелей, и зарядные устройства и вообще много чего еще.

              В сети достаточно много информации по buck, в том числе и даташиты, но она разрозненна и мне лично не встречался материал, где подробно описан процесс создания buck-преобразователя с цифровым управлением. Пора это исправить. Математики практически нет, объяснения «на пальцах», поэтому будет интересно всем, кто хоть как-то связан с электроникой.


              Читать дальше →
            • Прекратите скручивать!

              • Tutorial
              Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

              Дальше много текста, фотографий, разборок. Ну все как обычно
            • Новые китайские ПЛК с Алиэкспресс: Wecon LX3VP/LX3VE

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

                Но сначала нужно напомнить, почему я ими заинтересовался. При выборе ПЛК для проекта неизбежно возникает вопрос соотношения цены и качества. Хорошо, конечно, везде использовать проверенные временем контроллеры Siemens или Schneider, но это не всегда позволяет бюджет- они весьма дорогие.

                Раньше, когда приходилось ставить в проект более дешевые контроллеры, мы выбирали отечественный ПЛК ОВЕН, но по многим причинам стали искать альтернативу и ему. Среди прочего, я обратил внимание на недорогие ПЛК китайской фирмы Wecon серий LX3V/LX3VP/LX3VE. Про самую простую и дешевую модель LX3V-0806MT-A2 я уже писал.

                Сегодня поговорим о более продвинутых моделях: LX3VP-1616MR-A и LX3VE-1412MT-A.


                Читать дальше →
              • Опыт использования ЖК-дисплеев на основе продукции МЭЛТ

                  Эта статья посвящена увлекательному приключенческому квесту, который мне пришлось пройти в процессе создания обновленного внешнего датчика для метеостанции, описанной вот в этой статье полтора года назад. По опыту эксплуатации предыдущей версии очень хотелось создать датчик с контрольным дисплеем, чтобы можно было без проблем периодически проверять (и поверять) наиболее капризный компонент станции — датчик скорости ветра. Приключения начались тогда, когда я стал подбирать для этой цели дисплей и по ряду причин, о которых далее, остановился на продукции родного МЭЛТ. Но прежде чем я перейду к описанию приемов нетрадиционного секса способов справиться с выбранными мной произведениями этой фирмы, стоит кратко остановиться на главной причине всей этой грандиозной модернизации, которую я затеял.
                  Читать дальше →
                • Управление RGB светодиодами через блок UDB микроконтроллеров PSoC фирмы Cypress



                    Введение


                    Я давно хотел изучить методику программирования блоков UDB в контроллерах PSoC фирмы Cypress, но всё руки как-то не доходили. И вот, возникла задачка, на которой это можно было сделать. Разбираясь с материалами из сети, я понял, что практические рекомендации по работе с UDB ограничиваются теми или иными вариациями счётчиков и ШИМов. Все авторы почему-то делают свои вариации этих двух канонических примеров, поэтому описание чего-то иного вполне может быть интересно читателям.
                    Читать дальше →
                  • Завтра мы начнём вас убивать, или Зачем нужны инженеры

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

                      Сподвигла меня на это разразившаяся (при моём активном участии) в минувшие выходные история с «нейроинтерфейсами» компании Bitronics Lab — детскими учебными наборами для снятия ЭЭГ и мышечной активности, которые при ближайшем рассмотрении оказались попросту небезопасны в использовании из-за несоблюдения их производителем базовых требований к электробезопасности медицинского оборудования.

                      История это очень показательна в том, что она демонстрирует, как по мере роста сложности система, составленная из кажущихся её авторам безопасными компонентов, становится опасной — причём на примере системы простой, бытовой и интуитивно понятной, а не атомного реактора или реактивного лайнера, которые любят брать в качестве примеров авторы книг вроде моей любимой "Inviting Disaster".

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

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



                      Казалось бы, что может пойти не так?
                      Читать дальше →
                    • Основы электробезопасности при проектировании электронных устройств

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

                        После волны, поднятой моим предыдущим постом, довольно заметное число людей спрашивали меня (в фейсбуке, в личке и т.п.), на что, собственно, обращать внимание, чтобы вместо умной розетки на ардуино не получить очередной тазик-эвтаназик.


                        Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

                        Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
                        Читать дальше →
                      • Как защититься от переполнения стека (на Cortex M)?

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

                          image

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

                          В этой статье я расскажу о собственных изысканиях на эту тему. Поскольку я программирую в основном под STM32 и под Миландр 1986 — на них я и фокусировался.
                          Читать дальше →
                        • Применение Arm Mbed OS. Тонкая настройка

                            LNDC1


                            После того как с помощью Arm Mbed OS удалось помигать светодиодом, настало время протестировать и настроить другие важные сервисы. Далее рассказывается:


                            • Технология конфигурирование Mbed
                            • Почему сложно перейти на C++ в обычных RTOS
                            • Как экономить память в RTOS
                            • Как организуются прерывания в Mbed OS
                            • Чем удобно отлаживать Mbed OS
                            • Как избавиться от лишнего слоя абстракции SDK
                            Читать дальше →