Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Шаблон циклической программы для микроконтроллера

Читайте также:
  1. CoolEdit - встроенный редактор программы Midnight Commander
  2. III. Аналитический отчет о выполнении программы развития ДОУ за 2014-2015 учебный год.
  3. Актуальность программы.
  4. Архивация данных. Алгоритмы сжатия данных. Программы архивации данных.
  5. В программы школ и вузов
  6. В. Шаблоны, опосредованно возбуждающие реакции.
  7. Виды, методы и программы налоговых проверок

Составим структурную схему программной реализации регулятора.

Передаточная функция нашего регулятора:

Разделим числитель и знаменатель на , получим

Структурная схема примет вид:

Рисунок 14. Структурная схема программной реализации регулятора

 

В соответствии с этой схемой и учетом того, что входы элементов задержки будут описаны как , уравнения состояния запишем в виде:

 

В качестве языка программирования выберем язык С++.

 

Файл rreg.h:

#pragma once

#include <vector>

using namespace std;

 

class rreg

{

public:

vector<double> y; //Массив с значениями выходного воздействия регулятора

void regulator(double,double,double); //Функция рассчета

};

Файл rreg.cpp:

#include "rreg.h"

#include "iostream"

#include <conio.h>

 

 

void main()

{

rreg r;

//t= 0.0020846 Период дискретизации

//v=1 Входное воздействие на регулятор

//T=0.2 Время симуляции

r.regulator(0.0020846, 1, 0.2);

for (int i=0; i<r.y.size(); i++)

{

cout << r.y[i] << endl;

}

getch();

}

 

// Шаблон циклической программы для микроконтроллера

void rreg::regulator(double t, double v, double T) //Период дискретизации,Входное воздействие на регулятор,Время симуляции

{

double x1,x2,x3;

double t1,t2,t3,t4;

x1=0;

x2=0;

x3=0;

for(int i=0;i<(T/t);i++)

{

t1=x2;

t2=x3;

t3=x2*(-0.4286)+x3*0.8571+v;

x1=t1,x2=t2,x3=t3;

t4=x1*17.41+x2*(-30.03)+x3*13.2; //выходное воздействие регулятора

y.push_back(t4);

}

}


Дата добавления: 2015-10-13; просмотров: 66 | Нарушение авторских прав


Читайте в этой же книге: Функциональная схема | Расчет и выбор основных функциональных элементов | Определение статических и динамических моделей элементов системы. | Синтез параметров автоматической системы |
<== предыдущая страница | следующая страница ==>
Расчет регулятора| ОБЩИЕ ПОЛОЖЕНИЯ

mybiblioteka.su - 2015-2024 год. (0.005 сек.)