arduino의 주파수 플레이어. Arduino 및 비동기 모터. 단일 트랜지스터로 DC 모터 제어

냉장고 컨트롤러의 주요 임무는 챔버의 설정 온도를 유지하는 것입니다. 이것은 Peltier 모듈의 전력을 변경하여 온도 컨트롤러에 의해 수행됩니다.

이전 튜토리얼에서 우리는 파워 레귤레이터를 개발했습니다. 전원과 온도 조절기 간의 연결은 다음과 같습니다.

  • 온도 컨트롤러는 측정된 온도를 수신하여 설정 온도와 비교하여 전력 컨트롤러에 대한 설정 전력 값을 계산합니다.
  • 전력 조정기는 주어진 전력에 해당하는 PWM을 생성합니다.

적분 규제법에 따라 전력 레귤레이터를 구축했습니다. 온도를 안정화하기 위해 더 복잡한 제어 알고리즘인 PID(비례 적분 미분) 컨트롤러를 사용합니다.

PID 컨트롤러.

이전 튜토리얼에서 이야기했습니다. 장점과 단점을 강조했습니다.

이 원리로 작동하는 레귤레이터는 매우 정확합니다. 나머지 제어 품질 기준(성능 및 안정성)은 수준에 미치지 못합니다.

모든 기준에 대해 고성능을 달성하기 위해서는 서로 다른 규제법을 결합한 규제자를 사용해야 합니다.

이러한 장치는 PID(비례 적분 도함수) 컨트롤러입니다. 전송 특성이 다른 세 가지 구성 요소의 합인 출력 신호를 생성합니다. 덕분에 PID 컨트롤러는 고품질 제어를 제공하고 개별 기준에 따라 제어를 최적화할 수 있습니다.

다음은 PID 컨트롤러 출력 신호의 형성과 관련됩니다.

  • 비례 성분- 값은 불일치 오류(세트와 실제 가치조정 가능한 매개변수).
  • 통합 구성 요소불일치 오류의 적분입니다.
  • 차별화 요소불일치 오류의 도함수입니다.

PID 컨트롤러 법칙을 작성하는 수학적 형식은 다음과 같습니다.

o (t) = P + I + D = K p e (t) + K i ∫e (t) dt + K d de (t) / dt

  • o (t) - 출력 신호;
  • P - 비례 구성 요소;
  • I - 통합 구성 요소;
  • D - 차별화 요소;
  • Kp, Ki, Kd - 비례, 적분, 미분 링크 계수;
  • e(t) - 불일치 오류.

PID 제어기는 개략적인 형태로 다음과 같이 나타낼 수 있습니다.

PID 전압 조정기 U의 블록 다이어그램은 다음과 같습니다.


  • 측정된 전압 Ureal(t)은 지정된 Uset에서 뺍니다.
  • 결과적인 불일치 오류 e(t)는 비례, 적분 및 미분 링크에 제공됩니다.
  • 구성 요소 합계의 결과로 제어 동작 o(t)가 얻어지며 이는 조절 요소에 제공됩니다.

PID 컨트롤러의 소프트웨어 구현으로 출력 신호는 일정한 간격으로 계산됩니다. 저것들. 레귤레이터는 시간적으로 이산적입니다. 따라서 이전 신호 상태, 이전 값 등의 표현식을 추가로 사용할 것입니다. 그것은이다샘플링의 이전 시점에서 시스템 상태에 대한 정보입니다.

PID 컨트롤러 구성 요소.

다시. PID 컨트롤러 출력 신호는 세 가지 구성 요소의 합입니다.

  • 비례항;
  • 통합;
  • 차별화.

비례 성분.

P(t) = Kp * e(t)

메모리가 없습니다. 출력 신호의 값은 시스템의 이전 상태에 의존하지 않습니다. 단순히 불일치 오류에 계수를 곱한 값이 출력으로 전송됩니다. 출력 신호는 제어된 매개변수의 편차를 보상합니다. 불일치 오류가 클수록 신호가 커집니다. 오류가 0이면 출력 신호도 0입니다.

비례 성분은 오차를 완전히 보상할 수 없습니다. 이는 공식에서 알 수 있습니다. 출력 신호는 Kp 곱하기 오류입니다. 다음 오류가 0이면 컨트롤러의 출력 신호는 0입니다. 그러면 보상할 것이 없습니다.

따라서 비례 제어기에는 항상 소위 정적 오류가 있습니다. Kp 계수를 증가시켜 감소시킬 수 있지만, 이는 시스템의 안정성을 감소시키고 심지어 자체 진동까지 초래할 수 있습니다.

비례 컨트롤러의 단점은 다음과 같습니다.

  • 정적 조절 오류의 존재;
  • 계수가 증가하면 안정성이 낮습니다.

중요한 이점이 있습니다.

  • 고속 규제. 다음 오류에 대한 비례 제어기의 응답은 시스템의 샘플링 시간에 의해서만 제한됩니다.

비례법에 의해서만 작동하는 레귤레이터는 거의 사용되지 않습니다.

PID 제어기에서 비례 성분의 주요 임무는 성능을 향상시키는 것입니다.

통합 구성 요소입니다.

나는 (t) = K i ∫e (t) dt

불일치 오류의 적분에 비례합니다. 레귤레이터의 시간 불연속성을 고려하면 다음과 같이 쓸 수 있습니다.

나는 (t) = 나는 (t -1) + K 나는 * e (t)

  • I(t-1)은 이전 샘플링 지점의 I 값입니다.

