"Мозги" cnc-контроллеров, драйверы, совместимость
Спасибо ! Почитал ! Очень интересно ,но в TCNC я так понимаю такого нет .
Фича “look ahead” в продвинутых прогах есть. Например, есть в step-four.
Тебе точно не надо.
Добавлено
Vitaly,
«Научитесь пользоваться цитатами. В форуме есть хелп, ваши сообщения читать неудобно.»
Цитатами я пользоваться умею. (См. предыдущий топик) но они много места занимают, и мне с ними работать неудобно.
«Давайте предполагать, что здесь собрались не идиоты, а разработчики, поэтому базовые представления у всех есть. Я не просил комментировать мои отдельные фразы, тем более информацией, которой навалом в свободном доступе, и которую я и так знаю.»
Извините, если задела форма подачи информации. Я искренне пытался поделиться своим личным опытом, по мере возможности ответить на вопросы. Если знаешь ответ, зачем задавать вопрос?
«Надо дешево, сердито, но СОВМЕСТИМО хотя бы с некоторым количеством имеющегося хорошего софта.»
Удачи.
Добавлено
Интересно, поделитесь опытом, как у вас под виндой с LPT управление непосредственно приводами по нескольким координатам получается. Покажите, расскажите, как сие удалось?
Я могу ответить Товарищу Художнику! Управляю под виндой с LPT непосредственно 3-мя (осями) приводами на скорости 2800-5000шагов в секунду. Загружал в MACH 8000 000 отрезков, станок работал 48часов и вернулся в “0”. Есть ли еще на форуме люди кто испытывал софт на нагрузку?
Займемся делом господа!
Насчёт красивого решения. Пожалуй самое красивое - это как раз прямое управление с компьютера через параллельный порт. Никаких дополнительных контроллеров не надо, частота порядка 30 КГц без проблем. Под DOS без проблем. Под виндой генерить частоту по LPT это фокус. Захват по таймеру с высшим приоритетом, под виндой, реализуемый в Mach2, нестабилен. Поэтому она и виснет. Вот как обеспечить прямое управление программно или аппаратно, чтобы корректно и стабильно, это и есть красивое решение.
Нет с Виндами ни каких проблем с Mach тоже. CNC станок это система реального вренмени, поэтому комп должен выполнять только одну задачу “Mach”
Стабильность обеспечивает все уровни. Мягкость хода механики, отсутствие наводок на слаботочку, коректные настройки разгонов-торможения и корректный G-код. Перечислять можно до бесконечности.
Sergei-md,
Что то с арифметикой не понятно, при шаге 0,018, на скорости 5м/мин получается частота 4630 Гц. С редуктором 1/10 частота управления должна быть 46 300 Гц. По характеристикам этого мотора, предельная частота порядка 4800 Гц, и то крутящий момент к нулю приближается. Разтолкуйте плиз.
Дорогой Sergei-md упускаешь один момент, По зубчатой рейки бегает зубчатое колесо. Длина делительной окружности у зубчатого колеса с диаметром всего 50мм приблизительно 150мм. Чтобы ему сделать один оборот надо двигателю сделать 8333 шага.
…CNC станок это система реального вренмени, поэтому комп должен выполнять только одну задачу “Mach”…
😃 Ради любопытства загляните в “Диспетчер задач” и посмотрите, сколько там процессов выполняется. А еще сколько не видно…
Windows - не система реального времени, она не гарантирует времени обработки прерывания или события, поэтому станок, программа которого крутится в Windows и напрямую генерирует сигналы DIR/STEP, по определению не может быть системой реального времени, не морочьте людям голову. Хочется реального времени - в DOS, или другие, специальные ОС реального времени.
Windows - не система реального времени, она не гарантирует времени обработки прерывания или события, поэтому станок, программа которого крутится в Windows и напрямую генерирует сигналы DIR/STEP, по определению не может быть системой реального времени, не морочьте людям голову. Хочется реального времени - в DOS, или другие, специальные ОС реального времени.
😃
При всем моем уважении, это вы морочите голову людям…
Реальное время - реальному времени рознь. И реальность времени винды зависит от требуемой малости дискрета этого времени, а мы говорим только о дискретном времени. DOS и RTOS - это системы с гарантированным временем, а не “реальным” временем. Windows - система с прогнозируемым, с определенной вероятностью, временем.
Под виндой реально, в домашних условиях получить импульсы на lpt и с частотой 5кГц и 20кГц - это могу подтвердить (конечно желательно машину помощнее и процессов несистемных поменьше), думается до 50-70кГц тоже можно, если очень хочется…
Исходный код на Delphi высокоточного таймера, написанного добрым буржуем, и то как его применить, доступен здесь, посмотреть как он работает можно здесь
DOS и RTOS - это системы с гарантированным временем, а не “реальным” временем.
Чуть уточню: с гарантированным временем реакции и гарантированным временем исполнения.
Исходный код на Delphi высокоточного таймера, написанного добрым буржуем, и то как его применить, посмотреть как он работает можно
Я знаю, что такое HighResolutionTimer, приходилось его использовать, и мне не нужно уповать на доброго буржуя - это все есть в WindowsAPI. Приходилось генерить сигнал с помощью этого таймера, и смотреть осциллографом. Шевелится он и дрожит.
Согласитесь, когда начинаются оговорки про “прогнозируемое, с определенной вероятностью, время”, про компьютер помощнее, про задач поменьше - это все несколько не то, чего хотелось бы.
Зачем нужен двух/четырех ядерный 3 ГГц процессор с 2-4 Гбайт ОЗУ, не гарантирующий траектории движения инструмента, из-за того, что системе понадобилось что-то выгрузить в своп?
Расчет траектории с требуемой скоростью без проблем может считаться, пожалуй, и на 386 компьютере с 4 Мбайтами ОЗУ, только это будет не под Windows.
Программа под Windows - это ширпотреб на потребу самодельщиков, для которых Windows м PC синонимы.
Согласитесь, когда начинаются оговорки про “прогнозируемое, с определенной вероятностью, время”, про компьютер помощнее, про задач поменьше - это все несколько не то, чего хотелось бы.
Зачем нужен двух/четырех ядерный 3 ГГц процессор с 2-4 Гбайт ОЗУ, не гарантирующий траектории движения инструмента, из-за того, что системе понадобилось что-то выгрузить в своп?
Расчет траектории с требуемой скоростью без проблем может считаться, пожалуй, и на 386 компьютере с 4 Мбайтами ОЗУ, только это будет не под Windows.
Программа под Windows - это ширпотреб на потребу самодельщиков, для которых Windows м PC синонимы.
5
Программа под Windows - это ширпотреб на потребу самодельщиков, для которых Windows м PC синонимы.
Не, ну конечно, программы под виндовз - ширпотреб… 😁
Можно создать такие условия, что системе в своп ничего выгружать не нужно будет, так ведь?
Насчет машины, можно ездить на “инвалидке”, можно работать на 386-м, с 4 Мб ОЗУ, можно, а нужно ли?
Согласитесь, когда начинаются оговорки про “прогнозируемое, с определенной вероятностью, время”, про компьютер помощнее, про задач поменьше - это все несколько не то, чего хотелось бы.
Это не отговорки. Согласитесь, для достижения одной цели есть различные пути. В данном случае, для многих, в том числе и для меня, путь через виндовз более прост.
З.Ы.: а на доброго буржуя я не уповаю - я просто благодарен ему, за то, что именно его код мне попался первым.
😃 Ради любопытства загляните в “Диспетчер задач” и посмотрите, сколько там процессов выполняется. А еще сколько не видно…
Windows - не система реального времени, она не гарантирует времени обработки прерывания или события, поэтому станок, программа которого крутится в Windows и напрямую генерирует сигналы DIR/STEP, по определению не может быть системой реального времени, не морочьте людям голову. Хочется реального времени - в DOS, или другие, специальные ОС реального времени.
Работал у меня станок в реальной системе под QNX, пишут и продают это чудо “ПО Ленинец” в СПб с мощным названием “Снайпер”. Они расказывали что эта система работает на вражеских самолетах F-16. Больше 10 000 отрезков в неё просто не загрузить. Ну а их выполнеиии вообще можно промолчать.
Mach3 кушал 8 000 000 и выполнял под Виндами двое суток без ошибок.
Mach3 кушал 8 000 000 и выполнял под Виндами двое суток без ошибок.
А вот очень мне любопытно, как Вы проверяли отсутствие ошибок?
То, что спустя 2 суток, инструмент пришел в 0, совершенно не означает, что нет ошибок (отклонений) траектории: грубо говоря, вместо круга у Вас вышло яйцо, но при этом в 0 Вы придете точно, поскольку это характеризует скорее люфты в механике, чем работу софта.
Коллеги, признайтесь.
Вы обсуждаете станки для изготовления плутониевых сборок для ядерной бомбы? 😉 Есть работающее решение, компромисное как и любое другое.
Не устраивает степень реалтаймовости винды и MACH3? Попробуйте LinuxCNC, там все намного честнее. Не устраивает и это? Тогда, по-моему, вы форумом ошиблись.
На одном сайте были исходники для PIC18F452.
Програмка под винды в формате PLT.
Все работает через СОМ порт, от винды только данные идут.
Движки работают чисто без запинаний.
Часть коментов из исходников:
// C program FOR PIC18F452 MICROCHIP MCC18-MPLAB
// PStep
// Pic18f452 serial 3 axis stepper
// 24 bit 3 axis linear interpolation
// 40Mhz quartz connected to OSC1
// BAUDRATE 115200
// portb 7, 5, 3 are connected to steppuls wires for x, y, z axis
// portb 6, 4, 2 are connected to direction wires for x, y, z axis
Я бы выложил, но автор просил в сеть не выставлять.
Устройство типа MaxSteper от KCam.
На одном сайте были исходники для PIC18F452.
<>
Я бы выложил, но автор просил в сеть не выставлять.
Устройство типа MaxSteper от KCam.
Ну так выложи адрес сайта где они были.
Ну так выложи адрес сайта где они были.
Один из вариантов под Win & COM есть здесь klev.borda.ru
Все построено на том, что контроллер CNC запрашивает информацию от РС, когда она нужна. Это позволяет не напрягать ОС. Собственно мультизадачные ОС на прерываниях и работают
Один из вариантов под Win & COM есть здесь klev.borda.ru
Все построено на том, что контроллер CNC запрашивает информацию от РС, когда она нужна. Это позволяет не напрягать ОС. Собственно мультизадачные ОС на прерываниях и работают
Все замечательно, а протокол какой?
I2C PC-master. Комп передает байт параметров (ось, скорость, направление) и байт кол-ва шагов. После этого Win свободна, пока CNC не выставит флаг, что команда выполнена.
Поскольку ОС не нужно управлять каждым шагом всех ШД, то и загрузка «камня» не более 1%
Один из вариантов под Win & COM есть здесь klev.borda.ru …
Любопытно-странный форум: не в обиду bolt сказано, его содержание напоминает шизофрению - сам спросил, сам ответил 😉
I2C PC-master. Комп передает байт параметров (ось, скорость, направление) и байт кол-ва шагов. После этого Win свободна, пока CNC не выставит флаг, что команда выполнена.
Первый раз слышу, чтобы I2C использовалась для таких целей - не предназначена она для связи на сколько-нибудь дальние расстояния, 2 м - максимум, да еще нужно умудриться при этом уложиться в 400 пФ емкости линии.
Может лучше RS232/485? И пары байт маловато будет для надежной работы: нужно предусмотреть контрольную сумму для обнаружения ошибок.
I2C PC-master. Комп передает байт параметров (ось, скорость, направление) и байт кол-ва шагов. После этого Win свободна, пока CNC не выставит флаг, что команда выполнена.
Поскольку ОС не нужно управлять каждым шагом всех ШД, то и загрузка «камня» не более 1%
Под Win программа у Вас своя?
2 ATLab
LPT тоже далеко нежелательно, но Народ пользуется.
RS232 было бы удобней.
Кому интересно посмотреть
www.luberth.com/cstep/download/
логин guest
пароль end2004
Протокол как в I2C, так мне не нужно тайминги выдерживать, комп сам сихроимпульсы выдает. Аналогичным образом все программаторы работают. Ограничений по емкости и длине линии здесь нет, поскольку параметры зависят не от протокола, а возможностей СОМ порта.
Прогу транслятора пришлось писать свою, на cnc8am денег жалко 😉