LINUX.ORG.RU

Arduino. Библиотека для шаговых двигателей.

 


1

7

Вот пол года ковыряюсь на уровне хобби с Arduino. Позавчера решил разобраться с шаговыми двигателями.

На удивление не нашёл ни одной библиотеки удовлетворяющей хотябы двум критериям.

  1. Чтобы работала не через Delay. Это не правильно описал конечно. Чтобы работало не останавливая процесс других вычислений.

  2. Чтобы работало точно. «Вот сказал один оборот точно» - и точно один оборот (первый пункт здесь причём).

«Железную багиню» для поржать приглашу позже.



Последнее исправление: HIS (всего исправлений: 1)

Вот тебе пример, как можно при помощи таймера управлять шаговиком. Интерфейс - тот же стандартный STEP/DIR. Таймер генерирует ШИМ с заполнением 50%, а в прерывании UEV (т.е. после каждого микрошага) вызывается функция, считающая микрошаги и контролирующая разгон/замедление. Мне лень было вводить еще и третью производную, поэтому и разгон, и торможение выполняются равноускоренно.

Все очень просто.

anonymous
()
Ответ на: комментарий от HIS

Блин, если ты такой бред несешь, то точно хреново изучил!!!

Или ты не понял, что такое микрошаг и как можно считать микрошаги при помощи связанных таймеров?

anonymous
()
Ответ на: комментарий от anonymous

если ты не понимаешь что шаг от полушага алгоритмически ни чем не отличается - то ты сам тупой.

HIS
() автор топика
Ответ на: комментарий от HIS

Придурок, если я вместо микрошаг сказал шаг, это не значит еще ничего.

И да, какой, нафиг, полушаг? У тебя есть нормальный драйвер. Значит, там минимум 1/16 возможна. А то и 1/256. Соответственно, тебе нужно 256 импульсов для одного шага!

anonymous
()

Опять тебя куда-то понесло.

Пройди уже по ссылке. И посмотри код. И скажи, что тебе непонятно.

anonymous
()

Если же захочешь более сложный рамп задавать, то придется немножко попотеть.

anonymous
()
Ответ на: комментарий от anonymous

иди в начале изучи схему и принцип работы шаговиков.

Нет там никаких 1/256

есть шаг и полушаг.

Для тебя лично объясняю!

Шаг- это использование одного электромагнита, полушаг - это попеременное использование одного и двух электромагнитов. Мне хватило 5 минут разобраться с этим.

HIS
() автор топика
Последнее исправление: HIS (всего исправлений: 1)
Ответ на: комментарий от HIS

Нет там никаких 1/256

есть шаг и полушаг.

Мама дорогая, какой же ты тупой... Нет никакого полушага! Есть полный шаг. На полушаг ты не сдвинешь вал, т.к. это - неустойчивое положение.

А для смягчения хода все драйвера разбивают шаги на микрошаги. Дробление может быть вплоть до 1/512 (хотя, более новые, возможно, и еще ближе синусоиду интерполируют).

Читай матчасть, прежде чем бред нести!

anonymous
()
Ответ на: комментарий от HIS

Нет, ты - реально какой-то даун… Небось, 30-летнее ожиревшее быдло, ведущее затворнический образ жизни у мамочки. Трындец.

Я ему тут распыляюсь, объясняю, а он, баран сволочной, вообще ничему учиться не хочет… Ну и хрен с тобой, оставайся дебилом.

anonymous
()
Ответ на: комментарий от tyakos

Не надо нам ещё одного марлина. Раздутое глючное ардуиноподелие.

anonymous
()
Ответ на: комментарий от anonymous

та вас анонимусов хрен разберёшь кто моет, а кто нет.

HIS
() автор топика
Ответ на: комментарий от anonymous

Если у тебя плохо с памятью – записывай.

HIS
() автор топика
Последнее исправление: HIS (всего исправлений: 1)
Ответ на: комментарий от HIS

А при чем здесь абдурина или не абдурина? Ты не можешь из кода для другого МК перенести алгоритм работы? Тем более, практически неизменным можно оставить почти все, кроме работы с железом (инициализация и флаги в прерывании таймера).

И кто здесь тупой?

anonymous
()
Ответ на: комментарий от HIS

Ты тут уже столько растекаешься, что давным-давно бы код написал. Пока только лужи газифицируешь.

anonymous
()
Ответ на: комментарий от anonymous

