avatar
Рейтинг
+11.66
Сила
28.23

Артем

Публикации

Защита от дребезга механического энкодера

На плате отладочной платы RLN Electro имеется энкодер. Удобная штука для навигации, вот только подход к нему несколько иной, нежели к описанному ЗДЕСЬ энкодеру. Ибо механический он, дребезгу подвержен.
Сам дребезг выглядит вот так вот:

Такая вот гадость приносит много радости тому, кто следит за энкодером при помощи прерываний, а не опрашивает его с определенной частотой.

Читать дальше

Форсирование энкодера

С одной стороны, определение направления вращения энкодера является достаточно простой задачей. Многие ссылки в интернете говорят нам о том, что «Каждый раз, когда сигнал А переходит от положительного уровня к нулю, мы считываем значение выхода В. Если В в этот момент находится в положительном состоянии, значит энкодер вращается по часовой стрелке, если В нуль, то энкодер вращается против часовой стрелки.»
Да, это верно для энкодеров а ля «потенциометр», используемых на приборной панели, однако при применении энкодера в качестве датчика вращения так небрежно относиться к данным с него — непозволительная роскошь.

Читать дальше

Организация диспетчера задач посредством указателей на функции

Дисклеймер: Этот код я написал больше двух лет назад, когда решил написать новый вариант своей системы МенюОС, чтобы применить ее в одном проекте. Проект не был реализован, а старой менюОС вполне хватает до сих пор. За исключением одного НО: для проекта, имеющего помимо пары запускаемых из меню приложений еще некоторые фоновые функции, МенюОС становится эталоном быдлокодинга и частоколом из костылей.

Понадобилось мне организовать изменяемый список задач, которые необходимо запускать через определенные промежутки времени. И тут я вспомнил про тот самый старый проект. Открыл, и был слегка удивлен — для кода того времени функции оказались настолько абстрагированы друг от друга, что без изменения запустились и заработали на новом месте. Ну а поскольку менюОС я распространяю под LGPL, то публикую код здесь.

Читать дальше

Работа с RLN Electro в AVR Studio без программатора

Дисклеймер: Не факт что я открою что-то новое в этой статье, но этот метод в русскоязычных интернетах мне не попадался, хотя я в них я особо и не ищу :)

Все-таки, полезная штука этот AVR Studio 5. И код написать позволит, и подсветку сделает, и дополнительные тулзы подключит. Собственно о том, как я обычно работаю с отладочной платой RLN Electro (да и не только с ней) речь и пойдет.

Задача такая — есть устройство с USB-подключением к компьютеру и надо наладить загрузку прошивки через последовательный порт.

«В чем проблема?»,- Спросите вы? Берем бутлоадер, зашиваем его в камень, берем avrdude, пишем команду в консоли, или используем некую графическую оболочку, да и дело с концом. Ну да, только AVR studio предлагает все это слегка автоматизировать.

Читать дальше

Отладочная плата RLN Electro Ethernet

Блог проекта RLN Electro Ethernet
RLN Electro EthernetДисклеймлер: Не смотря на повсеместное использование контроллеров STM32, 8-разрядные контроллеры AVR все еще в строю и прочно держат свою нишу встраиваемых устройств малой и средней производительности.

Вступление: Разрабатывая тот или иной контроллер автоматики, мне постоянно требуются два инструмента для работы — меня любимая МенюОС, с помощью которой я создаю нужный мне пользовательский интерфейс настройки, и, собственно. контроллер с кнопками и дисплеем, на котором все это дело приходится отлаживать. Добавляем сюда пару интерфейсов вроде RS-232 и RS-485, подключаем датчик тока (позиционный электропривод — наше все) и прикручиваем Ethernet — толку от SCADA-систем без Ethernet мало… Не забываем о том, что пайка мало того, что дело вредное, паяльника под рукой может не оказаться… Смешав все в кучу, получаем вот такую вот интересную отладочную плату.
По образованию я инженер-электрик, отсюда и название — Отладочная плата электрика

Читать дальше