Надо написать библиотеку для atmega под шаговый двигатель

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн сен 30, 2019 18:51:19

Сообщение serikaikido »

Надо написать библиотеку для atmega под шаговый двигатель , начал думать как чо делать , и у меня встал вопрос , по опросу кнопок , если делать например по таймеру , то этоже повлияет на роботу шаговика или я ошибаюсь? Та и между шагами двигателя делать по таймеру лутче , или обычными _delay_ms ?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

задавайте вопрос правильно: что вы хотите от шаговика?
на ваш текущий вопрос я могу ответить только: если делать грамотно, то не повлияет...
делай_мс стараюсь не применять и то только в обоснованных случаях...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн сен 30, 2019 18:51:19

Сообщение serikaikido »

Мне нужно управление шаговиком , направление движения задавать, вперёд назад . Что вы имеете ввиду про грамотно?
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

грамотно - это наиболее рационально задействовав ресурсы мк...
—————
какой мотор (со средней точкой или без)?
какая точность позиционирования: шаг/полушаг/более точное? мин—макс частота шагов? если он используется как ШД
или какая минимальная и максимальная скорость вращения если как двигатель?
функционал кнопок?
—————
от этих параметров зависит и настройка периферии (таймеров) и выбор метода генерации...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 550
Зарегистрирован: Вс июл 07, 2019 16:12:46

Сообщение ЭлектроKOT »

[uquote="serikaikido",url="/forum/viewtopic.php?p=3734792#p3734792"]Что вы имеете ввиду про грамотно?[/uquote]Сначала хоть немного ознакомиться с уже написанными библиотеками. Может и не понадобится вымучивать еще один "велосипед".
Делай то, что тебе нравится и ты никогда не будешь работать
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Берем один таймер. Им генерим ШИМ. Этот ШИМ поступает на вход драйвера ШД и задает микрошаги.
Т.к. шаговики вращаются жутко медленно, никаких связанных таймеров не понадобится. Просто в прерывании UEV инкрементируем счетчик микрошагов и проверяем - сколько шагов в итоге сделал двигатель. Как только ШД подошел к цели за N шагов, начинаем уменьшать период таймера, чтобы движок замедлялся. Аналогично первые N шагов увеличиваем период с некоего минимального до нужной скорости - чтобы двигатель не пропускал шаги при разгоне.
Никакие кнопки на это влиять не будут, т.к. опрос кнопок никто по прерыванию не делает - смысла нет.
В любом случае, ШД движется настолько медленно, что можно не париться, если посреди прерывания таймера ШД, которое почему-то будет иметь меньший приоритет, что-то еще произойдет. Даже на самой медленной тактовой частоте в 48МГц и дроблении шага аж на 16 самый крутой шаговик потребует на максимальной скорости не больше 8кГц тактовых импульсов. Т.е. между импульсами будет аж 6000 тактов на всякие прочие дела!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

далеко не каждая мега 48МГц осилит... да и драйвер шаговика может состоять только из усилителя - в этом случае понятия шаг для него не существует...
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн сен 30, 2019 18:51:19

Сообщение serikaikido »

Со средней точкой , хочется реализовать чтобы был выбор скорости вращения , впринципе особой надобности в шаг полушаг нету .
Меня просто заинтересовало если шаговик тянет клинику например , и каждое определённое время таймер счётчик прерывает , разве шаговик не будет заикаться ? Собираюсь делать устройство что-то типа сканера надо от мотора чтоб тоскал каретку на указанные места .
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

поэтому стоит использовать тот счетчик, который не будет сбиваться и заикаться...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

И вместо динозаврьего помета стоит взять современный микроконтроллер!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

для контроллера шаговика не то что меги8, даже тини2313 хватит за глаза... а скорее всего даже и тини13 хватит... но мы туда интелкоретудуайпоследний поставим...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 44255
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

[uquote="serikaikido",url="/forum/viewtopic.php?p=3734792#p3734792"]Мне нужно управление шаговиком , направление движения задавать, вперёд назад .[/uquote]У "драйвера шагового двигателя", хоть вот такого:
СпойлерИзображение
хоть такого:
СпойлерИзображение
есть два (основных) входных сигнала - "STEP" и "DIR" - "шаг" и "направление вращения", и ничего там выдумывать не надо, работа с этими командами в библиотеках МК ЕСТЬ..
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн сен 30, 2019 18:51:19

Сообщение 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 и так справится и чуть дешевле стоить будет
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

но всёже... какие скорости?
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн сен 30, 2019 18:51:19

Сообщение serikaikido »

Максимум я добился от шаговика я 2500 микросекунд за шаг , но особо скорость не важна , но как говорится чем больше тем лутче

Добавлено after 1 minute 20 seconds:
Re: Надо написать библиотеку для atmega под шаговый двигатель
Это скорость задержки между шагами если что
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

[uquote="serikaikido",url="/forum/viewtopic.php?p=3734873#p3734873"]Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет[/uquote]
Бред-то какой! Это с какого такого времени 60 рублей стало дешевле 30? Да и тупо STM - это полноценный арм, а не то говно, что авр подсовывает...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 16954
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

Хороша пушка, но уж больно мелкие воробьи. МК надо подбирать под задачу. STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
Первое, что я реализовал на МП К580ИК80 ("аналог" i8080) - именно управление ШД. Какие АРМы...
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

я то и спрашивал про управление (но ответа так и не получил)
если нажатие = шаг, то таймеры вообще не нужны... просто в прерыввнии кнопки переключаем порт, и всё...
если нажатие = изменение скорости, то без таймера уже не обойтись...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

mickbell писал(а):STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
А что здесь необычного? Особенно если взять МК в 20-ногом корпусе. Или даже BGA — это еще меньше места на плате займет…
Ценовую составляющую рассматривать смысла нет: дешевле STM32 только STM8 или какие-то уж совсем дикие китайцы по червонцу за штучку.
Лично я рассматриваю STM32F072 как основу для разработки новых контроллеров ШД: подумаешь, что из 48 ног даже половина не будет использоваться! Зато я смогу подключить туда при необходимости квадратурный энкодер, а "общение" контроллеров между собой будет происходить по CAN-шине. И к любому из контроллеров на шине можно будет подключиться по USB и работать.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 16954
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

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

На каждый РКН
Найдётся VPN.
Ответить

Вернуться в «Теория»