Контроллер ЧПУ
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
celladon, понял. примерно так и у меня сейчас работает. если умеешь писать на ассемблере, то и на тини можно сваять что то подобное, но на меге лучше.
Нужен лазер. Форумчане, порекомендуйте пожалуйста твердотельный лазер с маленьким пятном. || Для работы над X-Cam нужны бетта-тестеры.
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
Ёлы палы, Дим, ну что спорить-то? Ты меня спрашивал о достоинствах приводов за 7тыр? Мои вот движки спокойно работают с нагрузкой на частоте где-то 8-10кГц в полушаге, можно здесь посмотреть. Я так до сих пор не ощутил что такое резонанс, мои привода на L297 не крутят роботроновские моторы выше 300 Гц, а этим вообще пофиг все. Да и это не предел, потому что такие эксперименты не самоцель )ab( . Опять же не пробовал вот L297 c нормальным FL60-м мотором... хотя давно собираюсь.malvin писал(а):Для кого немного? Для шагового движка? У меня, например, движки клинит на 2000 герц. Может быть, на коммерческих станках и 10000 - это я слыхал из проверенных источников. А вот больше - это уже из ряда фантастики.
Смотри: есть такие привода GeckoDrive, вполне такой домашне-профессиональный девайс. Я думаю что это реальный ориентир, почитай вот про "непонятки" с GeckoDrive. Там речь идет о частотах 200кГц!!! А мач, просто так ли на частотах 100кГц может работать?
Мое мнение - 4кГц для моста - мало. Ничего не хочу сказать, для отладки и экспериментов пойдет... но надо знать потолок, что-то мне подскажывает что 4кГц - это не он.
malvin писал(а):Если мосто не нужен, что ж мы тогда обсуждаем? Все по домам.
Все просто: есть определенные сложности у моей программы - если работает интерфейс - плохо работают моторы, если хорошо работают моторы - дохлый интерфейс.spike писал(а):Я бы повторил такой девайс. Вообще, если он будет простым, то думаю что но станет весьма популярным.
Насчет приоритетов и драйверов: ты не совсем прав, драйвера не имеют приоритета реального времени, они еще круче - работают в нулевом кольце ядра и реагируют на прерывание. Практически, прерыванию при нормальной работе программы-контроллера взяться неоткуда, если конечно фигней всякой на компе не страдать... )bn(malvin писал(а):Ну, это конечно возможно, но в домашних условиях это просто экзотика. А на счет приоритетов - даже с приоритетом реального времени всегда найдется тот, кто готов будет потеснить твою программу, например, драйвера, которые ТОЖЕ работают в реальном времени. Так что слабо верится, уж извини.
)be( Бредятина какая-то...malvin писал(а):Теперь конкретно. Листинг ниже - это то, что выдает GIGAMESH в мою программу. Когда я кручу мышкой одной осью - крутятся все три оси, причем, в одном направлении. Конфигурация в листинге.
Программа 2H? отсюда?
А по какому адресу такие данные?
Какая распиновка выставлена в программе?
Что такое TimeAvr?
А без моста тоже так работает?
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
Это переписка меня и братана моего, вечного хакера-стахановца.... Думаю, комментарии бессмысленны.Димидрол (21:55:07 28/10/2009)
с какой точностью в винде можно мерить время?
Рус (21:55:53 28/10/2009)
ёххоу.... вааще винда это не система реал тайм то бишь.. время может запаздать..
Рус (21:56:07 28/10/2009)
или ты о маленьких премаленьких долях
Димидрол (21:56:18 28/10/2009)
зинаю.
Рус (21:56:26 28/10/2009)
умный , да?
Димидрол (21:56:44 28/10/2009)
просто меня чуть не переубедили в обратном
Вспомнил, ты говорил мне об этом, да. Представляешь, я еще добрую половину часов не перевел на зимнее время и сегодня наеххххх]]]] А ты хочешь чтобы я все помнил...spike писал(а):Ты меня спрашивал о достоинствах приводов за 7тыр? Мои вот движки спокойно работают с нагрузкой на частоте где-то 8-10кГц в полушаге
Понятно, зделаем и на 10 килогерц. Мне пофиг. Лишь бы комп успел.spike писал(а):Мое мнение - 4кГц для моста - мало. Ничего не хочу сказать, для отладки и экспериментов пойдет... но надо знать потолок, что-то мне подскажывает что 4кГц - это не он.
Недавно встречался с друганом моим - матершинник страшный - он мне сказал: "Дима, ты дурак. Все уже давно изобретено, написано и крякнуто. Нечего изобретать велосипед." У тебя работает круговая интерполяция?spike писал(а):Все просто: есть определенные сложности у моей программы - если работает интерфейс - плохо работают моторы, если хорошо работают моторы - дохлый интерфейс.
Да, твоя прога.spike писал(а):Программа 2H? отсюда?
Не понял. Это я ловлю вызовы функции, что пишет в порт. И вывожу их в лог.spike писал(а):А по какому адресу такие данные?
Pin Setup Port: Pin Setupspike писал(а):Какая распиновка выставлена в программе?
X - Step:2,Inv; Dir:3,Inv
Y - Step:8,Inv; Dir:9
Z - Step:6,Inv; Dir:7
Кстатти, параметр "уровень" - это и есть инверсия/без инверсии сигнала?
Это усредненный параметр времени. как видишь, он меняется в довольно широких приделах.... И это еще после усреднения... Представь, что отправляется в порт, точнее - не что, а с какой периодичностью....spike писал(а):Что такое TimeAvr?
Не проверял.spike писал(а):А без моста тоже так работает?
Объясни что ты пишешь в порт. Как я понял, идет сначала запись в порт сигналов, а потом еще один вызов функции записи - бинарный код 0 0 0 0 1 0 1 0. Что это?
Нужен лазер. Форумчане, порекомендуйте пожалуйста твердотельный лазер с маленьким пятном. || Для работы над X-Cam нужны бетта-тестеры.
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
Ответил здесь... можем поспорить aemalvin писал(а):Это переписка меня и братана моего, вечного хакера-стахановца.... Думаю, комментарии бессмысленны.
значит выбросить из надо )bm(malvin писал(а):...я еще добрую половину часов не перевел на зимнее время...
Вот тут-то и вопрос, сколько через COM-порт можно качнуть? Думаю здесь будет узкое место.malvin писал(а):Понятно, зделаем и на 10 килогерц. Мне пофиг. Лишь бы комп успел.
Да, Дим, мы дураки, живем... а один хрен помирать... )bm(malvin писал(а):Недавно встречался с друганом моим - матершинник страшный - он мне сказал: "Дима, ты дурак. Все уже давно изобретено, написано и крякнуто. Нечего изобретать велосипед."
да, на дугах до 180°malvin писал(а): У тебя работает круговая интерполяция?
Ага! понял что забыл тебе сказать... )bk( Дело в том что выходные пины не ограничиваются 2-9 - это, например, адрес 0x378 (базовый адрес), еще вывод осуществляется в пины 1, 14, 16, 17 - адрес = базовый + 2. Чтение из порта производится по адресу = базовый + 1.malvin писал(а):spike писал(а): писал(а):А по какому адресу такие данные?
Не понял. Это я ловлю вызовы функции, что пишет в порт. И вывожу их в лог.
...
Объясни что ты пишешь в порт. Как я понял, идет сначала запись в порт сигналов, а потом еще один вызов функции записи - бинарный код 0 0 0 0 1 0 1 0. Что это?
Вобщем последовательность такая:
BaseAddr <-- 0x378
PortVal0 <-- маска для пинов 2-9
PortVal2 <-- маска для пинов 1, 14, 16, 17 (1, 14, 17 - инверсные)
Out32(BaseAddr, PortVal0)
Out32(BaseAddr+2, PortVal2)
PortVal1:=Inp32(BaseAddr+1) - чтение
Я б кусок реального кода привел, да там черт ногу сломит - щас разгребаю...
В связи с этим:
Код: Выделить всё
26.10.2009-14:44:05 write: 1 1 0 0 0 0 1 0 632ms DeltaTime=0 TimeAvr=0.00/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 1 778ms DeltaTime=0 TimeAvr=0.00/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 0 778ms DeltaTime=0 TimeAvr=0.00/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 1 828ms DeltaTime=50 TimeAvr=5.56/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 0 838ms DeltaTime=0 TimeAvr=5.45/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 1 848ms DeltaTime=10 TimeAvr=5.38/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 0 848ms DeltaTime=0 TimeAvr=4.67/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 1 888ms DeltaTime=40 TimeAvr=6.47/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 0 898ms DeltaTime=10 TimeAvr=6.32/1.20
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 1 908ms DeltaTime=10 TimeAvr=6.50/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 0 908ms DeltaTime=0 TimeAvr=6.50/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 1 958ms DeltaTime=50 TimeAvr=9.00/5.00
26.10.2009-14:44:09 write: 1 1 0 0 0 0 1 0 958ms DeltaTime=0 TimeAvr=9.00/5.00Агаmalvin писал(а):Кстатти, параметр "уровень" - это и есть инверсия/без инверсии сигнала?
Меняется он у тебя потому что разрешающей способности у твоего таймера недостаточно. Это видно по DeltaTime - часто показывает значения 0 - это значит что интервал меньше разрешающей способности. Тебе полюбому нужен именно HighResolutionTimermalvin писал(а):Это усредненный параметр времени. как видишь, он меняется в довольно широких приделах.... И это еще после усреднения... Представь, что отправляется в порт, точнее - не что, а с какой периодичностью....
Дим, посмотри еще раз видео, посмотри осциллограмму, братану покажи )ad( ... Как считаешь, может такое быть с такими кривыми импульсами? Да, я некоторые вещи делаю, типа манипуляций с приоритетами - там где трансклюкатор на 10кГц работает; осциллограмма снята на двухядреном компе, но даже в базовой конфигурации на обычном компе (селерончик 1.2 чтоли ГГц) движки работают боле-мене нормально.
Еще, проверил на станке программу, которую выше выложил - почему-то работает она плохо, пересобрал ее на другом компе - все окей, завтра выложу. Почему-то на моем ноуте билд получается кривой, он правда загажен был по самое не балуйся...
Кстати, а для ККАМ`а покажи такой листинг?
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
Выложил здесь.spike писал(а):Еще, проверил на станке программу, которую выше выложил - почему-то работает она плохо, пересобрал ее на другом компе - все окей, завтра выложу.
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
Знаешь, я решил не заморачиваться с измерениями... Хочешь - приведи кусочек кода с использованием этих двух виндовских функций... Решил остановиться на варианте когда ты передаешь время вместе с 32-битным числом команды.
С пинами разобрался. А KCam шлет только один байт, поскольку я настроил только 3 порта.
Когда реализуешь поддержку передачи команды/времени в мост, например, в виде галочки в программе?) Хочу испытать мост с твоей программой.
Как и когда планируешь реализовать поддержку 4 оси и что она должна будет делать и на какие команды из G-кода откоикаться? Я уже делаю поворотный стол.
115200 килобит / 8 = 14400 байт. У меня идет один байт на команду. Плюс команда задержки. Итого где то 7000 герц. Если использовать чип FTDI на USB-порт, то можно завернуть и 1 мегагерц.Вот тут-то и вопрос, сколько через COM-порт можно качнуть? Думаю здесь будет узкое место
С пинами разобрался. А KCam шлет только один байт, поскольку я настроил только 3 порта.
Когда реализуешь поддержку передачи команды/времени в мост, например, в виде галочки в программе?) Хочу испытать мост с твоей программой.
Как и когда планируешь реализовать поддержку 4 оси и что она должна будет делать и на какие команды из G-кода откоикаться? Я уже делаю поворотный стол.
Нужен лазер. Форумчане, порекомендуйте пожалуйста твердотельный лазер с маленьким пятном. || Для работы над X-Cam нужны бетта-тестеры.
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
окей.malvin писал(а):Знаешь, я решил не заморачиваться с измерениями... Решил остановиться на варианте когда ты передаешь время вместе с 32-битным числом команды.
Повторюсь, принимаем:
Код: Выделить всё
unsigned int __stdcall CncCmd(char *uType, unsigned long int Val1, unsigned long int Val2)- uType - тип выполняемой команды:
'Step' - выполняет шаг по 32-битной маске Val1 (DSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDS), D - направление, S - шаг (S=1 - выполняется шаг, S=0 - шага нет), индексация приводов: 1-й привод соответствует младшим битам, 16-й привод старшим; Val2 - период выполнения шага в микросекундах
'Control'- выполняет включение/отключение по маске Val1, 1 - включено, 0 - отключено, индексация устройств: 1-е устройство соответствует младшему биту, 32-е - старшему; Val2 - время паузы после выполнения команды включения в микросекундах
Делаем библиотеку lptbridge.dll, при загрузке программа ищет ее, если находит - пытается загрузить функцию CNCCmd. Если успешно - работаем дальше с ними, если нет - загружаем inpout32.dll, работаем с ней. При этом, если в библиотеке inpout32.dll есть процедура PulseTimes (считаем что библиотека -подменная) - в нее шлется время периода и таймаута.
Соглашение о вызовах:
Код: Выделить всё
procedure Out32(PortAddress: smallint; Value: smallint);stdcall; external 'inpout32.dll';
function Inp32(PortAddress: smallint): smallint; stdcall; external 'inpout32.dll';
procedure PulseTimes(PulseTime, TimeOut: integer); stdcall; external 'inpout32.dll';Хорошо, на первое время пойдет. Потом подумаем.malvin писал(а):115200 килобит / 8 = 14400 байт. У меня идет один байт на команду. Плюс команда задержки. Итого где то 7000 герц. Если использовать чип FTDI на USB-порт, то можно завернуть и 1 мегагерц.
Вот еще, кстати, глянь что люди хотят... Сервы!...
Крутится?malvin писал(а):С пинами разобрался.
Тут тоже все не однозначно - в программе заложена возможность (теоретическая) работы интерполятора с неограниченным количеством осей, но навскидку трудно сказать как поведет себя парсер и другие компоненты... короче, надо пробовать. По идее должен откликаться на литеры A, B, C, U, V, W. Короче по совокупности траблов работать скорее всего не будет - нужна будет доработка (опять же я бы лучше это в третьей версии реализовал).malvin писал(а):Когда реализуешь поддержку передачи команды/времени в мост, например, в виде галочки в программе?) Хочу испытать мост с твоей программой.[/
quote]
Пока не могу сказать, надо подумать как это сделать... Я сейчас работаю над третьей версией (с плагинами которая), там точно будет реализовано, но во вторую (как и в первую) встроить может оказаться очень непросто. Там ТАКОЙ КОД )be( !!!... Сейчас пока ты можешь пока подменить dll-ку и время брать из процедуры PulseTimes... это уже встроено в GIGAMESH2 H. Если она увидит такую библиотеку, то внизу слева можно будет увидеть "Контроллер: LPTBridge".
malvin писал(а):Как и когда планируешь реализовать поддержку 4 оси и что она должна будет делать и на какие команды из G-кода откоикаться? Я уже делаю поворотный стол.
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
По результатам испытаний привожу лог ниже. Вызовов функции PulseTimes из программы нет. В чем дело?
Код: Выделить всё
14.11.2009-21:46:10 write Out32(): port=888 Value=194
14.11.2009-21:46:10 write Out32(): port=890 Value=10
14.11.2009-21:46:10 read Inp32(): port=889
14.11.2009-21:46:10 write Out32(): port=888 Value=194
14.11.2009-21:46:10 write Out32(): port=890 Value=10
14.11.2009-21:46:10 read Inp32(): port=889
14.11.2009-21:46:10 write Out32(): port=888 Value=194
14.11.2009-21:46:10 write Out32(): port=890 Value=10
14.11.2009-21:46:10 read Inp32(): port=889
14.11.2009-21:46:10 write Out32(): port=888 Value=194
14.11.2009-21:46:10 write Out32(): port=890 Value=10
14.11.2009-21:46:10 read Inp32(): port=889
14.11.2009-21:46:10 write Out32(): port=888 Value=194
14.11.2009-21:46:10 write Out32(): port=890 Value=10
14.11.2009-21:46:10 read Inp32(): port=889
14.11.2009-21:46:10 write Out32(): port=888 Value=194
14.11.2009-21:46:10 write Out32(): port=890 Value=10
14.11.2009-21:46:10 read Inp32(): port=889
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
Почему выполнение не запускается после нажатия кнопки Пуск, а сначала нужно что то поменять на вкладке настроек и применить изменения?
-
diglook
- Новичок
- Сообщения: 7
- Зарегистрирован: 14 ноя 2009, 23:16
- Репутация: 0
- Контактная информация:
Re: Контроллер ЧПУ
Здравствуйте. malvin! Заинтересовался Вашей разработкой! Знаю хорошо АВРы, есть возможность использовать любые из них. Есть хорошая плата для разработок на Мега128. Есть самодельный станок. Хочу предложить свою помощь в разработке и тестировании. Жду любых указаний.
И еще вопрос. правда ли что описываемый мост можно подключить к КСАМу, и все работает?
И еще вопрос. правда ли что описываемый мост можно подключить к КСАМу, и все работает?
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
Надо сначала понять, подключилась ли PulseTimes. В левом нижнем углу после загрузки программы с подмененной библиотекой какой контроллер указан? HRT или LPT-bridge? Можешь библиотеку свою выложить с выводом в лог?malvin писал(а):Вызовов функции PulseTimes из программы нет. В чем дело?
Не могу воспроизвести у себя такую ситуацию: запускаю прогу - выбираю файл - запускаю интерполяцию - включаю (кнопка "Включить") - кнопка "Пуск" доступна - нажимаю - выполнение начинается. В каком месте у тебя проблема?malvin писал(а):Почему выполнение не запускается после нажатия кнопки Пуск, а сначала нужно что то поменять на вкладке настроек и применить изменения?
-
diglook
- Новичок
- Сообщения: 7
- Зарегистрирован: 14 ноя 2009, 23:16
- Репутация: 0
- Контактная информация:
Re: Контроллер ЧПУ
Почитав , посмотрев появилась куча вопросов и предложений( которые возможно отпадут после разяснений)
мои предположения 1)ДЛЛ моста это переходник ЛПТ->СОМ т.е КСАМ типа якобы степнул по ножке ЛПТ а переходник взял байт который должен заслатся в адрес ЛПТ и перенаправил в СОМ, в свою очередь АВРка приняв байт выставила его на ПОРТ. if (так) {то эта шняга СУПЕР решение} else { разьясните на пальцах}
также незаметил на схеме сигнала "enable" впрочем если реч идет об универсальности (работа с многими прогами которые долбят в ЛПТ) то в схеме нужно указывать не назначение бита, а номер вывода на DB25 ЛПТшного разьема(драйверу ведь пофиг как он называется степ или дир), тогда пользователь конфигурит разводку так как ему необходимо( под свои нужды) и настройки производить в проге (КСАМ, МАЧ, ВРИ-ЦНЦ Тогда возможно и разные ЛПТшные програматоры будут работать)
А вообще я веду изыскания с МаксСтепером на АВРке. Ишо чуток и будет готов релиз(естественно всем доступный) просто благодаря МаксСтеперовскому протоколу можно прикрутить выносной пульт ДУ, что очень удобно(ведь текущие координаты сразу отображаются и на экране КСАМ). и еще много разных фич.
мои предположения 1)ДЛЛ моста это переходник ЛПТ->СОМ т.е КСАМ типа якобы степнул по ножке ЛПТ а переходник взял байт который должен заслатся в адрес ЛПТ и перенаправил в СОМ, в свою очередь АВРка приняв байт выставила его на ПОРТ. if (так) {то эта шняга СУПЕР решение} else { разьясните на пальцах}
также незаметил на схеме сигнала "enable" впрочем если реч идет об универсальности (работа с многими прогами которые долбят в ЛПТ) то в схеме нужно указывать не назначение бита, а номер вывода на DB25 ЛПТшного разьема(драйверу ведь пофиг как он называется степ или дир), тогда пользователь конфигурит разводку так как ему необходимо( под свои нужды) и настройки производить в проге (КСАМ, МАЧ, ВРИ-ЦНЦ Тогда возможно и разные ЛПТшные програматоры будут работать)
А вообще я веду изыскания с МаксСтепером на АВРке. Ишо чуток и будет готов релиз(естественно всем доступный) просто благодаря МаксСтеперовскому протоколу можно прикрутить выносной пульт ДУ, что очень удобно(ведь текущие координаты сразу отображаются и на экране КСАМ). и еще много разных фич.
-
diglook
- Новичок
- Сообщения: 7
- Зарегистрирован: 14 ноя 2009, 23:16
- Репутация: 0
- Контактная информация:
Re: Контроллер ЧПУ
к стати кварц 14,745600 MHz тоже для скорости 115200, а времени для обработки данных чуть прибавится.
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
Это почти так! )ab( только еще круче - вовсе не обязательно пересылать в COM, это может быть любой доступный интерфейс - как говорится от фантазии разработчика...diglook писал(а):if (так) {то эта шняга СУПЕР решение} else { разьясните на пальцах}
Кинь пару ссылок, что это вообще такое? Или можт расскажешь в отдельной теме?diglook писал(а):А вообще я веду изыскания с МаксСтепером на АВРке.
-
diglook
- Новичок
- Сообщения: 7
- Зарегистрирован: 14 ноя 2009, 23:16
- Репутация: 0
- Контактная информация:
Re: Контроллер ЧПУ
А что рассказывать MaxStepper это железяка которая вешается на СОМ порт и кней а из нее потом на выходе всякие степы. диры энейблы, ну в общем все чем управляет КСАМ. Изготовлено автором этой проги и продается. прошивку естественно он не дает, но но таблицу команд управления выложил поэтому если слепить самому нарушений закона не вижу. если интересует сходи к нему на сайт www.kellyware.com. Замечу сразу оная таблица имеет ошибки(озможно намеренные или старой версии) а также с первого прочтения непонять - курить нужно долго и без снифера СОМ порта неврубишся да и то на некоторые команды нужен ответ для адекватной работы, посему приблуду нужно ваять изначально. Скорость обмена 115200 поэтому сразу соответствующий кварц пошустрее макс прибл к 16Мгц -14,745600 MHz.
Я думал вы расчехлили его ппротокол и ваяете свою , хотя ваша. если по скорости неуступит то будет круче, но вопрос об обратной связи(текущее положение итд) у вас не решен
Я думал вы расчехлили его ппротокол и ваяете свою , хотя ваша. если по скорости неуступит то будет круче, но вопрос об обратной связи(текущее положение итд) у вас не решен
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
Как только я реализовал в DLL функцию. прога показала LPT-bridge. На вызов всех используемых функций навешен лог. Как видишь, лог только от функций ввода-вывода.Надо сначала понять, подключилась ли PulseTimes. В левом нижнем углу после загрузки программы с подмененной библиотекой какой контроллер указан? HRT или LPT-bridge? Можешь библиотеку свою выложить с выводом в лог?
У меня тоже есть плата на меге 128. Использую мегу 32, так как ее возможностей вполне хватает, разумный минимум, так сказать.Здравствуйте. malvin! Заинтересовался Вашей разработкой! Знаю хорошо АВРы, есть возможность использовать любые из них. Есть хорошая плата для разработок на Мега128.
Идешь в банк, перечисляешь на мой счет ну, хотя бы, тридцать три килобакса и мы все живем счастливо... лет этак 5).Жду любых указаний.
Работает. Я же для себя и делал. Стану я для себя делать вещи, которые не работают)И еще вопрос. правда ли что описываемый мост можно подключить к КСАМу, и все работает?
Не принципиально. Запас по вычислительной мощности моста очень большой.к стати кварц 14,745600 MHz тоже для скорости 115200, а времени для обработки данных чуть прибавится.
Все так. Сейчас работает с Kcam, адаптирую для Gigamesh. Думаю, тут работать будет еще лучше, поскольку квантовать время будет сама прога!Почитав , посмотрев появилась куча вопросов и предложений( которые возможно отпадут после разяснений)
мои предположения 1)ДЛЛ моста это переходник ЛПТ->СОМ т.е КСАМ типа якобы степнул по ножке ЛПТ а переходник взял байт который должен заслатся в адрес ЛПТ и перенаправил в СОМ, в свою очередь АВРка приняв байт выставила его на ПОРТ. if (так) {то эта шняга СУПЕР решение} else { разьясните на пальцах}
Сигнал Enable появится когда ты его приделаешь. Я пока еще не дошел до этого. А так, схема, которую я набросал, это просто базовая версия. Сейчас буду работать над концевиками, реле и другими датчиками.также незаметил на схеме сигнала "enable" впрочем если реч идет об универсальности (работа с многими прогами которые долбят в ЛПТ) то в схеме нужно указывать не назначение бита, а номер вывода на DB25 ЛПТшного разьема(драйверу ведь пофиг как он называется степ или дир), тогда пользователь конфигурит разводку так как ему необходимо( под свои нужды) и настройки производить в проге (КСАМ, МАЧ, ВРИ-ЦНЦ Тогда возможно и разные ЛПТшные програматоры будут работать)
Что то я слышал об этом. Хочешь сделать клон по опубликованному протоколу автора Kcam-а? Ну попробуй. Я тоже хотел, но потом подумал, что тут будут проблемы с совместимостью с другими прогами. И непрогадал. Хотя вещь, на мой взгляд, будет клевая.А вообще я веду изыскания с МаксСтепером на АВРке. Ишо чуток и будет готов релиз(естественно всем доступный)
У меня дистанционка уже работает! Ха! Захотел, кино посмотрел, захотел - станок погонял. Круто.просто благодаря МаксСтеперовскому протоколу можно прикрутить выносной пульт ДУ, что очень удобно(ведь текущие координаты сразу отображаются и на экране КСАМ). и еще много разных фич.
diglook, ты вообще что хочешь, то? Я вот планирую свой мост отработать до готовой платы. Поможешь? Хотя, наверное, работа над МаксСтепер отнимает много времени, да?
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
А мы вдули автору этой приблуды, выпустив свою, не хуже чем его самая и которая управляется его любимой прогой, которая ни о чем не подозревает.....А что рассказывать MaxStepper это железяка которая вешается на СОМ порт и кней а из нее потом на выходе всякие степы. диры энейблы, ну в общем все чем управляет КСАМ. Изготовлено автором этой проги и продается.
А вот над этим мы как раз сейчас и работаем - вопрос открыт. Будет самая крутая ОС в мире. Хочешь, присоединяйся. Обмозгуем.Я думал вы расчехлили его ппротокол и ваяете свою , хотя ваша. если по скорости неуступит то будет круче, но вопрос об обратной связи(текущее положение итд) у вас не решен
-
spike
- Почётный участник

- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер ЧПУ
Ты можешь мне библиотеку дать погонять с логом? Сразу разрулим...malvin писал(а):Как только я реализовал в DLL функцию. прога показала LPT-bridge. На вызов всех используемых функций навешен лог. Как видишь, лог только от функций ввода-вывода.
- malvin
- Кандидат
- Сообщения: 99
- Зарегистрирован: 23 сен 2009, 10:12
- Репутация: -26
- Контактная информация:
Re: Контроллер ЧПУ
Вот библиотека. Лог смотри в каталоге программы.
http://www.nt-media.narod.ru/inout/DLPORTIO.cfg
http://www.nt-media.narod.ru/inout/inpout32.dll
http://www.nt-media.narod.ru/inout/DLPORTIO.cfg
http://www.nt-media.narod.ru/inout/inpout32.dll