Плата для управления севро двигателями через EMC2
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Мой конфиг....
- Вложения
-
- lathe-pluto.zip
- (4.68 КБ) 403 скачивания
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Тут надыбал интересный вариант конфигурации для фрезера на три оси ...
http://www.cnczone.com/forums/granite_d ... servo.html
http://www.cnczone.com/forums/granite_d ... servo.html
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Сегодня ничего не вышло с конфигом .... буду дальше разбираться с HAL и INI ....
Проект платки с ПЛИС в KiCAD ... буду переделывать так как промахнулся с разъемами пинов ...
Но сам буду использовать этот вариант потому что вытравил и спаял плату .... в принципе плата рабочая ...Наверное стоит разъемы пинов заменить на DB9 и DB25... или клеммные колодки для пайки на плапту ....
....после окончательной доводки проекта подброшу библиотеки .....
Nick не скажете ... какой максимальный размер файлов для выкладки на форуме?
Проект платки с ПЛИС в KiCAD ... буду переделывать так как промахнулся с разъемами пинов ...
Но сам буду использовать этот вариант потому что вытравил и спаял плату .... в принципе плата рабочая ...Наверное стоит разъемы пинов заменить на DB9 и DB25... или клеммные колодки для пайки на плапту ....
....после окончательной доводки проекта подброшу библиотеки .....
Nick не скажете ... какой максимальный размер файлов для выкладки на форуме?
- Вложения
-
- PLUTO_SERVO.zip
- (1023.34 КБ) 443 скачивания
Последний раз редактировалось wowk 31 янв 2013, 01:24, всего редактировалось 1 раз.
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Плату серво усилителя тоже буду переделывать... разводил ее в Sprint-Layout на IR2104 а не IR2184 ..... хочется все сделать в KiCAD для полной комплектации ...
- Вложения
-
- PLUTO POWER.zip
- сервоусилитель
- (1.52 МБ) 438 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Following error - означает, что ось ушла от нужной траектории больше чем на
FERROR = .1 (задается в ini)
Может быть либо из-за того, что обратная связь не правильно настроена, или не настроен PID, или из-за особенностей привода.
Для начала поставь ferror = 1000 и посмотри в halshow что творится на пинах команды движкам и обратной связи.
FERROR = .1 (задается в ini)
Может быть либо из-за того, что обратная связь не правильно настроена, или не настроен PID, или из-за особенностей привода.
Для начала поставь ferror = 1000 и посмотри в halshow что творится на пинах команды движкам и обратной связи.
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
А что не получается?wowk писал(а):Сегодня ничего не вышло с конфигом .... буду дальше разбираться с HAL и INI ....
"joint 0 on limit switch error" это ошибка оборудования плуто. Скорее всего из-за помехи. Подключи резисторы на подтяжку входов.
Ты зря поставил развязку по входам-выходам. Один чип стабильнее работает.
Попробуй запитать плату плуто от компа. Можно от USB.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Упс, эт я ошибся там оказывается Limit switch. Может просто пин надо инвертировать? Или можешь пока просто вот эти строки закомментировать:
Код: Выделить всё
net Xswitch pluto-servo.din.00-not => debounce.0.0.in
net Xswitch-debounced debounce.0.0.out => axis.0.home-sw-in axis.0.pos-lim-sw-in
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Спасибо Nick!
.... закоментировал и теперь программно можно выставить в ноль все оси ....
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Сейчас буду изучать глубже хал, чтобы задавать вопросы по существу .... 
.... не успел подтянуть входы резисторами к плюсу питания ... завтра подброшу и посмотрю на halcmd sow ....
а пока показало такой результат .....
.... не успел подтянуть входы резисторами к плюсу питания ... завтра подброшу и посмотрю на halcmd sow ....
а пока показало такой результат .....
- Вложения
-
- hal log.zip
- (3.59 КБ) 361 скачивание
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Impartial, у меня энкодеры выдают ТТЛ 5 вольт а ПЛИС питается от 3,3 в ..... буферами хотелось согласовать уровни сигналов но вы правы, о подтяжку на входе не подумал .... восемь входов електоавтоматики я подбросил к единице ...... скажите, а входы с компаратора тоже стоит подтянуть к единице или подавать на них нолик?
...плату за питал от акамулятора а завтра попробую от USB ....
...плату за питал от акамулятора а завтра попробую от USB ....
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
.... ребята .... спасибо за помощь! .... 
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
О там у тебя есть пины not ко всем входам:
10 bit OUT FALSE pluto-servo.din.13
10 bit OUT TRUE pluto-servo.din.13-not
Это хорошо, даже отлично
.
10 bit OUT FALSE pluto-servo.din.13
10 bit OUT TRUE pluto-servo.din.13-not
Это хорошо, даже отлично
Закомментировал или просто not убрал?wowk писал(а): закоментировал и теперь программно можно выставить в ноль все оси ....
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
завтра доберусь до компа с и уберу not ...
плату Плуто и серво усилитель собирал и настраиваю в свободное время на работе ...
немного не хватает времени ..... но хочется запустить двигатель ....
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Для 5в входов достаточно поставить резистор на 50 ом и диод минусом на 3.3в и использовать внутренние подтягивающие резисторы.wowk писал(а):Impartial, у меня энкодеры выдают ТТЛ 5 вольт а ПЛИС питается от 3,3 в .....
Так же нужно сделать и со входами-выходами LPT.
А проще всего поднять питание чипа до 4.5в. Просто пару диодов поставить с 5в. Дока это позволяет, и по опыту это оптимальный вариант.
А компаратор зачем? Обычно в компараторах открытый коллектор. Просто нагрузку на 3.3 повесить. А входы подтягивать нельзя. Изменится входное сопротивление.
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Всем привет!
Никак не могу выдать с ПЛИС ШИМ на серво усилитель ..... как не менял параметры PID и перебирал HAL ....
сейчас использую такой вариант конфигурации взят из отсюда:
http://www.cnczone.com/forums/granite_d ... servo.html
без помощи уже никак .....
мой конфиг сейчас выглядит так ...
....подскажите куда копать .... такое впечатление будто выводы ПЛИС, из которых выходят сигналы ШИМ, вообще не активны....
Никак не могу выдать с ПЛИС ШИМ на серво усилитель ..... как не менял параметры PID и перебирал HAL ....
сейчас использую такой вариант конфигурации взят из отсюда:
http://www.cnczone.com/forums/granite_d ... servo.html
без помощи уже никак .....
мой конфиг сейчас выглядит так ...
....подскажите куда копать .... такое впечатление будто выводы ПЛИС, из которых выходят сигналы ШИМ, вообще не активны....
- Вложения
-
- lathe-pluto.zip
- конфиг
- (7.79 КБ) 364 скачивания
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
...по командах lalcmd show и halcmd show | grep out выдало такой результат....
- Вложения
-
- тека.zip
- show
- (4.53 КБ) 357 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Так, а какой именно шим ты проверяешь, (по номеру)?
Пины правильно выбрал? И как проверяешь, что шима нет?
Пины правильно выбрал? И как проверяешь, что шима нет?
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
В исходнике "servo.v" как выглядит выделенная строка?wowk писал(а):....подскажите куда копать .... такое впечатление будто выводы ПЛИС, из которых выходят сигналы ШИМ, вообще не активны....
// EPP stuff
wire EPP_write = ~nWrite;
wire EPP_read = nWrite;
wire EPP_addr_strobe = ~nAddrStr;
wire EPP_data_strobe = ~nDataStr;
wire EPP_strobe = EPP_data_strobe | EPP_addr_strobe;
wire EPP_wait; assign nWait = ~EPP_wait;
wire [7:0] EPP_datain = pport_data;
wire [7:0] EPP_dataout; assign pport_data = EPP_dataout;
reg [4:0] EPP_strobe_reg;
always @(posedge clk) EPP_strobe_reg <= {EPP_strobe_reg[3:0], EPP_strobe};
wire EPP_strobe_edge1 = (EPP_strobe_reg[2:1]==2'b01);
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
.....Impartial шил вашей прошивкой, пост # 66 ....
Проект max2pluto в квартусе 9.
Исходник - файл max2pluto.v
Язык Verilog.
max2pluto.rar
......в исходнике виглядит так:
// EPP stuff
wire EPP_write = ~nWrite;
wire EPP_read = nWrite;
wire EPP_addr_strobe = ~nAddrStr;
wire EPP_data_strobe = ~nDataStr;
wire EPP_strobe = EPP_data_strobe | EPP_addr_strobe;
wire EPP_wait; assign nWait = EPP_wait;
wire [7:0] EPP_datain = pport_data;
wire [7:0] EPP_dataout; assign pport_data = EPP_dataout;
Проект max2pluto в квартусе 9.
Исходник - файл max2pluto.v
Язык Verilog.
max2pluto.rar
......в исходнике виглядит так:
// EPP stuff
wire EPP_write = ~nWrite;
wire EPP_read = nWrite;
wire EPP_addr_strobe = ~nAddrStr;
wire EPP_data_strobe = ~nDataStr;
wire EPP_strobe = EPP_data_strobe | EPP_addr_strobe;
wire EPP_wait; assign nWait = EPP_wait;
wire [7:0] EPP_datain = pport_data;
wire [7:0] EPP_dataout; assign pport_data = EPP_dataout;
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Спасибо Nick!
Наличие ШИМ проверяю осциллографом С1-55 ....
На энкодеры АХIS реагирует, когда прокручиваешь вал то начинают изменяться значения на экране, таким макаром проверил все четыре входные каналы А и B. ....... метка Z не используется ....
Наличие ШИМ проверяю осциллографом С1-55 ....
На энкодеры АХIS реагирует, когда прокручиваешь вал то начинают изменяться значения на экране, таким макаром проверил все четыре входные каналы А и B. ....... метка Z не используется ....
