AVR и контроллер шагового двигателя
Не хочу изобретать велосипед, но и на старом кататься не хочется.
Собственно речь о плюсах-минусах применения 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
Те кто уже работает со стандартными контроллерами на LS7920 или TA8435 и им подобных могут поделится впечатлениями о работе, в смысле довелен/не доволен/хочу-лучше-но-не-знаю-чего. Это что-бы определится, стоит переходить на AVR или не дурить голову себе и окружающим.
Если стоит, а не создать ли такой проект на страницах этого форума и сделать “народный” контроллер.
Начинать есть с чего, например с этого проекта: avrstmd.com
Если хватает тока у стандартных контроллеров их и используй,
при токе до 2А TA8435 замечательно работает (хоть и старушка)
при токе до 3А TB6560 замечательно работает
на LS7920 стОит создавать более мощьные контроллеры хотя чип новый, и отзывов пока нет.
Эти выводы возникли не на ровном месте, были разработаны контроллеры и на AVR и на SiLabse и на PLD (ALTERA).
Все эти контроллеры замечательно работают НО они получились дороже чем на стандартных чипах.
Только связка 2313 + L298 вровень по цене/возможностям с TA8435 но сложней в сборке-настройке.
А контроллер на TA8435 необходимо только правильно спаять из исправных деталей (прямо как писали в журнале Радио когда-то 😃 (Прим. автора ))
ВЫВОД: Зачем платить больше?
P.S. При рекомендации “народного” контроллера просьба указывать народ ❗ (одни LMDхи сколько стоят!)
Спасибо за прояснение.
“Народный” это когда народ его повторяет и потом не задает вопросы почему не запускается. (это я про LS7920. Уже почти саобрался ее покупать, а потом прочитал как Вы ее с Аэробусом “запускаете” и что-то задумался). Специализированные микросхемы не обеспечивают токи 5-6 и более ампер, один черт надо тогда на них вешать дополнительную силовую часть. В этом случае по цене уже без разницы какой чип управления использовать.
Ставить отдельный контроллер на каждую ось уже накладно, а к их 20мА еще и драйверы нужны. Добавьте еще стоимость разработки и цена очередного “народного” проекта многократно превысит типовые решения.
Кроме того, в И-нете навалом уже готовых микроконтроллерных решений на любой вкус.
Ставить отдельный контроллер на каждую ось уже накладно, а к их 20мА еще и драйверы нужны. Добавьте еще стоимость разработки и цена очередного “народного” проекта многократно превысит типовые решения.
Цена микроконтроллера в драйвере несущественна по сравнению с драйверами полевиков и самими полевиками - процентов 10-20.
Не ставить микроконтроллер на каждую ось - значит получить проблемы со скоростью и дрожжанием STEP.
Кроме того, в И-нете навалом уже готовых микроконтроллерных решений на любой вкус.
Можете подтвердить свое утверждение ссылкой на доступное к повторению решение для биполярного ШД с током 5-6 А и микрошагом?
На микроконтроллере и со свободной прошивкой?
IMHO, любой “народный” проект должен дать четкий ответ на вопросы:
- что требуется получить на выходе проекта
- круг заинтересованных лиц
- кто будет заниматься реализацией проекта, доведением его до ума
- что будет с результатом после реализации.
Заявленные автором ветки требования к драйверу, imho, более соотвтетствуют запросам профессионала, чем любителя CNC.
Поэтому для свободного повторения и нет таких драйверов. А призывы автора можно понимать как “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего”.
Почему-то априори считается, что “слепить драйвер” - плевое дело, ну там пару вечеров посидел и готово. Увы, это не так.
boldive, начните проект сами: рисуйте схему, пишите прошивку, размещайте все материалы здесь. Если это будет кому-то еще интересно - присоединятся и подскажут, помогут.
Не ставить микроконтроллер на каждую ось - значит получить проблемы со скоростью и дрожжанием STEP.
Это почему же??? Какие проблемы могут быть в случае с одним микроконтроллером?
Это почему же??? Какие проблемы могут быть в случае с одним микроконтроллером?
Такие, что если поллинг, то значит частота этого поллинга д.б. запредельно большой. А если по прерываниям, то есть всегда задержка в передаче управления обработчику. Помножьте это все на количество осей - и получится дрожание. Небольшое, но будет.
Вариант - ARM7 😃 там все будет мега-кучеряво, но паять вы задолбаетесь.
Такие, что если поллинг, то значит частота этого поллинга д.б. запредельно большой. А если по прерываниям, то есть всегда задержка в передаче управления обработчику. Помножьте это все на количество осей - и получится дрожание. Небольшое, но будет.
И какое дрожание? Микросекунды! А теперь плс пример МЕХАНИЧЕСКОЙ системы что сможет хоть как-то отреагировать на такие времена.
И какое дрожание? Микросекунды! А теперь плс пример МЕХАНИЧЕСКОЙ системы что сможет хоть как-то отреагировать на такие времена.
Легко. Любой CNC в процессе реза диагональной линии, когда одновременно вращаются X и Y.
AFAIK нормальная ширина импульса - 50мкс, а вы говорите - микросекунды. Кроме того, эти микросекунды плавают туда-сюда, так что вполне может и в десятку вылезти.
Вообще, экономить 60-120 рублей на ось шобы поиметь грандиозный гемморой с упихиванием кода в один контроллер, да еще чтобы все там синхронно работало - этого мне не понять…
Вообще, экономить 60-120 рублей на ось шобы поиметь грандиозный гемморой с упихиванием кода в один контроллер, да еще чтобы все там синхронно работало - этого мне не понять…
Я бы сказал 35-40 рублей. И тоже не понимаю смысла. Может от того, что я противник конструкций “все в одном флаконе” (по 3-4 драйвера на плате)?
А такая экономия имеет смысл только при массовом производстве. Кто-то из здесь присутствующих собирается налаживать массовое производство драйверов? На рынке не протолкнуться от предложений…
Дополнение: не поленился, посмотрел в собственной прошивке для tiny2313, написанной на языке высокого уровня, время обработки STEP 8-10 мкс. Таким образом при 3 осях максимальное время задержки отработки сигнала STEP по оси может составить 30 мкс.
Много это или мало?
Если пилить потихоньку на полушаге с частотой импульсов STEP 1000 Гц, погрешность составит примерно 3,3%.
Если перейти на микрошаг 1/10, погрешность вырастет в 5 раз, т.е. до 16,5%
Ну и так далее.
Можно, конечно, оптимизировать программу, написать ее на ассемблере, но, повторюсь, все эти дополнительные затраты сил и времени имеют смысл только при массовом производстве.
Можете подтвердить свое утверждение ссылкой на доступное к повторению решение для биполярного ШД с током 5-6 А и микрошагом?
На микроконтроллере и со свободной прошивкой?IMHO, любой “народный” проект должен дать четкий ответ на вопросы:
- что требуется получить на выходе проекта
- круг заинтересованных лиц
- кто будет заниматься реализацией проекта, доведением его до ума
- что будет с результатом после реализации.
Заявленные автором ветки требования к драйверу, imho, более соотвтетствуют запросам профессионала, чем любителя CNC.
Поэтому для свободного повторения и нет таких драйверов. А призывы автора можно понимать как “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего”.
Почему-то априори считается, что “слепить драйвер” - плевое дело, ну там пару вечеров посидел и готово. Увы, это не так.
К сожалению народный проект" сляпаем драйвер" является органической частью не менее народного “из ничего забацаем СТАНОК” 😵
Симптомы обычные- заболевание идеей ЧПУ,лихорадочная ,часто схоатическая закупка комплектуюших,потеря сна в Инете.Характерен лихорадочный блеск в глазах при виде шагового двигателя.Конфликты с близкими.
Обьективно-выпиливание фанеры и разбор старых принтеров.
В стадии ремиссии идет отрезвление,распродажа драйверов и направляющих.
Хотя полностью вылечится часто не удается.
Мне лично так и не удалось. 😁
К сожалению народный проект" сляпаем драйвер" является органической частью не менее народного “из ничего забацаем СТАНОК” 😵
Симптомы обычные- заболевание идеей ЧПУ,лихорадочная ,часто схоатическая закупка комплектуюших,потеря сна в Инете.Характерен лихорадочный блеск в глазах при виде шагового двигателя.Конфликты с близкими.
Обьективно-выпиливание фанеры и разбор старых принтеров.
В стадии ремиссии идет отрезвление,распродажа драйверов и направляющих.
Хотя полностью вылечится часто не удается.
Мне лично так и не удалось. 😁
😁 , ты правильно все прорисовал.
У меняь есть один проект, но драйвер и котролер (части драйвера ШД) отделены.
Драйвер сделан на IR2101 + IRFZ46NS с обвязкой, контроллер на ATMega8 (шаг, полушаг + …), с разводкой, но надо еще поработать над ней (у меня времени нет), надо отдать в нормальное производство чтобы они сделали плату.
В принципе плата - рабочая, но опять-же, надо ее доработать. Если надо могу выложить проект (прошивка на асме).
В принципе плата - рабочая, но опять-же, надо ее доработать. Если надо могу выложить проект (прошивка на асме).
Выкладывай, может кому пригодиться, может и продвинется.
Биполярный ШД на 5…6А явление довольно редкое, да и микрошаг мало где нужен, если речь о самоделках. Как я понимаю, синхронного вращения ШД осей да еще и с разной скоростью, при движении под углом LPT-шные проги не поддерживают. А излишняя навороченность некоторых схем на МК связана совсем не с “дрожанием”.
Как я понимаю, синхронного вращения ШД осей да еще и с разной скоростью, при движении под углом LPT-шные проги не поддерживают.
Драсте нафиг 😉 Значит, две шаговика на одной оси с синхронным степом - поддерживают, а ровный круг пропилить - не поддерживают?
ИМХО, вы неправильно понимаете, заблуждаетесь т.е.
Файл 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
А призывы автора можно понимать как “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего”.
Почему-то априори считается, что “слепить драйвер” - плевое дело, ну там пару вечеров посидел и готово. Увы, это не так.
Иногда я тоже люблю пофантазировать. Только при этом стараюсь упомянуть что это мои фантазии.
Кто еще полагает что суть ветки: “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего” ?
Потянет-ли TA8435 или TB6560 двигатель FL86STH80-4208A ?
Если потянет, ну тогда наверно вопрос можно считать закрытым. А если не потянет тогда от дополнительной силовой части деваться некуда.
Теперь цены (в канадских долларах, курс 1.16 к американскому), взяты с сайта digikey.ca
TA8435 6.29$
TB6560 4.80$
ATMEGA8-16PU 4.19$
ATMEGA48P-20PU 2.95$
LS7290 3.36$
IR2101 3.00$
IRFZ46NSTRLPBF 2.62$ (больше 10, как в нашем случае, по 1.68$) (55V, 53A D²Pak (SMD-220-3, TO-263-3) )
IRLZ44ZPBF 2.31$ (больше 10, как в нашем случае, по 1.48$) (55V, 51A TO-220-3 (TO-220AB, Straight Leads) )
Если TA8435 или TB6560 не проходят по нагрузкам и надо собирать контроллер на LS7290 то тогда Atmega48 подешевле будет а по возможностям наверно много лучше.
ТАК НА ЧЕМ СОБИРАТЬ ❓
У кого есть китайские контроллеры, можете сказать что там за чипы внутри. Есть у меня такое подозрение что то что они продают за 60$USD есть то самое простое TA8435 в красивом корпусе.
У меняь есть один проект, но драйвер и котролер (части драйвера ШД) отделены.
Драйвер сделан на IR2101 + IRFZ46NS с обвязкой, контроллер на ATMega8 (шаг, полушаг + …), с разводкой, но надо еще поработать над ней (у меня времени нет), надо отдать в нормальное производство чтобы они сделали плату.
В принципе плата - рабочая, но опять-же, надо ее доработать.
…ErvSed_CNC_11_10_08 - схема и разводка плат (используйте последные версии).
Если кто будет использовать - то отпишитесь пожалуста. Erv Sed 4 [козел] ВК РУ
Спасибо, конечно за предоставленные материалы, но схемы и платы лучше бы в виде картинок, чтобы не нужно было ставить Proteus для их просмотра.
И вопрос: этот драйвер реально в железе работал, или все закончилось моделью в Proteus? Что-то мне подсказывает, что до железа дело не дошло, иначе выпрямительные диоды не стояли бы в затворах полевиков (например D15, D16) и цепях заряда емкостей IR2101 (D1,D4)…
Иногда я тоже люблю пофантазировать. Только при этом стараюсь упомянуть что это мои фантазии.
Кто еще полагает что суть ветки: “ребята, давайте решите мои проблемы, забесплатно для меня, вам все равно делать нечего” ?
Потянет-ли TA8435 или TB6560 двигатель FL86STH80-4208A ?
Если потянет, ну тогда наверно вопрос можно считать закрытым. А если не потянет тогда от дополнительной силовой части деваться некуда.
TA8435 6.29$
TB6560 4.80$
ATMEGA8-16PU 4.19$
ATMEGA48P-20PU 2.95$
LS7290 3.36$
Если TA8435 или TB6560 не проходят по нагрузкам и надо собирать контроллер на LS7290 то тогда Atmega48 подешевле будет а по возможностям наверно много лучше.
ТАК НА ЧЕМ СОБИРАТЬ ❓
Это не мои фантазии.Это реал:
У вышеназванного FL86sth80-4208a заявлен ток 4,2 А. ТА8435 способна на 2,5 ампера(при этом греется прилично)
Можно ли ее ставить? Можно,но двигатель будет недоиспользован.
LS7290… Пока темная лошадка.Схема наверно перспективная(особенно с усилением на полевиках).
По поводу микроконтроллеров… Тут надо сразу делить мух и котлет.Контроллер способен крутить станок и без компа.
Так сказать по заранее(может за неделю,а может за 15 мсек до этого)выданному заданию.Эта тема на еще один форум.
TA8435 6.29$
TB6560 4.80$ATMEGA8-16PU 4.19$
ATMEGA48P-20PU 2.95$LS7290 3.36$
Тонна стального листа в России стоит 20.000 руб.
“Жигули” весит 950 кг.
Вопрос- почему “Жигули” продают по 150.000 руб и почему их никто не собирается собирать.
Значит, две шаговика на одной оси с синхронным степом - поддерживают, а ровный круг пропилить - не поддерживают?
ИМХО, вы неправильно понимаете, заблуждаетесь т.е.
На одной оси ШД можно спарить, тупо скрутив вместе выводы обмоток, без всякой проги. А вот круг любая УП рисует как кучу ступенек, т.е. последовательных движений.
Обычно все начинается, а часто и заканчивается, с игрушечного CNC для сверления/рисования/выжигания. Вот на этом этапе и возникает стремление привлечь народ для решения своей задачи, обычно электрической. И подобных “народных” проектов в Сети много. Там вместо решения конкретной задачи долго обсуждается некий универсальный вариант с новомодными детальками и кучей ненужных режимов.
На самом деле, возможности самоделки определяет механика, она и стоит в разы больше контроллера.
На одной оси ШД можно спарить, тупо скрутив вместе выводы обмоток, без всякой проги. А вот круг любая УП рисует как кучу ступенек, т.е. последовательных движений.
А можно тупо поставить галку в софте “slave axis” 😃
И насчет кучи ступенек, посмотрите на G02/G03, да с G12/G13, как оно реализуется, и как там скорость регулируется и ускорение. А еще где-то тут на форуме товарищ показывал, как он посадочные отверстия под подшипники (напомню, если не знаете, там под посадку нужно точность в сотку выдержать) в дюрале пилит.
Обычно все начинается, а часто и заканчивается, с игрушечного CNC для сверления/рисования/выжигания. Вот на этом этапе и возникает стремление привлечь народ для решения своей задачи, обычно электрической. И подобных “народных” проектов в Сети много. Там вместо решения конкретной задачи долго обсуждается некий универсальный вариант с новомодными детальками и кучей ненужных режимов.
На самом деле, возможности самоделки определяет механика, она и стоит в разы больше контроллера.
Все правильно говорите.
У вышеназванного FL86sth80-4208a заявлен ток 4,2 А. ТА8435 способна на 2,5 ампера(при этом греется прилично)
Можно ли ее ставить? Можно,но двигатель будет недоиспользован.
LS7290… Пока темная лошадка.Схема наверно перспективная(особенно с усилением на полевиках).
По поводу микроконтроллеров… Тут надо сразу делить мух и котлет.Контроллер способен крутить станок и без компа.
Так сказать по заранее(может за неделю,а может за 15 мсек до этого)выданному заданию.Эта тема на еще один форум.Тонна стального листа в России стоит 20.000 руб.
“Жигули” весит 950 кг.
Вопрос- почему “Жигули” продают по 150.000 руб и почему их никто не собирается собирать.
Определились, специализированные микросхемы от Toshiba движки с током >2.5A не тянут. Как ни крути, надо ставить силовую часть. Если так, следующий вопрос : на чем собирать управление силовой частью. Вот для этого и были приведены цены. При почти одинаковых ценах микроконтроллеры смотрятся поперспективней. И если в дальнейшем можно будет уйти от компа как от средства непосредственного управления, то это только еще один плюс в сторону микроконтроллеров.
По Жигулям. Автомобили не собирают из листового железа, детали штампуют из рулонов стали. И КПД выхода где-то 40%, остальное уходит в металлолом. Вообще-то есть умельцы которые собирали/собирают автомобили сами почти с нуля. По моему дедушка Форд именно так начинал.
Многие работают на ОС Linux. Хорошая система, написана большим количеством людей. И никогда не слышал что вся эта толпа программистов решала чьи-то личные задачи.
Механика станка действительно самая важная часть любого станка. Но тут уже Граф все по полочкам разложил и разъяснил. Понятней некуда. И ему за это ОГРОМНОЕ СПАСИБО!!!
А вот про систему управления моторами для станка Графа еще не писали и не обсуждали.
ErvSed. Большое спасибо за выложенный проект. Поставил Протеус и посмотрел на схему. Оптронной развязки по входам я не нашел. Может есть смысл поставить что-то на LTV-826 Там два канала в одном корпусе. Двух корпусов должно хватить.
Если последняя версия схемы 4.5.3 то куда делся кварц с обвязкой. На предыдущих версиях схемы он был, но на самом контроллере входы не обозначены.
А можно тупо поставить галку в софте “slave axis” 😃
И насчет кучи ступенек, посмотрите на G02/G03, да с G12/G13, как оно реализуется,
При условии, что имеется отдельный контроллер для каждого из парных ШД. 😉
Я из-под ArtCam работаю, а она аппроксимирует кривые в отрезки, что избавляет от необходимости постоянно менять скорости ШД.
Круговая интерполяция хороша для сервопривода, там есть запас по скорости. Если к нему еще и прогу под USB, то можно будет с ноута работать. Вот контроллер такого привода имеет смысл изобретать, imho
При условии, что имеется отдельный контроллер для каждого из парных ШД. 😉
Я из-под ArtCam работаю, а она аппроксимирует кривые в отрезки, что избавляет от необходимости постоянно менять скорости ШД.
Круговая интерполяция хороша для сервопривода, там есть запас по скорости. Если к нему еще и прогу под USB, то можно будет с ноута работать. Вот контроллер такого привода имеет смысл изобретать, imho
Драйвер, коллега, драйвер. Контроллер-то у нас в компьютере.
А вот аппроксимировать кривые в отрезки - зло, эдак вы прямых кривых 😉) не получите ни в жисть.
Насчет USB с подходом “езжай туда-то и туда-то с такой-то скоростью, как доедешь - доложи” - согласен полностью, но этим надо заниматься. Я в принципе готов, наработки в плане интерфейса с ПК имеются.