Настройка EMC2 на простейший драйвер управления ШД
-
igor_66
- Новичок
- Сообщения: 15
- Зарегистрирован: 07 фев 2011, 11:49
- Репутация: 0
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
Добрый день!
Даж не знаю в какой ветке форума задать вопрос, остановился на этой)). Получится ли идеально синхронно управлять двумя ШД в EMC2 по одной оси, включая естественно и два контроллера, а может и один контроллер может гонять двумя ШД ? Это применительно к плазмарезке и к координатному столу.
Даж не знаю в какой ветке форума задать вопрос, остановился на этой)). Получится ли идеально синхронно управлять двумя ШД в EMC2 по одной оси, включая естественно и два контроллера, а может и один контроллер может гонять двумя ШД ? Это применительно к плазмарезке и к координатному столу.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
Есть два варианта, прописываем в EMC2 два разных пина на lpt порте.
Функция update компонента stepgen выполняется одновременно для всех генераторов шагов, поэтому задержка в сигналах, если она и будет, будет оооочень маленькой - несколько тактов процессора. Для плазморезки, как впрочем и для всех остальных станков, этого должно быть более чем достаточно.
Второй вариант - разводим один пин LPT, на два контроллера и вообще забываем о ПО. Получится, что EMC2 даже знать не будет, что у тебя два движка.
Однако, люди говорили что лучше оси двигателей завязать между собой дополнительно, повесить между ними ремень, или соединить длинным жестким валом через шестерни. Т.к. иногда ШД могут пропускать шаги, когда этих ШД два вероятность увеличивается. И если например одни двигатель стопорнется, то может перекосить всю конструкцию. Но это так - страшилки, т.к. и с одним движком можно дел наворотить
.
ЗЫ и от ПО это никак зависеть не будет.
Функция update компонента stepgen выполняется одновременно для всех генераторов шагов, поэтому задержка в сигналах, если она и будет, будет оооочень маленькой - несколько тактов процессора. Для плазморезки, как впрочем и для всех остальных станков, этого должно быть более чем достаточно.
Второй вариант - разводим один пин LPT, на два контроллера и вообще забываем о ПО. Получится, что EMC2 даже знать не будет, что у тебя два движка.
Однако, люди говорили что лучше оси двигателей завязать между собой дополнительно, повесить между ними ремень, или соединить длинным жестким валом через шестерни. Т.к. иногда ШД могут пропускать шаги, когда этих ШД два вероятность увеличивается. И если например одни двигатель стопорнется, то может перекосить всю конструкцию. Но это так - страшилки, т.к. и с одним движком можно дел наворотить
ЗЫ и от ПО это никак зависеть не будет.
Re: Настройка EMC2 на простейший драйвер управления ШД
Если расстояние между движками изрядное, то можно использовать gantrykins и управлять ими независимо.
http://www.linuxcnc.org/component/optio ... g,english/
http://www.linuxcnc.org/docs/2.4/html/m ... ins.9.html
http://www.linuxcnc.org/component/optio ... g,english/
http://www.linuxcnc.org/docs/2.4/html/m ... ins.9.html
root, доделай конвертацию! 
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
А в чем прикол gantrykins? Чем он отличается от простого
net xstep => parport.0.pin-08-out
net xstep => parport.0.pin-09-out
Или от распараллеливания одного пина на два контроллера?
------------
о... конвертация... щас посмотрим...
net xstep => parport.0.pin-08-out
net xstep => parport.0.pin-09-out
Или от распараллеливания одного пина на два контроллера?
------------
о... конвертация... щас посмотрим...
Re: Настройка EMC2 на простейший драйвер управления ШД
Возможностью выставлять оси в ноль (home) независимо (но одновременно)
Что для большого пролета может быть актуально
Что для большого пролета может быть актуально
root, доделай конвертацию! 
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
А вот это действительно классно!
-
Роман
- Новичок
- Сообщения: 18
- Зарегистрирован: 20 мар 2013, 14:20
- Репутация: 0
- Откуда: Ижевск, Удмуртская Респ
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
Надо настроить емс для фазового режима... в принципе можно было бы сделать нормальную статью чтобы такие как я не мучались потом)
вот собственно вопрос как настроить фазовый режим обращения к моторчикам? вот нашел ветку http://www.cnc-club.ru/forum/viewtopic. ... %BC7#p3874 но там тема не до конца расскрыта)
вот собственно вопрос как настроить фазовый режим обращения к моторчикам? вот нашел ветку http://www.cnc-club.ru/forum/viewtopic. ... %BC7#p3874 но там тема не до конца расскрыта)
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
Все оказывается еще проще. Насколько я понимаю фазовый режим - это мы должны посылать контроллеру какую обмотку надо включать.
В общем, для этого надо загружать stepgen в режиме 5-8
loadrt stepgen step_type=8,8,8
см: http://linuxcnc.org/docs/html/man/man9/stepgen.9.html
В общем, для этого надо загружать stepgen в режиме 5-8
Тогда у него будут дополнительные пины, на которых будет появляться нужный сигнал:types 5 through 8: four phase, full step
Four pins, phases A through D. Four steps per full cycle. Types 5 and 6 are suitable for use with unipolar steppers, where power is applied to the center tap of each winding, and four open-collector transistors drive the ends. Types 7 and 8 are suitable for bipolar steppers, driven by two H-bridges.
Чтобы stepgen загружался в нужном режиме - надо в строке загрузки компонента проставить соответствующие режимы:stepgen.N.phase-A thru phase-E bit out (step types 2-14 only)
Output bits. phase-A and phase-B are present for step types 2-14, phase-C for types 3-14, phase-D for types 5-14, and phase-E for types 11-14. Behavior depends on selected stepping type.
loadrt stepgen step_type=8,8,8
см: http://linuxcnc.org/docs/html/man/man9/stepgen.9.html
Re: Настройка EMC2 на простейший драйвер управления ШД
NICK - вопрос тебе по 3 пункту:Nick писал(а):Компилируем и устанавливаем компонент HAL при помощи comp: comp --install simple_stepper.comp
что то не выходит "каменный цветочек":
root@cncdeb:/home/cncuser# comp --install /home/cncuser/simple_stepper.comp
Traceback (most recent call last):
File "/usr/bin/comp", line 1346, in <module>
main()
File "/usr/bin/comp", line 1315, in main
process(f, mode, outfile)
File "/usr/bin/comp", line 1185, in process
a, b = parse(filename)
File "/usr/bin/comp", line 417, in parse
a, b = f.split("\n;;\n", 1)
ValueError: need more than 1 value to unpack <<<<<<<<<<<<<<<<<<----------------------------------
ИЗВИНИ ламера-из гатчины. ^^^^^^^^^^^^ Чего он хочет?
*не успел до повышения купить драйвер с моторами у китайцев, а сыну для поделок хоцца(и самому интересно) простой станочек собрать (на "фанере-ДСП"+ мосфеты со старых материнок через опторазвязку - без изысков вообщем)
**параллельно строю стол и начал софт готовить -только линукс(gpl)
***тест латенси серво 42к, бейс- 17к без шестеренок- видюха от нвидиа работает на драйвере "обратный инжиниринг-что-то" слаб в англицком
****помоги добрым советом(ами)
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
А что ты хочешь сделать?
Выложи свой файл simple_stepper
Скорее всего ошибка в компоненте. Там должно быть описание, которое отделяется ;; от тела программы.Ivn писал(а):root@cncdeb:/home/cncuser# comp --install /home/cncuser/simple_stepper.comp
Traceback (most recent call last):
File "/usr/bin/comp", line 1346, in <module>
main()
File "/usr/bin/comp", line 1315, in main
process(f, mode, outfile)
File "/usr/bin/comp", line 1185, in process
a, b = parse(filename)
File "/usr/bin/comp", line 417, in parse
a, b = f.split("\n;;\n", 1)
ValueError: need more than 1 value to unpack
Выложи свой файл simple_stepper
Какие нужны сигналы на выходе? Управление обмотками напрямую?Ivn писал(а): мосфеты со старых материнок через опторазвязку
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
Re: Станок канатной резки камня с ЧПУ #115Nick писал(а):a, b = f.split("\n;;\n", 1)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
наоборот, нужны два ;;. В этой строчке он отделяет заголовки для comp и само тело компонента. Если он их не найдет, то split даст 1 результат, а в этом выражении нужно два.
a, b = f.split("\n;;\n", 1)
a, b = f.split("\n;;\n", 1)
Re: Настройка EMC2 на простейший драйвер управления ШД
Nick писал(а):А что ты хочешь сделать?
Инструкция взята твоя отсюда (стр.1)"#18 Сообщение Nick » 28 мар 2011, 20:54 "Nick писал(а):Скорее всего ошибка в компоненте. Там должно быть описание, которое отделяется ;; от тела программы.
Выложи свой файл simple_stepper
"Объясняю. Все это нужно запихать в компонент. Для этого:
1.Сохраняем все что вверху в файл simple_stepper.comp.
2.Устанавливаем пакет emc2-dev: sudo apt-get install emc2-dev
3.Компилируем и устанавливаем компонент HAL при помощи comp: comp --install simple_stepper.comp
4.Настраиваем станок для использования такого компонента, для этого редактируем .hal файл настроек контроллера добавляем примерно следующее :"...(много текста)
Компонента взята твоя отсюда " #4 Сообщение Nick » 27 мар 2011, 20:54 "
(?копирую с форума и вставляю в nano-редакторе(терминал) и сохраняю с именем simple_stepper.comp)
component simple_stepper;
pin in bit step;
pin in bit dir;
pin out bit out1;
pin out bit out2;
pin out bit out3;
pin out bit out4;
variable int step_phase;
license "GPL";
;;
if (dir == 0){step_phase = (step_phase-1)%4;} else {step_phase = (step_phase+1)%4;}
if (step_phase == 0)
{ out1 = 1; out1 = 0; out1 = 0; out1 = 0; }
else if (step_phase == 1)
{ out1 = 0; out1 = 1; out1 = 0; out1 = 0; }
else if (step_phase == 2)
{ out1 = 0; out1 = 0; out1 = 1; out1 = 0; }
else if (step_phase == 3)
{ out1 = 0; out1 = 0; out1 = 0; out1 = 1; }
Посмотри ты уже сталкивался с такой ошибкой(не у тебя- у новичка)
#51 Сообщение UAVpilot » 12 янв 2015, 12:51
ссылка "Re: Станок канатной резки камня с ЧПУ #115"
там таже проблема-чем закончилась не известно
(о каких пробелах речь идет?)
Прозорлив ты чертяка!(уважаю!) Именно напрямую. (пусть начнет работать хоть и медленно, дальше-больше)Nick писал(а):Какие нужны сигналы на выходе? Управление обмотками напрямую?
*где то в нете один линуксоид писал об этом: на 220 строил, изменял LPT режим
(3 axis напрямую, и концевики, кажется, с e-stop на одном проводе -"без излишеств с обратной связью")
но без EMC и очень тяжело -линукс, всё таки-въехать сразу не получится.
**хотя по инструкциям даже real-time-ядро пытался собрать (latency test -максджитер был за 1м) и что то компилировалось,
но не запустил ни разу(не было попыток даже -не дошел: сначала некогда, потом целевой комп отдал под word)
Спасибо.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Настройка EMC2 на простейший драйвер управления ШД
Тогда все просто, ничего не надо устанавливать.Ivn писал(а):Прозорлив ты чертяка!(уважаю!) Именно напрямую. (пусть начнет работать хоть и медленно, дальше-больше)
1. Делаешь обычную настройку для шаговиков через stepconf.
Потом открываешь hal файл и в нем меняешь в строке
loadrt stepgen step_type=type0[,type1...]
тип выбираешь отсюда:
Потом нужно поменять привязку пинов:type 1: up/down
Two pins, one for ’step up’ and one for ’step down’. Like type 0, make-pulses must run twice per step, which limits the maximum speed.
type 2: quadrature
Two pins, phase-A and phase-B. For forward motion, A leads B. Can advance by one step every time make-pulses runs.
type 3: three phase, full step
Three pins, phase-A, phase-B, and phase-C. Three steps per full cycle, then repeats. Only one phase is high at a time - for forward motion the pattern is A, then B, then C, then A again.
type 4: three phase, half step
Three pins, phases A through C. Six steps per full cycle. First A is high alone, then A and B together, then B alone, then B and C together, etc.
types 5 through 8: four phase, full step
Four pins, phases A through D. Four steps per full cycle. Types 5 and 6 are suitable for use with unipolar steppers, where power is applied to the center tap of each winding, and four open-collector transistors drive the ends. Types 7 and 8 are suitable for bipolar steppers, driven by two H-bridges.
types 9 and 10: four phase, half step
Four pins, phases A through D. Eight steps per full cycle. Type 9 is suitable for unipolar drive, and type 10 for bipolar drive.
types 11 and 12: five phase, full step
Five pins, phases A through E. Five steps per full cycle. See HAL reference manual for the patterns.
types 13 and 14: five phase, half step
Five pins, phases A through E. Ten steps per full cycle. See HAL reference manual for the patterns.
type 15: user-specified
This uses the waveform specified by the user_step_type module parameter, which may have up to 10 steps and 5 phases.
Код: Выделить всё
net xstep => parport.0.pin-02-out
net xdir => parport.0.pin-03-out
Код: Выделить всё
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dirи всеstepgen.N.phase-A thru phase-E bit out (step types 2-14 only)
Output bits. phase-A and phase-B are present for step types 2-14, phase-C for types 3-14, phase-D for types 5-14, and phase-E for types 11-14. Behavior depends on selected stepping type.
Re: Настройка EMC2 на простейший драйвер управления ШД
Спасибо.
В выходные попробую светодиоды в lpt через 330ом навесить для проверки
(опторазвязка и т.д. пока не готова)
В выходные попробую светодиоды в lpt через 330ом навесить для проверки
(опторазвязка и т.д. пока не готова)
