Страница 1 из 1

ПИД регулятор для MESA плат

Добавлено: 05 ноя 2016, 19:00
vmarkiv
Есть вопрос - где находится ПИД регулятор для MESA плат ? Непосредственно в прошивке - и синхронизацией движений и планировкой траектории занимается MESA плата - или эту функцию выполняет планировщик от LINUXCNC . Данный вопрос порожден желанием использовать 7I90HD в управлении через SPI - если ПИД регулятор в 7I90HD -то на неравномерность обмена данными в границах 0.5-0.9мс можна смотреть сквозь пальцы -ПИД регуляторы каждой оси своими временами задержек исправят ситуацию . Если ПИД сидит в компьютере - а по SPI будут идти данные на управления осями - задержки и неравномерность существенны .

Re: ПИД регулятор для MESA плат

Добавлено: 05 ноя 2016, 19:19
nkp
vmarkiv писал(а):где находится ПИД регулятор для MESA плат
"местонахождение" пид регуляторов (в принципе) можно "вычислять" по настроечным коэффициентам ;)
(ведь без возможности настройки последних это уже не полноценный пид регулятор)
а в емс мы настраиваем только компонент PID в Hal

Re: ПИД регулятор для MESA плат

Добавлено: 08 авг 2019, 07:51
nkp
такой вот вопрос возник по опции DEADBAND в компоненте pid:
когда ошибка (error) меньше по модулю DEADBAND ,то мы принимаем error = 0
разрешающая способность датчика fb не позволяет точней сделать вычисления и мы удовлетворяемся и_этим))
но в чем физический смысл каждый раз уменьшать(увеличивать) рассогласование на эту самую величину DEADBAND:

Код: Выделить всё

    /* apply the deadband */
    if (tmp1 > *(pid->deadband)) {
	tmp1 -= *(pid->deadband);
    } else if (tmp1 < -*(pid->deadband)) {
	tmp1 += *(pid->deadband);
    } else {
	tmp1 = 0;
если цель - игнорировать ошибку меньше некоторой величины,то почему бы просто не :

Код: Выделить всё

    if ((tmp1 < *(pid->deadband)) || (tmp1 > -*(pid->deadband))) {
	tmp1 = 0;
	}

Re: ПИД регулятор для MESA плат

Добавлено: 08 авг 2019, 13:15
Serg
Так в описании же про это написано в конце. :)