цифровая электроника
вычислительная техника
встраиваемые системы

 



STM32 управляет RGB-светодиодами WS2812

Автор: Mike(admin) от 24-11-2013, 17:12

Если вам нравятся светодиоды, особенно RGB, то возможно вы встречались со светодиодами WS2812. Они очень яркие, компактные и дешевые. Эти устройства могут быть соединены друг с другом в бесконечную ленту (если, конечно, хватит питания), поэтому они идеально подходят для создания больших RGB-экранов и матриц.


WS2812

Но помимо преимуществ у этих светодиодов есть и недостаток: цифровой интерфейс, предназначенный для управления ими, является нестандартным. Этот интерфейс предполагает передачу данных на частоте 800 КГц (1.25 мкс на бит) с различным периодом импульсов, определяющим «0» или «1».

FT230X: функция обнаружения зарядного устройства

Автор: Mike(admin) от 19-11-2013, 08:26

Многие знают микросхему FT232RL, ее применяют в качестве моста USB-UART. Но у нее имеется младшая сестра FT230X, которая не только дешевле, но и имеет интересную функцию обнаружения USB-зарядного устройства. И один заинтересовавшийся ею товарищ под ником Baoshi провел исследования в этой области, поскольку хотел, чтобы его новое устройство питалось от USB и/или от аккумулятора.


FT230X

Проектирование устройства с питанием от USB не тривиальная задача, потому что:


1. Если устройство нуждается в более 100 мА тока, оно сможет получить этот ток только после запроса хоста во время инициализации USB. Некоторые USB-хосты в состоянии обеспечить максимум 100 мА. Поэтому устройство должно быть достаточно умно для того, чтобы уметь определять тип хоста.


2. Следует учитывать ограничение тока в спящем режиме.


3. Если хочется, чтобы устройство работало автономно без ПК, то оно должно быть способно получать питание от «тупых» хостов, таких как USB-зарядники.


Положение 3 конфликтует с положениями 1 и 2, потому что USB-зарядник не может быть проинициализирован и не предусматривает спящего режима. Вот почему функция определения USB-ЗУ в микросхеме FT230XS так интересна. Но необходимы испытания…

Встроенные функции в C и C++

Автор: Mike(admin) от 14-11-2013, 14:16

Замена вызова функции копией кода этой функции может представлять собой эффективное решение при оптимизации, особенно если скорость выполнения программы является приоритетной целью. Ниже будет рассмотрено, как работает принцип встраивания функций, когда это может быть эффективно и как это может выполняться автоматически в C и C++.


Основы принципа встраивания функций


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


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



Wi-Fi для встраиваемых приложений Интернета вещей

Автор: Mike(admin) от 10-11-2013, 12:00

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


Умный дом

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

Защита от короткого замыкания на основе MOSFET-транзистора

Автор: Mike(admin) от 3-11-2013, 14:47

Если у вас имеется устройство, в котором для переключения нагрузки применяется полевой транзистор (MOSFET), то вы можете без труда добавить в такое устройство защиту от короткого замыкания или защиту от перегрузки. В данном случае мы будем использовать внутреннее сопротивление RSD, на котором образуется падение напряжения, пропорциональное току, протекающему через MOSFET.


Схема>>

Неудачный опыт работы с бесколлекторным двигателем

Автор: Mike(admin) от 25-10-2013, 15:58

Майкл Кон (Michael Kohn) решил попрактиковать "не слишком" тёмную магию управления бесколлекторным двигателем. Первым делом он хотел понять, как управлять трехпроводным двигателем, когда он ожидал увидеть в нем только два провода. Ему нужно было придумать механизм переключения, при котором на каждый провод приходилось бы по три состояния: положительный полюс, отрицательный полюс и «не подключено». Он принял решение использовать MOSFET-транзисторы. Это хорошая идея, но к сожалению те транзисторы, которыми он располагал, не подходили по характеристикам, и во время испытаний один из них взорвался, как показано на видео ниже.



Найдя более мощные транзисторы Майкл продолжил испытания, которые закончились небольшим пожаром. Дело в том, что провода калибра AWG 22, соединенные с литиевым аккумулятором не смогли справиться с нагрузкой. Огонь и паника показаны на видео ниже.

Домашняя автоматизация с Raspberry Pi и Z-Wave

Автор: Mike(admin) от 22-10-2013, 14:09

Кристиан Затинаил (Cristian Zatonyl) разработал собственную систему домашней автоматики на основе Raspberry Pi и устройств Z-Wave. Руководство, с помощью которого можно, создать подобную систему он выложил в сети.


Raspberry Pi

Итак...


Нам потребуется:

Программирование на языке C: оптимизация типа integer

Автор: Mike(admin) от 19-10-2013, 12:49

Инженер Фабьен ле Ментек (Fabien le Mentec) привел небольшое исследование, позволяющее лучше оптимизировать работу 8-разрядных контроллеров. Он работал над регулятором напряжения на основе 8-разрядного микроконтроллера ATMEGA328P фирмы ATMEL. Основная логика контроллера была реализована в главной функции main() и зависела от периодического таймера, функционирующего с фиксированной частотой. В обработчике прерывания по таймеру инкрементировалась переменная-счетчик, которая затем использовалась в основной программе для правильной в плане синхронизации работы контроллера напряжения.


тип integer

Посмотрев на код Фабьена, один интересующийся человек отметил, что в этом коде для счетчиков используется тип uint8_t вместо unsigned int, и сказал, что с этим могут возникнуть трудности в рамках данного проекта. Но Фабьен пояснил причины и последствия такого решения.

Символьный ЖК-дисплей способен на большее

Автор: Mike(admin) от 17-10-2013, 07:13

Товарищ под ником Art сделал программирование символьных ЖК-дисплеев настоящим искусством. Для своих экспериментов он взял дисплей с контроллером Hitachi HD44780. Обычно подобные дисплеи используются для индикации информации в виде букв и цифр. Но Art пошел дальше. Он написал графическую библиотеку с двойной буферизацией, с помощью которой теперь можно заставить символьные ЖК-дисплеи проделывать трюки, присущие графическим дисплеям. Еще одним интересным моментом является то, что все это работает под управлением запрограммированного на PICBASIC микроконтроллера PIC16F628A компании Microchip.



Еще видео (с музыкальным сопровождением):

Источник питания для Paspberry Pi, собранный из мусора

Автор: Mike(admin) от 14-10-2013, 08:01

Умелец Марк Харрингтон (Mark Harrington) смог собрать надежный одноамперный источник питания для своего Raspberry Pi. Причем он собрал его на основе компонентов, выпаянных со старых печатных плат, выброшенных плат для телевизоров и принтеров.


На такой шаг его побудило то, что Raspberry Pi потребляет более 800 мА, и при работе практически всех модулей токопотребление доходит до 1 А. При этом его не удовлетворяло качество источников питания для мобильных телефонов, которые можно купить в магазине. В итоге он решил сделать свой источник.


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


В итоге получилась такая печатная плата (список компонентов приведен на рисунке):


источник питания для Paspberry Pi

Принципиальная схема: