суббота, 25 июня 2011 г.

LPCXpresso - первые впечатления.

Наконец руки дошли попробовать плату LPCXpresso. Скачал и установил бесплатную среду программирования CodeRed. По сути тот же Eclipse, только несколько доработанный. Вызвало недовольство только необходимость регистрации на официальном сайте для скачивания среды, а потом еще и ее активации. Дальше все поставилось без проблем.
Принцип работы с CodeRed практически совпадает с Atollic от STMicroelectronics. Но CodeRed в целом и его доработки под LPCXpresso понравились больше.
На моей LPCXpresso установлен процессор LPC1114. При выборе в IDE дополнительно необходимо указывать версию, в моем случае 302. По структуре данный процессор относится к семейству Cortex-M0, что делает его более простым по сравнению с STM32. Еще больше упрощает работу наличие большого числа библиотек, и примеров в стандартной поставке. Например библиотека gpio содержит "человеческие" функции работы с портами. Ее использование позволяет обойтись без страшных выражений на языке С. Конечно, это только мнение человека, привыкшего к ассемблеру и паскалю, но мне так программировать приятнее. Хотя конечно все равно потребуется изучать регистры и структуру процессора.
Единственной проблемой с Codered оказалось что он не понимает русских букв в названии папок. Но это не особо проблемно.

суббота, 4 июня 2011 г.

Применение микроконтроллеров STM32.

Одним из самых интересных применений микроконтроллеров STM32 стал проект квадрокоптера "Крэйзикоптер"с сайта http://www.daedalus.nu/category/crazycopter/crazyflie/. Для тех кто не в курсе, квадрокоптер это маленькая модель вертолета с четырьмя несущими винтами и соответственно четырьмя двигателями. Особенностью полета подобных устройств является невозможность достижения устойчивой траектории без применения дополнительных технических средств. В данном проекте использованы два гироскопа и акселерометр. Их задача - удержать вертолет на месте в горизонтальном положении, при отсутствии сигналов с пульта управления.

Подобных этому проектов, сегодня существует великое множество. Главная уникальность "Крэйзикоптера" - очень маленькие размеры. Вся конструкция с легкостью умещается на ладони. Ее сердцем является микроконтроллер серии STM32F103, обрабатывающий сигналы с датчиков и регулирующий обороты двигателей. Управление полетом выполняется через модули 2.4ГГц nRF24L01.

В проекте задействовано множество возможностей STM32. В частности используются АЦП, интерфейсы SPI и I2C. К сожалению на сайте не выложены ни печатная плата, ни прошивки процессора. Соблазн построить точно такое же устройство очень велик, но пока решиться на полностью самостоятельное изготовление не могу.