AVR и контроллер шагового двигателя

boldive

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

Собственно речь о плюсах-минусах применения ATMEL AVR (да и не только их) в качестве контроллера шагового двигателя. Скажете а зачем, купи LS7920 или TA8435 и не создавай проблемм. Согласен. Но цена у LS7920, TA8435 и ATMega48 ОДИНАКОВА 😵

С микроконтроллером можно поиграться и поизвращаться простым переписыванием программы. Не понравилось, вернул все обратно. Со специализированными микросхемами такой номер не пройдет. Умер один порт на выходе, переназначил в программе на другой, благо их там много. Это так, в теории 😒

Те кто уже работает со стандартными контроллерами на LS7920 или TA8435 и им подобных могут поделится впечатлениями о работе, в смысле довелен/не доволен/хочу-лучше-но-не-знаю-чего. Это что-бы определится, стоит переходить на AVR или не дурить голову себе и окружающим.

Если стоит, а не создать ли такой проект на страницах этого форума и сделать “народный” контроллер.
Начинать есть с чего, например с этого проекта: avrstmd.com

У самой ATMEL есть вот такое начинание AVR360. На сайте www.atmel.com в строке поиска вводим AVR360 и получаем ссылки.

Можно попробовать построить на новых контроллерах ATxmega www.atmel.com/products/AVR/default_xmega.asp они будут подешевле чем ATMega.

Если есть желающие поэксперементировать и поделиться результатом пожалуйста присоединяйтесь.

Вот описание AVR360

avr360.zipAVR360_Step_Motor_Controller.zip

mura
boldive:

Те кто уже работает со стандартными контроллерами на LS7920 или TA8435 и им подобных могут поделится впечатлениями о работе, в смысле довелен/не доволен/хочу-лучше-но-не-знаю-чего. Это что-бы определится, стоит переходить на AVR или не дурить голову себе и окружающим.

Если стоит, а не создать ли такой проект на страницах этого форума и сделать “народный” контроллер.
Начинать есть с чего, например с этого проекта: avrstmd.com

Если хватает тока у стандартных контроллеров их и используй,
при токе до 2А TA8435 замечательно работает (хоть и старушка)
при токе до 3А TB6560 замечательно работает
на LS7920 стОит создавать более мощьные контроллеры хотя чип новый, и отзывов пока нет.

Эти выводы возникли не на ровном месте, были разработаны контроллеры и на AVR и на SiLabse и на PLD (ALTERA).
Все эти контроллеры замечательно работают НО они получились дороже чем на стандартных чипах.
Только связка 2313 + L298 вровень по цене/возможностям с TA8435 но сложней в сборке-настройке.

А контроллер на TA8435 необходимо только правильно спаять из исправных деталей (прямо как писали в журнале Радио когда-то 😃 (Прим. автора ))

ВЫВОД: Зачем платить больше?

P.S. При рекомендации “народного” контроллера просьба указывать народ (одни LMDхи сколько стоят!)

boldive

Спасибо за прояснение.

“Народный” это когда народ его повторяет и потом не задает вопросы почему не запускается. (это я про LS7920. Уже почти саобрался ее покупать, а потом прочитал как Вы ее с Аэробусом “запускаете” и что-то задумался). Специализированные микросхемы не обеспечивают токи 5-6 и более ампер, один черт надо тогда на них вешать дополнительную силовую часть. В этом случае по цене уже без разницы какой чип управления использовать.

bolt

Ставить отдельный контроллер на каждую ось уже накладно, а к их 20мА еще и драйверы нужны. Добавьте еще стоимость разработки и цена очередного “народного” проекта многократно превысит типовые решения.
Кроме того, в И-нете навалом уже готовых микроконтроллерных решений на любой вкус.

ATLab
bolt:

Ставить отдельный контроллер на каждую ось уже накладно, а к их 20мА еще и драйверы нужны. Добавьте еще стоимость разработки и цена очередного “народного” проекта многократно превысит типовые решения.

Цена микроконтроллера в драйвере несущественна по сравнению с драйверами полевиков и самими полевиками - процентов 10-20.
Не ставить микроконтроллер на каждую ось - значит получить проблемы со скоростью и дрожжанием STEP.

