Search
Write a publication
Pull to refresh
187
0
DataArt @DataArt

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

Send message

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

Reading time3 min
Views11K

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

Читать далее

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

Reading time18 min
Views19K


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

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

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

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

Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров.

Information

Rating
Does not participate
Location
США
Date of birth
Registered
Activity