Курсовая работа - Разработка микропроцессорной системы управления приводом постоянного тока на базе процессора TMS 320 f2812 - файл SIS_DRIVE_CONT.docx

Курсовая работа - Разработка микропроцессорной системы управления приводом постоянного тока на базе процессора TMS 320 f2812
скачать (3398.1 kb.)
Доступные файлы (81):
ADC_TRANSLATE.bak
ADC_TRANSLATE.dwg
SIS_DRIVE_CONT.docx446kb.09.01.2012 14:47скачать
n4.src
n5.lib
rts2700_eh.lib
rts2700_ml.lib
rts2700_ml_eh.lib
n9.lib
rts2800_eh.lib
rts2800_ml.lib
rts2800_ml_eh.lib
moto_r.mdl
n14.nb
n15.xlsxскачать
ufo_gen.mdl
n18.pptxскачать
DSP281x_DefaultIsr.c
DSP281x_GlobalVariableDefs.c
DSP281x_Headers_nonBIOS.cmd
DSP281x_PieCtrl.c
DSP281x_PieVect.c
DSP281x_SysCtrl.c
DSP281x_DefaultIsr.obj
DSP281x_GlobalVariableDefs.obj
DSP281x_PieCtrl.obj
DSP281x_PieVect.obj
DSP281x_SysCtrl.obj
DSP2833x_ADC_cal.obj
DSP2833x_DefaultIsr.obj
DSP2833x_GlobalVariableDefs.obj
DSP2833x_PieCtrl.obj
DSP2833x_PieVect.obj
DSP2833x_SysCtrl.obj
DSP2833x_usDelay.obj
n38.map
n39.out
n40.obj
n41.obj
n42.lkf
n43.lkv
F2812_EzDSP_RAM_lnk.cmd
n45.h
n46.cdx
n47.dbf
n48.fpt
n49.cdx
n50.dbf
n51.fpt
n52.paf
n53.paf2
n54.pjt
n55.sbl
cc_build_Debug.log
DSP281x_Adc.h
DSP281x_CpuTimers.h
DSP281x_DefaultIsr.h
DSP281x_DevEmu.h
DSP281x_Device.h
DSP281x_ECan.h
DSP281x_Ev.h
DSP281x_Examples.h
DSP281x_GlobalPrototypes.h
DSP281x_Gpio.h
DSP281x_Mcbsp.h
DSP281x_PieCtrl.h
DSP281x_PieVect.h
DSP281x_SWPrioritizedIsrLevels.h
DSP281x_Sci.h
DSP281x_Spi.h
DSP281x_SysCtrl.h
DSP281x_XIntrupt.h
DSP281x_Xintf.h
n76.c
n77.h
n78.wks
n79.xlsxскачать
n80.pptx391kb.27.12.2011 02:56скачать
n81.txt1kb.07.03.2012 14:23скачать
n82.doc26kb.07.03.2012 14:21скачать
n83.cpp

SIS_DRIVE_CONT.docx

СОДЕРЖАНИЕ:

1. Исходные данные, расчёт параметров датчиков, перевод величин……… 2

2. Определение параметров двигателя……………..3

3. Разработка системы управления…………………….8

4. Реализация на Matlab……………………………………….9

5. Реализация в CCS, вывод……………………10

Вариант двигателя:28

1. Определение параметров датчиков:

Пределы скорости:

Максимально измеряемый ток:

2. Перевод параметров: АЦП- реальные величины:

Перевод параметров: ADC - n, ADC - :

Рис.1 Перевод тока якоря



Рис.2 Перевод скорости

3. Определение параметров двигателя:

3.1 Сопротивление якоря:

Рис.3 К определению Rя




Рис.4 Переходной процесс (Снят при Uя=92 В)

3.2 Снятие кривой намагничивания:

Рис.5 К определению кривой намагничивания

На якорь подаём небольшое напряжение Uя=2.7 В. На возбуждение подаем напряжение Uв=54 В. Увеличивая это напряжение до 270 В, фиксируем графики скорости, которая будет всё меньше с увеличением напряжения возбуждения. Фиксируем точку, на которой скорость перестаёт уменьшаться при дальнейшем увеличении возбуждения. Это будет точка насыщения.



n=52 об/мин, Uв=54В n=28 об/мин, Uв=108 В



n=22 об/мин, Uв=162 В n=18 об/мин, Uв=216 В

n, об/мин

��,рад/сек

Uв, В

