Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха.

 
Опции темы
Непрочитано 20.12.2017, 17:02  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от Alex9797 Посмотреть сообщение
Я начинал на 580-м, и 48-й после него казался просто чудом техники!
А я начинал с педального трехколесного велосипеда. Когда пересел на "Школьник", он мне тоже показался чудом техники!
ALEGYR вне форума  
Непрочитано 20.12.2017, 21:12  
Haha
Временная регистрация
 
Регистрация: 23.06.2017
Сообщений: 47
Сказал спасибо: 15
Сказали Спасибо 35 раз(а) в 18 сообщении(ях)
Haha на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от ALEGYR Посмотреть сообщение
А я начинал с педального трехколесного велосипеда. Когда пересел на "Школьник", он мне тоже показался чудом техники!
И было тебе всего-то 40 лет...
Haha вне форума  
Непрочитано 20.12.2017, 22:41  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от Haha Посмотреть сообщение
И было тебе всего-то 40 лет...
В 40 лет (в 1997 году) я перестал работать К580 и пересел на пик-контроллеры, чтобы сделать сервисный пуль для тестирования и ремонта видеокамер SONY!
ALEGYR вне форума  
Непрочитано 20.12.2017, 23:00  
stalkernet
Почётный гражданин KAZUS.RU
 
Регистрация: 02.07.2009
Сообщений: 1,110
Сказал спасибо: 1,246
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
stalkernet на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

ALEGYR, реально нет времени переключится чисто на контроллерный паскаль. но идею я думаю поймешь.

Писать полностью нет времемени поэтому будет псевдо код. мега8.

timer 1
тамер шим конфигурируем в приращение.
прирывание по совпадению активно.
прирывание по переполнению активно.
пределитель определяется по частоте пусть будет 8 Мгц
8
64
256
1024
мах период регулирования при пред 256.

(1/(8000000/256))*65535 = 2,1 сек.
1 тик и так понятен.

timer 0
прерывание по перепелнению.
интервал вычесляем какой нам необходим.

грузим настройки например из еепром
типа
Kp = 1
Ki = 1
Kd = 1
Treg = 1

Timer0 := 0;
Timer1 := 0;

start Timer0;
start Timer1;

Interrupt enable;

Interrapt Timer0_overflov;
меряем АЦР. заносим в В TempADC;
Если надо заносим нужное значение в тимер0
гуляем на х из прерывания.

Interrupt Timer1_Compare;
PinOut := 0;

Interrupt Timer1_overflov;
PinOut := 1;
Timer1 stop;
Считаем пид.
получаем своих попугаев

Теперь приводим попугаев к периоду регулирования.

if Pout › 100 then Pout := 100
else
begin
if Pout ‹ 0 Then Pout := 0
else begin
TSHIM := (TReg * Pout) div 100;
end
end;

если период регулирования равен 2,1 с то выглядит так TSHIM := (65535 * POut) div 100;
если меньше то TSHIM := ((65535 - X) * POut) div 100;
где X значение чтобы по переполнению было необходимое нам время.

плюем в регистр сравнения значение 65535 - X + TSHIM.

Timer1 start;
гуляем из прерывания. а дальше курим или занимаемся своими делами.
stalkernet вне форума  
Непрочитано 20.12.2017, 23:24  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

А где пример кода расчета пид-регулятора?
Насколько я понимаю, строка
Сообщение от stalkernet Посмотреть сообщение
Считаем пид.
даже в псевдо коде. мега8 не является кодом расчета пид-регулятора!
ALEGYR вне форума  
Непрочитано 21.12.2017, 01:30  
stalkernet
Почётный гражданин KAZUS.RU
 
Регистрация: 02.07.2009
Сообщений: 1,110
Сказал спасибо: 1,246
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
stalkernet на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Блин ну прям как пыонеры. все роскаж, покажи, дай попробывать.

Perr := tust - TempAdc;
P := Kp * Perr;
I := integrator + (Ki * Perr);
D := Kd * (Perr - PerrOld);
Pout := P + I + D;
Integrator := I;
PerrOld := Perr;

