Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить

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

Пн ноя 11, 2019 15:55:55

Надо написать библиотеку для atmega под шаговый двигатель , начал думать как чо делать , и у меня встал вопрос , по опросу кнопок , если делать например по таймеру , то этоже повлияет на роботу шаговика или я ошибаюсь? Та и между шагами двигателя делать по таймеру лутче , или обычными _delay_ms ?

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 16:48:04

задавайте вопрос правильно: что вы хотите от шаговика?
на ваш текущий вопрос я могу ответить только: если делать грамотно, то не повлияет...
делай_мс стараюсь не применять и то только в обоснованных случаях...

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:07:33

Мне нужно управление шаговиком , направление движения задавать, вперёд назад . Что вы имеете ввиду про грамотно?

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:24:44

грамотно - это наиболее рационально задействовав ресурсы мк...
—————
какой мотор (со средней точкой или без)?
какая точность позиционирования: шаг/полушаг/более точное? мин—макс частота шагов? если он используется как ШД
или какая минимальная и максимальная скорость вращения если как двигатель?
функционал кнопок?
—————
от этих параметров зависит и настройка периферии (таймеров) и выбор метода генерации...

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:26:45

Что вы имеете ввиду про грамотно?
Сначала хоть немного ознакомиться с уже написанными библиотеками. Может и не понадобится вымучивать еще один "велосипед".

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:30:43

Берем один таймер. Им генерим ШИМ. Этот ШИМ поступает на вход драйвера ШД и задает микрошаги.
Т.к. шаговики вращаются жутко медленно, никаких связанных таймеров не понадобится. Просто в прерывании UEV инкрементируем счетчик микрошагов и проверяем - сколько шагов в итоге сделал двигатель. Как только ШД подошел к цели за N шагов, начинаем уменьшать период таймера, чтобы движок замедлялся. Аналогично первые N шагов увеличиваем период с некоего минимального до нужной скорости - чтобы двигатель не пропускал шаги при разгоне.
Никакие кнопки на это влиять не будут, т.к. опрос кнопок никто по прерыванию не делает - смысла нет.
В любом случае, ШД движется настолько медленно, что можно не париться, если посреди прерывания таймера ШД, которое почему-то будет иметь меньший приоритет, что-то еще произойдет. Даже на самой медленной тактовой частоте в 48МГц и дроблении шага аж на 16 самый крутой шаговик потребует на максимальной скорости не больше 8кГц тактовых импульсов. Т.е. между импульсами будет аж 6000 тактов на всякие прочие дела!

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:39:55

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

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:42:37

Со средней точкой , хочется реализовать чтобы был выбор скорости вращения , впринципе особой надобности в шаг полушаг нету .
Меня просто заинтересовало если шаговик тянет клинику например , и каждое определённое время таймер счётчик прерывает , разве шаговик не будет заикаться ? Собираюсь делать устройство что-то типа сканера надо от мотора чтоб тоскал каретку на указанные места .

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 17:54:52

поэтому стоит использовать тот счетчик, который не будет сбиваться и заикаться...

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 18:11:55

И вместо динозаврьего помета стоит взять современный микроконтроллер!

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

Пн ноя 11, 2019 18:42:06

для контроллера шаговика не то что меги8, даже тини2313 хватит за глаза... а скорее всего даже и тини13 хватит... но мы туда интелкоретудуайпоследний поставим...

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 18:45:47

Мне нужно управление шаговиком , направление движения задавать, вперёд назад .
У "драйвера шагового двигателя", хоть вот такого:
СпойлерИзображение

хоть такого:
СпойлерИзображение

есть два (основных) входных сигнала - "STEP" и "DIR" - "шаг" и "направление вращения", и ничего там выдумывать не надо, работа с этими командами в библиотеках МК ЕСТЬ..

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 18:49:37

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

Так и есть у меня просто шаговик и uln2003 , а вот с кнопками есть вопрос я хотел поставить оптодпчики на конец и начало корпуса , для переключения направления движения , когда их опрашивать ? По внутренним программным событиям ?

Добавлено after 1 minute 31 second:
И вместо динозаврьего помета стоит взять современный микроконтроллер!

Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет

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

Пн ноя 11, 2019 18:58:12

но всёже... какие скорости?

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

Пн ноя 11, 2019 19:39:51

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

Добавлено after 1 minute 20 seconds:
Re: Надо написать библиотеку для atmega под шаговый двигатель
Это скорость задержки между шагами если что

Re: Котяки , я знаю вы тут оч умные , так что подскажете по

Пн ноя 11, 2019 21:00:27

Smt что-ли ? Нафига atmega и так справится и чуть дешевле стоить будет

Бред-то какой! Это с какого такого времени 60 рублей стало дешевле 30? Да и тупо STM - это полноценный арм, а не то говно, что авр подсовывает...

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

Пн ноя 11, 2019 21:18:42

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

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

Пн ноя 11, 2019 21:21:37

я то и спрашивал про управление (но ответа так и не получил)
если нажатие = шаг, то таймеры вообще не нужны... просто в прерыввнии кнопки переключаем порт, и всё...
если нажатие = изменение скорости, то без таймера уже не обойтись...

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

Вт ноя 12, 2019 07:12:01

mickbell писал(а):STM, который 32, на управление ШД - это смотрится как-то, мягко выражаясь, необычно.

А что здесь необычного? Особенно если взять МК в 20-ногом корпусе. Или даже BGA — это еще меньше места на плате займет…
Ценовую составляющую рассматривать смысла нет: дешевле STM32 только STM8 или какие-то уж совсем дикие китайцы по червонцу за штучку.
Лично я рассматриваю STM32F072 как основу для разработки новых контроллеров ШД: подумаешь, что из 48 ног даже половина не будет использоваться! Зато я смогу подключить туда при необходимости квадратурный энкодер, а "общение" контроллеров между собой будет происходить по CAN-шине. И к любому из контроллеров на шине можно будет подключиться по USB и работать.

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

Вт ноя 12, 2019 13:55:42

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