Плата для управления севро двигателями через EMC2

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Мой конфиг....
Вложения
lathe-pluto.zip
(4.68 КБ) 403 скачивания
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Тут надыбал интересный вариант конфигурации для фрезера на три оси ... :thinking:

http://www.cnczone.com/forums/granite_d ... servo.html
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Сегодня ничего не вышло с конфигом .... буду дальше разбираться с HAL и INI ....
Проект платки с ПЛИС в 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

Сообщение wowk »

Плату серво усилителя тоже буду переделывать... разводил ее в 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

Сообщение Nick »

Following error - означает, что ось ушла от нужной траектории больше чем на
FERROR = .1 (задается в ini)
Может быть либо из-за того, что обратная связь не правильно настроена, или не настроен PID, или из-за особенностей привода.

Для начала поставь ferror = 1000 и посмотри в halshow что творится на пинах команды движкам и обратной связи.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение Impartial »

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

Сообщение Nick »

Упс, эт я ошибся там оказывается 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

Сообщение wowk »

Спасибо Nick! :) .... закоментировал и теперь программно можно выставить в ноль все оси ....
Вложения
Екран.png (1798 просмотров) <a class='original' href='./download/file.php?id=11414&mode=view' target=_blank>Загрузить оригинал (110.4 КБ)</a>
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Сейчас буду изучать глубже хал, чтобы задавать вопросы по существу .... :think:

.... не успел подтянуть входы резисторами к плюсу питания ... завтра подброшу и посмотрю на halcmd sow ....
а пока показало такой результат .....
Вложения
hal log.zip
(3.59 КБ) 361 скачивание
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Impartial, у меня энкодеры выдают ТТЛ 5 вольт а ПЛИС питается от 3,3 в ..... буферами хотелось согласовать уровни сигналов но вы правы, о подтяжку на входе не подумал .... восемь входов електоавтоматики я подбросил к единице ...... скажите, а входы с компаратора тоже стоит подтянуть к единице или подавать на них нолик?
...плату за питал от акамулятора а завтра попробую от USB ....
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

.... ребята .... спасибо за помощь! .... :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение Nick »

О там у тебя есть пины not ко всем входам:
10 bit OUT FALSE pluto-servo.din.13
10 bit OUT TRUE pluto-servo.din.13-not
Это хорошо, даже отлично :).
wowk писал(а): закоментировал и теперь программно можно выставить в ноль все оси ....
Закомментировал или просто not убрал?
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

:) Закомментировал....
завтра доберусь до компа с и уберу not ...
плату Плуто и серво усилитель собирал и настраиваю в свободное время на работе ... :cheesy:
немного не хватает времени ..... но хочется запустить двигатель ....
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение Impartial »

wowk писал(а):Impartial, у меня энкодеры выдают ТТЛ 5 вольт а ПЛИС питается от 3,3 в .....
Для 5в входов достаточно поставить резистор на 50 ом и диод минусом на 3.3в и использовать внутренние подтягивающие резисторы.
Так же нужно сделать и со входами-выходами LPT.
А проще всего поднять питание чипа до 4.5в. Просто пару диодов поставить с 5в. Дока это позволяет, и по опыту это оптимальный вариант.
А компаратор зачем? Обычно в компараторах открытый коллектор. Просто нагрузку на 3.3 повесить. А входы подтягивать нельзя. Изменится входное сопротивление.
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Всем привет!
Никак не могу выдать с ПЛИС ШИМ на серво усилитель ..... как не менял параметры PID и перебирал HAL .... :evil:
сейчас использую такой вариант конфигурации взят из отсюда:
http://www.cnczone.com/forums/granite_d ... servo.html

без помощи уже никак ..... :thinking:
мой конфиг сейчас выглядит так ...

....подскажите куда копать .... такое впечатление будто выводы ПЛИС, из которых выходят сигналы ШИМ, вообще не активны....
Вложения
lathe-pluto.zip
конфиг
(7.79 КБ) 364 скачивания
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

...по командах 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

Сообщение Nick »

Так, а какой именно шим ты проверяешь, (по номеру)?
Пины правильно выбрал? И как проверяешь, что шима нет?
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение Impartial »

wowk писал(а):....подскажите куда копать .... такое впечатление будто выводы ПЛИС, из которых выходят сигналы ШИМ, вообще не активны....
В исходнике "servo.v" как выглядит выделенная строка?

// 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

Сообщение wowk »

.....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;
wowk
Кандидат
Сообщения: 84
Зарегистрирован: 13 май 2011, 09:57
Репутация: 1
Откуда: Ukraine Lviv region Stryi
Контактная информация:

Re: Плата для управления севро двигателями через EMC2

Сообщение wowk »

Спасибо Nick! :)
Наличие ШИМ проверяю осциллографом С1-55 ....
На энкодеры АХIS реагирует, когда прокручиваешь вал то начинают изменяться значения на экране, таким макаром проверил все четыре входные каналы А и B. ....... метка Z не используется ....
Ответить

Вернуться в «LinuxCNC»