2009-03-23 7 views
-1

나는 제어 이론을 살펴본 후 수년이 지났지 만 개념을 이해하고 구현 예제를 찾는 데 어려움을 겪고 있습니다. 누군가가 무슨 일이 일어나고 있는지 간단히 설명하고 해결책을 구현하는 데 사용할 수있는 자원을 지적하기를 바랍니다. 이 주제에서 본 모든 정보는 대개 수학에 익사합니다.간단한 피드백 제어 리소스/예제

그래서 여기에 내가 달성하기 위해 노력하고있어입니다 :

  • 나는 전자 회로의 전류를 제어하려면, 나는 항상 0.75A를 그리려는 말한다.
  • 물론 전류는 회로의 다른 부분이 무엇을하는지에 따라 시간에 따라 변합니다. 하지만 DAC에 전달하는 전압 수준에 따라 제어되는 전류를 더 많이 또는 적게 가져올 하드웨어가 있습니다.
  • 나는 또한 시스템에 의해 그려지는 전류에 비례하는 전압을주는 ADC를 가지고있다.

일부 임계 값 내에서 램핑과 진동을 처리해야합니다. 일정한 전류를 사용하도록 시스템을 소프트웨어 제어에 또한 내가 C.에

덕분에 일하고 있어요, 리처드

답변

6

그래, 이해 하겠다면 모든 하드웨어가 이미 완료 되었습니까?

따라서 시스템에는 현재 레벨 (암페어) (소프트웨어에서 배정도 부동 소수점 숫자로 지정됨) 인 명령 입력이 있으며 컨트롤러의 출력은 전류를 소비하는 하드웨어를 제어하는 ​​전압입니다 회로이고 피드백은 아마도 8, 10 또는 16 비트 숫자입니다. A/D에 따라 부호가 있거나 부호가 없습니다.

그래서 시스템은 다음과 같습니다

alt text http://steves-wiki.wikispaces.com/file/view/control_diagram.jpg/64043668

귀하의 빠르고 더러운 방법은 아마 PID 컨트롤입니다. this Wikipedia article으로 기본 사항을 다듬을 수 있으며이 embedded.com article에는 구현에 대한 몇 가지 힌트가 있습니다.

예를 들어 현재 명령 - 현재 피드백 인 시스템의 오류를 계산하고 싶습니다. 모든 것이 같은 단위로되어 있는지 확인하십시오, 아마 Amperes. 그런 다음 오류가 계산 된 후 명령을 사용하여 오류를 정정해야합니다. 전압 제어 전류 소스에 대한 전압 명령 인 시스템에서. PID의 경우, 오류, 오류의 적분 및 오류의 미분을 게인으로 곱하고 결과를 합산하여 명령이 계산됩니다. 이익은 까다로운 부분입니다. 기타 까다로운 부분은 단위가 일관성이 있는지 확인하고 타이밍이 올바른지 확인하고 올바른 통합/미분 계산을하는 것입니다.

시스템에는 많은 오류가 있습니다. 오류는 암페어이고, 명령은 Amps로 변하고, 현재 사용량은 Amps이며, 볼트로보고되고 부호있는 또는 부호없는 정수로 변환됩니다. 오류를 적절하게 만들기 위해 암페어로 다시 스케일됩니다. 변수가 많을 것이므로 실제 단위가 각각에 적용되는 것을 추적 할 수 있어야합니다.

제어 알고리즘은 실시간으로 힘들며 전용 속도로 실행해야합니다. 적어도 100Hz (10ms마다 계산)를 권장합니다. 전자 회로는 전기 기계 시스템과 달리 빠르게 움직입니다. 사물을 계속 유지하려면 더 높은 요금이 필요할 수 있습니다. 그러나 실시간으로 힘들어 야합니다. 이는 일관성이 있음을 의미합니다. 소프트웨어 타이머를 사용하지 못하게 될 수도 있습니다.

통합 및 미분 계산은 까다 롭지 만 수행 할 수있는 방법은 다양합니다. 가장 기본적인 알고리즘은 사각형 규칙입니다 - 바보 같지만 작동 할 것입니다. 더 정확하게 사다리꼴 규칙을 사용해야하는 경우. 알고리즘 체크 아웃 here. 대부분 파생 컨트롤을 사용하지 않을 가능성이 높습니다. 대부분의 시스템에서는 불안정하고 필요하지 않은 경향이 있습니다. 당신은 통합 + 비례 제어로 잘되어야합니다.

함정이 많이 있지만 시작해야합니다. 당신이 제어 이론에 대한 배경 지식을 가지고 있다면, 그것은 모두 당신에게 돌아와야합니다. 프레임 워크가 준비되면 비례 및 통합 이득을 조정하는 데 많은 시간을 할애 할 수 있습니다. 이것이 바로 업무의 핵심입니다. 이 문제가 아직도 너무 많은 수학처럼 보인다면, 죄송합니다. 이것은 컨트롤을 얻는 것처럼 간단합니다.

+0

좋은 요약. 당신이 말했듯이, 그래도 D 용어를 스크랩하십시오; 온도 조절기를 제외하고는 절대로 사용하지 마십시오. –

+0

대단한 반응 !! 하나의 작은 문제는 텍스트의 절반이 내 브라우저의 광고에 포함됩니다. 하지만 다르게 고맙다, 나는 PID를보고 있었지만, 용어로 조금 길어졌고, 다이어그램은 많이 도움이된다. 다시 한 번 감사드립니다! – Richard

+0

오 예 하드웨어가 이미 설정되었습니다. – Richard

0

그것은 어려울 것이다. 이는 현재 변경 사항에 즉시 응답하고 실제로 이해할 수없는 피드백 루프를 구현할 수있는 전용 하드웨어로 더 잘 수행됩니다.

소프트웨어로 수행하려는 경우 "fuzzy-logic"컨트롤러의 일부 형식을 구현해야합니다. 문제는 온도를 제어하는 ​​데 사용되는 팬과 유사합니다. 하나의 입력 변수 (전류에 비례하는 전압)와 하나의 출력 변수 (DAC에 전달 된 전압 레벨)가 있습니다.

+0

?! 퍼지 논리는 제어 루프보다 이론이 훨씬 적은 검은 예술입니다. 나는 소프트웨어로 현재 통제를 해왔다. 너가 대역폭을 알맞게하고 싶으면 너는 그것을 빨리해야한다. 그러나 당신은 그것을 할 수 있습니다. –

+0

얼마나 빨리해야합니까? 1ms마다 샘플을 취한다고합시다. 즉, 최대 1KHz/2 = 500Hz까지 신호를 올바르게 샘플링 할 수 있습니다. 따라서 예를 들어 1KHz 스파이크에 대처할 수는 없습니다. 소프트웨어 제어 루프는 저주파수 신호에서만 작동 할 수 있습니다. 또한 Fuzzy Logic과 AI는 많은 이론에 의해 뒷받침된다. – kgiannakakis