이 프로젝트에서는 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 배터리
회로 다이어그램
회로도에 표시된대로 연결하십시오.
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 사용