Материал: Разработка windows-приложения на С для комплекта robox. Идентификация сервопривода метод. указания к лабораторной работе № 6

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Составитель:

канд. техн. наук, доцент кафедры автоматики и телемеханики Н.В. Андриевская

УДК 007.52 Р177

Рецензент:

д-р техн. наук, профессор С. Ф. Тюрин (Пермский национальный исследовательский политехнический университет)

Разработка windows-приложения на «С» для комплекта Р177 robox. Идентификация сервопривода : метод, указания к лабо­ раторной работе № 6 / сост. Н.В. Андриевская. - Пермь : Изд-

во Перм. нац. исслед. политехи, ун-та, 2021. - 20 с.

ISBN 978-5-398-02559-0

Рассмотрен шестой этап создания в ШЕ Pelles С диалогового приложения, позволяющего создать модель сервопривода. На этом этапе снимаются экспериментальные данные по угловой скорости сервопривода и рассчитывается модель сервопривода для дальней­ шего расчета регулятора угловой скорости сервопривода.

Издание ориентировано на студентов бакалавриата и магистра­ туры, направлений 27.03.04 и 27.04.04 «Управление в технических системах», 15.03.06 и 15.04.06 - «Мехатроника и робототехника», а также студентов других направлений и специальностей техниче­ ского профиля.

УДК 007.52

ISBN 978-5-398-02559-0

©ПНИПУ, 2021

 

СОДЕРЖАНИЕ

 

1.

Разработка функции снятия кривой разгона сервопривода

.............4

2. Расчет модели сервопривода...................................................................

8

 

2.1. Ввод экспериментальных данных...................................................

8

 

2.2. Вызов графического интерфейса

 

 

System Identification Toolbox.................................................................

10

 

2.3. Импорт экспериментальных данных...........................................

10

 

2.4. Построение модели...........................................................................

13

 

2.5. Анализ моделей.................................................................................

16

3. Ход выполнения работы ........................................................................

19

1 . РАЗРАБОТКА ФУНКЦИИ СНЯТИЯ КРИВОЙ

РАЗГОНА СЕРВОПРИВОДА

1.1. Разработать функцию void StartAccCurve (void) запуска экс­ перимента, формирующего данные необходимые для расчета моде­ ли сервопривода.

а) Объявить следующие глобальные переменные.

Указатель на файл, в котором будут сохраняться результаты эксперимента в текстовом формате:

static FILE*file;

Счетчик точек кривой разгона:

static UINT16 CurveCnt;

Флаг разрешения рисования кривой разгона в окне приложения:

static UINT8 DrawAccCurveEn;

Предыдущие координаты в окне приложения точки кривой разгона:

static POINT ср;

Время старта снятия кривой разгона:

static DWORD t start;

Целевая скорость разгона:

static INT 16 Speed;

Флаг достижения целевой скорости при разгоне:

static UINT8 AccTimeOK;

б) Объявить координаты начала рисования кривой разгона, на­ пример:

#define Xi_OFFSET 370

#defme Yi OFFSET 350

в) Шаблон функции запуска снятия кривой разгона:

static void StartAccCurve(void)

{

int i;

char text[16]; char *endptr;

if (CurveCnt==0){

file=fopen("AccCurve.txt",Mw+");//oTKpbiTHe файла для записи рез. cp.x=Xi_OFFSET ;

cp.y=Yi_OFFSET ;

Установить режим работы сервопривода SPEED. Нарисовать горизонтальную ось (время) кривой разгона. Включить двигатель.

DrawAccCurveEn=l;

TimerEn=l;

Считать из элемента редактирования с идентификатором

IDPOINT значение целевой скорости вращения (в переменную

Speed), коэффициенты пропорциональной, интегральной и диффе­

ренциальной составляющей ПИД-регулятора. Установить значения коэффициентов.

/ГУстановка целевой скорости. set_point(MbCom.hCOM,servo_addr,Speed);

//Чтение текущего времени t_start = timeGetTime();

// Кривая разгона снимается с шагом 100 мс SetTimer(ghwndDlg,2,100,NULL); AccTimeOK=0;

}else{

Выключить двигатель.

Источник: https://studfile.net/preview/16721707/