Страница 1 из 2
Надо написать библиотеку для atmega под шаговый двигатель
Добавлено: Пн ноя 11, 2019 15:55:55
serikaikido
Надо написать библиотеку для atmega под шаговый двигатель , начал думать как чо делать , и у меня встал вопрос , по опросу кнопок , если делать например по таймеру , то этоже повлияет на роботу шаговика или я ошибаюсь? Та и между шагами двигателя делать по таймеру лутче , или обычными _delay_ms ?
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 16:48:04
Ivanoff-iv
задавайте вопрос правильно: что вы хотите от шаговика?
на ваш текущий вопрос я могу ответить только: если делать грамотно, то не повлияет...
делай_мс стараюсь не применять и то только в обоснованных случаях...
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:07:33
serikaikido
Мне нужно управление шаговиком , направление движения задавать, вперёд назад . Что вы имеете ввиду про грамотно?
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:24:44
Ivanoff-iv
грамотно - это наиболее рационально задействовав ресурсы мк...
—————
какой мотор (со средней точкой или без)?
какая точность позиционирования: шаг/полушаг/более точное? мин—макс частота шагов? если он используется как ШД
или какая минимальная и максимальная скорость вращения если как двигатель?
функционал кнопок?
—————
от этих параметров зависит и настройка периферии (таймеров) и выбор метода генерации...
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:26:45
ЭлектроKOT
[uquote="serikaikido",url="/forum/viewtopic.php?p=3734792#p3734792"]Что вы имеете ввиду про грамотно?[/uquote]Сначала хоть немного ознакомиться с уже написанными библиотеками. Может и не понадобится вымучивать еще один "велосипед".
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:30:43
Eddy_Em
Берем один таймер. Им генерим ШИМ. Этот ШИМ поступает на вход драйвера ШД и задает микрошаги.
Т.к. шаговики вращаются жутко медленно, никаких связанных таймеров не понадобится. Просто в прерывании UEV инкрементируем счетчик микрошагов и проверяем - сколько шагов в итоге сделал двигатель. Как только ШД подошел к цели за N шагов, начинаем уменьшать период таймера, чтобы движок замедлялся. Аналогично первые N шагов увеличиваем период с некоего минимального до нужной скорости - чтобы двигатель не пропускал шаги при разгоне.
Никакие кнопки на это влиять не будут, т.к. опрос кнопок никто по прерыванию не делает - смысла нет.
В любом случае, ШД движется настолько медленно, что можно не париться, если посреди прерывания таймера ШД, которое почему-то будет иметь меньший приоритет, что-то еще произойдет. Даже на самой медленной тактовой частоте в 48МГц и дроблении шага аж на 16 самый крутой шаговик потребует на максимальной скорости не больше 8кГц тактовых импульсов. Т.е. между импульсами будет аж 6000 тактов на всякие прочие дела!
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:39:55
Ivanoff-iv
далеко не каждая мега 48МГц осилит... да и драйвер шаговика может состоять только из усилителя - в этом случае понятия шаг для него не существует...
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:42:37
serikaikido
Со средней точкой , хочется реализовать чтобы был выбор скорости вращения , впринципе особой надобности в шаг полушаг нету .
Меня просто заинтересовало если шаговик тянет клинику например , и каждое определённое время таймер счётчик прерывает , разве шаговик не будет заикаться ? Собираюсь делать устройство что-то типа сканера надо от мотора чтоб тоскал каретку на указанные места .
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 17:54:52
Ivanoff-iv
поэтому стоит использовать тот счетчик, который не будет сбиваться и заикаться...
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 18:11:55
Eddy_Em
И вместо динозаврьего помета стоит взять современный микроконтроллер!
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Пн ноя 11, 2019 18:42:06
Ivanoff-iv
для контроллера шаговика не то что меги8, даже тини2313 хватит за глаза... а скорее всего даже и тини13 хватит... но мы туда интелкоретудуайпоследний поставим...
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 18:45:47
АлександрЛ
[uquote="serikaikido",url="/forum/viewtopic.php?p=3734792#p3734792"]Мне нужно управление шаговиком , направление движения задавать, вперёд назад .[/uquote]У "драйвера шагового двигателя", хоть вот такого:
Спойлер

