Pluto-P - есть ли опыт использования?
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Итак, в основном всё работает. Остались мелкие штрихи. Максимальная скорость станка увеличилась до 5700 мм/мин при коэффициенте дробления шага 1/16. Для работы поставлю 4200-4500 для надежности.
С программным генератором было 2400 при 1/8. За счет уменьшения микрошага заметно увеличилась плавность работы двигателей на малых скоростях (контроллер/драйвер PLC545 от Пурелоджика).
Заодно разобрался, как работает LCNC с аппаратными генераторами.
Если кого-то заинтересует исправленная прошивка и драйвер - выложу.
С программным генератором было 2400 при 1/8. За счет уменьшения микрошага заметно увеличилась плавность работы двигателей на малых скоростях (контроллер/драйвер PLC545 от Пурелоджика).
Заодно разобрался, как работает LCNC с аппаратными генераторами.
Если кого-то заинтересует исправленная прошивка и драйвер - выложу.
Чудес не бывает. Бывают фокусы.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Конечно интересует, выкладывай, пока не потерялось!Serg-tmn писал(а):Если кого-то заинтересует исправленная прошивка и драйвер - выложу.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Кстати, а вот это видел?
Pluto-P #1
Pluto-P #1
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Ноу, сэрUAVpilot писал(а):Кстати, а вот это видел?
Pluto-P #1
Правда, там про серво, а по шаговому варианту он обещал позже выложить (ровно 4 месяца прошло), но проблема общая
я решил несколько иначе, более тупо, пришлось переделать протокол обмена (у меня для каждого байта данных персонально передается адрес, без автоинкремента, в результате обмен несколько раздулся по времени - раза в полтора-два). Вариант, примерно как у mimi, тоже пробовал, но "что-то пошло не так"(с). Надо будет еще попробовать.mimi писал(а):the problem of the bug is, it stochastically muddles the EPP bytes .
and it depends on several environmental factors and is not easy to detect.
Чудес не бывает. Бывают фокусы.
-
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Я общался с ним в личке и ничего не понял что он нашел неправильного в исходниках прошивки. Все там работает за исключением не верной отработки сигнала nWait. Вся проблема состоит в привязке к внутреннему клоку асинхронных сигналов ЕРР. Не на всех материнках оригинальная привязка стабильно работает. Правильно нужно сделать стандартный переход из одного клокового домена в другой. Т.е. Просто два последовательных D триггера.UAVpilot писал(а):Кстати, а вот это видел?
Увеличивать время цикла обмена крайне нежелательно. Это может пройти с конфигурацией шаговиков, но не допустимо с серво так как в промежутке между чтением и записью делается довольно длинный расчет ПИДов.
Поэтому там и сделан автоинкримент адреса и доступ в режиме 32 -16.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Проблема в том, что при считывании данных автоинкремент соответствующего счетчика происходит слишком рано, и на шине данных EPP может оказаться не та информация. Автор прошивки не стал толком с этим разбираться, а просто сместил момент выборки на целый цикл EPP, чем еще больше запутал ситуацию. Собственно, он сам осознавал, что делает неправильно
я для пробы отключил автоинкремент и ввел передачу адреса перед чтением и записью каждого байта. Всё заработало. Время обмена стало около 150-200 мкс. Понимаю, что это не оптимально, но работает. А сервоцикл увеличивать не было необходимости, оставил 1000 мкс по умолчанию.
mimi же попробовал честно разрулить временнЫе зависимости.
Код: Выделить всё
// the addr_reg test looks funny because it is auto-incremented in an always
// block so "1" reads the low byte, "2 and "3" read middle bytes, and "0"
// reads the high byte I have a feeling that I'm doing this in the wrong way.
wire [7:0] data_reg = addr_reg[1:0] == 2'd1 ? data_buf[7:0] :
(addr_reg[1:0] == 2'd2 ? data_buf[15:8] :
(addr_reg[1:0] == 2'd3 ? data_buf[23:16] :
data_buf[31:24]));
mimi же попробовал честно разрулить временнЫе зависимости.
Чудес не бывает. Бывают фокусы.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Переделал прошивку по образу и подобию http://cnc-club.ru/forum/viewtopic.php? ... 427#p82427. Сам драйвер (pluto_step.comp) вернул родной.
Работает
Работает
- Вложения
-
- Pluto_step_firmware.zip
- (34.34 КБ) 482 скачивания
Чудес не бывает. Бывают фокусы.
- Kaev
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 фев 2016, 02:35
- Репутация: 0
- Настоящее имя: Казанцев Сергей Иванович
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Здравствуйте. Большое спс. автору темы!
Тоже есть желание спаять этот "LPT нашлёпок" на ep2c5t144, только смущает некоторые несовершенства аппаратной реализации, поясню:
Все устройства работающие на LPT порту должны иметь буфер с триггером шмидта, сколько делал всяких программаторов, без них о расстоянии и речи быть не может. А тут при скоростном режиме "EPP" о стабильной и помехоустойчивой работе с LPT шнуром более 1,5 метра говорить не приходится. Вот к примеру принтеры с LPT портом имеют в цепи такие микросхемы типа 74HCT1284 (2шт) или 74HCT161284(1шт.) и для защиты от статики 74F1071. К сожалению нет схемы на 7i43 но подозреваю что там всё есть, потому и работает (как пишут) лучше если же нет, то это тоже *овно. Но поскольку EPP это 2-у направленная шина, то буферами на входе надо управлять (чтение/запись). И у 74HCT1284(74HCT161284) есть вход DIR. Но как это можно сделать? По моему разумению, правильным решением было бы матрасом управлять, но тогда похоже надо переписывать протокол обмена. На основании выше сказанного, думаю, что тема с PLUTO-P клонами, останется на уровне "homemade" на коленке. Я сам к сожалению в матрицах мало понимаю, ума хватило пока только на установку Quartus и открытия там вашего исходника. Всё же, может, поможете разобраться с этими проблемами, или забыть?
Тоже есть желание спаять этот "LPT нашлёпок" на ep2c5t144, только смущает некоторые несовершенства аппаратной реализации, поясню:
Все устройства работающие на LPT порту должны иметь буфер с триггером шмидта, сколько делал всяких программаторов, без них о расстоянии и речи быть не может. А тут при скоростном режиме "EPP" о стабильной и помехоустойчивой работе с LPT шнуром более 1,5 метра говорить не приходится. Вот к примеру принтеры с LPT портом имеют в цепи такие микросхемы типа 74HCT1284 (2шт) или 74HCT161284(1шт.) и для защиты от статики 74F1071. К сожалению нет схемы на 7i43 но подозреваю что там всё есть, потому и работает (как пишут) лучше если же нет, то это тоже *овно. Но поскольку EPP это 2-у направленная шина, то буферами на входе надо управлять (чтение/запись). И у 74HCT1284(74HCT161284) есть вход DIR. Но как это можно сделать? По моему разумению, правильным решением было бы матрасом управлять, но тогда похоже надо переписывать протокол обмена. На основании выше сказанного, думаю, что тема с PLUTO-P клонами, останется на уровне "homemade" на коленке. Я сам к сожалению в матрицах мало понимаю, ума хватило пока только на установку Quartus и открытия там вашего исходника. Всё же, может, поможете разобраться с этими проблемами, или забыть?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Нет, LPT напрямую подключается к ногам FPGA.Kaev писал(а):К сожалению нет схемы на 7i43 но подозреваю что там всё есть
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Kaev
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 фев 2016, 02:35
- Репутация: 0
- Настоящее имя: Казанцев Сергей Иванович
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Kaev,
Вот набросал, это надо ставить перед FPGA и портом https://cloud.mail.ru/public/6h4q/Zv8tD33Sq
Надо сформировать сигнал DIR для этого IEEE Буфера. HELP
Вот набросал, это надо ставить перед FPGA и портом https://cloud.mail.ru/public/6h4q/Zv8tD33Sq
Надо сформировать сигнал DIR для этого IEEE Буфера. HELP
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
~Write чем плох?Kaev писал(а):Надо сформировать сигнал DIR для этого IEEE Буфера.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Kaev
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 фев 2016, 02:35
- Репутация: 0
- Настоящее имя: Казанцев Сергей Иванович
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Попробую.UAVpilot писал(а):~Write чем плох?Kaev писал(а):Надо сформировать сигнал DIR для этого IEEE Буфера.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Pluto у меня до сих пор надежно работает без буферов. Но для этого пришлось платку (благо, она маленькая) воткнуть прямо в разъем LPT материнки. Удлинительный шлейф около 15 сантиметров приводил к полной неработоспособности в режиме EPP. Правда, так было со старой прошивкой, где со временами малость напутано.
И да, подтверждаю, что помехоустойчивость довольно низкая, и чтобы получить нормальную работу с входными сигналами от датчиков, пришлось прописывать в прошивке фильтры от дребезга. Несмотря на то, что длина шлейфа от контроллера (PLC545) всего около 200 мм.
И да, подтверждаю, что помехоустойчивость довольно низкая, и чтобы получить нормальную работу с входными сигналами от датчиков, пришлось прописывать в прошивке фильтры от дребезга. Несмотря на то, что длина шлейфа от контроллера (PLC545) всего около 200 мм.
Чудес не бывает. Бывают фокусы.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
странно... А с подключениями ничего не напутано?Сергей Саныч писал(а):И да, подтверждаю, что помехоустойчивость довольно низкая
У меня нормально работало с подключением к LPT плоским шлейфом длиной миллиметров 200, датчики подключались напрямую к Pluto-P неэкранированными проводами длиной 1-1.5 метра, лежащими в общем кабельканале с ПВС к шаговикам и шпинделю.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Абижаешь, дарагойUAVpilot писал(а):странно... А с подключениями ничего не напутано?
Вот тот самый шлейф, с которым не работало Естественно, прозвонен вдоль и поперек неоднократно.
А вот сама "плутовка"
Чудес не бывает. Бывают фокусы.
- Kaev
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 фев 2016, 02:35
- Репутация: 0
- Настоящее имя: Казанцев Сергей Иванович
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
У меня есть опыт с ATMEL-ом и работе в пром. условиях. Представьте сколько нано помех действует на прибор, нано импульсы с амплитудой до нескольких тысяч вольт которые на столько короткие что их увидеть на осциллографе не получается, но при этом они имеют достаточную энергетику чтобы приводить к зависанию и к порче содержимому RAM памяти. Пром. условия эксплуатации, это и работающие сварочные аппараты и шлиф. машинки и пр. источники шума. В итоге действительно имеет значение качество и правильность разводки ПП, ну и естественно схема должна быть правильной.
У CNC тоже много шумящих устройств, это и ШИМ на движках и частотники.
Вот как порт сделан на принтере https://cloud.mail.ru/public/NHQE/yMWZ5RNfE
У CNC тоже много шумящих устройств, это и ШИМ на движках и частотники.
Вот как порт сделан на принтере https://cloud.mail.ru/public/NHQE/yMWZ5RNfE
- Kaev
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 фев 2016, 02:35
- Репутация: 0
- Настоящее имя: Казанцев Сергей Иванович
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Там Xilix SPARTAN-3, у него порты толерантные к TTL уровням?UAVpilot писал(а):Нет, LPT напрямую подключается к ногам FPGA.Kaev писал(а):К сожалению нет схемы на 7i43 но подозреваю что там всё есть
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Это фабричный?Сергей Саныч писал(а): Естественно, прозвонен вдоль и поперек неоднократно.
У меня был шлейф для Месы, который отлично прозванивался, а на скоростях глючил (вочдог постоянно ругался) - оказалось на паре проводков при обжатии ножи чуток разошлись и контакт "слабый" был.
Да. Джампером переключается.Kaev писал(а):Там Xilix SPARTAN-3, у него порты толерантные к TTL уровням?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Нет, самодельный. Но та же проблема была и с метровым паяным фабричным удлинителем.UAVpilot писал(а):Это фабричный?
Такие "приколы" часто бывают, если сечение провода меньше нормы - желтолицые братья сэкономили на меди. Вот сейчас у меня есть катушка шлейфа, на котором написано "28AWG" (0,081 мм2), а по факту соответствует AWG31 (0,04). Естественно, обжать такой - еще та лотерея.UAVpilot писал(а):У меня был шлейф для Месы, который отлично прозванивался, а на скоростях глючил (вочдог постоянно ругался) - оказалось на паре проводков при обжатии ножи чуток разошлись и контакт "слабый" был.
Чудес не бывает. Бывают фокусы.
- Kaev
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 фев 2016, 02:35
- Репутация: 0
- Настоящее имя: Казанцев Сергей Иванович
- Контактная информация:
Re: Pluto-P - есть ли опыт использования?
Сейчас посмотрел исходники на mesa 7i43, а именно порты (файл 7i43.ucf), я так понял что, там шина настроена на 3,3 вольтаUAVpilot писал(а):Да. Джампером переключается.Kaev писал(а):Там Xilix SPARTAN-3, у него порты толерантные к TTL уровням?
и у epp интерфейса есть сигнал READ
#PACE: Start of PACE I/O Pin Assignments
NET "CLK" LOC = "p53" | IOSTANDARD = LVCMOS33 ;
NET "EPP_ASTROBE" LOC = "p80" | IOSTANDARD = LVCMOS33 | PULLUP ;
NET "EPP_DATABUS<0>" LOC = "p68" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<1>" LOC = "p63" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<2>" LOC = "p60" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<3>" LOC = "p59" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<4>" LOC = "p51" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<5>" LOC = "p50" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<6>" LOC = "p47" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DATABUS<7>" LOC = "p46" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW | KEEPER ;
NET "EPP_DSTROBE" LOC = "p79" | IOSTANDARD = LVCMOS33 | PULLUP ;
NET "EPP_READ" LOC = "p84" | IOSTANDARD = LVCMOS33 | PULLUP ;
NET "EPP_WAIT" LOC = "p82" | IOSTANDARD = LVCMOS33 | DRIVE = 24 | SLEW = SLOW ;