Re: Кто-нибудь здесь разбирался с прошивкой Pluto-P?
Добавлено: 21 фев 2012, 18:37
Значит можно самому делать Месы
и продавать Нику 
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
Жалко что 4000LE пропадают даром! В нее бы ПИД контроллер запихать было бы дело! Не возникала идея?Impartial писал(а):Самое дешевое универсальное решение для 4х осевого сево или шагового контроллера с портами ввода/вывода для ЕМС.
http://www.ebay.com/itm/Altera-CycloneI ... 3380wt_952
А в чем проблема запихать?alexx188 писал(а):В нее бы ПИД контроллер запихать было бы дело!
Паять много придетсяaftaev писал(а):Значит можно самому делать Месыи продавать Нику
Проблема конечно не запихатьNick писал(а):А в чем проблема запихать?alexx188 писал(а):В нее бы ПИД контроллер запихать было бы дело!
Лучше подавать не Step/Dir. Лучше раз в servo-thread подавать задание компонентам, PID, pwmgen, stepgen и т.д., которые будут крутиться на ПЛИС. Также как это реализовано в MESA. Кстати, по какому интерфейсу можно общаться с Pluto-P от компа?alexx188 писал(а):Смысл в том, чтобы всю математику, включая енкодеры, ПИД, ШИМ реализовать на ПЛИС, а с EMC2 подавать степ/дир как на шаговик.
Как это реализовано в mesa? Если ПИД софтовый, то это не хорошо. дельта t нужна постоянная! Если ПИД аппаратный, то к компу резко снижаются требования. помимо других плюсов.Nick писал(а):Лучше подавать не Step/Dir. Лучше раз в servo-thread подавать задание компонентам, PID, pwmgen, stepgen и т.д., которые будут крутиться на ПЛИС. Также как это реализовано в MESA. Кстати, по какому интерфейсу можно общаться с Pluto-P от компа?
Здесь нужна ясность. Что именно может передаваться с ЕМС в пид-контроллер на ПЛИС? На вход ПИДа подается ошибка! Разница между текуще позицией и заданной. Ошибку подсчитывет ПЛИС. Т.е. на ПЛИС надо подавать только координаты. Или я не прав?Nick писал(а):В месе пид, генератор шагов, шим и прочее стоит на FPGA. Главное, что управляется все это не по Step/Dir, а передаются значения пинов всех этих компонентов.
Какие значения передает EMC на ПИД(в месу)? На вход простейшего ПИД-контроллера подается ошибка. Разница м/у заданным положением и текущим. Т.е. на ПЛИС надо передавать координаты.Nick писал(а):В месе пид, генератор шагов, шим и прочее стоит на FPGA. Главное, что управляется все это не по Step/Dir, а передаются значения пинов всех этих компонентов.
Нам главное чтобы ЕМС шаги не пропускала. А нестабильную частоту степов ПИД подправит. В пределах разумного конечно. Естественно речь идет о хоббийных изделиях.Step/dir сгенерированный компьютером очень не однородный и не дает полной информации на 1мс вперед, а лишь информацию до следующего шага.
В прошивке для плуто это все есть за исключением ПИД. Но это не проблема. Я где то здесь на форуме выкладывал теорию цифрового ПИД заодно с рабочим исходником на верилоге. Проверено лично мин нет.Nick писал(а):В месе пид, генератор шагов, шим и прочее стоит на FPGA.
Impartial писал(а):В прошивке для плуто это все есть за исключением ПИД. Но это не проблема. Я где то здесь на форуме выкладывал теорию цифрового ПИД заодно с рабочим исходником на верилоге. Проверено лично мин нет.Nick писал(а):В месе пид, генератор шагов, шим и прочее стоит на FPGA.
По хорошему, для пидalexx188 писал(а):Какие значения передает EMC на ПИД(в месу)? На вход простейшего ПИД-контроллера подается ошибка. Разница м/у заданным положением и текущим. Т.е. на ПЛИС надо передавать координаты.
Я же про аппаратный ПИД толкую. С софтовым по скорости не сравнится. Даже с реалтайм патчем. Если к нему добавить аппаратный расчет ускорения и интерпретатор Gкодов. То ЕМС IMHO вообще можно сливать. Или я не прав?Nick писал(а):По хорошему, для пидalexx188 писал(а):Какие значения передает EMC на ПИД(в месу)? На вход простейшего ПИД-контроллера подается ошибка. Разница м/у заданным положением и текущим. Т.е. на ПЛИС надо передавать координаты.
от компа идут:
Несколько раз на этом форуме натыкался на какое то странное отношение к ставшей чуть ли не магической абверратурой "ПИД". Там все просто. Проще чем с шаговиками (в плане аппаратуры) .alexx188 писал(а):ПИД сам делал? На чем проверял? Какое разрешение енкодеров? Как ощущения вообще? Тема интересная поэтому столько вопросов.
Передача всех этих параметров уже реализована в драйвере плуто.Nick писал(а):По хорошему, для пид
от компа идут:
1. Все параметры (это только 1 раз)
2. Команда (float)
3. enable
4. index-enable
от ПЛИС нужно:
1. обратную связь
2. состояния ошибок
3. saturated (output = ± maxoutput)
Сервоцикл в 20 нс устраивает?alexx188 писал(а):Я же про аппаратный ПИД толкую.
Ну это просто. Реализуется внутри компонентов управляющих устройствами (stepgen и т.д.).alexx188 писал(а):Если к нему добавить аппаратный расчет ускорения
А вот это очень не просто, особенно на том уровне на котором это умеет LinuxCNC. Вот примерное описание всех Gкодов, которые понимает LinuxCNC:alexx188 писал(а): интерпретатор Gкодов
Impartial писал(а):... и на шуруповерте с энкодером 4096 при 10000 об\мин.![]()
Pluto-P общается с компом через LPT порт работающий в EPP режиме. В этом режиме это обыкновенная шина обмена типа IDE,ISA,PCI, только 8 разрядная.Кстати, по какому интерфейсу можно общаться с Pluto-P от компа?
Задается параметр скорости. Я не представляю как можно задать позицию.alexx188 писал(а):Вот бы график посмотреть. Задавалась позиция или скорость? Это у нас какая частота импульсов енкодера ~700KHz? Нехило. Откуда дровишки?