хоть такого:
Спойлер

есть два (основных) входных сигнала - "STEP" и "DIR" - "шаг" и "направление вращения", и ничего там выдумывать не надо, работа с этими командами в библиотеках МК ЕСТЬ..
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 18:49:37
serikaikido
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3734821#p3734821"]далеко не каждая мега 48МГц осилит... да и драйвер шаговика может состоять только из усилителя - в этом случае понятия шаг для него не существует...
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)[/uquote]
Так и есть у меня просто шаговик и uln2003 , а вот с кнопками есть вопрос я хотел поставить оптодпчики на конец и начало корпуса , для переключения направления движения , когда их опрашивать ? По внутренним программным событиям ?
Добавлено after 1 minute 31 second:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3734845#p3734845"]И вместо динозаврьего помета стоит взять современный микроконтроллер![/uquote]
Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Пн ноя 11, 2019 18:58:12
Ivanoff-iv
но всёже... какие скорости?
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Пн ноя 11, 2019 19:39:51
serikaikido
Максимум я добился от шаговика я 2500 микросекунд за шаг , но особо скорость не важна , но как говорится чем больше тем лутче
Добавлено after 1 minute 20 seconds:
Re: Надо написать библиотеку для atmega под шаговый двигатель
Это скорость задержки между шагами если что
Re: Котяки , я знаю вы тут оч умные , так что подскажете по
Добавлено: Пн ноя 11, 2019 21:00:27
Eddy_Em
[uquote="serikaikido",url="/forum/viewtopic.php?p=3734873#p3734873"]Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет[/uquote]
Бред-то какой! Это с какого такого времени 60 рублей стало дешевле 30? Да и тупо STM - это полноценный арм, а не то говно, что авр подсовывает...
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Пн ноя 11, 2019 21:18:42
mickbell
Хороша пушка, но уж больно мелкие воробьи. МК надо подбирать под задачу. STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
Первое, что я реализовал на МП К580ИК80 ("аналог" i8080) - именно управление ШД. Какие АРМы...
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Пн ноя 11, 2019 21:21:37
Ivanoff-iv
я то и спрашивал про управление (но ответа так и не получил)
если нажатие = шаг, то таймеры вообще не нужны... просто в прерыввнии кнопки переключаем порт, и всё...
если нажатие = изменение скорости, то без таймера уже не обойтись...
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Вт ноя 12, 2019 07:12:01
Eddy_Em
mickbell писал(а):STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
А что здесь необычного? Особенно если взять МК в 20-ногом корпусе. Или даже BGA — это еще меньше места на плате займет…
Ценовую составляющую рассматривать смысла нет: дешевле STM32 только STM8 или какие-то уж совсем дикие китайцы по червонцу за штучку.
Лично я рассматриваю STM32F072 как основу для разработки новых контроллеров ШД: подумаешь, что из 48 ног даже половина не будет использоваться! Зато я смогу подключить туда при необходимости квадратурный энкодер, а "общение" контроллеров между собой будет происходить по CAN-шине. И к любому из контроллеров на шине можно будет подключиться по USB и работать.
Re: Надо написать библиотеку для atmega под шаговый двигател
Добавлено: Вт ноя 12, 2019 13:55:42
mickbell
Угу. Выбор элементной базы прямо-таки требует набить простой девайсик всякими фичами, фичками и фичечками.

Да я не критикую. Каждый др... делает, как он хочет, такой подход тоже правильный. Квадратурный энкодер и к меге подключится, кстати.
В нынешнем изделии, которым я занимаюсь, среди прочего STM32F429 со 176 лапами, и они задействованы ВСЕ, ещё и экономили их жёстко. Разумеется, где можно, применяли последовательные интерфейсы. А тут - из 48 лап половина лишняя.