• DC/AC инвертор: принцип работы, схемотехника, встроенное ПО

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

    Думаю многие из вас наверняка видели рекламу, либо читали статьи, где была фраза «чистый синус». Вот именно о нем и пойдет речь, но не о маркетинговой составляющей, а о исключительно технической реализации. Я постараюсь максимально понятно рассказать о самих принципах работы, о стандартных (и не очень) схемотехнических решениях и самое главное — напишем и разберем ПО для микроконтроллера STM32, которое и сформирует нам необходимые сигналы.

    Почему STM32? Да потому, что сейчас это самый популярный МК в СНГ: по ним много обучающей русскоязычной информации, есть куча примеров, а главное эти МК и средства отладки для них — очень дешевые. Скажу прямо — в коммерческом проекте я бы поставил только TMS320F28035 или подобный DSP из серии Piccolo от TI, но это уже совсем другая история.

    Важно одно — STM32 позволяет стабильно управлять простыми «бытовыми» силовыми преобразователями от которых не зависит судьба мира работа какой-нибудь АЭС или ЦОДа.



    Вот такую картину управляющих сигналов необходимо получить, чтобы превратить ток постоянный в переменный. И да — тут именно синус! Как в том фильме: «Видишь суслика? — Нет. — А он есть...»

    Интересно узнать каким образом формируется синус? Хочется узнать как все-таки качают нефть киловатты энергии? Тогда добро пожаловать под кат!
    Читать дальше →
  • IBM PC своими руками — это очень просто

      image

      После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

      Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
      В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
      Читать дальше →
    • Доработка USB-стека в микроконтроллерах STM32 и TivaC

        Наличие USB порта в современных микроконтроллерах открывает широкие возможности для самостоятельного изготовления разнообразных управляемых с компьютера устройств. На практике, однако, выясняется, что поставляемые производителем библиотеки для работы с USB нуждаются в доработке. Если вам интересен опыт подобной доработки для двух популярных семейств МК — добро пожаловать под кат.
        Читать дальше →
      • Эмуляция носителя FAT32 на stm32f4



        Недавно возникла данная задача — эмуляция носителя FAT32 на stm32f4.

        Её необычность заключается в том, что среди обвязки микроконтроллера вовсе может не быть накопителя.

        В моём случае накопитель был, но правила работы с ним не позволяли разместить файловую систему. В ТЗ, тем не менее, присутствовало требование организовать Mass Storage интерфейс для доступа к данным.

        Результатом работы явился модуль, который я озаглавил «emfat», состоящий из одноимённого .h и .c файла.

        Модуль независим от платформы. В прилагаемом примере он работает на плате stm32f4discovery.

        Функция модуля — отдавать куски файловой системы, которые запросит usb-host, подставляя пользовательские данные, если тот пытается считать некоторый файл.
        Читать дальше →
      • Микро БД для конфигурации на микроконтроллере

        Многие разработчики программ для микроконтроллеров сталкивались с проблемой хранения конфигурационных данных. Это могут быть калибровочные коэффициенты измерительного алгоритма или просто последний выбранный пользователем пункт меню. Для микроконтроллера, имеющего возможность записывать в собственную flash-память, решение кажется простым — стираем сегмент и пишем туда все, что нужно. Однако, если необходимо еще и обеспечить отказоустойчивость по отношению к выключению питания в произвольный момент, задача становится нетривиальной, — по сути необходимо реализовать маленькую базу данных с механизмом обеспечения атомарности операций записи и восстановлением после сбоев. Решение этой задачи для микроконтроллеров семейства MSP430 — под катом. По количеству используемых ресурсов оно подходит даже для самых младших членов этого семейства — с размером RAM от 256 байт и falsh-памяти от 8Kb. В качестве бонуса — интерфейс командной строки (через UART) для чтения и записи конфигурации.
        Читать дальше →
        • +24
        • 17,8k
        • 3
      • Конкурс для программистов №2

          Проект ttools.ru объявляет конкурс для программистов №2!

          О конкурсах проекта можно почитать в рубрике "Конкурсы" блога ttools.ru

          Опыт проведения предыдущего конкурса был учтен и отражен в правилах и плане проведения конкурса

          О задаче конкурса #2:

          Задача будет сложнее и интереснее задачи конкурса #1. Тем не менее, по опыту первого конкурса, уверен решение «в лоб» самые сильные участники смогут запрограммировать в течении первого часа. Однако объём и характер данных для обработки выбраны таким образом, что при таком решении время вычислений будет существенным, что автоматически даст преимущество участникам, с более оптимальным алгоритмом решения. При этом оптимизация алгоритма не должна быть сложной настолько, чтобы время на его реализацию было неоправданным и не давало преимущества другим участникам. Потребуется найти наиболее эффективное решение за минимальное время. Надеюсь, вам будет интересно побороться!
          Читать дальше →
        • Язык Go. Пишем эмулятор CHIP-8

          Язык Go отпразновал недавно первый год своей жизни. Интерпретатору CHIP-8 стукнуло уже под сорок.
          Любителям новых языков и старого железа посвящается этот пост — в нем мы будем писать эмулятор виртуальной машины CHIP-8 на языке Go.

          О том, как настроить окружение для работы с Go писали уже не раз. За последнее время мало что изменилось, разве что версия для Windows стала более стабильной.
          Установив все согласно инструкциям, приступаем к изучению внутренностей CHIP-8.
          Читать дальше →
        • Графический «велосипед» по мотивам Turbo Vision (дела давно минувших дней)

          Относительно недавно, прочитав местную статью "Демо, которых никто никогда не видел", решил, что тоже стоит пролить свет на некоторые плоды своей программистской молодости.

          Начиналось с этого:
          image

          Под 'катом' 500Кб картинок!!!
        • Использование процедур и функций в Delphi

          Рано или поздно любому программисту потребляется использовать процедуры и функции. Все мы помним еще с паскаля, что там ничего нет сложного, но некоторые вещи обычно в книжках не описываются, хотя для грамотного составления программы требуется знать.
          Читать дальше →