Однажды ко мне попал нерабочий лазерный датчик расстояния Keyence LK-G407. Мало того, что он был нерабочий, так его еще и нельзя было использовать без специального управляющего блока. Но ведь у датчика такие интересные характеристики: измерение расстояния с точностью до единиц микрон, и скорость работы — 50 килоизмерений/с. Так что, чтобы запустить его, придется заметно поковыряться в самом датчике, заодно и ценный опыт получить.
Читать полностью »
Рубрика «программирование микроконтроллеров» - 94
Реверс-инжиниринг лазерного датчика расстояния
2016-04-04 в 5:36, admin, рубрики: fpga, Keyence, Spartan, xilinx, лазерный дальномер, ПЛИС, программирование микроконтроллеров, реверс-инжинирингМатематика на пальцах: ардуино головного мозга или линейно-квадратичный регулятор для управлением электродвигателем
2016-04-02 в 20:40, admin, рубрики: c++, lqr, Алгоритмы, ардуино головного мозга, линейно-квадратичный регулятор, математика, математика на пальцах, метод наименьших квадратов, программирование микроконтроллеров, Разработка робототехникиПостановка задачи: как со школьными знаниями дойти до выводов университетского уровня
Эта статья предполагает, что вы прочли мои статьи (ну или и без того знаете) про методы наименьших квадратов и про линейно-квадратичный регулятор.
Как я уже говорил в предыдущих статьях, мои знакомые студенты хотят построить обратный маятник, но умаялись подбирать коэффициенты ПИД-регулятора, поэтому я неспешно смотрю, что такое линейно-квадратичный регулятор, ну а заодно и вам пересказываю то, что прочитал. Задача для этой статьи — показать, как воплотить в железе одномерный пример из статьи про линейно-квадратичный регулятор. Грубо говоря, я хочу написать написать управление для сервомотора: у меня есть текущее положение оси привода и текущая скорость её вращения, я хочу её остановить в заданном положении. Я попытался было прочитать схожую статью на эту тему, но, признаться, ничего в ней не понял, поэтому сел разбираться самостоятельно, предпочтительно на пальцах и без страшных слов типа дифференциальных уравнений Лагранжа-Эйлера.
Продолжая рабочий эксгибиционизм, знакомлю вас с Bubble Bobble, который живёт у нас с коллегой в кабинете. Он рецензирует статьи для конференции SIGGRAPH.
Я покажу тебе мир без STM32
2016-03-29 в 14:28, admin, рубрики: atmel, ftdi, Infineon, Silicon Labs, Wiznet, Блог компании ЭФО, программирование микроконтроллеров, продам микроконтроллер, Промышленное программирование, разработка, Разработка для интернета вещейКомпания ЭФО перезапускает сайт myMCU.ru — портал для параметрического поиска микроконтроллеров и сопутствующих решений.
Мы внимательно изучили ассортимент ведущих производителей микроконтроллеров и составили единую базу микросхем, отладочных плат и программных средств разработки. Сегодня расскажем о том, как создавался сайт и какие проблемы пришлось решить, чтобы объединить самые разные контроллеры в единую базу для поиска и сохранить подробные описания для каждой микросхемы.
Статья будет интересна в первую очередь разработчикам встраиваемых систем — речь пойдет о проблемах выбора аппаратных платформ, а не об идеальных веб-интерфейсах и этом вашем юзабилити.
Ферроэлектрическая (сегнетоэлектрическая) память и электронные чернила — идеальное сочетание для батарейного питания
2016-03-22 в 11:33, admin, рубрики: e-ink, e-paper, msp430, open source, автономное питание, Программирование, программирование микроконтроллеров, сегнетоэлектрическая память, ферроэлектрическая памятьКогда Texas Instruments оснастил свою знаменитую низким энергопотреблением серию MSP430 ферроэлектрической памятью, работать с ней стало еще легче и приятней, ведь такая память совмещает преимущества флэша и оперативной памяти. А новые лончпады с сегментным индикатором — просто готовая платформа для какой нибудь домашней автоматизации. А что если нужен графический дисплей? Тут на помощь приходят электронные чернила, ведь они потребляют энергию только при обновлении и способны годами радовать красивой контрастной картинкой, питаясь от одного комплекта батарей. Если вам интересен опыт программирования подобного устройства — добро пожаловать под кат. Я расскажу о том, что такое ферроэлектрическая память, и зачем она нужна, как добиться максимально низкого энергопотребления и получить красивую картинку на электронной бумаге и при этом воспользоваться на техасе кодом, написанным под ардуино.
Портирование FreeModbus 1.5 под STM32 HAL rs485 без RTOS
2016-03-21 в 7:53, admin, рубрики: C, freemodbus, modbus, stm32, программирование микроконтроллеров, метки: freemodbusС недавних пор я начал заниматься встраиваемыми системами и докатился до программирования микроконтроллеров, а именно STM32F373. Одной из задач было развернуть Modbus Slave RTU поверх интерфейса rs485.
Поскольку сроки поджимали было принято решение взять что-нибудь готовое, чем я и занялся. Недолгое гугление навело меня на библиотеку FreeModbus, а вот тут началась боль с которой, я надеюсь, вы не столкнетесь.
Читать полностью »
«Весёлый повар» на FBD шаг за шагом
2016-03-18 в 7:01, admin, рубрики: Квинт, ненормальное программирование, программирование для начинающих, программирование микроконтроллеров, ПТКПриветствую всех.
Предыдущие статьи были о небольших проектах, сделанных по одному и тому же принципу:
- предложенная идея продумывалась в течение некоторого времени;
- общая задача разбивалась на несколько крупных блоков;
- каждый блок продумывался на предмет того, какие у него будут входные данные, какие выходные и как он должен эти данные обрабатывать;
- потом, когда все проблемы в уме были решены, быстро накидывалась сама программа;
- во время отладки правились незначительные ошибки и вносились небольшие коррективы;
- в конце прикручивалась графика и все готово.
Но при этом в конечной программе часть решений была не очевидна. Кроме того, имея перед глазами схему из пары десятков блоков, сложно сразу сообразить, что, как и для чего используется. Поэтому в данном примере будет применен несколько другой подход. Я постараюсь просто и наглядно показать, как сделать простейшую программу шаг за шагом, затратив при этом минимум времени и усилий. И заодно подробно прокомментирую каждый шаг.
В качестве примера была выбрана игра «Электроника ИМ-04 — Веселый повар».
Под катом описание по шагам, как написать эту игрушку на языке программирования FBD.
Читать полностью »
Ипользование SPI Flash памяти дисплея для хранения графических ресурсов или дисплей домашней метеостанции
2016-03-17 в 7:51, admin, рубрики: arduino, diy или сделай сам, Программирование, программирование микроконтроллеров Данная статья призвана рассказать о возможности использования имеющейся на борту дисплея Flash памяти для нужд проекта.
Для кого это актуально или просто интересно — добро пожаловать под кат.Читать полностью »
ARM: GNU AS: Проект: Среда для программирования на ассемблере (Самодел на Delphi)
2016-03-15 в 6:20, admin, рубрики: Delphi, GNU AS, программирование микроконтроллеров, метки: gnu asНачиная программировать на языке ассемблера для микроконтроллеров ARMпервое, с чем вы столкнетесь — это отсутствие какой либо среды для программирования (c первым проектом, программами для компиляции и сборки я уже разбирался). Причем бытует мнение, что для ассемблера ничего кроме блокнота и не нужно (максимум, «для гурманов» сообщество предложит использовать редактор с подсветкой кода). И этот подход в принципе имеет место быть — ровно на столько, на сколько удобно писать программы на С++ в блокноте — то есть до того момента, как вы перейдете от программ «Hello, Word» к чему то более сложному.
Некоторое время назад я высказал предложение о необходимости написания среды разработки (или хотя бы редактора) для программ на ассемблере, но в ответ не услышал ничего. Значит, нужно написать среду самому. Понятно, что это не будет уровень современных сред программирования, над которыми трудятся целые коллективы разработчиков (да и опыта у них намного больше чем у меня), но я и не ставлю цель конкурировать с ними по «навороченности» — мне всего лишь нужна среда для комфортного программирования на ассемблере.
Если вам нужно тоже самое и нужно именно «ехать, а не шашечки» — тогда добро пожаловать под кат.
Читать полностью »
Custom floating point format on FPGA
2016-03-14 в 17:00, admin, рубрики: Altera, floating point, fpga, fpga/asic, open source, vhdl, xilinx, Алгоритмы, математика, программирование микроконтроллеровВсем привет!
В данной статье речь пойдет о числах в формате с плавающей точкой и в частности о реализации специализированного формата FP23 на программируемых логических интегральных схемах (ПЛИС). В рамках конкретного проекта у меня родилась мысль реализовать оптимальный для определенных нужд формат данных с плавающей точкой. В итоге эта мысль переросла в реальный проект, который впоследствии нашел применение в некоторых интересных задачах цифровой обработки сигналов. В статье рассмотрены основные сложности при реализации формата данных floating point на ПЛИС Xilinx, рассмотрены базовые математические операции в формате FP23. Также в конце статьи вы можете найти исходный код проекта, которой можно свободно использовать в своих задачах или на его основе реализовать похожие форматы данных.
Замена аналоговой регулировки на цифровую в лабораторном блоке питания HY3005D
2016-03-11 в 6:51, admin, рубрики: microchip, microcontrollers, pic16, Блок питания, Железо, Программирование, программирование микроконтроллеров, Производство и разработка электроники В статье пойдет речь о замене штатных потенциометров на механические энкодеры EC11 (накапливающие датчики угла поворота) в блоке питания Mastech HY3005D с использованием микроконтроллера PIC16F1829 и сдвигового регистра 74HC595 реализующей ЦАП на резисторной матрице R2R
Читать полностью »