다음 오류에 계수를 곱하고 적분기의 이전 값에 더합니다. 저것들. 출력 신호는 항상 누적되며 시간이 지남에 따라 물체에 미치는 영향이 증가합니다. 따라서 미스매치 오차는 오차와 Ki 계수의 작은 값에서도 충분히 보상된다. 정상 상태에서 컨트롤러 출력 신호는 통합 구성 요소에 의해 완전히 제공됩니다.

통합 레귤레이터의 단점은 다음과 같습니다.

  • 낮은 성능;
  • 보통의 안정성.

위엄:

  • 모든 이득에서 불일치 오류를 완전히 보상하는 기능.

실제로 적분 컨트롤러(적분 성분만)와 비례 적분(적분 및 비례 성분)이 자주 사용됩니다.

PID 컨트롤러에서 적분기의 주요 임무는 높은 제어 정확도를 보장하기 위해 정적 오류를 보상하는 것입니다.

차별화 요소.

D(t) = Kd de(t) / dt

다음 오류의 변화율에 비례합니다. 불일치 오류의 가속도를 나타내는 일종의 지표입니다. 미분 성분은 미래에 제어된 매개변수의 편차를 예측하고 이 편차를 상쇄합니다. 일반적으로 레귤레이터가 물체에 미치는 영향의 지연을 보상하고 시스템의 안정성을 높입니다.

컨트롤러의 시간 불연속성을 고려하여 미분 구성 요소는 다음과 같이 계산할 수 있습니다.

D(t) = K d * (e(t) - e(t -1))

컨트롤러 불연속의 1시간 단위로 불일치 오차의 값이 얼마나 변했는지를 보여줍니다.

단일 차별화 링크로 구성된 레귤레이터는 없습니다.

PID 제어기에서 미분기의 주요 임무는 안정성을 높이는 것입니다.

PID 컨트롤러 튜닝.

PID 컨트롤러의 조절 품질은 계수가 얼마나 최적인지에 크게 좌우됩니다. PID 제어기 계수는 선택에 의해 실제 객체가 있는 시스템에서 실제로 결정됩니다. 다양한 튜닝 기술이 있습니다. 나는 일반적인 원칙에 대해서만 이야기 할 것입니다.

규제 품질은 규제 기관의 과도 응답에 의해 판단됩니다. 저것들. 시간이 지남에 따라 제어 매개 변수의 변경 일정에 따라.

PID 컨트롤러 튜닝 시퀀스의 전통적인 요점에 덧붙이자면, 우선 규제 품질에 대한 어떤 기준이 바람직한지 결정하는 것이 필요합니다.

이전 강의에서 전력 레귤레이터를 설계할 때 우리는 주로 정확성과 안정성에 관심이 있었습니다. 그리고 인위적으로 성능을 낮추기까지 했습니다. 일부 레귤레이터는 간섭이 심한 조건에서 작동하며 안정성이 더 중요하지만 다른 레귤레이터는 정확도를 희생하더라도 고성능을 요구합니다. 최적화 기준은 다를 수 있습니다. 일반적으로 PID 컨트롤러는 모든 제어 성능 기준이 높도록 조정됩니다.

PID 컨트롤러의 구성 요소는 별도로 조정됩니다.

  • 적분기와 미분기가 비활성화되고 비례 게인이 선택됩니다. 레귤레이터가 비례 통합인 경우(미분 링크가 없음) 과도 특성에 대한 진동이 완전히 없습니다. 레귤레이터를 고속으로 설정하면 진동이 남을 수 있습니다. 차별화 링크는 그들을 보상하려고 할 것입니다.
  • 차별화 링크가 연결됩니다. 그 계수는 조절 매개변수의 변동을 제거하는 경향이 있습니다. 실패하면 비례 계수가 감소합니다.
  • 통합 링크는 잔여 불일치 오류를 제거합니다.

PID 컨트롤러의 튜닝은 반복적입니다. 저것들. 계수 선택 지점은 수용 가능한 결과가 얻어질 때까지 여러 번 반복될 수 있습니다.

PID 컨트롤러는 고성능과 다양성으로 인해 산업 자동화 시스템에서 널리 사용됩니다.

다음 강의에서는 PID 온도 컨트롤러를 개발할 것입니다.

하나의 인쇄회로기판을 포함하는 소형 전자장치로서 각종 장치 및 장비(전기모터 포함)를 제어하고 데이터를 송수신할 수 있습니다.

간단한 자동화 시스템 구축을 위한 하드웨어 및 소프트웨어 지식의 진정한 시작. 배우기 매우 쉽고 탐구하는 마음 외에는 전제 조건이 거의 필요하지 않습니다.

초보자를 위한 교육 보조 도구, 아마추어를 위한 프로젝트 구현 도구, 전문가를 위한 프로토타이핑 도구로 가치가 있습니다.

초보자에게는 여기의 모든 것이 새 것처럼 보일 것입니다. Arduino 애호가를 위해 자신의 지식을 적용하고 익숙하지 않거나 파악하기 어려운 부분에 집중할 수 있는 장치입니다. 전문가는 이 장치를 사용하여 가장 저렴한 맞춤형 하드웨어 및 펌웨어 구현으로 프로젝트의 프로토타입을 얻습니다.

어느 쪽이든 사용자는 C 프로그래밍을 잘 이해하게 될 것입니다. 이것은 훌륭한 출발점입니다.

Arduino 작업을 시작하기 전에 알아야 할 사항은 무엇입니까?

특별한 지식이 필요하지는 않지만 지침을 읽고 따를 수 있어야 합니다. 전자 및 프로그래밍 초보자를 소개하도록 설계되었습니다. 이미 12세 이상의 대부분의 젊은이들은 이 기술을 쉽게 마스터합니다.

또 무엇을 기억해야 합니까? 잘못된 극성으로 설치하면 LED가 켜지지 않습니다. 역 다이오드는 단락을 일으킬 수 있습니다. 손의 정전기는 집적 회로와 트랜지스터를 손상시키거나 파괴할 수 있습니다.

