Arduino를 사용하여이 벅 컨버터 만들기

문제를 제거하기 위해 도구를 사용해보십시오





이 프로젝트에서는 12v D.C를 2 ~ 11V 사이의 D.C 값으로 낮출 것입니다. DC 전압을 낮추는 회로를 벅 컨버터라고합니다. 필요한 출력 전압 또는 스텝 다운 전압은 arduino에 연결된 전위차계를 사용하여 제어됩니다.

작성자 : Ankit Negi

컨버터 소개 :

기본적으로 두 가지 유형의 변환기가 있습니다.

1. 벅 컨버터

2. 부스트 컨버터

두 컨버터 모두 요구 사항에 따라 입력 전압을 변경합니다. 그들은 변신 로봇 한 가지 주요 차이점이 있습니다. 변압기가 A.C 전압을 상승 / 하강시키는 반면, D.C 컨버터는 D.C 전압을 상승 / 하강시킵니다. 두 변환기의 주요 구성 요소는 다음과 같습니다.

A. MOSFET

B. 인덕터

C. 커패시터

BUCK CONVERTER : 이름 자체에서 알 수 있듯이 벅은 입력 전압을 낮추는 것을 의미합니다. 벅 컨버터 높은 전류 용량으로 입력 D.C 전압보다 낮은 전압을 제공합니다. 그것은 직접적인 전환입니다.

부스트 컨버터 : 이름 자체에서 알 수 있듯이 부스트는 입력 전압을 높이는 것을 의미합니다.

부스트 컨버터는 입력에서 D.C 전압보다 더 많은 D.C 전압을 제공합니다. 또한 직접 전환입니다.

**이 프로젝트에서는 arduino를 PWM 소스로 사용하여 12v D.C를 강압하는 벅 컨버터 회로를 만들 것입니다.

ARDUINO 핀의 PWM 주파수 변경 :

arduino UNO의 PWM 핀은 3, 5, 6, 9, 10 및 11입니다.

PWM을 수행하기 위해 사용되는 명령은 다음과 같습니다.

analogWrite (PWM PIN 번호, PWM 값)

이 핀의 PWM 주파수는 다음과 같습니다.

Arduino 핀 9, 10, 11 및 3의 경우-500Hz

Arduino 핀 5 및 6의 경우 ---- 1kHz

이 주파수는 LED 페이딩과 같은 범용 사용에 적합합니다. 그러나 같은 회로의 경우 벅 또는 부스트 컨버터 , MOSFET은 완벽한 스위칭을 위해 고주파가 필요하고 고주파 입력은 인덕터 및 커패시터와 같은 회로 부품의 값 또는 크기를 감소시키기 때문에 고주파 PWM 소스 (수십 KHZ 범위)가 필요합니다. 따라서이 프로젝트에는 고주파 PWM 소스가 필요합니다.

좋은 점은 간단한 코드를 사용하여 arduino의 PWM 핀의 PWM 주파수를 변경할 수 있다는 것입니다.

ARDUINO UNO 용 :

D3 및 D11에 사용 가능한 PWM 주파수 :
// TCCR2B = TCCR2B 및 B11111000 | B00000001 // 31372.55 Hz의 PWM 주파수
// TCCR2B = TCCR2B 및 B11111000 | B00000010 // 3921.16 Hz의 PWM 주파수
// TCCR2B = TCCR2B 및 B11111000 | B00000011 // 980.39Hz의 PWM 주파수 용
TCCR2B = TCCR2B 및 B11111000 | B00000100 // 490.20 Hz의 PWM 주파수 용 (기본값)
// TCCR2B = TCCR2B 및 B11111000 | B00000101 // 245.10 Hz의 PWM 주파수
// TCCR2B = TCCR2B 및 B11111000 | B00000110 // 122.55 Hz의 PWM 주파수
// TCCR2B = TCCR2B 및 B11111000 | B00000111 // 30.64 Hz의 PWM 주파수
D5 및 D6에 사용 가능한 PWM 주파수 :
// TCCR0B = TCCR0B 및 B11111000 | B00000001 // 62500.00 Hz의 PWM 주파수
// TCCR0B = TCCR0B 및 B11111000 | B00000010 // 7812.50 Hz의 PWM 주파수
TCCR0B = TCCR0B 및 B11111000 | B00000011 // 976.56 Hz의 PWM 주파수 용 (기본값)
// TCCR0B = TCCR0B 및 B11111000 | B00000100 // 244.14 Hz의 PWM 주파수
// TCCR0B = TCCR0B 및 B11111000 | B00000101 // 61.04 Hz의 PWM 주파수 용
D9 및 D10에 사용 가능한 PWM 주파수 :
// TCCR1B = TCCR1B 및 B11111000 | B00000001 // 31372.55 Hz의 PWM 주파수에 대해 타이머 1 제수를 1로 설정
// TCCR1B = TCCR1B 및 B11111000 | B00000010 // 3921.16 Hz의 PWM 주파수
TCCR1B = TCCR1B 및 B11111000 | B00000011 // 490.20 Hz의 PWM 주파수 용 (기본값)
// TCCR1B = TCCR1B 및 B11111000 | B00000100 // 122.55 Hz의 PWM 주파수
// TCCR1B = TCCR1B 및 B11111000 | B00000101 // 30.64 Hz의 PWM 주파수
** 우리는 핀 번호를 사용할 것입니다. PWM의 경우 6이므로 코드 :
// TCCR0B = TCCR0B 및 B11111000 | B00000001 // 62.5KHz의 PWM 주파수

구성 요소 목록 :

1. 아르 두 이노 우노

2. 인덕터 (100Uh)

3. 쇼트 키 다이오드

4. 커패시터 (100uf)

5. IRF540N

6. 포텐시오 미터

7. 10k, 100ohm 저항기

8. 부하 (이 경우 모터)

9.12V 배터리

회로 다이어그램

Arduino를 사용한 벅 컨버터

Arduino 배선 레이아웃을 사용하는 벅 컨버터

회로도에 표시된대로 연결하십시오.

1. 전위차계의 끝단을 arduino UNO의 5v 핀과 접지 핀에 각각 연결하고 와이퍼 터미널을 아날로그 핀 A1에 연결합니다.

2. arduino의 PWM 핀 6을 MOSFET의베이스에 연결합니다.

3. 배터리의 양극 단자는 MOSFET을 드레인하고 음극은 쇼트 키 다이오드의 P 단자입니다.

4. 쇼트 키 다이오드의 p- 단자에서 인덕터와 직렬로 연결된 부하 (모터)를 MOSFET의 소스 단자에 연결합니다.

5. 이제 쇼트 키 다이오드의 n 단자를 MOSFET의 소스 단자에 연결합니다.

6. 모터에 47uf 커패시터를 연결합니다.

7. 마지막으로 arduino의 접지 핀을 MOSFET의 소스 단자에 연결합니다.

mosfet의 목적 :

Mosfet은 고주파에서 입력 전압을 전환하고 열 방출을 줄이면서 고전류를 제공하는 데 사용됩니다.

arduino의 목적 :

MOSFET의 고속 스위칭 용 (대략 65KHz 주파수에서)

인덕터의 목적 :

이 회로가 인덕터를 연결하지 않고 실행되면 MOSFET 단자의 고전압 스파이크로 인해 MOSFET이 손상 될 가능성이 높습니다.

이러한 고전압 스파이크로부터 MOSFET을 방지하기 위해 MOSFET이 켜져있을 때 에너지를 저장하고 MOSFET이 꺼져있을 때이 저장된 에너지를 모터에 제공하기 때문에 그림과 같이 연결됩니다.

쇼트 키 다이오드의 목적 :

쇼트 키 다이오드가 회로에 연결되어 있지 않다고 가정합니다. 이 경우 MOSFET이 꺼지면 인덕터는 전류가 흐르기위한 불완전한 루프가 있기 때문에 부하에 매우 작은 영향을 미치는 부하 또는 모터에 에너지를 방출합니다. 따라서 쇼트 키 다이오드는 전류가 흐르는 루프를 완성합니다. 이제 쇼트 키 다이오드는 순방향 전압 강하가 낮기 때문에 일반 다이오드는 여기에 연결되지 않습니다.
부하에 대한 스텝 다운 전압을 나타냅니다.

전위차계의 목적 :

전위차계 Arduino의 PWM 핀 6에서 MOSFET의 게이트 단자에 의해 수신되는 PWM 전압에 따라 arduino에 아날로그 값을 제공합니다 (와이퍼 단자의 위치 기준). 이 값은 궁극적으로 부하 전체의 출력 전압을 제어합니다.

저항이 게이트와 소스 사이에 연결된 이유는 무엇입니까?

소량의 소음도 MOSFET을 켤 수 있습니다. 따라서 저항을 내리다 게이트와 접지, 즉 소스 사이에 연결됩니다.

프로그램 코드

Burn this code to arduino:
int m // initialize variable m
int n // initialize variable n
void setup()
B00000001 // for PWM frequency of 62.5 KHz on pin 6( explained under code section)
Serial.begin(9600) // begin serial communication

void loop()
{
m= analogRead(A1) // read voltage value from pin A1 at which pot. wiper terminal is connected
n= map(m,0,1023,0,255) // map this ip value betwenn 0 and 255
analogWrite(6,n) // write mapped value on pin 6
Serial.print(' PWM Value ')
Serial.println(n)
}

코드 설명

1. 변수 x는 포트의 와이퍼 단자가 연결된 핀 A1에서받은 전압 값입니다.

2. 변수 y에는 0에서 255 사이의 매핑 된 값이 할당됩니다.

3. ** 벅 또는 부스트 컨버터와 같은 회로에 대해 위 섹션에서 이미 설명했듯이 MOSFET은 완벽한 스위칭을 위해 고주파가 필요하고 고주파 입력은 값 또는 크기를 감소시키기 때문에 고주파 PWM 소스 (수십 KHZ 범위)가 필요합니다. 인덕터 및 커패시터와 같은 회로 부품의.

따라서 우리는이 간단한 코드를 사용하여 대략의 pwm 전압을 생성 할 것입니다. 65kHz 주파수 : TCCR0B = TCCR0B & B11111000 | B00000001 // 62.5KHz의 PWM 주파수 핀 6

작동 원리 :

Potentiometer는 arduino에 아날로그 값을 주므로 (와이퍼 단자의 위치에 따라) Arduino의 PWM 핀 6에서 MOSFET의 게이트 단자에 수신되는 PWM 전압 값을 결정합니다.

그리고이 값은 궁극적으로 부하 전체의 출력 전압을 제어합니다.

MOSFET이 켜져있을 때 인덕터는 에너지를 저장하고 스위치를 끌 때 저장된 에너지는 부하 (이 경우 모터)로 방출됩니다. 이 프로세스는 매우 높은 주파수에서 발생하기 때문에 mosfet은 전압 종속 장치이므로 와이퍼 단자의 위치에 따라 모터 양단의 D.C 전압이 강압됩니다.

프로토 타입 이미지 :

위에서 설명한 Arduino를 사용한 벅 컨버터 회로의 비디오 클립




이전 : Arduino를 사용한 간단한 디지털 유량계 회로 다음 : 4 개의 간단한 근접 센서 회로 – IC LM358, IC LM567, IC 555 사용