Надо написать библиотеку для atmega под шаговый двигатель
- Сообщения: 39
- Зарегистрирован: Пн сен 30, 2019 18:51:19
Надо написать библиотеку для atmega под шаговый двигатель , начал думать как чо делать , и у меня встал вопрос , по опросу кнопок , если делать например по таймеру , то этоже повлияет на роботу шаговика или я ошибаюсь? Та и между шагами двигателя делать по таймеру лутче , или обычными _delay_ms ?
- Реклама
задавайте вопрос правильно: что вы хотите от шаговика?
на ваш текущий вопрос я могу ответить только: если делать грамотно, то не повлияет...
делай_мс стараюсь не применять и то только в обоснованных случаях...
на ваш текущий вопрос я могу ответить только: если делать грамотно, то не повлияет...
делай_мс стараюсь не применять и то только в обоснованных случаях...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 39
- Зарегистрирован: Пн сен 30, 2019 18:51:19
Мне нужно управление шаговиком , направление движения задавать, вперёд назад . Что вы имеете ввиду про грамотно?
грамотно - это наиболее рационально задействовав ресурсы мк...
—————
какой мотор (со средней точкой или без)?
какая точность позиционирования: шаг/полушаг/более точное? мин—макс частота шагов? если он используется как ШД
или какая минимальная и максимальная скорость вращения если как двигатель?
функционал кнопок?
—————
от этих параметров зависит и настройка периферии (таймеров) и выбор метода генерации...
—————
какой мотор (со средней точкой или без)?
какая точность позиционирования: шаг/полушаг/более точное? мин—макс частота шагов? если он используется как ШД
или какая минимальная и максимальная скорость вращения если как двигатель?
функционал кнопок?
—————
от этих параметров зависит и настройка периферии (таймеров) и выбор метода генерации...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 550
- Зарегистрирован: Вс июл 07, 2019 16:12:46
[uquote="serikaikido",url="/forum/viewtopic.php?p=3734792#p3734792"]Что вы имеете ввиду про грамотно?[/uquote]Сначала хоть немного ознакомиться с уже написанными библиотеками. Может и не понадобится вымучивать еще один "велосипед".
Делай то, что тебе нравится и ты никогда не будешь работать
- Реклама
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Берем один таймер. Им генерим ШИМ. Этот ШИМ поступает на вход драйвера ШД и задает микрошаги.
Т.к. шаговики вращаются жутко медленно, никаких связанных таймеров не понадобится. Просто в прерывании UEV инкрементируем счетчик микрошагов и проверяем - сколько шагов в итоге сделал двигатель. Как только ШД подошел к цели за N шагов, начинаем уменьшать период таймера, чтобы движок замедлялся. Аналогично первые N шагов увеличиваем период с некоего минимального до нужной скорости - чтобы двигатель не пропускал шаги при разгоне.
Никакие кнопки на это влиять не будут, т.к. опрос кнопок никто по прерыванию не делает - смысла нет.
В любом случае, ШД движется настолько медленно, что можно не париться, если посреди прерывания таймера ШД, которое почему-то будет иметь меньший приоритет, что-то еще произойдет. Даже на самой медленной тактовой частоте в 48МГц и дроблении шага аж на 16 самый крутой шаговик потребует на максимальной скорости не больше 8кГц тактовых импульсов. Т.е. между импульсами будет аж 6000 тактов на всякие прочие дела!
Т.к. шаговики вращаются жутко медленно, никаких связанных таймеров не понадобится. Просто в прерывании UEV инкрементируем счетчик микрошагов и проверяем - сколько шагов в итоге сделал двигатель. Как только ШД подошел к цели за N шагов, начинаем уменьшать период таймера, чтобы движок замедлялся. Аналогично первые N шагов увеличиваем период с некоего минимального до нужной скорости - чтобы двигатель не пропускал шаги при разгоне.
Никакие кнопки на это влиять не будут, т.к. опрос кнопок никто по прерыванию не делает - смысла нет.
В любом случае, ШД движется настолько медленно, что можно не париться, если посреди прерывания таймера ШД, которое почему-то будет иметь меньший приоритет, что-то еще произойдет. Даже на самой медленной тактовой частоте в 48МГц и дроблении шага аж на 16 самый крутой шаговик потребует на максимальной скорости не больше 8кГц тактовых импульсов. Т.е. между импульсами будет аж 6000 тактов на всякие прочие дела!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
далеко не каждая мега 48МГц осилит... да и драйвер шаговика может состоять только из усилителя - в этом случае понятия шаг для него не существует...
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 39
- Зарегистрирован: Пн сен 30, 2019 18:51:19
Со средней точкой , хочется реализовать чтобы был выбор скорости вращения , впринципе особой надобности в шаг полушаг нету .
Меня просто заинтересовало если шаговик тянет клинику например , и каждое определённое время таймер счётчик прерывает , разве шаговик не будет заикаться ? Собираюсь делать устройство что-то типа сканера надо от мотора чтоб тоскал каретку на указанные места .
Меня просто заинтересовало если шаговик тянет клинику например , и каждое определённое время таймер счётчик прерывает , разве шаговик не будет заикаться ? Собираюсь делать устройство что-то типа сканера надо от мотора чтоб тоскал каретку на указанные места .
поэтому стоит использовать тот счетчик, который не будет сбиваться и заикаться...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
для контроллера шаговика не то что меги8, даже тини2313 хватит за глаза... а скорее всего даже и тини13 хватит... но мы туда интелкоретудуайпоследний поставим...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
[uquote="serikaikido",url="/forum/viewtopic.php?p=3734792#p3734792"]Мне нужно управление шаговиком , направление движения задавать, вперёд назад .[/uquote]У "драйвера шагового двигателя", хоть вот такого:
хоть такого:
есть два (основных) входных сигнала - "STEP" и "DIR" - "шаг" и "направление вращения", и ничего там выдумывать не надо, работа с этими командами в библиотеках МК ЕСТЬ..
Спойлер