КЛАСИКА

Значения АЦП не пересчитываются. работаем в шагах АЦП. я об этом уже расказывал.
stalkernet вне форума  
Непрочитано 21.12.2017, 01:39  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Вопрос №1: - Нафига нужны
Сообщение от stalkernet Посмотреть сообщение
PinOut := 0;
...
PinOut := 1;
если компаратор имеет выход наружу?

Вопрос №2: - Нафига отключать
Сообщение от stalkernet Посмотреть сообщение
Timer1
?

upd
Вопрос №3: - Нафига нужен
Сообщение от stalkernet Посмотреть сообщение
Timer0

Последний раз редактировалось omercury; 21.12.2017 в 01:55.
omercury вне форума  
Непрочитано 21.12.2017, 02:07  
stalkernet
Почётный гражданин KAZUS.RU
 
Регистрация: 02.07.2009
Сообщений: 1,110
Сказал спасибо: 1,246
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
stalkernet на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от omercury Посмотреть сообщение
если компаратор имеет выход наружу
на тот случай если он уже задействован под другое.

Сообщение от omercury Посмотреть сообщение
Нафига отключать
привычка. работая в прирывании его отключать.

Timer0 тактовый генератор импульсов определенной длительности.
по ним идет циклический опрос АЦП и усреднение значений. вывод на деспюй. уварт. и т.д. и т.п.

Последний раз редактировалось stalkernet; 21.12.2017 в 02:11.
stalkernet вне форума  
Непрочитано 21.12.2017, 02:34  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от stalkernet Посмотреть сообщение
Блин ну прям как пыонеры.
Правильно ли я понимаю, что твоя фраза
Сообщение от stalkernet Посмотреть сообщение
А мне не тот не тот не нравится.
была сказана лишь только для того, чтобы ты вместо вот этого
Сообщение от ALEGYR Посмотреть сообщение
double error = Setpoint - Input;
errSum += error;
double dInput = (Input - lastInput);
Output = kp * error + ki * errSum - kd * dInput;
lastInput = Input;
lastTime = now;
, написал вот это
Сообщение от stalkernet Посмотреть сообщение
Perr := tust - TempAdc;
P := Kp * Perr;
I := integrator + (Ki * Perr);
D := Kd * (Perr - PerrOld);
Pout := P + I + D;
Integrator := I;
PerrOld := Perr;
то есть
буквы error заменил своими буквами Perr
буквы Setpoint заменил своими буквами tust
буквы Input заменил своими буквами TempAdc
буквы errSum заменил своими буквами Integrator

и вместо одной строки
Output = kp * error + ki * errSum - kd * dInput;

написать свои четыре
P := Kp * Perr;
I := integrator + (Ki * Perr);
D := Kd * (Perr - PerrOld);
Pout := P + I + D;


?!

Последний раз редактировалось ALEGYR; 21.12.2017 в 02:36.
ALEGYR вне форума  
Непрочитано 21.12.2017, 02:55  
stalkernet
Почётный гражданин KAZUS.RU
 
Регистрация: 02.07.2009
Сообщений: 1,110
Сказал спасибо: 1,246
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
stalkernet на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от ALEGYR Посмотреть сообщение
Output = kp * error + ki * errSum - kd * dInput
Сообщение от ALEGYR Посмотреть сообщение
Pout := P + I + D;
найди разницу в двух строчках. кроме названий.

Сообщение от ALEGYR Посмотреть сообщение
Правильно ли я понимаю
нет не правильно. и то что мне ненравилось я уже приводил несколько раз. особенно подробно расписано в последнем посте.
stalkernet вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wiznet W7100. Общие вопросы R_N Микроконтроллеры, АЦП, память и т.д 7 06.06.2012 00:33
PCAD - вопросы и ответы avr123-nm-ru Proteus, KiCAD и другие ECAD 7 27.01.2011 21:15
Система измерения температуры (на AD8495), вопросы по схеме и реализации spartakchamp Измерительное оборудование 2 15.11.2010 22:04


Часовой пояс GMT +4, время: 08:05.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot