Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Микроконтроллеры, робототехника, схемотехника, 3D принтеры
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2012, 01:08   #1
Evgeni7
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 17
По умолчанию Управление 2-мя шаговыми двигателями, регулируя ускорение

Доброе время! У меня такая задача: нужно одновременно управлять двумя шаговыми двигателями, регулируя их ускорение. Другими словами, если один двигатель - как координата Х, а другой как У, получится траектория. При ее отработке ускорение контурной скорости должно меняться по определенному закону. Двигатели через контроллер-драйвер подключены к компьютеру через LPT-порт. Программа Mach3 не способна на требуемое (что с точки зрения программирования в G-кодах совершенно логично). Как быть?
Evgeni7 вне форума Ответить с цитированием
Старый 12.11.2012, 01:15   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...написать самому.

Цитата:
Двигатели через контроллер-драйвер подключены
такое может быть реализовано множеством способов. Конкретика где?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 12.11.2012, 10:25   #3
Evgeni7
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 17
По умолчанию

Я умею программировать только станки с ЧПУ, а в программировании компьютера полный 0. Какая конкретика требуется?
Evgeni7 вне форума Ответить с цитированием
Старый 13.11.2012, 10:56   #4
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,266
По умолчанию

Сигнал я так понимаю нужно будет подавать с определенной частотой и этим самым регулировать скорость вращения двигателей. Ведь у вас есть формулы для вычисления нужной скорости, плюс надо добавить формулу зависимости периода сигнала от скорости и готово. Самый главный вопрос как работает
Цитата:
контроллер-драйвер подключеный к компьютеру через LPT-порт
и что это вообще за контроллер, есть ли у него имя, есть ли дрова к нему какие или ПО?

Последний раз редактировалось Simply-Art; 13.11.2012 в 10:58.
Simply-Art вне форума Ответить с цитированием
Старый 13.11.2012, 11:51   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

TC, вас уже второй человек спрашивает об одном и том же.

Цитата:
Я умею программировать только станки с ЧПУ, а в программировании компьютера полный 0
на форуме есть несколько тем по управлению шаговиками со схемами и исходниками. В поиске "LPT" или "шаговым".
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.11.2012, 19:31   #6
Evgeni7
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 17
По умолчанию

Контроллер EasyDrive-R4-Opto. В частности управляет следующими разъемами LPT-порта: 2 - шаг Х (сигнал инвертирован); 3 - направление Х; 4 - шаг У (инвертирован); 5 - направление У; до 9-го разъема включительно - нули. 10-й - прерывание (сигнал прерывания - лог. 1). Таким образом на разъемах 2 - 9 формируется двоичное число. Так как по условию задачи направление вращения не меняется, то есть только 4 состояния приводов Х и У - в десятичной системе это числа 2, 3, 6, 7. Их и надо отправлять на LPT. Длительность сигналов рассчитывается заранее, сейчас я над этим работаю. Чтобы двигатель сделал 1 шаг, время сигнала 4 - 8 микросекунд (надо подбирать во избежание резонанса).
Evgeni7 вне форума Ответить с цитированием
Старый 14.11.2012, 19:33   #7
Evgeni7
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 17
По умолчанию

Извиняюсь! Конечно контроллер не управляет, а получает сигналы порта.
Evgeni7 вне форума Ответить с цитированием
Старый 14.11.2012, 20:08   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

с.5 описания 'easydrive-r4.pdf' на CNC контроллер EasyDrive-R4-Opto, там приведена таблица с назначением сигналов, этого уже достаточно для написания своего аналога, используя примеры с форума.

Кроме того, с.6,7,8 "Настройки ШД в Mach3" посмотрите внимательнее, может чего упустили.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 15.11.2012, 01:31   #9
Evgeni7
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 17
По умолчанию

Спасибо. Я ничего не упустил. Когда закончу рассчитывать последовательность сигналов, начну подробнее просматривать программы, но вряд ли выйдет толк, так как, к сожалению, у меня нет даже базовой подготовки для этого - в кодах компьютерных программ я ничего не понимаю. Кстати, когда, пользуясь вашими ссылками, читал статьи форума, возник вопрос: можно ли задавать временные интервалы от 1 микросекунды и выше, и с точностью, скажем, +/-(5...10)%?
Evgeni7 вне форума Ответить с цитированием
Старый 15.11.2012, 08:00   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Чтобы двигатель сделал 1 шаг, время сигнала 4 - 8 микросекунд (надо подбирать во избежание резонанса).
Может всё-таки милисекунд? А то частота вращения получается ооочень высокой. Даже, если он делает 100 шагов на один оборот, получается 50000 об/сек. Если в миллисекундах - 50 об/сек, что то-же много т.е. 50*60=3000 об/мин. Я не знаю шаговиков, способных работать на таких оборотах. Скорее всего, речь идёт о сигналах в десятки и сотни милисекунд.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорение программы С++ rUs_LAN Помощь студентам 4 16.08.2012 13:57
Ускорение макроса ymnuhj Microsoft Office Excel 5 12.05.2012 00:48
Ускорение времени rinasmichael Win Api 3 10.11.2011 09:15
ускорение виндовс voland123454321 Windows 22 04.09.2010 12:16
Ускорение д2010 Utkin Софт 2 29.03.2010 16:03