감전의 위험이 있으므로 전기 장비에서 작업하지 마십시오.

3상 비동기 모터의 제어 시스템 설계를 시작하는 방법은 무엇입니까?

먼저 프로젝트 구현을 보여주는 비디오를 시청하십시오. 영상을 보고 나면 아두이노에서 작은 프로젝트를 만들 수 있을 것입니다.

사람들이 Arduino를 사용하여 3상 유도 전동기를 제어하는 ​​이유는 무엇입니까?

3상 유도 전동기는 전기를 토크로 변환해야 할 때 가장 효율적인 방법입니다. 토크는 압력으로 변환되고 이동 속도는 유량에 영향을 미칩니다.

가장 효율적인 방법은 전원 공급 네트워크의 주파수를 변경하여 전기 모터의 회전을 조정하는 것입니다. 가장 간단한 방법은 마이크로 컨트롤러를 사용하여 이 작업을 수행하는 것입니다.

Arduino는 비전문 사용자를 대상으로 하는 간단한 자동화 및 로봇 공학 시스템을 구축하기 위한 하드웨어 및 소프트웨어 브랜드입니다.

주전원 전압을 낮추는 것은 변압기와 정류 - 다이오드 브리지를 사용하여 수행됩니다. 마이크로 컨트롤러는 가변 주파수 발생기 모드에서 작동하고 트랜지스터의 키를 전환합니다. 교류 전압은 두 번째 변압기에 의해 증가되고 전기 모터의 전원 권선에 적용됩니다.

스위칭 주파수(모터 샤프트의 회전 속도 뿐만 아니라)는 넓은 범위의 가변 저항에 의해 설정됩니다. 스위치와 고정 저항을 사용하면 주파수를 단계적으로 제어할 수 있습니다. 입력 중 하나에 연결하여 마이크로 컨트롤러 아두이노전류 센서를 사용하면 원치 않는 부하 증가로 샤프트의 회전 속도를 자동으로 줄이는 프로그램을 사용할 수 있습니다.

프로그램은 특수 코드를 사용하여 변환기를 켜고 전압 값을 읽고 조절합니다. 그런 다음 그는 송신기 라이브러리로 이동하여 코드를 생성하고 전송하라는 명령을 내립니다. 부하가 증가함에 따라 작동 전압이 보상되고 조정됩니다. 이를 위해 예비 에너지용 대형 커패시터 설치 또는 부스트 컨버터의 두 가지 방법이 사용됩니다. 이 경우 출력은 스태빌라이저로 제어해야 합니다.

이것은 전자 장치, 엔진 및 보드 간의 상호 작용의 기본 원리입니다.

Arduino 마이크로컨트롤러에서 개인 변환기를 사용할 때의 이점

마이크로컨트롤러를 사용하면 부분 부하에서 상당한 에너지 비용을 절감할 수 있습니다. 전기 소비량과 모터 샤프트의 회전 속도는 정비례하므로 올바르게 사용하면 상당한 절감 효과를 얻을 수 있습니다. 예를 들어 폐수 처리장에서 펌프를 사용하는 시스템을 고려하십시오.

소규모 개인 회사는 큰 비가 내리기 전이나 배수가 증가할 때(휴일 주말)에만 구멍을 펌프하면 되고 전체 펌프 기능이 필요하지 않습니다. 펌프가 지속적으로 작동하는 경우 회사는 펌프를 최대 용량으로 작동하기 위해 상당한 양의 전기를 소비하게 됩니다. 결론은 하수 및 배수 시스템의 압력에 따라 펌프가 원활하게 속도를 얻고 필요한 수준을 유지한다는 것입니다. 엔진 속도 제어 시스템의 압력 ...

와 함께 학교 벤치간단한 방정식이 알려져 있습니다.

전력 = 토크 x 각속도.

특정 모터 구성의 경우 전력은 일정한 값입니다. 각속도가 증가하면 토크가 감소합니다. 따라서 토크는 낮은 회전수에서 더 크며 그 반대의 경우도 마찬가지입니다.

의 희생 아두이노를 사용하여따라서 펌프 모터의 속도를 최대 50%까지 낮추면서도 여전히 많은 양의 물을 펌핑할 수 있으므로 필요한 전기의 50% 이상을 절약할 수 있습니다. 변환기를 부분적으로 또는 정기적으로 사용하면 절약할 수 있습니다.

Arduino를 사용하여 단상 비동기 모터의 속도 제어

먼저 엔진의 기능에 대해 자세히 알아보아야 합니다. 서로 다르고 관리하는 방식도 다릅니다.

비동기 모터의 속도를 제어하는 ​​세 가지 방법이 있습니다.

  • 슬립 변경(회전자가 권선된 모터만 해당);
  • 극 쌍의 수를 변경하는 것;
  • 전원 공급 장치의 주파수를 변경하여.

조정이 필요한 공정을 정상적으로 제어하려면 주파수 변환기가 필요합니다. 스타터(소프트 스타터, 소프트 스타터)는 전기 모터에 전원을 공급하는 위상 펄스(FIA) 방식을 사용하여 주 전압에서 충격 부하를 줄입니다. 조광기와 마찬가지로 전기 모터의 전류 소비를 원활하게 증가시키고 시동 시 공급 네트워크에서 단락이 발생하는 것을 방지합니다.

소프트 스타터에서 모터를 가속한 후에는 소프트 스타터가 주전원과 동기화되기 때문에 모터가 주전원으로 완전히 전환됩니다. 전기 모터를 완전히 제어하기 위해 FIU를 사용하는 것은 불가능하며 일부 경우에만 작동할 수 있습니다.

인버터가 값비싼 즐거움이라면 공기 공급을 조정하는 고전적인 방법인 서보 드라이브에서 게이트 밸브를 제어할 수 있습니다. 여기에서는 역학에 중점을 둡니다. 실제로이 방법을 사용하는 전기 모터 자체는 항상 공칭 값으로 작동합니다.

엔지니어링 및 기술적 창의성

만드는 방법 주파수 변환기자신의 손으로? 각 프로젝트에는 다른 구성 요소가 필요하지만 일반적인 디자인 원칙이 있기 때문에 공예 주제에 대한 최상의 정보 소스를 찾기 위해 전체 인터넷을 걸을 수 있으며 질문에 대한 단일 특정 답변을 찾을 수 없습니다. 여기에서 유용할 것입니다.

계획으로 수행할 작업을 정의하는 것으로 시작하겠습니다. 완료할 수 있는 각 전자 부품에 대해 작업을 간단한 작업으로 나눕니다. 연구 과정에서 여러 디자인을 접하게 되며, 이는 흥미롭고 문제와 관련된 각 계획의 장점과 단점을 확인하는 데 도움이 됩니다.

모터로 시작하여 거꾸로 모터 제어 프로세서를 구축하는 것이 좋습니다. 필요한 토크, 속도, 전력 요구 사항에 따라 모터를 선택해야 합니다.

전기에 대한 고도의 지식이 필요한 전기 작업입니다. 이론을 얼마나 깊이 알고자 하는지에 따라 크게 달라지며, 구성 요소를 아는 것만으로는 충분하지 않습니다. 회로 설계는 전압과 전류를 계산하고 올바른 부품을 선택하는 것으로 구성됩니다. 설계의 결과는 장비와 재료의 사양을 준비하는 것입니다.당신이 필요로 하는 사양의 정확한 요소에 대한 지식은 경험이 있어야만 가능합니다.

최소/최대를 포함하여 사양에 필요한 구성 요소를 결정하려면 회로 분석을 수행해야 합니다. 공차 및 온도 계산. 전기 모터의 초기 데이터를 기반으로 블록 다이어그램이 작성되고 전자 부품이 선택됩니다. 예를 들어 자체 제작 전기 드라이브 5-200Hz(10-400Hz)의 주요 요소 목록을 제시합니다.

모든 항목에 대한 제조업체의 사양을 검토하십시오. 열 계산을 수행하고 필요에 따라 냉각 및 방열 조치를 고려하십시오. 물론 좋은 결과를 얻으려면 수년간의 경험이 필요합니다. 또한 경험이 풍부한 전기 기술자의 조언과 지도를 활용할 수도 있습니다.

결과적으로 모의 시뮬레이터가 생깁니다.

"걷기"를 서두르지 않도록 엔진이 단단히 설치되었는지 확인하십시오. 조립된 브레드보드를 ​​테스트하면 회로가 전기 모터의 속도를 끌어올리거나 모든 것을 역전시키거나 시스템을 멈출 수 있는 정도가 표시됩니다. 이 시뮬레이터의 스위치를 사용할 수 있습니다. 시스템을 재작업할 준비를 하십시오. 바퀴를 재발명하지 마십시오. 지혜는 다른 사람이 마스터한 것을 활용하거나 다른 사람의 발명을 개선하는 올바른 방법입니다.

회로에서 다른 구성 요소를 시도하십시오. 결과를 얻으려면 멀티 미터를 사용하십시오. 잠시 후 0.25W 대신 2W 저항을 사용하는 이유를 확신할 수 있을 것입니다.

대부분의 반도체 회사는 제품과 함께 평가 보드를 판매합니다. 공부를 위해 하나 이상을 구입하십시오. 공학은 감전이나 화재를 제외하고 많은 실수를 하는 것입니다.

각 하위 단계에 대해 다이어그램을 만들고 결과를 얻으십시오. 한 회로의 출력이 다음 회로의 입력 역할을 하도록 부품을 연결합니다. 예술적 천재를 위한 추가 작업. 그건 그렇고, 이것은 프로그램이나 알고리즘을 작성할 때 사용하는 것과 같은 절차입니다.

개발된 드라이브는 실제로 최소 비용 가격, 필요한 보호 기능의 가용성, 효율성 및 설계 유연성으로 구별됩니다. 결함의 좋은 표시기는 LED입니다. 시스템이 구성 중이거나 과부하 상태일 때 깜박입니다. 마이크로 컨트롤러 프로그램은 모든 종류의 상황을 고려합니다. 경제적인 전력 소비로 기술 프로세스의 완전 자동화.

그러나 디자인 프로세스의 한 단계를 따랐을 뿐입니다. 실제 디자인 세계에서 우리 중 누구도 사양, 다이어그램, 분석 및 기타 모든 것에 대한 세부 사항을 다루지 않을 것 같습니다. 프로젝트에 관한 한 원칙적으로 개선에는 제한이 없습니다. 일부 작품만 재사용할 수 있습니다.

결론

개인 변환기가 처음 도입되었을 때 아마도 이유가 지금과 달랐을 것입니다. 현대적인 조건에서는 다음과 같습니다.

  • 전기 모터의 부드러운 시작;
  • 에너지 절약;
  • 프로세스의 원활한 흐름.

작은 파이프라인을 예로 들어보겠습니다. 전통적인 방식은 변화의 과정을 가속화할 필요가 있을 때 먼저 그 과정을 중단해야 합니다. 오래된 기계를 가지고 새 기계를 넣으면 시간과 에너지 비용을 쉽게 절약할 수 있습니다.

위의 이유 외에도 이제 인버터의 기능을 특정 애플리케이션에 맞게 프로그래밍할 수 있습니다. 시스템의 도움으로 기본 범위에서 속도를 간단히 조정할 수 있습니다. 또한, 보다 정확하게 제어합니다. 주파수 변환기를 사용하여 변환할 수 있습니다. 직류최고의 토크 성능으로 3상 교류로 변환합니다.

많은 경험을 하고 싶다면 엔진 제어 회로를 직접 만들어 볼 수 있습니다. GUGL이 도움이 될 것입니다. 이 주제는 매우 어렵습니다. 여기에서는 전자공학과 프로그래밍, 심지어 수학도 접하게 됩니다. 원칙적으로 이 주제를 진지하게 다루는 사람들은 회로를 공유하지 않을 것입니다. 한 가지 말할 수 있는 것은 이 주제를 마스터하면 더 이상 자신을 전자 및 마이크로 컨트롤러 프로그래밍의 초보자로 간주하지 않을 것입니다.

24.02.2016


베스트셀러

전원 손실 없이 모터를 제어할 수 있습니다.이를 위한 전제 조건은 모터가 제어 보드, 즉 마이크로 회로에 피드백을 제공할 수 있도록 하는 전기 모터에 회전 속도계(회전 속도계)가 있어야 한다는 것입니다. 더 간단하게 말하면 모든 사람이 알 수 있도록 다음과 같은 일이 발생합니다. 모터는 특정 회전 수로 회전하고 전기 모터 샤프트에 설치된 회전 속도계는 이러한 판독값을 기록합니다. 엔진에 부하를 가하기 시작하면 샤프트 속도가 자연스럽게 떨어지기 시작하며 이 속도 역시 회전 속도계에 의해 고정됩니다. 이제 더 살펴보겠습니다. 이 회전 속도계의 신호는 미세 회로로 이동하고 이를 보고 전력 요소에 명령을 내려 전기 모터에 전압을 추가합니다.따라서 샤프트를 누르면(부하를 주면) 보드가 자동으로 전압을 추가하고 이 샤프트의 힘이 증가했습니다. 반대로 모터 샤프트를 놓으면 (부하 제거) 그녀는 이것을보고 전압을 줄였습니다. 따라서 회전은 낮게 유지되지 않지만 힘의 모멘트(토크)는 일정합니다. 그리고 가장 중요한 것은 로터의 속도를 넓은 범위로 조절할 수 있어 다양한 기기의 사용과 디자인에 매우 편리합니다. 따라서 이 제품은 "속도 제어 보드 컬렉터 모터전력 손실 없이 ".

그러나 우리는 이 보드가 컬렉터 모터(전동 브러시 포함)에만 적용된다는 한 가지 특징을 보았습니다. 물론 이러한 모터는 비동기식 모터보다 일상 생활에서 훨씬 덜 일반적입니다. 그러나 그들은 자동 세탁기에 널리 사용됩니다. 이것이 이 회로가 만들어진 이유입니다. 특히 세탁기 자동 기계의 전기 모터의 경우. 그들의 전력은 200에서 800 와트까지 꽤 괜찮습니다. 일상 생활에서 널리 사용할 수 있습니다.

이 제품은 이미 가정에서 널리 응용되고 있으며 다양한 취미 및 전문 활동에 종사하는 사람들을 광범위하게 다루고 있습니다.

질문에 답하기 - 세탁기의 모터를 어디에 적용할 수 있습니까? 일부 목록이 형성되었습니다. 수제 나무 선반; 분쇄기; 콘크리트 믹서용 전동 드라이브; 가는 사람; 꿀 추출기용 전기 구동; 밀짚 절단기; 집에서 만든 도자기 바퀴; 전기 잔디 깎는 기계; 나무 쪼개는 도구 및 메커니즘이나 물체의 기계적 회전이 필요한 기타 여러 가지. 그리고 이 모든 경우에 "TDA1085에서 전원을 유지하는 전기 모터 속도 제어" 보드가 우리를 돕습니다.


속도 제어 보드의 충돌 테스트

전원 손실 없이 모터를 제어할 수 있습니다.이를 위한 전제 조건은 모터가 제어 보드, 즉 마이크로 회로에 피드백을 제공할 수 있도록 하는 전기 모터에 회전 속도계(회전 속도계)가 있어야 한다는 것입니다. 더 간단하게 말하면 모든 사람이 알 수 있도록 다음과 같은 일이 발생합니다. 모터는 특정 회전 수로 회전하고 전기 모터 샤프트에 설치된 회전 속도계는 이러한 판독값을 기록합니다. 엔진에 부하를 가하기 시작하면 샤프트 속도가 자연스럽게 떨어지기 시작하며 이 속도 역시 회전 속도계에 의해 고정됩니다. 이제 더 살펴보겠습니다. 이 회전 속도계의 신호는 미세 회로로 이동하고 이를 보고 전력 요소에 명령을 내려 전기 모터에 전압을 추가합니다.따라서 샤프트를 누르면(부하를 주면) 보드가 자동으로 전압을 추가하고 이 샤프트의 힘이 증가했습니다. 반대로 모터 샤프트를 놓으면 (부하 제거) 그녀는 이것을보고 전압을 줄였습니다. 따라서 회전은 낮게 유지되지 않지만 힘의 모멘트(토크)는 일정합니다. 그리고 가장 중요한 것은 로터의 속도를 넓은 범위로 조절할 수 있어 다양한 기기의 사용과 디자인에 매우 편리합니다. 따라서 이 제품을 "전원 손실 없이 컬렉터 모터의 속도를 조정하기 위한 보드"라고 합니다.