тут тупой ты.

Я говорил что нет нормальных либ под платформу Ардуино.

Ты тулишь здесь ссылку на код под STM32.

HIS
() автор топика
Ответ на: комментарий от anonymous

Так напиши, блеать.

выходные же. А ты кто блеать собственно такой чтобы мне указывать чем и когда мне заниматься.

Срок примерный я указал в теме. Для тугодумов.

HIS
() автор топика
Ответ на: комментарий от anonymous

ну забанься уже… насрал тут…

HIS
() автор топика
Ответ на: комментарий от HIS

Я говорил что нет нормальных либ под платформу Ардуино.

И не будет. Потому что у проекта абдурины нет цели сделать правильно. Там единственная цель - сделать абы как.

anonymous
()
Ответ на: комментарий от HIS

Тогда и делай под нормальный МК, а не говно мамонта! Аврки и пики устарели уже лет 20 назад. Их в наше время только старперы, не способные научиться чему-то новому, используют по инерции!

anonymous
()
Ответ на: комментарий от i-rinat

Создаётся впечатление, что когда ты пишешь мне, на самом деле ты общаешься со своим внутренним «Я».

HIS
() автор топика
Ответ на: комментарий от anonymous

Я вообще про микроконтроллеры только пол года назад узнал (писал об этом выше).

Мне зашло.

HIS
() автор топика
Ответ на: комментарий от i-rinat

ну ещё от Андрю. Говнюк он похлеще тебя.

HIS
() автор топика
Ответ на: комментарий от i-rinat

Твоя беда в том что ты лезешь всех поучать.

Я не просил твоих поучений никогда. А ты лезеш.

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

Если ты жаждиш мне помочь, я могу написать точное ТЗ. Буду очень рад твоей помощи.

HIS
() автор топика
Последнее исправление: HIS (всего исправлений: 2)
Ответ на: комментарий от i-rinat

У моего старшего брата тоже болезнь как и у тебя.

Лезет поучать как нужно делать «правильно», но отдалживать у меня регулярно деньги ему это не мешает.

HIS
() автор топика
Последнее исправление: HIS (всего исправлений: 1)
Ответ на: комментарий от anonymous

Чего?? Ради шаговиков ртось?

Сразу видно молодого кулцхакера который понятия не имеет что такое делать реальные задачи а не играться в игрушки

Ты задачу ТС-а видел? Он кроме управления шаговиком хочет еще заниматься чем-то параллельно.

Да еще и на аврку говнистую? Ты что?

Кто сказал что у него авр? Ардуины так-то не только на аврках бывают но и на арме.

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

Как раз с слипами/дилеями норм вариант.

А вот ты в этом треде что предложил по делу?

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

Красиво написал.

Спасибо.

HIS
() автор топика
Ответ на: комментарий от HIS

Который пока работает - тормозит систему

тогда это скорее «code snippet», просто одна или несколько функций, я бы не назвал это библиотекой, они в реальных проектах вообще зачастую еще и static

Который нужно вызывать в каждом цикле работы контроллера, не тормозит систему

не до конца понял что конкретно имеется ввиду - разверни ответ

Который работает от прерывания таймера. Если не нужно использование для своих специфических нужд таймеры. И тут вообще не нужно будет вызывать обработку в каждом цикле

Возможный вариант. Если таймер достаточно стабильный (юзать внешний?) и если обработчик прерывания не занимает много времени/тактов.

reprimand ★★★★★
()
Ответ на: комментарий от anonymous

Абдуринщики на цепепе пишут!!!

Эх, щас бы на цпп в ембедед писать.

Если много бабок в кармане за железо то сейсас туда втаскивают линукс с пистоном на борту, но упаси б-г цпп.

reprimand ★★★★★
()
Последнее исправление: reprimand (всего исправлений: 1)
Ответ на: комментарий от reprimand

Я много чего по делу предложил, как и второй анонимус. В отличие от тебя.

Любителей совать во все щели ртось надо по рукам лупасить лопатой! Нет такой задачи, что нельзя решить на конечных автоматах. А если все же конечный автомат слишком сложный получается, то лучше подумать о полноценном линуксе и перенести часть функционала на ту же «апельсинку» или «малинку».

anonymous
()
Ответ на: комментарий от reprimand

не до конца понял что конкретно имеется ввиду - разверни ответ

расскажу при личной встрече. Ок?

HIS
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.