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

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

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

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

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

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


 
Опции темы
Непрочитано 02.09.2015, 12:08  
_SayHello
Частый гость
 
Регистрация: 24.08.2015
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_SayHello на пути к лучшему
По умолчанию Как стабилизировать частоту вращения на STM32F100RB

Добрый день. Что имеется: программа которая генерирует ШИМ, коллекторный двигатель, который управляется этим ШИМом через полевой транзистор. Так же имеется оптопара которая считает обороты вала двигателя. Сейчас могу управлять в ручную скважностью ШИМ тем самым регулировать обороты. Требуется: задавать число оборотов в диапазоне 500-6000 об/мин, и двигатель автоматически набирал нужные обороты и поддерживал их. Подскажите пожалуйста, как это можно реализовать?
Реклама:
_SayHello вне форума  
Непрочитано 02.09.2015, 13:03  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

PID в помощь. Я даже выкладывал здесь на форуме с примерами.
Easyrider83 вне форума  
Непрочитано 03.09.2015, 01:34  
_SayHello
Частый гость
 
Регистрация: 24.08.2015
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_SayHello на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

Сообщение от Easyrider83 Посмотреть сообщение
PID в помощь. Я даже выкладывал здесь на форуме с примерами.
Не могли бы Вы дать ссылку, пожалуйста
_SayHello вне форума  
Непрочитано 03.09.2015, 01:38  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,054
Сказал спасибо: 3,042
Сказали Спасибо 3,213 раз(а) в 2,183 сообщении(ях)
ForcePoint на пути к лучшему
Печаль Re: Как стабилизировать частоту вращения на STM32F100RB

Сообщение от _SayHello Посмотреть сообщение
Не могли бы Вы дать ссылку, пожалуйста
LMGTFY, как-то так. Самое место - про паяльник, наверное.
ForcePoint вне форума  
Сказали "Спасибо" ForcePoint
_SayHello (03.09.2015)
Непрочитано 03.09.2015, 02:14  
индюк
Заблокирован
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,715
Сказал спасибо: 189
Сказали Спасибо 3,199 раз(а) в 2,074 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

_SayHello, еслинет глубокого понимания как работает проц и много чего другого - можешь даже не начинать.
вернее можешь но результат будет через годы
хотя оно даже полезно буит
индюк вне форума  
Непрочитано 03.09.2015, 02:18  
_SayHello
Частый гость
 
Регистрация: 24.08.2015
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_SayHello на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

Сообщение от Easyrider83 Посмотреть сообщение
MisterDi, я уговорен!
Пример использования:
Декларируем структуру:
Код:
PidType PID;
Инитиализируем PID:
Код:
  PID_init(&PID, 1, 0.05, 0.25, PID_Direction_Direct);
  PID_SetMode(&PID, PID_Mode_Automatic);
  PID_SetOutputLimits(&PID, PWM_Step, PWM_Period);
PWM_Step - минимальное значение ШИМ
PWM_Period - максимальное значение ШИМ
Работаем с PID, обращаясь к нему один раз в секунду:
Код:
    PID.mySetpoint = SetTemp;    
    PID.myInput = RealTemp;
    PID_Compute(&PID);    
    SetPWM = (u16)PID.myOutput;
Где SetTemp - переменная типа unsigned int, в которой требуемая температура в градусах цельсия, а SetPWM - период ШИМ (в моем случае от 0 до 500).
В связи с началом освоения миропроцессорной техники хочу уточнить:
1) Время обращения к регулятору фиксировано, или мы сами вставляем его в прерывание по таймеру?
2) Понятно, что ПИДу все равно, сравнивать температуры или обороты, но интересно как связать данное воздействие SetPWM со скважностью которая управляет оборотами?

Может конечно вопросы и тупые))
_SayHello вне форума  
Непрочитано 03.09.2015, 02:37  
_SayHello
Частый гость
 
Регистрация: 24.08.2015
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_SayHello на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

Сообщение от индюк Посмотреть сообщение
_SayHello, еслинет глубокого понимания как работает проц и много чего другого - можешь даже не начинать.
вернее можешь но результат будет через годы
хотя оно даже полезно буит
Ну как Вам сказать, в попытке обучиться, я немного изучил особенности данного процессора. И в частности работу с портами ввода/вывода, таймерами и прерываниями, этого мне было достаточно, чтобы наладить управляемый ШИМ, посчитать период импульсов с оптодатчика и вывести на 4-ех разрядный индикатор эту самую частоту. К сожалению, стабильность частоты меня не устраивает. Начиная придумывать велосипед я пробовал, в теле программы сравнивать входную частоту с заданной и исходя из результата прибавлять скважность или убавлять, но данный способ, как мне кажется неприемлим. В связи с этим я решил использовать ПИД регулятор. Как я понял это математика чистой воды, которую надо запрограммировать с чем у меня и имеются трудности на данный момент.
_SayHello вне форума  
Непрочитано 03.09.2015, 03:09  
индюк
Заблокирован
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,715
Сказал спасибо: 189
Сказали Спасибо 3,199 раз(а) в 2,074 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

Пид это частный случай нечеткой логики. Почитай о ней для развития
индюк вне форума  
Непрочитано 03.09.2015, 08:50  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

Сообщение от _SayHello Посмотреть сообщение
1) Время обращения к регулятору фиксировано, или мы сами вставляем его в прерывание по таймеру?
2) Понятно, что ПИДу все равно, сравнивать температуры или обороты, но интересно как связать данное воздействие SetPWM со скважностью которая управляет оборотами?
1. Время, конечно, фиксировано. Как и коэффициенты ПИД тоже придется подбирать опытным путем. Но пихать в прерывание не советую. Слишком много математики. В прерываниях только флаги.
2. SetPWM - это длительность, которая записывается в регистр сравнения для воздействия на систему регулирования.
SetTemp - желаемое значение системы.
RealTemp - измеренное значение. SetTemp и RealTemp могут быть даже разных порядков. Это не важно. Система смотрит, на сколько мы удаляемся/приближаемся к желаемому результату каждый шаг измерения и меняет этот шаг и его направление.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
_SayHello (06.09.2015)
Непрочитано 08.09.2015, 18:19  
_SayHello
Частый гость
 
Регистрация: 24.08.2015
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_SayHello на пути к лучшему
По умолчанию Re: Как стабилизировать частоту вращения на STM32F100RB

То есть, я настраиваю таймер на определенное время, а в мейне проверяю флаг прерывания и если он выставлен обращаюсь к функции пида, и очищаю флаг
_SayHello вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парапсихология, гомеопатия и паранаука Marc2005 Отвлекитесь, эмбеддеры! 2616 05.09.2014 23:07
[Решено] Так, рассказик :)) Я долго ржал :)) DK Отвлекитесь, эмбеддеры! 7 31.08.2007 22:33
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


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


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