Плата для управления севро двигателями через EMC2
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Я переписал конфигурацию на основе этого проекта ...
http://www.cnczone.com/forums/granite_d ... servo.html
Мои HAl и INI.....
http://www.cnczone.com/forums/granite_d ... servo.html
Мои HAl и INI.....
- Вложения
-
- конф..zip
- (7.85 КБ) 453 скачивания
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
У меня отсутствуют сигналы управления шима с ПЛИС
но Плуто реагирует на энкодеры и показания позиции изменяется когда в ручную повернуть вал двигателя.... я пробовал подбросить входы и к единице и к нулю и так не понял где концевые по Х. ... тогда закомментировал в хале входа с концевого и все равно никакой реакции на всех выходах шима ..... тогда использовал такую конфигурацию, которую я вам показал и все равно ситуация не изменилась .... сейчас двигатель с энкодером и платами Плуто и серво усилителем у меня на рабочем столе и в понедельник я буду иметь возможность заняться Плуто а на выходных почитаю мануалы а то уже запутался ....
Скажите пожалуйста, если использовать конфигурацию токарного то какие входы конкретно завести в ноль или единицу, чтобы сторожевой таймер не отсек выхода шима? Какая последовательность запуска платы?
хорошо бы составить подробные инструкции шаг за шагом и росписать логику действий от прошивки к настройке и вариантов токарной и фрезерной конфигурации ...
и еще .... не подскажете, где в INI можно прописать количество импульсов с энкодера?
но Плуто реагирует на энкодеры и показания позиции изменяется когда в ручную повернуть вал двигателя.... я пробовал подбросить входы и к единице и к нулю и так не понял где концевые по Х. ... тогда закомментировал в хале входа с концевого и все равно никакой реакции на всех выходах шима ..... тогда использовал такую конфигурацию, которую я вам показал и все равно ситуация не изменилась .... сейчас двигатель с энкодером и платами Плуто и серво усилителем у меня на рабочем столе и в понедельник я буду иметь возможность заняться Плуто а на выходных почитаю мануалы а то уже запутался ....
Скажите пожалуйста, если использовать конфигурацию токарного то какие входы конкретно завести в ноль или единицу, чтобы сторожевой таймер не отсек выхода шима? Какая последовательность запуска платы?
хорошо бы составить подробные инструкции шаг за шагом и росписать логику действий от прошивки к настройке и вариантов токарной и фрезерной конфигурации ...
и еще .... не подскажете, где в INI можно прописать количество импульсов с энкодера?
Последний раз редактировалось wowk 16 фев 2013, 15:19, всего редактировалось 1 раз.
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Попробуйте выключить сторожевой таймер, переписав выделенную строку файла max2pluto.v
module wdt(clk, ena, cnt, out);
input clk, ena, cnt;
output out;
reg [6:0] timer;
wire timer_top = (timer == 7'd127);
reg internal_enable;
wire out = internal_enable && timer_top;
always @(posedge clk) begin
if(ena) begin
internal_enable <= 0;
timer <= 0;
end else if(cnt && !timer_top) timer <= timer + 7'd1;
end
endmodule
module wdt(clk, ena, cnt, out);
input clk, ena, cnt;
output out;
reg [6:0] timer;
wire timer_top = (timer == 7'd127);
reg internal_enable;
wire out = internal_enable && timer_top;
always @(posedge clk) begin
if(ena) begin
internal_enable <= 0;
timer <= 0;
end else if(cnt && !timer_top) timer <= timer + 7'd1;
end
endmodule
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Срабатывание сторожевого таймера не зависит от состояний входов. Он срабатывает при нарушении обмена с платой по ЕРР.wowk писал(а):Скажите пожалуйста, если использовать конфигурацию токарного то какие входы конкретно завести в ноль или единицу, чтобы сторожевой таймер не отсек выхода шима? Какая последовательность запуска платы?
Если не было обмена более 6.5 мс (происходит раз в сервоцикл 1мс) То выхода уходят в третье состояние. Но при появлении сразу восстанавливаются.
Никаких премудростей в запуске платы нет. Зашили прошивку и все должно работать (если нет ошибок).
Дальше могут быть проблемы только с HAL и INI.
Я сейчас найду диаграмму обмена снятую SignalTap II Logic Analyzer посмотрите осцилографом похоже на ваш обмен?
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Спасибо Impartial
Я доберусь до платы в понедельник и пройдусь осциллографом по шине ... может есть потребность укоротить кабель к ЛПТ ... Возможно проблема с компьютером .... и поэтому срабатывает сторожевой таймер ... буду искать ...
Я доберусь до платы в понедельник и пройдусь осциллографом по шине ... может есть потребность укоротить кабель к ЛПТ ... Возможно проблема с компьютером .... и поэтому срабатывает сторожевой таймер ... буду искать ...
-
lazymiller
- Новичок
- Сообщения: 31
- Зарегистрирован: 27 дек 2011, 22:58
- Репутация: 4
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
145 param rw u32 communication_error """Incremented each time
146 pluto-servo.read detects an error code in the EPP status register. While
147 this register is nonzero, new values are not being written to the Pluto-P
148 board, and the status of digital outputs and the PWM duty cycle of the PWM
149 outputs will remain unchanged. If the watchdog is enabled, it will activate
150 soon after the communication error is detected. To continue after a
151 communication error, set this parameter back to zero.""";
вот что написано в драйвере plutoservo т.е если есть ошибки связи то параметр communication_error увеличивается и пока он не будет сброшен в ноль выхода не работают
отключение сторожевого таймера в прошивке ничего не даст т.к обмен прекращается на уровне драйвера
146 pluto-servo.read detects an error code in the EPP status register. While
147 this register is nonzero, new values are not being written to the Pluto-P
148 board, and the status of digital outputs and the PWM duty cycle of the PWM
149 outputs will remain unchanged. If the watchdog is enabled, it will activate
150 soon after the communication error is detected. To continue after a
151 communication error, set this parameter back to zero.""";
вот что написано в драйвере plutoservo т.е если есть ошибки связи то параметр communication_error увеличивается и пока он не будет сброшен в ноль выхода не работают
отключение сторожевого таймера в прошивке ничего не даст т.к обмен прекращается на уровне драйвера
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Не изменяются, а не уходят в неопределенное состояние. Сторожевой таймер вводит их в это состояние.lazymiller писал(а):the PWM
outputs will remain unchanged.
Насколько я понял выхода находятся в ВИСе.
-
lazymiller
- Новичок
- Сообщения: 31
- Зарегистрирован: 27 дек 2011, 22:58
- Репутация: 4
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
правильно цифровые выхода не изменяются , а у PWM не меняется коэффициент заполнения но т.к. изначально он ноль то возможно поэтому на PWM выходах ничего нет
to wowk:
а каким образом подключена плата к параллельному порту ? у меня были проблемы со связью с оригинальным PLUTO-P при подключении через шлейф длинной около 30 см
to wowk:
а каким образом подключена плата к параллельному порту ? у меня были проблемы со связью с оригинальным PLUTO-P при подключении через шлейф длинной около 30 см
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Спасибо за помощь ...
К сожалению отключения сторожевого таймера в прошивке ничего не дало .... сначала в момент активации прошивки Плуто на всех четырех выходах шима UP произвольно начали генерироваться шмпульсы где-то на секунд тридцать а потом тишина .... тогда вернулся на предыдущий вариант ...
Осциллографом проверял сигналы по шине ЛПТ и вроде все нормально ...
С самим портом плата соединена укороченным ЛПТешним шнуром до 30 см.
Между ПЛИС и портом у меня резисиоры 33 Ом.
Когда на прямую без них подкидаюсь к порту то нет соединения с компьютером ....
Не могу докопаться до истины но буду дальше воевать ...
Попробую к минимуму укоротить расстояние до ЛПТ ...
К сожалению отключения сторожевого таймера в прошивке ничего не дало .... сначала в момент активации прошивки Плуто на всех четырех выходах шима UP произвольно начали генерироваться шмпульсы где-то на секунд тридцать а потом тишина .... тогда вернулся на предыдущий вариант ...
Осциллографом проверял сигналы по шине ЛПТ и вроде все нормально ...
С самим портом плата соединена укороченным ЛПТешним шнуром до 30 см.
Между ПЛИС и портом у меня резисиоры 33 Ом.
Когда на прямую без них подкидаюсь к порту то нет соединения с компьютером ....
Не могу докопаться до истины но буду дальше воевать ...
Попробую к минимуму укоротить расстояние до ЛПТ ...
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
И все таки. При запуске стандартной конфигурации lathe-pluto скорость шпинделя регулируется?
Оси по экрану ездят?
Оси по экрану ездят?
-
wowk
- Кандидат
- Сообщения: 84
- Зарегистрирован: 13 май 2011, 09:57
- Репутация: 1
- Откуда: Ukraine Lviv region Stryi
- Контактная информация:
Re: Плата для управления севро двигателями через EMC2
Оси ездят и шпиндель запускается ... к плате доберусь и убавлю длину кабеля до ЛПТ ..... попытаюсь скрутить пары типа информационный с землей, может помеха какая то и какой то нолик или единичка не добежала 