|
ПИ - регулятор, Маленький и быстренький |
|
|
|
Dec 5 2005, 16:40
|
Местный
  
Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064

|
Цитата(DeXteR @ Dec 5 2005, 20:33)  Добрый день Очень прошу поделиться исходниками маленького 16 разрядного пид (пи) регулятора на Си под атмел может у кого есть .... Поищи поиском, где-то здесь выкладывали.
|
|
|
|
|
Dec 5 2005, 17:19
|

Местный
  
Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287

|
Цитата(&-rey @ Dec 5 2005, 20:40)  Цитата(DeXteR @ Dec 5 2005, 20:33)  Добрый день Очень прошу поделиться исходниками маленького 16 разрядного пид (пи) регулятора на Си под атмел может у кого есть ....
Поищи поиском, где-то здесь выкладывали. Спасибо &-rey Поиском нашел толька литературу ее у меня навалом + политех когдато закончил =) Исходников под АВРку ненашел Глючит сегодня все чегото Если несложно исходники регулятора на ukrniisip@mail.ru Зарание благодарю
|
|
|
|
|
Dec 6 2005, 10:15
|
Местный
  
Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064

|
Цитата(DeXteR @ Dec 5 2005, 21:19)  Спасибо &-rey Поиском нашел толька литературу ее у меня навалом + политех когдато закончил =) Исходников под АВРку ненашел А ссылка была http://forum.electronix.ru/index.php?showtopic=8440но теперь она не работает  Возможно ввиду очень длинного текста её укоротили или переместили куда-то в другое место  Просьба к модераторам и ко всем кто видел этот алгоритм помочь в этом вопросе. к сожалению не помню автора но вот слово ПИД там было.
|
|
|
|
|
Dec 6 2005, 11:24
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(&-rey @ Dec 6 2005, 13:15)  Цитата(DeXteR @ Dec 5 2005, 21:19)  Спасибо &-rey Поиском нашел толька литературу ее у меня навалом + политех когдато закончил =) Исходников под АВРку ненашел
А ссылка была http://forum.electronix.ru/index.php?showtopic=8440но теперь она не работает  Не поленитесь сей факт довести до сведения админов (указав пример). Вещь как ссылка на форумные темы очень нужная, иногда просто необходимая.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Dec 6 2005, 12:45
|

Местный
  
Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287

|
Цитата(subver @ Dec 6 2005, 15:59)  Ну так просил на С, я написал на с. А как там его компилятор откомпилирует, с насыщением или без, это уже другой вопрос.
Как ни странно работает, уже год.
Переполниться может. Чтобы не переполнялся нужно ограничить выходное значение, но тогда такая форма будет работать не совсем корректно.
Вот еще вариант:
err_i+=err; sat(err_i); y = err_i*Ki*T + err*Kp
sat(err_i) - насыщение интегратора. Толька одним выходным значением необойдешся При вычислении ошибки тоже может быть переполнение. Дальше - когда err_i*Ki*T + err*Kp считаем - тоже Входные величины нехочиться ограничивать Неподскажет ли кто можно ли как нибудь реализовать функцию сложения с насышением на Си
|
|
|
|
|
Dec 7 2005, 03:35
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726

|
Цитата Неподскажет ли кто можно ли как нибудь реализовать функцию сложения с насышением на Си long result; short int a,b; short shortresult; result = a+b; if(result>32767) result = 32767; if(result<-32768) result = -32768; shortresult = result; hint: result - 32 разрядный, a,b - 16 разрядные, так что при сложении a и b и помещении результата в result переполнения не будет. На ассемблере достаточно проверить бит OVF.
|
|
|
|
|
Dec 7 2005, 06:12
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(subver @ Dec 7 2005, 05:35)  Цитата Неподскажет ли кто можно ли как нибудь реализовать функцию сложения с насышением на Си ... На ассемблере достаточно проверить бит OVF. Да вообщем и на С можно, например, для IAR, if (SREG_Bit3) .... Только аккуратно надо с этим, рекомендуется посматривать в листинг, чего он там компилирует. Я для TCP/IP так бит переноса проверял (для расчета CRC).
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Dec 7 2005, 11:41
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726

|
Цитата Нельзя ли както побыстрее ?? Ведь задача считать Пи регулятор с частотой общета гдето килогрец 10 - 16 Если процессор работает на частоте 16Мгц, то получается 1000 тактов для расчета регулятора. неужели не хватит?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|