Усовершенствованный сервопривод Чена
народ, может кто знает, как оделить входную частоту энкодэра на два с сохранением квадратуры? может кто делал, знает, может предположения какие имеются?
…как оделить входную частоту энкодэра на два с сохранением квадратуры?..
Вот здесь emergent.unpy.net/projects/01149094674 “делили” на 8 и 16 (там есть ещё пра схемок на МК) и вот здесь banebots.com/pc/ELECTRONICS/EN-A0001-KT на 1, 4, 8 и 16.
… и вот здесь banebots.com/pc/ELECTRONICS/EN-A0001-KT на 1, 4, 8 и 16.
Или я ничего не понимаю, или схема совсем левая:
- это не делитель с сохранением квадратур, а формирователь сигнала “направление”
- эта схема, как она нарисована, вообще не работает как делитель: сигнал направления формируется напрямую из входного квадратурного сигнала, а счетчик делитель и мультиплексор в стороне. Чтобы на халяву не повторяли, а покупали набор?
Да, верно. А мне нужен просто делитель на 2 (не на 4 8 16) с сохранением квадратуры. Диск на 500 линий не позволяет достичь нужной скорости.
И еще вопрос. Кто использовал оптопары от принтера HP? У меня они работают только со своей лентой. На другие диски или предметы в зазоре не реагируют вообще.
…А мне нужен просто делитель на 2 (не на 4 8 16) с сохранением квадратуры…
Если пойти по первой ссылке, а там почитать и пойти по следующей, то можно попасть на emergent.unpy.net/projects/01149271333
а там есть ссылка на программу расчета таблицы перекодирования на Python-е, а уж в ней в конфигурации можно задать коэффициент деления:
…# N is the divisor. It could be 1, 2, 4, 8, or 16.
Разобраться во всем этом при желании наверное можно. 😁
P.S. Интерпретатор Python вроде бесплатный.
Спасибо за совет, но я это не осилю. Я думал это немного проще , типа пара корпусов какой-нибудь логики .
Здравствуйте. Попросили меня залить прошивку из 198 сообщения этой ветки в Мегу 88. Я пользуюсь програмой AlgorithmBuilder. В ней можно присоединить hex файл и прошить кристал. Но перед тем как приступать к прошивки это программа выполняет какую то проверку и говорит что ошибка в hex файле в строке 1. Просил другово человека перекомпилировать исходник в асемблере он сказал что асемблер говорит что не хватает какой то библиотеке. Так вот у меня есть просьба, может кто нибудь поделится hex файлом на который моя программа не стала бы ругаться? Я буду Вам безумно благодарен!
Заранее спасибо!
МаркАнтоний, так как Вы меня ещё и в личке спросили об этом, отвечу здесь: я – понятию не имею, как с помощью AlgorithmBuilder «прошить» МК. «Прицепить» hex-файл туда у меня не получилось (в help-е ни слова про это, нашёл только экспорт) и разбираться в этом «глубже» у меня нет никакого желания и времени.
Воспользуйтесь другим программатором rcopen.com/forum/f110/topic40981/296 .
В AlgorithmBuilder нет возможности прошивать микроконтроллеры hex-файлом, который скомпилирован другими программами. Для этого нужно построить свой алгоритм и залить его.
Позвольте с Вами не согласиться: в программе AlgorithmBuilder имеется такой оператор как "Load: … .hex " и всё должно работать. Об этом говорил и сам автор данной среды.
Но всё равно большое спасибо всем откликнувшимся!
А у Вас какая версия AlgorithmBuilder?
5.43 которая бесплатная.
Здравствуйте. Здесь уже больше месяца никого не было, есть здесь кто живой.
Собрал на макете привод с мегой48 на 20мгц. энкодер с принтера на 1000 штрихов. В проге ServoTuning он настраивается, но избавится от дрожания вала не получается. Вопрос первый - возможно ли настроить так, чтобы в состоянии равновесия двигатель стоял, или это невозможно в принципе. Я так понимаю, что двигатель обязан при такой схеме все время немного дрожать. А дрожит он ± 100 штрихов!!! и меньше не получается.
Второй вопрос - может ли кто дать подробную блок схему программы в привязке к тексту прграммы, хочу сделать автоматическую оптимизацию параметров регулирования.
Вопрос третий - команды управления такие же как в Чена?
Вопрос четвертый - для меня смысл сервоуправления в отслеживании координаты резца и измерительная линейка должна стоять на направляющей. а когда стоит на двигателе то все люфты и погрешности остаются. но если двигатель обязан дрожать, то дрожать он будет на размер люфта, и разобьет всю механику!!!
Если это так, то придется лепить свою схему и программу, что конечно жаль.
- Дрожать при правильной настройке не должен. Но оригинальный Ченовский алгоритм позиционирования (который и был использован без изменений в данном усовершенствованном) видимо не совсем хорошо работает. Поэтому в сервоконтроллере UHU www.uhu-servo.de/servo_en/index.htm (основан на алгоритме Чена) его автор ввёл дополнительные настроечные коэффициенты (например, «B - Higher derivative constant») и изменил влияние интегрального коэффициента uhu-servo.de/…/UHU_Servo_Controller_300_en.pdf .
- Блок схема вряд ли у кого есть, наверное только у мистера Чена. elm-chan.org/works/smc/report_e.html
- Нет.
- То что датчик положения (энкодер, линейка и т.п.) должен быть связан с двигателем без люфтов, в этой ветке уже бурно обсуждалось.
…Если это так, то придется лепить свою схему и программу, что конечно жаль.
Ну почему же жаль. Если Вы что сделаете своё и поделитесь с этим со всеми – будет очень даже хорошо 😃😃.
Спасибо за ответ. В пид регулировании дифференциальная компонента обратной связи
берется от скорости. без нее остановить движок (не шаговик) без дрожания не удастся. я это делал на аналоговой схеме магнитной левитации. С цифровым датчиком энкодера и контроллером вычислить скорость можно лишь отработав несколько шагов. А это и будет принципиально неустранимое дрожание всей системы. По моему так.
Я сделал управление шаговым двигателем и в нем обратная связь идет как раз по координате. движок не дрожит. Но шаговик и не должен дрожать. А с ДПТ по другому.
А где взять команды управления от Вашей схемы, чтобы привязать к своей программе миллинга? Или с какой программой она работает?
Поставьте тахогенератор на движок(получите мгновенные значения скорости), а энкодерные импульсы берите с линейки на станине(компенсируете люфты).
А где взять команды управления от Вашей схемы, чтобы привязать к своей программе миллинга? Или с какой программой она работает?
Некоторые команды есть в исходнике в п/программе «In_Message:»
Команды можно «стянуть» какой нибудь программой для «прослушки» СОМ порта. У меня получилось этой - Advanced Serial Port Monitor www.aggsoft.ru/serial-port-monitor.htm. Эмулировать сервоконтроллер можно COM Port Data Emulator www.aggsoft.ru/serial-port-monitor.htm (пока ещё не пробовал).
Вы хотите управлять (задавать пошагово) по СОМ порту? Если так, то учитывайте то, что по Step/Dir импульсы задания положения «приходят» последовательно (постепенно), т.е. шаг за шагом. А по СОМ порту сразу поступает (задаётся) необходимое количество шагов и могут быть проблемы с защитой от большого рассогласования. Также необходимо учитывать, что профиль разгона-торможения нужно будет задавать в Вашей управляющей программе и выдавать это постепенно или использовать оригинальную Ченовскую прошивку elm-chan.org/works/smc/report_e.html , где у него есть команды «G - Generate a motion» (для непосредственного задания в G0/G1) и коэффициент разгона-торможения «Parameter #7: Accereration for G0 command». (см. Figire 9. Motion profile by G command)
Получается что надо ставить тахогенератор, но сигнал с него куда-то в программу вставлять. Раобраться с чужим ассемблером сложнее, чем свою программу писать.
хотелось бы воспользоваться тем что здесь уже разработано, ну и потом свою доработку выложу. команды надо передавать через СОМ на 3 и более координат. Передавать хочу координаты в память дополнительного контроллера .реальные рабочие координаты инструмента должны идти обратно в компьютер и рисовать пройденную траекторию поверх исходной. Я пишу для мк на си, программа получается больше чем асемблером, но писать намного легче. Через сверление печатных плат я уже прошел, хочется сделать что-то посерьезнее.
Здравствуйте. Кто подскажет какую программу миллинга лучше использовать для 4х мерной обработки и обменивающуюся со станком через СОМ порт. Необходимо также чтобы были известны коды управления контроллером, чтоб привязать к своей программе.
Давече сидел писал программку под АВР для УЦИ на оптических линейках. Точность линеек 1 микрон. Так эта зараза АВР не угоняется за линейками на быстрых ходах. Сильно призадумался. Пошел изучать теорию. И тут оказывается что за деньги сопостовимые с ценой АВР можно взять микроконтроллеры в 10-50 раз быстрее работающие. Вобщем я завязался сейчас в ARM (делаю на нем УЦИ с УЧПУ) и немного подумываю а не переделать ли привод чена на этот процессор.
И по программированию процы похожи.
разъясните пожалуйста о параметрах двигателей
если брать шаговик , то там с моментом боле менее понятно а как с коллекторными?
написано 0.3 Nm - насколько это мало или много по сравнении с шаговым двигателем (я имею в виду с каким шаговиком можно теоретически сравнить по моменту 0.3 Nm)