“第三十一课--Microduino与Buck电路/zh”的版本间的差异
(→设备) |
|||
(未显示1个用户的12个中间版本) | |||
第1行: | 第1行: | ||
+ | {{Language|Lesson_31--Microduino & Buck Circuit}} | ||
Microduino与Buck电路 | Microduino与Buck电路 | ||
{| style="width: 800px;" | {| style="width: 800px;" | ||
第6行: | 第7行: | ||
本教程通过Microduino的D10脚输出PWM波形,进而驱动P沟道场效应管,使读者了解buck电路的实现原理,掌握Microduino输出PWM波形的实现方法。 | 本教程通过Microduino的D10脚输出PWM波形,进而驱动P沟道场效应管,使读者了解buck电路的实现原理,掌握Microduino输出PWM波形的实现方法。 | ||
==设备== | ==设备== | ||
− | *'''[[Microduino-Core]]''' | + | *'''[[Microduino-Core/zh]]''' |
Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 | Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 | ||
− | *'''[[Microduino-USBTTL]]''' | + | *'''[[Microduino-USBTTL/zh]]''' |
下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 | 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 | ||
第52行: | 第53行: | ||
*按键断开,即开关管断开时,电感中存储的能量通过二极管(这也解释了为啥叫续流二极管)传递给输出端。此时Vin不给负载提供能量。 | *按键断开,即开关管断开时,电感中存储的能量通过二极管(这也解释了为啥叫续流二极管)传递给输出端。此时Vin不给负载提供能量。 | ||
*有了电容的存在,输出端可以获得直流电。 | *有了电容的存在,输出端可以获得直流电。 | ||
− | *不考虑二极管的压降,Vout=Vin*D (D代表占空比)。例如,占空比为0.2,输入Vin=12V,则输出电压为Vout=2. | + | *不考虑二极管的压降,Vout=Vin*D (D代表占空比)。例如,占空比为0.2,输入Vin=12V,则输出电压为Vout=2.4V,即buck降压电路。调节占空比,可得到所需Vout。 |
*buck电路属于开关电源电路,开关管工作于开关状态(非线性调整管状态),所以效率比线性调整式电源高。打个比方:如果输入是12V电压,需要输出5V,负载电流为0.1A。如果用7805(线性三端稳压器)来实现,那么电源消耗的功率约为1.2W,如果用buck电路来实现,那么电源消耗的功率约为0.5W。在实际工程应用中,如果PCB板供电是24V或是12V,要取得5V电压或是3.3V给MCU供电,采用buck电路是一种很好的选择。 | *buck电路属于开关电源电路,开关管工作于开关状态(非线性调整管状态),所以效率比线性调整式电源高。打个比方:如果输入是12V电压,需要输出5V,负载电流为0.1A。如果用7805(线性三端稳压器)来实现,那么电源消耗的功率约为1.2W,如果用buck电路来实现,那么电源消耗的功率约为0.5W。在实际工程应用中,如果PCB板供电是24V或是12V,要取得5V电压或是3.3V给MCU供电,采用buck电路是一种很好的选择。 | ||
*注意:本示例中,D10脚输出高电平时,开关管处于截止状态。理论输出电压值Vout=Vin*(1-D)。D=OCR1B/OCR1A。 | *注意:本示例中,D10脚输出高电平时,开关管处于截止状态。理论输出电压值Vout=Vin*(1-D)。D=OCR1B/OCR1A。 | ||
第80行: | 第81行: | ||
==调试== | ==调试== | ||
− | [[File: buck | + | [[File: buck realConnect.jpg|600px|center|thumb]] |
*参考上图用导线连接完毕并确认无误。 | *参考上图用导线连接完毕并确认无误。 | ||
*把程序复制到Arduino IDE中。 | *把程序复制到Arduino IDE中。 | ||
第86行: | 第87行: | ||
*点击Upload,下载完毕后打开Arduino IDE自带的串口监视器,观察数据。 | *点击Upload,下载完毕后打开Arduino IDE自带的串口监视器,观察数据。 | ||
*更改OCR1B的数值,重新烧写程序,再打开Arduino IDE自带的串口监视器,观察数据。 | *更改OCR1B的数值,重新烧写程序,再打开Arduino IDE自带的串口监视器,观察数据。 | ||
− | * | + | *下图为笔者实测数据(OCR1A均为400),供参考。实际输出电压与理论公式对比偏差很大,原因在于续流二极管存在压降,电感以及负载等参数不是很合理,电路搭建是依据笔者手头现有元器件而成。Microduino的D10脚占空比改变时,输出电压的变化趋势符合常理。 |
− | [[File: buck | + | [[File: buck comOutput.jpg|600px|center|thumb]] |
*再贴下示波器测量波形图,供参考。 | *再贴下示波器测量波形图,供参考。 | ||
− | D10脚波形 OCR1B=300 | + | D10脚波形 OCR1B=300 OCR1A=400 10uS/div 2V/div |
− | [[File: OCR1B=300 | + | [[File: Modify OCR1B=300 10uS 2V D10 Output.jpg|600px|center|thumb]] |
− | + | ||
+ | |||
+ | 去掉输出端电容 波形图 OCR1B=300 OCR1A=400 10uS/div 2V/div | ||
[[File: OCR1B=300 10uS 2V OUT CapaLess.jpg|600px|center|thumb]] | [[File: OCR1B=300 10uS 2V OUT CapaLess.jpg|600px|center|thumb]] | ||
2014年10月29日 (三) 03:39的最新版本
Language | English |
---|
Microduino与Buck电路
目的本教程通过Microduino的D10脚输出PWM波形,进而驱动P沟道场效应管,使读者了解buck电路的实现原理,掌握Microduino输出PWM波形的实现方法。 设备Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。
场效应管
N沟道场效应管(AO3400)与P沟道场效应管(AO3401)的PDF资料见下面链接,读者可对比分析。 N沟道场效应管AO3400文档下载:文件:AO3400.pdf P沟道场效应管AO3401文档下载:文件:AO3401.pdf buck电路
实验原理图程序void setup()
{
Serial.begin(9600);
pinMode(10, OUTPUT);
TCCR1A =_BV(COM1A0) | _BV(COM1B1) | _BV(WGM11) | _BV(WGM10);
TCCR1B =_BV(WGM12) |_BV(WGM13) | _BV(CS10);
OCR1A=400;//change this value to get diff period OCR1A=400 F=40K
OCR1B=300;//this value need modify to get diff duty cycle
}
void loop()
{
int myAnaValue=analogRead(A0);
float myAnaVol=myAnaValue/1023.0*5;
Serial.println(myAnaVol);
delay(1000);
}
调试
D10脚波形 OCR1B=300 OCR1A=400 10uS/div 2V/div
结果该buck电路可在占空比改变时改变输出电压值。该示例仅用于Microduino的D10脚输出PWM矩形波来实现buck电路的演示,实际应用时需根据负载电压电流,输入电压等选择合适的元器件参数。对于开关管的驱动电路,实际应用时也会比该示例复杂,该文算是抛砖引玉,希望读者指正。 视频 |