Как стать автором
Обновить
188
0
DataArt @DataArt

Пользователь

Отправить сообщение

От S.T.A.L.K.E.R. и «Казаков» до Cyberpunk-2077, или Что можно выжать из компьютерного корпуса объемом 3,3 литра

Время на прочтение 3 мин
Количество просмотров 10K

Я увлекаюсь сборкой ПК в корпусах маленького формата SFF (small form factor) с 2018 года. Хобби отлично помогает отвлечься от рабочей рутины, потому что при скромных объемах нужно учитывать массу параметров — не только, скажем, мощность процессора и размеры материнской платы, но даже толщину оплетки кабелей питания. Иногда приходится выбирать, чем пожертвовать, чтобы установить дополнительный крохотный вентилятор для улучшения продуваемости.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 22

Генерируем произвольные последовательности на выводах платы Raspberry Pi

Время на прочтение 18 мин
Количество просмотров 17K


Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома.

В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.

Когда речь заходит о необходимости сгенерировать сложную последовательность импульсов, например, для шаговых двигателей, обычно используют старые добрые простенькие микроконтроллеры с установленной специальной операционной системой реального времени или вообще без операционной системы. Реализация при этом, в лучшем случае, написана на C++. Сейчас процессоры шагнули далеко вперед и имеют массу преимуществ: производительность, возможность использования операционной системы Linux со всей инфраструктурой и ПО, а также высокоуровневых языков программирования, таких как Python. И все же современные микроконтроллеры для генерирования сложных последовательностей на выводах GPIO, как правило, не используют.

Я реализовал генерацию импульсов для управления шаговыми двигателями проекта PyCNC — проекта контроллера машин с ЧПУ, станков, 3D-принтеров, полностью написанного на Python и запускаемого на современном ARM-процессоре на плате Raspberry Pi.

Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров.
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 22

Информация

В рейтинге
Не участвует
Откуда
США
Дата рождения
Зарегистрирован
Активность