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