Страница 1 из 1

Raspberry pi 3b

Добавлено: Пт дек 24, 2021 07:52:04
Al0ner
День добрый, помогите разобраться с проблеммой, на малине сделал цикл чтобы на гпио 12 выдавался импульс 50мс потом ожидание 50мс, импульсы выдаются, но в какой то момент бывают неровными, что вижу на осциллографе, вопрос как сделать чтобы импульсы были ровными, из идей пока только использовать хардварный шим, но как им выдавать определенное колличество периодов?
Изображение

Re: Raspberry pi 3b

Добавлено: Пт дек 24, 2021 09:59:25
oleg110592
Генерируем произвольные последовательности на выводах платы Raspberry Pi
https://habr.com/ru/company/dataart/blog/330536/

Re: Raspberry pi 3b

Добавлено: Вс дек 26, 2021 22:22:34
Al0ner
[uquote="oleg110592",url="/forum/viewtopic.php?p=4147198#p4147198"]Генерируем произвольные последовательности на выводах платы Raspberry Pi
https://habr.com/ru/company/dataart/blog/330536/[/uquote]
Спасибо за ссылку, многое объясняет, но почему то там отсутствует сам код по которому ведутся объяснения

Re: Raspberry pi 3b

Добавлено: Пн дек 27, 2021 09:17:08
oleg110592
В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.
ссылка на код есть в видео на ютубе, продублирую:
https://github.com/Nikolay-Kha/PyCNC

Re: Raspberry pi 3b

Добавлено: Пн дек 27, 2021 09:35:48
Eddy_Em
Варианта два: либо попробовать заморочиться с RT-патчами (таки линукс - не рилтайм, стоит это помнить!), либо для рилтайма поставить еще микроконтроллер хоть самый простецкий.
использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени
Это как микроскопом орехи колоть! Да и замучаешься буфер готовить: скажем, нужно, чтобы шаговик при делении шага 1:128 сделал 5000 шагов. Для этого нужно отправить больше миллиона импульсов на драйвер. Готовить такой буфер для DMA? Ну, нифига ж себе…