그러나 우리는 이 보드가 컬렉터 모터(전동 브러시 포함)에만 적용된다는 한 가지 특징을 보았습니다. 물론 이러한 모터는 비동기식 모터보다 일상 생활에서 훨씬 덜 일반적입니다. 그러나 그들은 자동 세탁기에 널리 사용됩니다. 이것이 이 회로가 만들어진 이유입니다. 특히 세탁기 자동 기계의 전기 모터의 경우. 그들의 전력은 200에서 800 와트까지 꽤 괜찮습니다. 일상 생활에서 널리 사용할 수 있습니다.

이 제품은 이미 가정에서 널리 응용되고 있으며 다양한 취미 및 전문 활동에 종사하는 사람들을 광범위하게 다루고 있습니다.

질문에 답하기 - 세탁기의 모터를 어디에 적용할 수 있습니까? 일부 목록이 형성되었습니다. 수제 나무 선반; 분쇄기; 콘크리트 믹서용 전동 드라이브; 가는 사람; 꿀 추출기용 전기 구동; 밀짚 절단기; 집에서 만든 도자기 바퀴; 전기 잔디 깎는 기계; 나무 쪼개는 도구 및 메커니즘이나 물체의 기계적 회전이 필요한 기타 여러 가지. 그리고 이 모든 경우에 "TDA1085에서 전원을 유지하는 전기 모터 속도 제어" 보드가 우리를 돕습니다.


속도 제어 보드의 충돌 테스트

거의 모든 로봇에는 모터가 있습니다. 일부 로봇에서는 바퀴를 구동하여 자동차가 원하는 방향으로 움직이도록 합니다. 다른 곳에서는 모터가 프로펠러를 돌려 비행을 위한 수직 추력을 생성합니다. 모터를 사용하면 산업용 로봇 팔의 관절이 3D 프린터의 캐리지를 회전하고 이동할 수 있습니다. 일반적으로 로봇은 좋은 엔진 없이는 만들 수 없습니다.

많은 종류의 엔진이 있습니다. 로봇 공학에서 가장 일반적인 것은 DC 모터, 스테퍼 모터, 그리고 브러시리스 모터. 각 유형에는 고유한 특성, 장단점이 있습니다. 일부는 정밀한 움직임에 더 적합하고 다른 일부는 멀티콥터를 하늘로 쉽게 들어 올릴 수 있습니다. 각 프로젝트에 대해 원하는 엔진 유형을 신중하게 선택해야 합니다.

이 강의에서는 DC 모터를 제어하는 ​​방법을 설명합니다. 이 유형의 부품의 모터는 바퀴가 있고 궤도가 있는 플랫폼의 로봇에 사용됩니다. 그리고 우리는 아주 처음부터 시작할 것입니다. 쉬운 방법관리.

1. 트랜지스터

모든 초보 로봇 기술자는 모터를 마이크로컨트롤러에 연결하는 문제에 직면해 있습니다. 그것을 거친 후 모터와 동일한 작업을 수행할 수 있는 것 같습니다. 디지털 핀에 연결합니다. 아두이노, 다음 프로그램에 따라 켜고 끕니다. 그러나 그것은 거기에 없었습니다. 모든 종류의 장난감에 자주 사용되는 작은 모터라도 작동하려면 200mA~1A의 전류가 필요합니다. 그리고 Arduino의 디지털 출력은 20mA만 제공할 수 있습니다. 대부분의 강력한 모터는 Arduino가 사용하는 5볼트 이상을 필요로 합니다. 12, 24 및 48볼트용 모터가 일반적입니다. 즉, Arduino는 직접 모터 제어에 매우 취약합니다. 강력한 중재자가 필요합니다!

가장 간단한 매개체는 트랜지스터입니다. 키 모드에서 작동하는 전계 효과 트랜지스터와 바이폴라 트랜지스터가 모두 적합합니다. 다음은 바이폴라 NPN 트랜지스터를 사용한 모터 제어 다이어그램입니다.

보시다시피 계획은 매우 간단합니다. 우리는 Arduino에서 1kOhm 저항을 통해 트랜지스터의 베이스로 약한 신호를 보냅니다. 그 결과 트랜지스터는 전류가 모터를 통해 플러스에서 마이너스로 통과하는 강력한 채널을 엽니다. 사실, 우리는 원시적 모터 드라이버!

회로에 보호 다이오드(예: 1N4001 또는 1N4007)를 넣어야 합니다. 이 다이오드는 자체 유도의 EMF가 권선에 전압 서지를 생성할 때 엔진이 정지하는 순간 트랜지스터와 컨트롤러가 소진되는 것을 허용하지 않습니다.

이 회로에서는 예를 들어 NPN 트랜지스터 2N2222A를 사용할 수 있습니다. 이 바이폴라 트랜지스터는 최대 1A의 전류와 최대 40V의 전압을 처리할 수 있으므로 소형 모터에 완벽하게 사용할 수 있습니다. 이 트랜지스터의 러시아어 아날로그는 KT315입니다.

단일 트랜지스터로 DC 모터를 한 방향으로 켜고 끌 수 있습니다. 그러나 바퀴 달린 로봇은 한 방향과 다른 방향으로 움직여야 합니다. 무엇을 할까요? 고급 드라이버가 필요합니다.

2.H-브릿지

특정 방식으로 트랜지스터를 구성하면 모터의 양방향 회전을 제어하는 ​​장치가 생깁니다. 그러한 장치를 H-브릿지... 바이폴라 트랜지스터의 H 브리지는 다음과 같습니다.


그림의 INA와 INB는 약한 제어 신호에 대한 입력입니다. Arduino의 경우 0(접지) 또는 + 5V 중 하나를 공급해야 합니다. VCC는 모터의 전원 공급 장치이며 제어 신호의 전압보다 몇 배나 높을 수 있습니다. GND는 Arduino와 H-bridge의 공통 접지입니다.

