Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее
Пн ноя 11, 2019 15:55:55
Надо написать библиотеку для atmega под шаговый двигатель , начал думать как чо делать , и у меня встал вопрос , по опросу кнопок , если делать например по таймеру , то этоже повлияет на роботу шаговика или я ошибаюсь? Та и между шагами двигателя делать по таймеру лутче , или обычными _delay_ms ?
Пн ноя 11, 2019 16:48:04
задавайте вопрос правильно: что вы хотите от шаговика?
на ваш текущий вопрос я могу ответить только: если делать грамотно, то не повлияет...
делай_мс стараюсь не применять и то только в обоснованных случаях...
Пн ноя 11, 2019 17:07:33
Мне нужно управление шаговиком , направление движения задавать, вперёд назад . Что вы имеете ввиду про грамотно?
Пн ноя 11, 2019 17:24:44
грамотно - это наиболее рационально задействовав ресурсы мк...
—————
какой мотор (со средней точкой или без)?
какая точность позиционирования: шаг/полушаг/более точное? мин—макс частота шагов? если он используется как ШД
или какая минимальная и максимальная скорость вращения если как двигатель?
функционал кнопок?
—————
от этих параметров зависит и настройка периферии (таймеров) и выбор метода генерации...
Пн ноя 11, 2019 17:26:45
Что вы имеете ввиду про грамотно?
Сначала хоть немного ознакомиться с уже написанными библиотеками. Может и не понадобится вымучивать еще один "велосипед".
Пн ноя 11, 2019 17:30:43
Берем один таймер. Им генерим ШИМ. Этот ШИМ поступает на вход драйвера ШД и задает микрошаги.
Т.к. шаговики вращаются жутко медленно, никаких связанных таймеров не понадобится. Просто в прерывании UEV инкрементируем счетчик микрошагов и проверяем - сколько шагов в итоге сделал двигатель. Как только ШД подошел к цели за N шагов, начинаем уменьшать период таймера, чтобы движок замедлялся. Аналогично первые N шагов увеличиваем период с некоего минимального до нужной скорости - чтобы двигатель не пропускал шаги при разгоне.
Никакие кнопки на это влиять не будут, т.к. опрос кнопок никто по прерыванию не делает - смысла нет.
В любом случае, ШД движется настолько медленно, что можно не париться, если посреди прерывания таймера ШД, которое почему-то будет иметь меньший приоритет, что-то еще произойдет. Даже на самой медленной тактовой частоте в 48МГц и дроблении шага аж на 16 самый крутой шаговик потребует на максимальной скорости не больше 8кГц тактовых импульсов. Т.е. между импульсами будет аж 6000 тактов на всякие прочие дела!
Пн ноя 11, 2019 17:39:55
далеко не каждая мега 48МГц осилит... да и драйвер шаговика может состоять только из усилителя - в этом случае понятия шаг для него не существует...
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)
Пн ноя 11, 2019 17:42:37
Со средней точкой , хочется реализовать чтобы был выбор скорости вращения , впринципе особой надобности в шаг полушаг нету .
Меня просто заинтересовало если шаговик тянет клинику например , и каждое определённое время таймер счётчик прерывает , разве шаговик не будет заикаться ? Собираюсь делать устройство что-то типа сканера надо от мотора чтоб тоскал каретку на указанные места .
Пн ноя 11, 2019 17:54:52
поэтому стоит использовать тот счетчик, который не будет сбиваться и заикаться...
Пн ноя 11, 2019 18:11:55
И вместо динозаврьего помета стоит взять современный микроконтроллер!
Пн ноя 11, 2019 18:42:06
для контроллера шаговика не то что меги8, даже тини2313 хватит за глаза... а скорее всего даже и тини13 хватит... но мы туда интелкоретудуайпоследний поставим...
Пн ноя 11, 2019 18:45:47
Мне нужно управление шаговиком , направление движения задавать, вперёд назад .
У "драйвера шагового двигателя", хоть вот такого:
Спойлер
хоть такого:
Спойлер
есть два (основных) входных сигнала - "STEP" и "DIR" - "шаг" и "направление вращения", и ничего там выдумывать не надо, работа с этими командами в библиотеках МК ЕСТЬ..
Пн ноя 11, 2019 18:49:37
далеко не каждая мега 48МГц осилит... да и драйвер шаговика может состоять только из усилителя - в этом случае понятия шаг для него не существует...
а кнопки... чтоб кнопки не мешали их опрашивают когда время свободное есть... (т.е. не по внешнему прерыванию, а по внутренним программным событиям)
Так и есть у меня просто шаговик и uln2003 , а вот с кнопками есть вопрос я хотел поставить оптодпчики на конец и начало корпуса , для переключения направления движения , когда их опрашивать ? По внутренним программным событиям ?
Добавлено after 1 minute 31 second:И вместо динозаврьего помета стоит взять современный микроконтроллер!
Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет
Пн ноя 11, 2019 18:58:12
но всёже... какие скорости?
Пн ноя 11, 2019 19:39:51
Максимум я добился от шаговика я 2500 микросекунд за шаг , но особо скорость не важна , но как говорится чем больше тем лутче
Добавлено after 1 minute 20 seconds:
Re: Надо написать библиотеку для atmega под шаговый двигатель
Это скорость задержки между шагами если что
Пн ноя 11, 2019 21:00:27
Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет
Бред-то какой! Это с какого такого времени 60 рублей стало дешевле 30? Да и тупо STM - это полноценный арм, а не то говно, что авр подсовывает...
Пн ноя 11, 2019 21:18:42
Хороша пушка, но уж больно мелкие воробьи. МК надо подбирать под задачу. STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
Первое, что я реализовал на МП К580ИК80 ("аналог" i8080) - именно управление ШД. Какие АРМы...
Пн ноя 11, 2019 21:21:37
я то и спрашивал про управление (но ответа так и не получил)
если нажатие = шаг, то таймеры вообще не нужны... просто в прерыввнии кнопки переключаем порт, и всё...
если нажатие = изменение скорости, то без таймера уже не обойтись...
Вт ноя 12, 2019 07:12:01
mickbell писал(а):STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.
А что здесь необычного? Особенно если взять МК в 20-ногом корпусе. Или даже BGA — это еще меньше места на плате займет…
Ценовую составляющую рассматривать смысла нет: дешевле STM32 только STM8 или какие-то уж совсем дикие китайцы по червонцу за штучку.
Лично я рассматриваю STM32F072 как основу для разработки новых контроллеров ШД: подумаешь, что из 48 ног даже половина не будет использоваться! Зато я смогу подключить туда при необходимости квадратурный энкодер, а "общение" контроллеров между собой будет происходить по CAN-шине. И к любому из контроллеров на шине можно будет подключиться по USB и работать.
Вт ноя 12, 2019 13:55:42
Угу. Выбор элементной базы прямо-таки требует набить простой девайсик всякими фичами, фичками и фичечками.
Да я не критикую. Каждый др... делает, как он хочет, такой подход тоже правильный. Квадратурный энкодер и к меге подключится, кстати.
В нынешнем изделии, которым я занимаюсь, среди прочего STM32F429 со 176 лапами, и они задействованы ВСЕ, ещё и экономили их жёстко. Разумеется, где можно, применяли последовательные интерфейсы. А тут - из 48 лап половина лишняя.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.