Pull to refresh
188
0
DataArt @DataArt

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

Send message

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

Reading time3 min
Views10K

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

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments22

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

Reading time18 min
Views18K


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

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

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

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

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

Information

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