кФ,Вс

52

5,4

54

0,50

28

2,9

108

0,92

22

2,3

162

1,17

18

1,9

216

1,32

17,5

1,8

270

1,4

кФ=

n=17.5 об/мин, Uв=270 В

Рис.6 Переходные процессы n(t) Табл.1 Кривая намагничивания, Uя=2.7 В

Рис.7 Кривая намагничивания кФ(Uв)

Из кривой намагничивания принимаем Uв.ном=216 В=220 В, кФ=1.3 Вс.

Сопротивление обмотки возбуждения вычисляем из предположения отсутствия нелинейности между кФ и Iв, для номинальной точки. Находим , как .

Программа для снятия кривой:

interrupt void ControlInt(void)

{


ia=(drive.iA-2047)/21.0;

speed=(drive.adcSpeed-2047)*2;

speed2=(2*PI*speed)/60;

ua=(drive.uAlpha/16777216.0)*540;

uv=(drive.uBeta/16777216.0)*540;

drive.uAlpha=_IQ(0.005);// Ua=2.7 V

drive.uBeta=_IQ(0.208);// Uv=var(54-270V)

kfi=ua/speed2;


drive.Execute(drive);
EvaRegs.EVAIFRA.all=BIT9;

PieCtrlRegs.PIEACK.all=PIEACK_GROUP2;

}

3.3 Определение момента инерции:

Определение момента инерции:



Рис.8 К Определению момента инерции.,Мс=-500Нм

Итого полученная модель двигателя в Матлабе:



Рис.9 Модель в Матлабе

Как видно из рис.10, при рассчитанных параметрах двигатель выходит на номинальную скорость

��=314 рад/сек, указанную в задании.

Рис.10 Характеристики двигателя, снятые в Матлабе

4. Разработка системы управления

Регулирование с релейным контуром тока якоря и регулированием скорости в канале возбуждения:


Рис.11 Структурная схема системы управления
Регулятор в контуре тока работает следующим образом. В первый момент времени ошибка на выходе сумматора 1 в контуре тока положительна: и релейный элемент выдаёт своё максимальное значение, настроенное так, чтобы Uя было номинальным. Ioc растёт, ошибка на выходе сумматора уменьшается, и когда она станет отрицательной, релейный элемент выдаст своё минимальное значение, Uя упадёт, Ioc снизится, ошибка станет положительной, релейный элемент выдаст снова максимальное значение. Таким образом, РЭ переключаясь, поддерживает ток на заданном уровне.

Регулятор в контуре возбуждения работает следующим образом. При достижении скорости заданной ЗС, на выходе из сумматора в контуре возбуждения имеем нулевую ошибку и соответственно релейный регулятор выдаёт минимальное значение, поток падает, момент падает. И при нулевом минимальном значении в настройке регулятора, момент упадет до нуля, т.к. поток упадёт. Соответственно скорость при этом будет константой.


5. Модель системы управления, представленная на Матлабе







Рис.12 Структурная схема системы управления

Таким образом, чтобы получить желаемую скорость выставляем её на задании скорости ЗС. Ниже приведены графики для двух различных заданий скоростей.



Рис.13 Характеристика при ослаблении поля при настроенном регуляторе. (Слева- задание скорости справа – задание скорости ) на Матлабе.

6. Модель системы управления, реализованная в CCS.

Программа в этом случае будет иметь вид:

interrupt void ControlInt(void)

{

// Control
ia=(drive.iA-2047)/21.0;

speed=(drive.adcSpeed-2047)*2;

speed2=(2*PI*speed)/60;

ua=(drive.uAlpha/16777216.0)*540;

uv=(drive.uBeta/16777216.0)*540;

kfi=(ua-ia*0.95)/speed2;

okigaku=Izad-ia*ost;

if(okigaku>0)

drive.uAlpha=_IQ(0.815);

else if(okigaku<0)

drive.uAlpha=_IQ(0.0);

okigaku2=omegazad-speed2*oss;

if(okigaku2>0)

drive.uBeta=_IQ(0.407);

else if(okigaku2<0)

drive.uBeta=_IQ(0.0);

drive.Execute(drive);
EvaRegs.EVAIFRA.all=BIT9;

PieCtrlRegs.PIEACK.all=PIEACK_GROUP2;

} Рис.14Характеристики,снятые в CCS(-слева,.
Вывод: Характеристики, снятые на CCS, удовлетворяют характеристикам снятым на матлабе.



Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации