산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino Uno를 사용한 25kHz 4핀 PWM 팬 제어

구성품 및 소모품

축 팬, 12VDC
× 1
Arduino UNO
× 1
USB-A 대 미니 USB 케이블
× 1
점퍼 와이어(일반)
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

이 프로젝트와 4핀 PWM 팬을 제어하는 ​​방법이 궁금합니다. 나는 주위에 5마리가 있었고 내 것도 한 번 해보라고 생각했습니다. 주파수 값은 가변 듀티 사이클뿐만 아니라 125HZ - 8MHZ 사이에서 조정할 수 있습니다. 이 회로는 타이머 1 OCR1A(핀 9) 및 ICR1(핀 10)에서 모드 10 PWM 위상 수정을 사용합니다. 이것을 알아내려면 약간의 디버깅이 필요했으며 저는 휴대용 오실로스코프를 소유하고 있습니다. 주파수와 듀티 사이클을 훨씬 쉽게 볼 수 있으며 추측이 필요하지 않습니다. 여기 링크가 있습니다:오실로스코프.

제 경우에는 제어 핀이 노란색(보통 타치 와이어라고 함)이기 때문에 팬의 데이터시트를 찾아보는 것이 좋습니다. 허용되는 주파수 범위(또는 "CENTERING FREQUENCY ") 선택한 팬에 대한 것입니다. 필요에 맞게 코드 주파수를 변경해야 할 수도 있습니다. 마지막으로 좋은 전원 공급 장치가 필요합니다(내 것은 구형 PC에서 변환된 ATX PSU입니다).

참고:다른 타이머를 사용하여 2개의 팬을 독립적으로 제어하려고 시도했습니다. 작동하지 않습니다. 그 이유는 두 번째 타이머의 해상도가 더 낮기 때문입니다(16비트 대 8비트). 이는 주파수 및 듀티 조정 단계에서 노이즈가 발생하고 파형이 점점 더 변형됨을 의미합니다. 값을 입력할 때 이 역시 간단하지 않습니다.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 강령
  • 코드Arduino
    이 파일을 다운로드하여 Arduino IDE에서 실행하십시오.
    const byte OC1A_PIN =9;const byte OC1B_PIN =10;const word PWM_FREQ_HZ =25000; //주파수를 조정하려면 이 값을 조정합니다. (Frequency in HZ!) (현재 25kHZ로 설정) const word TCNT1_TOP =16000000/(2*PWM_FREQ_HZ);void setup() { pinMode(OC1A_PIN, OUTPUT); // 타이머 1 제어 및 카운트 레지스터 지우기 TCCR1A =0; TCCR1B =0; TCNT1 =0; // 타이머1 설정 설정 // COM1A(1:0) =0b10 (출력 A 클리어 상승/하강 설정) // COM1B(1:0) =0b00 (출력 B 정상 동작) // WGM(13:10) =0b1010 (위상 보정 PWM) // ICNC1 =0b0(입력 캡처 노이즈 제거기 비활성화됨) // ICES1 =0b0(입력 캡처 에지 선택 비활성화됨) // CS(12:10) =0b001(입력 클록 선택 =클록/1) TCCR1A | =(1 <  

    회로도


    제조공정

    1. 푸시 버튼을 사용하여 PWM으로 조명 디밍
    2. 천장 선풍기에 Alexa 제어 기능을 사용하도록 설정
    3. 이슬람 기도 시간이 있는 Arduino 시계
    4. Arduino로 코인 억셉터 제어
    5. Bluetooth가 탑재된 Arduino로 LED 제어!
    6. Arduino Nano:조이스틱으로 2개의 스테퍼 모터 제어
    7. Arduino UNO로 LCD TFT 화면에 이미지 표시하기!
    8. Arduino Uno로 LED 매트릭스 제어
    9. 4x4x4 LED 큐브(Arduino Uno 및 1쉴드 포함
    10. ThimbleKrox - 손가락으로 마우스 제어