Кроме того, в И-нете навалом уже готовых микроконтроллерных решений на любой вкус.

Можете подтвердить свое утверждение ссылкой на доступное к повторению решение для биполярного ШД с током 5-6 А и микрошагом?
На микроконтроллере и со свободной прошивкой?

IMHO, любой “народный” проект должен дать четкий ответ на вопросы:

  1. что требуется получить на выходе проекта
  2. круг заинтересованных лиц
  3. кто будет заниматься реализацией проекта, доведением его до ума
  4. что будет с результатом после реализации.

Заявленные автором ветки требования к драйверу, imho, более соотвтетствуют запросам профессионала, чем любителя CNC.
Поэтому для свободного повторения и нет таких драйверов. А призывы автора можно понимать как “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего”.
Почему-то априори считается, что “слепить драйвер” - плевое дело, ну там пару вечеров посидел и готово. Увы, это не так.

ATLab

boldive, начните проект сами: рисуйте схему, пишите прошивку, размещайте все материалы здесь. Если это будет кому-то еще интересно - присоединятся и подскажут, помогут.

ACB
ATLab:

Не ставить микроконтроллер на каждую ось - значит получить проблемы со скоростью и дрожжанием STEP.

Это почему же??? Какие проблемы могут быть в случае с одним микроконтроллером?

Kitsok
ACB:

Это почему же??? Какие проблемы могут быть в случае с одним микроконтроллером?

Такие, что если поллинг, то значит частота этого поллинга д.б. запредельно большой. А если по прерываниям, то есть всегда задержка в передаче управления обработчику. Помножьте это все на количество осей - и получится дрожание. Небольшое, но будет.

Вариант - ARM7 😃 там все будет мега-кучеряво, но паять вы задолбаетесь.

mura
Kitsok:

Такие, что если поллинг, то значит частота этого поллинга д.б. запредельно большой. А если по прерываниям, то есть всегда задержка в передаче управления обработчику. Помножьте это все на количество осей - и получится дрожание. Небольшое, но будет.

И какое дрожание? Микросекунды! А теперь плс пример МЕХАНИЧЕСКОЙ системы что сможет хоть как-то отреагировать на такие времена.

Kitsok
mura:

И какое дрожание? Микросекунды! А теперь плс пример МЕХАНИЧЕСКОЙ системы что сможет хоть как-то отреагировать на такие времена.

Легко. Любой CNC в процессе реза диагональной линии, когда одновременно вращаются X и Y.
AFAIK нормальная ширина импульса - 50мкс, а вы говорите - микросекунды. Кроме того, эти микросекунды плавают туда-сюда, так что вполне может и в десятку вылезти.

Вообще, экономить 60-120 рублей на ось шобы поиметь грандиозный гемморой с упихиванием кода в один контроллер, да еще чтобы все там синхронно работало - этого мне не понять…

ATLab
Kitsok:

Вообще, экономить 60-120 рублей на ось шобы поиметь грандиозный гемморой с упихиванием кода в один контроллер, да еще чтобы все там синхронно работало - этого мне не понять…

Я бы сказал 35-40 рублей. И тоже не понимаю смысла. Может от того, что я противник конструкций “все в одном флаконе” (по 3-4 драйвера на плате)?
А такая экономия имеет смысл только при массовом производстве. Кто-то из здесь присутствующих собирается налаживать массовое производство драйверов? На рынке не протолкнуться от предложений…

Дополнение: не поленился, посмотрел в собственной прошивке для tiny2313, написанной на языке высокого уровня, время обработки STEP 8-10 мкс. Таким образом при 3 осях максимальное время задержки отработки сигнала STEP по оси может составить 30 мкс.
Много это или мало?
Если пилить потихоньку на полушаге с частотой импульсов STEP 1000 Гц, погрешность составит примерно 3,3%.
Если перейти на микрошаг 1/10, погрешность вырастет в 5 раз, т.е. до 16,5%
Ну и так далее.

Можно, конечно, оптимизировать программу, написать ее на ассемблере, но, повторюсь, все эти дополнительные затраты сил и времени имеют смысл только при массовом производстве.

Практик
ATLab:

Можете подтвердить свое утверждение ссылкой на доступное к повторению решение для биполярного ШД с током 5-6 А и микрошагом?
На микроконтроллере и со свободной прошивкой?