양의 신호를 제공하는 입력에 따라 엔진이 한 방향 또는 다른 방향으로 회전합니다. 일반적으로 H 브리지 자체 외에도 보호 다이오드, 필터, 광절연기 및 기타 개선 사항이 DC 모터 드라이버 회로에 추가됩니다.

3. 칩 드라이버 L293D

물론 개별 트랜지스터에서 모터 드라이버를 수동으로 조립할 필요는 없습니다. 다양한 유형의 모터를 제어할 수 있는 기성품 마이크로 회로가 많이 있습니다. 우리는 공통으로 간주합니다 드라이버 L293D.


마이크로 회로는 두 개의 H-브리지로 구성되어 두 개의 모터를 한 번에 제어할 수 있습니다. 각 브리지에는 4개의 보호 다이오드와 과열 보호 장치가 장착되어 있습니다. L293D가 모터에 전달할 수 있는 최대 전류는 1.2A입니다. 작동 전류 - 600mA. 최대 전압은 36V입니다.

4. 연결

L293D는 16핀 DIP 패키지입니다. 핀아웃은 아래에 있습니다.

핀은 시계 반대 방향으로 계산되고 미세 회로 케이스의 노치에서 시작한다는 것을 기억하십시오.

  • + V - 미세 회로 전원 공급 장치, 5V;
  • + Vmotor - 모터용 전원 공급 장치, 최대 36V;
  • 0V - 접지;
  • En1, En2 - H 브리지의 온/오프 핀;
  • In1, In2 - 첫 번째 H-브리지의 제어 출력;
  • Out1, Out2 - 첫 번째 모터 연결용 핀.
  • In3, In4 - 두 번째 H-브리지의 제어 출력;
  • Out3, Out4 - 두 번째 모터 연결용 핀.

En1 및 En2 핀은 브리지를 열거나 닫는 데 사용됩니다. En에 0을 공급하면 해당 브리지가 완전히 꺼지고 모터가 회전을 멈춥니다. 이 신호는 PWM 신호를 사용하여 모터의 추력을 제어하는 ​​데 유용합니다.

Arduino Uno에 대한 연결 다이어그램

L293D 드라이버 인원 인2 인3 In4 En1 En2 V + V모터 + 0V
아두이노 우노 7 8 2 3 6 5 + 5V + 5V 접지

예를 들어, 이 구성표에 따라 하나의 모터만 연결합니다. 드라이버 In3, In4 및 En2의 핀을 사용합니다. 연결 개략도는 다음과 같습니다.


레이아웃 모양


5. 프로그램

1초마다 방향을 바꾸면서 모터를 회전시키는 간단한 프로그램을 작성해 봅시다.

Const int in3 = 2; const int in4 = 3; const int en2 = 5; 무효 설정 () (pinMode (in3, OUTPUT); pinMode (in4, OUTPUT); pinMode (en2, OUTPUT); analogWrite (en2, 255);) 무효 루프 () (digitalWrite (in3, LOW); digitalWrite (in4, HIGH), 지연(1000), digitalWrite(in3, HIGH), digitalWrite(in4, LOW), 지연(1000);)

기능 아날로그 쓰기 PWM 신호를 사용하여 모터 전원을 제어합니다. 이 프로그램에서 드라이버는 PWM 신호 255에 해당하는 최대 속도로 모터를 회전하도록 지시합니다. 여기에서 PWM 신호를 절반으로 줄이면 속도가 두 배가 되지 않는다는 점에 유의해야 합니다. DC 모터의 속도와 추력은 입력 전압과 비선형적입니다.

이제 프로그램을 복잡하게 만들어 보겠습니다. 방향과 함께 힘도 바꿉니다.

Const int in3 = 2; const int in4 = 3; const int en2 = 5; 무효 설정() (pinMode(in3, OUTPUT), pinMode(in4, OUTPUT), pinMode(en2, OUTPUT);) 무효 루프()(digitalWrite(in3, HIGH), digitalWrite(in4, LOW), analogWrite(en2, 150), 지연(2000), analogWrite(en2, 255), delay(2000), digitalWrite(in3, LOW), digitalWrite(in4, HIGH), analogWrite(en2, 150), 지연(2000), analogWrite(en2, 255), 지연(2000);)

여기에서 끝입니다. 먼저 모터가 저속으로 회전한 다음 최고 속도에 도달하고 모든 것을 반대 방향으로 반복합니다. 비디오에서 우리는 바퀴로 일반적인 CH1 DC 모터를 회전시킵니다. 이들은 교육용 로봇에 자주 사용됩니다.

작업

이제 기존의 DC 모터를 제어하는 ​​방법이 조금 명확해졌으므로 가장 단순한 두 바퀴 로봇을 기반으로 여러 작업을 완료해 보겠습니다.

  1. 하나의 NPN 트랜지스터를 기반으로 드라이버를 조립하고 이를 사용하여 모터를 회전시킵니다.
  2. L293D를 사용하여 두 개의 모터를 동시에 제어하여 서로 다른 전력을 전달합니다.
  3. 바퀴 달린 로봇을 조립하고 원을 그리며 움직입니다.
  4. 바퀴 달린 로봇이 나선형으로 움직이도록 합니다.

모터 주제에 대한 다음 수업에서는 인코더 작업을 연구하여 제어를 보다 정확하게 만들고 자신의 손으로 서보를 만드는 데 도움이 됩니다.

이 기사에서는 DC 모터를 Arduino에 연결하는 가장 쉬운 방법을 다룹니다.

소개

