SAP R3, АСУТП
Разжёвываем линейно-квадратичный регулятор для управления перевёрнутым маятником
Преамбула
Продолжаю подробное описание использования линейно-квадратичного регулятора на примере управления перевёрнутым маятником. К слову сказать, термин «ЛКР» очень неточно отражает суть происходящего, как мне уже подсказали в комментариях, в русской школе теории управления этот подход называется «аналитическим конструированием оптимальных регуляторов», что существенно точнее.
Как обычно, я стараюсь разжевать математику по максимуму, чтобы материал был доступен заинтересованному школьнику. Я глубоко убеждён, что использование математики по-хорошему должно бы быть платным: любая формула должна быть использована только тогда, когда она призвана облегчить понимание, а не для того, чтобы выпендриваться.
Итак, это уже четвёртая статья, для лучшего понимания происходящего неплохо бы прочитать предыдущие три:
- 1. Методы наименьших квадратов
- 2. Линейно-квадратичный регулятор, вводная
- 3. Управление двигателем постоянного тока при помощи линейно-квадратичного регулятора
Вот фотография системы (кликабельно):
RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 1 (Аппаратная)
- Часть 1 (Аппаратная)
- Часть 2 (Серверная)
Серверы, собранные из специально не предназначенных для этого комплектующих, обычно имеют два недостатка. У них отсутствует аппаратный сторожевой таймер и часто не хватает энтропии для ряда сервисов. Нехватка энтропии особенно актуальна для не сильно нагруженных серверов. Это связанно с тем, что ядро Linux в качестве источника энтропии использует активность системы, а именно: сетевого оборудования, дисковой подсистемы и аппаратных прерываний.
Также в домашнем сервере часто возникает необходимость иметь более экономный, по сравнению с Wi-Fi, радиомодуль для связи с автономными датчиками.
Существует большой выбор устройств, с помощью которых можно решить любую из этих проблем, но подключение каждого из них требует отдельный порт. Оценив ситуацию, в итоге решил разработать устройство 3-в-1 подключаемое в RS232 (COM) порт. Остальные требования получились следующими:
- Аппаратный сторожевой таймер, пригодный для работы со стандартным демоном
watchdog
; - Генератор истинно случайных чисел на базе эффекта обратного лавинного пробоя p-n перехода;
- Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.
Таким образом устройство получило наименование WRN от названий составляющих его подсистем: WDT (WatchDog Timer), RNG (Random Number Generator), nRF24L01+.
Тепловизор на платформе Arduino UNO
Предисловие
Шел 6-й семестр обучения, перед нами (т.к. над проектом работали 3 человека) стала серьёзная задача — необходимо сделать аппаратный курсовой проект. Было много различных идей: автопилот для автомобиля, прибор ночного видения и др. Но выбор пал на тепловизор, так как он получался не сильно простым и не сильно затратным. Да и кто не мечтал о своем личном тепловизоре? В данной статье мы расскажем о том, как нам удалось собрать тепловизор с довольно неплохими характеристиками в домашних условиях.
Измерение электроэнергии. Часть 1. Измерение напряжения и тока
Введение
Всем привет! После завершения цикла по датчикам были вопросы различного плана по измерению параметров потребления бытовых и не очень электроприборов. Кто сколько потребляет, как что подключать чтобы измерить, какие бывают тонкости и так далее. Пришло время раскрыть все карты в этой области.
В этом цикле статей мы рассмотрим тему измерения параметров электроэнергии. Этих параметров на самом деле очень даже большое количество, о которых я постараюсь постепенно рассказать небольшими сериями.
Пока в планах три серии:
- Измерение электроэнергии.
- Качество электроэнергии.
- Устройства измерения параметров электроэнергии.
В процессе разбора будем решать те или иные практические задачи на микроконтроллерах до достижения результата. Разумеется, большая часть данного цикла будет посвящена измерению переменного напряжения и может пригодиться всем любителям контролировать электроприборы своего умного дома.
По итогам всего цикла мы изготовим некий умный электросчетчик с выходом в интернет. Совсем отъявленные любители контролировать электроприборы своего умного дома могут оказать посильную помощь в реализации коммуникационной части на базе, например MajorDomo. Сделаем OpenSource умный дом лучше, так сказать.
В этой серии в двух частях мы разберем следующие вопросы:
- Подключение датчиков тока и напряжения в устройствах постоянного тока, а также однофазных и трехфазных цепей переменного тока;
- Измерение действующих значений тока и напряжения;
- Измерение коэффициента мощности;
- Полная, активная и реактивная мощность;
- Потребление электроэнергии;
Подкатом вы найдете ответы на первые два вопроса данного списка. Я намеренно не затрагиваю вопросы точности измерения показателей и с данной серии лишь радуюсь полученным результатам с точностью плюс-минус лапоть. Этому вопросу я обязательно посвящу отдельную статью в третьей серии.
DIY-осциллограф из звуковой карты за $1
Проектов по созданию осциллографов из разного рода аудиокарт немало. Выполнить модификацию карты с тем, чтобы превратить ее в полезный для электронщика инструмент, не так сложно, но зачастую встает вопрос цены. И здесь приходит на помощь интересный вариант с ценой вопроса около 1 доллара США.
Именно столько стоит внешняя звуковая карта, которая изображена на анонсной фотографии. Купить это чудо техники можно на электронной барахолке (во многих городах такие есть), или же на интернет-аукционе, где всегда есть, из чего выбрать. Маркировка текущего девайса — HX2010-0705, выпущен он в конце 2013 года.
Добавляем WiFi к Raspberry Pi всего за $2
Разного рода хаков для мини-ПК Raspberry Pi Zero, вышедшего в тираж пару недель назад довольно много. Правда, пока что большая часть — простенькие приемы, типа впайки WiFi модуля, что и хаком особо назвать нельзя. Сейчас начинают появляться более интересные вещи, среди которых — использование SDIO для добавления WiFi модуля. Причем USB при этом не используется, порт остается функциональным.
Пользователь Hackaday.io с ником ajlitt некоторое время задумался о возможности добавления WiFi модуля к таким платам, как Raspberry Pi A+ и Raspberry Pi Zero. Дело в том, что у Raspberry Pi B+, например, несколько USB портов, и один из них можно без проблем занять соотвествующим WiFi модулем. Но у Zero и A+ портов минимум, и подключать к ним WiFi модуль не всегда представляется возможным. Решение умельца оказалось довольно оригинальным. Дело в том, что у Raspberry Pi есть специальный GPIO-разъем с пинами, и к этому разъему можно подключать различные устройства, в том числе, и SDIO-девайсы. Эту особенность «малинки» и было решено использовать.
STM32F103C8T6 — первые шаги. Продолжаем делать осциллограф
Щелкаем реле правильно: коммутация мощных нагрузок
Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.
Традиционная дилемма здесь — чем, собственно, коммутировать. Как убедились многие на своём печальном опыте, китайские реле не обладают должной надёжностью — при коммутации мощной индуктивной нагрузки контакты сильно искрят, и в один прекрасный момент могут попросту залипнуть. Приходится ставить два реле — второе для подстраховки на размыкание.
Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.
Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:
- Гальваническая развязка входа и нагрузки
- Коммутация индуктивных нагрузок без выбросов тока и напряжения
- Отсутствие значимого тепловыделения даже на максимальной мощности
Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.
Отладка кода Arduino (AVR). Часть 1. Виртуальная отладка
Предисловие
Как известно, среда Arduino (AVR) не содержит функции внутрисхемной отладки, что создаёт большие неудобства при поиске сложных ошибок и сопровождении проектов. Я хочу показать два способа, при помощи которых вы сможете отлаживать свои скетчи разного уровня сложности. Для первого способа вам понадобятся только программы, а для второго нужен недорогой (по сравнению с оригинальным отладчиком) адаптер, который вы можете либо собрать самостоятельно, либо купить готовый.
В общем, ничего нового для тех, кто пользуется отладчиками постоянно, но может быть полезным для пользователей Arduino (AVR).
Беспроводной адаптер для программирования Arduino или AVR с загрузчиком на базе ESP8266
Последнее время при проектировании устройств на микроконтроллерах AVR, для программирования вывожу только один 6-пиновый разъем (не ISP) для FTDI адаптера. Он позволяет и загрузить прошивку, и отладиться по UART после прошивки. Именно так сделано в Arduino, идея позаимствована оттуда. Это удобно.
Тем временем, не раз приходилось сталкиваться с ситуацией, когда нужно загрузить прошивку в микроконтроллер, но он уже в корпусе который не помещается на рабочем месте/лежит на антресоли/в другом городе/замурован в стену. В таких случаях адаптер FTDI не применим из-за короткого USB шнурка и приходилось изворачиваться с ноутбуком. Задумался о беспроводном программаторе. Тут как нельзя лучше подойдет ESP8266, ведь он обладает UART и в любом исполнении имеет хотя бы один GPIO, пригодный для перезагрузки контроллера и входа в режим программирования.
Загрузка скетчей в Arduino через Bluetooth
- Силовые цепи — коммутирование 220В. Одна ошибка в соединении и прощай USB-контроллер любимого ситемного блока.
- Радиочастотные цепи — много наводок по питанию.
- Собранные и где-то закрепленные устройства, которые желательно перепрошивать, но неудобно к ним подлезать.
В интернете можно найти несколько публикаций на эту тему, но все они обрывочны и полностью готового решения нет. Также, несмотря на простоту и очевидность конструкции, имеется несколько маленьких затруднений, которые готовы сорвать всё мероприятие. О том, как их преодолеть, я и хочу рассказать в этой статье.
Espruino: JavaScript в микроконтроллере
«Зачем?», «Что за бред?», «Извращение!», «Фу-фу-фу» — вот некоторые из многих высказываний, которые мы услышали, когда выпустили плату Iskra JS на ядре Espruino.
Зачем
Когда правильный электронщик слышит, что что-то сделано на Arduino, температура его тела поднимается примерно на полградуса: «взяли годный микроконтроллер и вместо того, чтобы фигак-фигак и регистрами выжать из него все соки, опошлили всё на свете… нет слов, одна ненависть».
Но ведь можно пойти ещё дальше. Взять микроконтроллер Cortex M4, который в десятки раз богаче того, что стоит на той же Arduino Uno, запихнуть туда интерпретатор JavaScript и делать проекты на JavaScript!
Думаю, что на этом моменте те, кто не готов к такому надругательству над святыми микросхемами, уже лопнули. Я продолжу для остальных.
Простой расчет контрольной суммы
Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Ученые создали нейросеть, распознающую «пьяные» сообщения в Twitter
Об этом сообщает MIT Technology Review.
Все советские диафильмы оцифруют и выложат в Сеть до конца 2016 года
Думаю, на Geektimes немало тех, кто застал в свое время диафильмы. Я застал, в детстве смотрел их почти каждый день. И хотя многие знал практически наизусть, просматривать эти пленки мне не надоедало. Сделаны эти истории были очень неплохо для своего времени, включая и сюжетную линию, и художественное оформление. Да и с сам процесс подготовки проектора к работе, его прогревание, особенный запах, сама атмосфера просмотра — все это очень нравилось.
Диафильмы, что удивительно, вовсе не умерли с течением времени, и даже телефоны с компьютерами не уничтожили диафильмы, как класс. Напротив, для ПК и телефонов выпускаются программы, которые имитируют демонстрацию диафильмов, показывая оцифрованные версии пленок того времени. А сейчас и вовсе отличный момент поностальгировать — Российская государственная библиотека собирается оцифровать все диафильмы, которые у нее есть. А это, на минуточку — около 16 тысяч пленок.
Об измерении скорости потока жидкостей и газов
Продукция IST — это не масс-маркет, они не выпускают
Среди многообразной продукции IST есть такая интересная штука как flow sensors — датчики скорости потока сплошных сред. Под катом рассказываю как они работают, как выглядят и зачем нужны. Думаю что это будет интересно не только разработчикам расходомеров.
«Давайте отрежем Сусанину ногу?» (с)
— Так, на эту ногу ШИМ, на эту — кнопку, на эти — светодиоды… Оп-па… А ноги-то закончились. Без светодиодов некрасиво, без кнопок нефункционально. Придется брать кристалл пожирнее :(
Или другая ситуация — плата с микроконтроллером запрятана с глаз долой, но жгут проводов до индикатора печальной змеей пронзает недра прибора.
Настало время для укрощения этого кабельно-ножечного монстра путем усекновения лишних ног, и поможет нам в этом
Обзор LiteManager – удаленное управление компьютером
Главное окно программы ROMViewer, только Viewer позволяет подключаться и управлять другими компьютерами.
Простой цифровой термометр/гигрометр на AM2302 (DHT22), ATtiny13 и MAX7219
В данной статье пойдет речь о простом термометре/гигрометре (далее – просто термометре), выполненном на одном из самых «маленьких» микроконтроллеров — ATtiny13 с весьма скромными характеристиками – 1Кб программной памяти, 64 байтами ОЗУ и 5-ю (6-ю, если отключить вывод сброса) интерфейсными выводами. В статье предполагается, что читатель уже немного знаком с микроконтроллерами AVR и их программированием, но статья, в основном, ориентирована на новичков в этой области. Кстати, о языке программирования – программа термометра полностью написана на ассемблере.
Информация
- В рейтинге
- 2 292-й
- Откуда
- Белгород, Белгородская обл., Россия
- Зарегистрирован
- Активность