Спойлер

- Сообщения: 39
- Зарегистрирован: Пн сен 30, 2019 18:51:19
[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 и так справится и чуть дешевле стоить будет
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)[/uquote]
Так и есть у меня просто шаговик и uln2003 , а вот с кнопками есть вопрос я хотел поставить оптодпчики на конец и начало корпуса , для переключения направления движения , когда их опрашивать ? По внутренним программным событиям ?
Добавлено after 1 minute 31 second:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3734845#p3734845"]И вместо динозаврьего помета стоит взять современный микроконтроллер![/uquote]
Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет
но всёже... какие скорости?
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 39
- Зарегистрирован: Пн сен 30, 2019 18:51:19
Максимум я добился от шаговика я 2500 микросекунд за шаг , но особо скорость не важна , но как говорится чем больше тем лутче
Добавлено after 1 minute 20 seconds:
Re: Надо написать библиотеку для atmega под шаговый двигатель
Это скорость задержки между шагами если что
Добавлено after 1 minute 20 seconds:
Re: Надо написать библиотеку для atmega под шаговый двигатель
Это скорость задержки между шагами если что
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
[uquote="serikaikido",url="/forum/viewtopic.php?p=3734873#p3734873"]Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет[/uquote]
Бред-то какой! Это с какого такого времени 60 рублей стало дешевле 30? Да и тупо STM - это полноценный арм, а не то говно, что авр подсовывает...
Бред-то какой! Это с какого такого времени 60 рублей стало дешевле 30? Да и тупо STM - это полноценный арм, а не то говно, что авр подсовывает...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
Хороша пушка, но уж больно мелкие воробьи. МК надо подбирать под задачу. STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
Первое, что я реализовал на МП К580ИК80 ("аналог" i8080) - именно управление ШД. Какие АРМы...
Первое, что я реализовал на МП К580ИК80 ("аналог" i8080) - именно управление ШД. Какие АРМы...
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
я то и спрашивал про управление (но ответа так и не получил)
если нажатие = шаг, то таймеры вообще не нужны... просто в прерыввнии кнопки переключаем порт, и всё...
если нажатие = изменение скорости, то без таймера уже не обойтись...
если нажатие = шаг, то таймеры вообще не нужны... просто в прерыввнии кнопки переключаем порт, и всё...
если нажатие = изменение скорости, то без таймера уже не обойтись...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
А что здесь необычного? Особенно если взять МК в 20-ногом корпусе. Или даже BGA — это еще меньше места на плате займет…mickbell писал(а):STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
Ценовую составляющую рассматривать смысла нет: дешевле STM32 только STM8 или какие-то уж совсем дикие китайцы по червонцу за штучку.
Лично я рассматриваю STM32F072 как основу для разработки новых контроллеров ШД: подумаешь, что из 48 ног даже половина не будет использоваться! Зато я смогу подключить туда при необходимости квадратурный энкодер, а "общение" контроллеров между собой будет происходить по CAN-шине. И к любому из контроллеров на шине можно будет подключиться по USB и работать.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
Угу. Выбор элементной базы прямо-таки требует набить простой девайсик всякими фичами, фичками и фичечками.
Да я не критикую. Каждый др... делает, как он хочет, такой подход тоже правильный. Квадратурный энкодер и к меге подключится, кстати.
В нынешнем изделии, которым я занимаюсь, среди прочего STM32F429 со 176 лапами, и они задействованы ВСЕ, ещё и экономили их жёстко. Разумеется, где можно, применяли последовательные интерфейсы. А тут - из 48 лап половина лишняя.
В нынешнем изделии, которым я занимаюсь, среди прочего STM32F429 со 176 лапами, и они задействованы ВСЕ, ещё и экономили их жёстко. Разумеется, где можно, применяли последовательные интерфейсы. А тут - из 48 лап половина лишняя.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.