DC 모터는 Arduino에 직접 연결할 수 없습니다. 핀이 40mA 이상의 전류를 전달할 수 없기 때문입니다. 모터는 부하에 따라 수백 밀리암페어가 필요합니다. 따라서 전력을 증가시킬 필요가 있습니다. 이것은 일반적으로 트랜지스터의 도움으로 수행됩니다.

"트랜지스터"기사에서 트랜지스터의 주요 유형과 작동 원리에 대해 알 수 있습니다.

또한 다음을 시청하는 것이 좋습니다. Arduino에 대한 비디오 자습서, 5번째 시리즈 - 모터 및 트랜지스터. 이 튜토리얼에서 Jeremy Bloom은 바이폴라 트랜지스터를 사용하여 DC 모터를 Arduino에 연결하는 방법에 대해 설명합니다.

필수 구성 요소

우리는 전계 효과 트랜지스터와의 상호 작용 옵션을 고려할 것입니다. 모터 연결 원리는 DC 모터, Arduino 보드, N 채널 전계 효과 트랜지스터, 10kΩ 저항과 같은 특정 하드웨어에서 분해됩니다. R 1), 220옴 저항( R 2).

실험에서 사용할 수 있는 것을 자유롭게 사용할 수 있습니다. 3가지 조건만 중요합니다.

    모터의 최대 소비 전류(차단 전류)는 전계 효과 트랜지스터의 최대 드레인 전류를 초과하지 않아야 합니다.

    트랜지스터의 게이트는 5V에서 열려야 합니다.

    트랜지스터에는 플라이백 다이오드가 내장되어 있어야 합니다.

연결 다이어그램

기본적으로 모터 권선은 인덕터입니다. 전압이 인가되는 순간 역기전력이 발생하여 트랜지스터가 손상될 수 있습니다. 플라이백 다이오드는 반대 방향으로 설치되어 모터에서 트랜지스터로의 전류 누출을 방지합니다. 따라서 트랜지스터에 플라이백 다이오드가 없으면 양극을 소스로, 음극을 드레인으로 추가로 설치해야 합니다.

IRF530N 트랜지스터는 강력하며 TO-220 패키지로 제공됩니다. 아래는 핀아웃입니다.

이 회로에서 트랜지스터는 키 모드에서 작동합니다. Arduino의 한 명령(게이트에서 HIGH 레벨 설정)에 의해 트랜지스터는 모터를 전원에 연결하고(잠금 해제됨) 다른 명령(LOW 설정) 레벨), 모터를 전원에서 분리합니다.


저항 R1은 트랜지스터의 게이트를 접지로 당깁니다. 정격은 중요하지 않습니다. 1~10kOhm 범위의 모든 저항기를 사용할 수 있습니다. 저항 R2는 마이크로 컨트롤러 핀을 보호하는 역할을 합니다. 범위는 약 10~500옴입니다.

이 회로에 전원을 공급하려면 외부 6-9V 전원 공급 장치를 Arduino에 연결하거나 브레드보드에 직접 전원을 공급할 수 있습니다(파란색 버스 - 마이너스, 빨간색 버스 - 플러스).

프로그램 작성

가장 단순함을 위해 기성품 예제의 가장 유명한 스케치를 사용할 것입니다. 깜박 거리다.

Blink.ino int led = 13; 무효 설정 () ( // 디지털 핀 13을 핀으로 초기화핀 모드(LED, 출력); ) 무효 루프() (digitalWrite(led, HIGH); // LED와 모터 켜기지연(1000); // 1초 동안 딜레이디지털 쓰기(LED, LOW); // LED와 모터 끄기지연(1000); // 1초 동안 딜레이 }

무슨 일이 있었는지 봅시다.

디지털 핀은 초당 13번 상태를 변경합니다. 출력이 HIGH로 설정되면 LED가 켜지고 모터가 회전하기 시작합니다. LOW로 설정하면 LED가 꺼지고 모터가 정지합니다.

결과

Arduino 핀, 특히 DC 모터에 강력한 장치를 연결할 수 있습니다.

PWM을 사용하여 모터 속도 조정

모터가 LED보다 제어하기 어렵지 않다면 LED로 작업할 때와 같은 방식으로 모터 회전 속도의 밝기를 변경할 수 있습니까? 정확히! Arduino의 관점에서 볼 때 우리가 무엇을 다루고 있는지는 절대적으로 중요하지 않습니다.

이미 짐작하셨겠지만 모터의 속도를 변경하려면 스케치가 필요합니다. 바래다.

Fade.ino int led = 9; // 트랜지스터의 게이트가 연결된 핀 int 밝기 = 0; // 이제 이 변수는 회전 속도를 담당합니다. int 페이드 금액 = 5; // 속도 변경 단계무효 설정 () ( // 디지털 핀 9를 핀으로 설정핀 모드(LED, 출력); ) 무효 루프 () ( // 모터의 회전 속도 설정 analogWrite(LED, 밝기); // 회전 속도의 현재 값을 증가밝기 = 밝기 + fadeAmount; // 속도가 최대/최소가 되면 감소/증가를 시작합니다. if (밝기 == 0 || 밝기 == 255) (fadeAmount = - fadeAmount;) // 30밀리초 일시 중지지연(30); )

연결 다이어그램

analogWrite(..) 기능의 기능을 사용하려면 하드웨어 PWM 핀(3/5/6/9/10/11) 중 하나로 점프해야 합니다. 기본적으로 스케치에서 바래다핀 9가 관련되어 있으므로 선택하겠습니다.


결과

하드웨어 PWM Arduino를 사용하여 모터의 속도를 변경할 수 있었습니다.

이 기사가 끝나는 곳. 이제 프로젝트에서 DC 모터를 안전하게 사용할 수 있습니다!