IMHO, любой “народный” проект должен дать четкий ответ на вопросы:

  1. что требуется получить на выходе проекта
  2. круг заинтересованных лиц
  3. кто будет заниматься реализацией проекта, доведением его до ума
  4. что будет с результатом после реализации.

Заявленные автором ветки требования к драйверу, imho, более соотвтетствуют запросам профессионала, чем любителя CNC.
Поэтому для свободного повторения и нет таких драйверов. А призывы автора можно понимать как “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего”.
Почему-то априори считается, что “слепить драйвер” - плевое дело, ну там пару вечеров посидел и готово. Увы, это не так.

К сожалению народный проект" сляпаем драйвер" является органической частью не менее народного “из ничего забацаем СТАНОК” 😵
Симптомы обычные- заболевание идеей ЧПУ,лихорадочная ,часто схоатическая закупка комплектуюших,потеря сна в Инете.Характерен лихорадочный блеск в глазах при виде шагового двигателя.Конфликты с близкими.
Обьективно-выпиливание фанеры и разбор старых принтеров.
В стадии ремиссии идет отрезвление,распродажа драйверов и направляющих.
Хотя полностью вылечится часто не удается.
Мне лично так и не удалось. 😁

ErvSed
Практик:

К сожалению народный проект" сляпаем драйвер" является органической частью не менее народного “из ничего забацаем СТАНОК” 😵
Симптомы обычные- заболевание идеей ЧПУ,лихорадочная ,часто схоатическая закупка комплектуюших,потеря сна в Инете.Характерен лихорадочный блеск в глазах при виде шагового двигателя.Конфликты с близкими.
Обьективно-выпиливание фанеры и разбор старых принтеров.
В стадии ремиссии идет отрезвление,распродажа драйверов и направляющих.
Хотя полностью вылечится часто не удается.
Мне лично так и не удалось. 😁

😁 , ты правильно все прорисовал.

У меняь есть один проект, но драйвер и котролер (части драйвера ШД) отделены.
Драйвер сделан на IR2101 + IRFZ46NS с обвязкой, контроллер на ATMega8 (шаг, полушаг + …), с разводкой, но надо еще поработать над ней (у меня времени нет), надо отдать в нормальное производство чтобы они сделали плату.

В принципе плата - рабочая, но опять-же, надо ее доработать. Если надо могу выложить проект (прошивка на асме).

Baha
ErvSed:

В принципе плата - рабочая, но опять-же, надо ее доработать. Если надо могу выложить проект (прошивка на асме).

Выкладывай, может кому пригодиться, может и продвинется.

bolt

Биполярный ШД на 5…6А явление довольно редкое, да и микрошаг мало где нужен, если речь о самоделках. Как я понимаю, синхронного вращения ШД осей да еще и с разной скоростью, при движении под углом LPT-шные проги не поддерживают. А излишняя навороченность некоторых схем на МК связана совсем не с “дрожанием”.

Kitsok
bolt:

Как я понимаю, синхронного вращения ШД осей да еще и с разной скоростью, при движении под углом LPT-шные проги не поддерживают.

Драсте нафиг 😉 Значит, две шаговика на одной оси с синхронным степом - поддерживают, а ровный круг пропилить - не поддерживают?
ИМХО, вы неправильно понимаете, заблуждаетесь т.е.

ErvSed

Файл ErvSed_CNC_Src_11_10_08 содержит два проекта для AVRStudio, один с ядром ОС а второй без, тот который без представлен полносью, т.е. можно перекомпилировать, а с ОС сырца самого ОС.

Файл ErvSed_Src_Global_11_10_08 содержит глобальые объявления и макросы, ее надо распокавать на одну категорию выще самих проектов (если проекты в C:\Progs\ErvCnt, то глобальные объявления должны быть в папке C:\Progs\).

ErvSed_CNC_11_10_08 - схема и разводка плат (используйте последные версии).
Если кто будет использовать - то отпишитесь пожалуста. Erv Sed 4 [козел] ВК РУ

ErvSed_CNC_Src_11_10_08.rarErvSed_Src_Global_11_10_08.rarErvSed_CNC_11_10_08.rar