avatar
Рейтинг
+12.88
Сила
31.64

Артем

Публикации

Метод линеаризации нелинейных звеньев

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

Продолжу делаться секретами ТАУ. На этот раз вопрос коснется линеаризации. Очень часто два параметра связаны между собой нелинейной зависимостью. Гиперболической, параболической, логарифмической и т. п. Это очень неудобно при ведении расчетов. К примеру, у нас имеется энкодер на выходе которого серия импульсов. Частота вращения энкодера обратно-пропорциональна периоду следования импульсов. Общая задача — получить обратную связь по скорости. Вся шкала от 0 до 100% должна получиться относительно линейной, дабы впоследствии обеспечить стабилизацию скорости.
По катом графики из Calca, много воды и капелька теории:

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

Цифровой задатчик интенсивности

При разработке механизмов движения, иногда, требуется обеспечить постоянство характеристик разгона и торможения. Другим словом необходимо обеспечить постоянные ускорения.

Предположим, что у нас имеется электропривод, у которого скорость и ускорение задаются в процентах: от 0 до 100% скорости и от 0 до 100% достижения этой скорости в секунду. Немного теории и никакой практики под катом.


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

Мостовой драйвер L6201-L6203

Компоненты
Если нужно легко и просто запитать мощный двигатель постоянного тока при помощи ШИМ, то одно из решений — использовать интегральный мостовой драйвер.
Микросхема L6201-L6203 представляет собой мост на базе MOSFET с драйверами и обвязкой по питанию.

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

Вывод информации на семисегментный индикатор

Задача вывода на семисегментный индикатор относительно нетривиальна.
Я поставил перед собой следующую задачу по выводу на семисегментный индикатор:
  • Оформить библиотеку в отдельный класс;
  • Дать возможность самостоятельного выбора базы выводимого числа;
  • Дать подсветку точки;

Есть парочка недочетов в моем решении, но обо всем прошу под кат

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

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

На плате отладочной платы 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 мало… Не забываем о том, что пайка мало того, что дело вредное, паяльника под рукой может не оказаться… Смешав все в кучу, получаем вот такую вот интересную отладочную плату.
По образованию я инженер-электрик, отсюда и название — Отладочная плата электрика

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