利用单片机给直流升压
- 外部电路
这是最基础的升压电路 ,需要的原件不多,由于要用到PWM,二极管最好用肖特基快恢复二极管,电容耐压值也要高一点
这里我在输出端接了一个氖管 ,由于氖管起辉电压在七八十伏左右,这样便于观察实验现象
2.原理
三极管基极利用单片机产生PWM波控制其开关占空比,而三极管开关过程会让电感产生感生电动势,与电源叠加从而达到升压效果,二极管与电容是用于稳定输出的。
3.制作
由上图可以看到,我用了一个变压器当电感,自己绕也是可以的,不过要记得加铁芯,不过三极管没找到大功率的就用拆下来的2N2222了(接负载发热严重),代码放文末。
4.效果演示
由于不方便上传视频,就多放了几张图片
5.程序
#include<reg51.h>#define uint unsigned int
#define uchar unsigned char uchar time;
double zkb=25; //定义占空比,并初始占空比为25%
sbit PWM=P1^0; //P1^0口输出PWM
sbit key_up=P3^0; //电机加速的按键 的I/O口
sbit key_down=P3^1; //电机减速的按键 的I/O口/************函数声明**************/
void delay(uint z); //延时
void Motor_up(); //电机加速,即增加占空比
void Motor_down(); //电机减速,即减少占空比
void timer0_init(); //定时器0初始化/*********主函数********************/
void main()
{ timer0_init();delay(5);while(1){Motor_up();Motor_down();}
}/****************延时处理**********************/
void delay(uint z) //延时xms程序
{uint x,y;for(y=z;x>0;x--)for(y=110;y>0;y--);
}void Motor_up() //电机加速
{if(key_up==0){delay(2); //此处时间不能太长,否者会与中断产生冲突if(key_up==0){zkb+=0.5; //每按一次加速按键占空比加0.5if(zkb>=80) //限定占空比上限80{zkb=80;}}while(!key_up);}
}void Motor_down()//电机减速
{if(key_down==0){delay(2);//此处时间不能太长,否者会与中断产生冲突if(key_down==0){zkb-=0.5; //每按一次减速按键占空比减0.5if(zkb<=10) //限定占空比下限10{zkb=10;}}while(!key_down);}
}/***********定时器0初始化***********/
void timer0_init()
{TMOD=0x01; //定时器0工作于方式1TH0=(65536-10)/256;TL0=(65536-10)%256;TR0=1;ET0=1;EA=1;
}/**************定时0中断处理******************/
void timer0_int() interrupt 1
{TR0=0; //设置定时器初值期间,关闭定时器TH0=(65536-10)/256;TL0=(65536-10)%256;TR0=1;time++;if(time<zkb) //zkb为占空比{PWM=1; //输出高电平}else PWM=0; if(time>=100){time=0;}}
- 为提供足够电流,程序中PWM输出脚是接了无刷电机驱动模块的,直接使用IO口的话电感最好不要圈数太多且输出IO口接个电阻防止烧坏单片机
- 这个程序是可以用按键控制PWM占空比的(每按一次调幅0.5,也可以在程序中修改)
- 这个电路理论上是可以控制占空比控制输出电压的,但用的电感等参数不知,所以六伏的电压只能放大到80伏左右
- 电路还有很多值得改进的地方,资源有限,凑合着用吧
利用单片机给直流升压相关推荐
- 基于51单片机的直流数字电压表(0-5V)
基于51单片机的直流数字电压表(0-5V) 需要资料的请回原文下载 利用串行A/D转换器TLC549对输入信号电压源进行采集转换成数字信号给51单片机,经单片机进行数据处理后给1602液晶显示. 误差 ...
- 数码管在c语言中显示时间,如何利用单片机数码管程序模拟是时钟显示时间?...
数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要 ...
- 利用单片机控制74HC595显示图案
利用单片机控制74HC595显示图案(单片机型号STC89C52) 此文将介绍如何用74HC595自定义显示图案,需要一定的单片机学习基础,话不多说,上代码 #include "reg51. ...
- 利用单片机串口实现甲乙两机的数据传输
文章目录 题目:利用单片机串口实现甲乙两机的数据传输. 1.虚拟电路图 2.实现的效果 3.相关代码 题目:利用单片机串口实现甲乙两机的数据传输. 要求: ①甲机连续发送0-F,共记16个字符,并显示 ...
- DC-DC直流升压模块电源12V升24V(5A)FP5207
DC-DC直流升压模块电源12V升24V(5A)FP5207 ·类型:电源模块 ·输入电压:12vdc ·输出电压:24V ·输出电流:5A 产品特性 参考电压:0.6V 内置短路保护功能 CS pi ...
- 专为摩托车点火器中直流升压电路设计的控制芯片MST2218
MST2218是专为摩托车点火器中直流升压电路设计的控制芯片,可替代分立器件的方案,减少外围器件,提升产品的性能和可靠性. 产品具有原边限流功能,限流值外围可调: 输出电压检测功能,达到预设电压后停振 ...
- 直流电机位置控制matlab仿真,利用Simulink仿真直流伺服电机的闭环位置控制系统...
电机伺服系统课程报告 1 利用Simulink 仿真直流伺服电机的闭环位置控制系统 一直流伺服电机传递函数及参数选择 直流电机的工作转矩等于负载转矩与负载惯性系统加.减速转矩之和,表达式为: 1()( ...
- 单片机串口中断控制流水灯c语言,利用单片机中断实现流水灯
在我们的生活中,随处可见各式各样的彩灯,给这本来充满美丽的世界又添加了一份别致的美,想知道流水灯是怎么实现的吗?现在就跟我走进这实现流水灯的大道吧! 其实利用单片机的中断功能就可以实现.本篇文章是当每 ...
- 利用单片机实现天气服务器获取指定位置天气数据
大家好,今天主要和大家聊一聊,如何利用单片机从心知天气服务器上获取到指定位置的天气数据,咱们先来了解一下心知天气吧! 目录 第一:天气数据API 第二.通信原理图以及数据解析 第三.天气数据返回结果 ...
- 利用单片机延时播放孤勇者
利用单片机延时播放孤勇者 采用的单片机为aducm4050 adi_gpio_Toggle(Port0,Pin8);函数即切换电平状态 void play_NOTE(uint32_t freq_t,f ...
最新文章
- 使用Git分布式版本控制系统
- linux的nvme驱动需要关心的统计项
- Java web后端2 Servlet Maven HttpServlet ServletConfig ServletContext HTTP协议
- 微信禁用右上角的分享按钮,WeixinJSBridge API以及隐藏分享的子按钮等菜单项
- 作者:景志刚(1977-),男,现就职于中国人民银行征信中心数据部,主要研究方向为数据挖掘。...
- maven的聚合和继承详解(2021版)
- 好用的MessageFormat类
- 被final关键字坑了
- 【RDSNet】《RDSNet:A New Deep Architecture for Reciprocal Object Detection and Instance Segmentation》
- Problem F: 求三角形面积-gyy
- 二级分销跟差价收益有区别吗?
- JavaScript进阶-高级特性及ES6
- 中国数码纺织印花染料行业运行态势与投资前景预测报告2022-2027
- java入门—第二节(1)(数据类型)
- pandas读取excel数据以及matplotlib的散点与直线图绘画
- 零知识证明的几个例子
- C语言中求余运算符的注意事项
- Opencv3笔记18——重映射
- 记一次bug,由于前端参数不对导致的bug,no int/Int-argument constructor/factory method to deserialize from Number valu
- BugTags使用说明以及安装搭建步骤
热门文章
- 计算机取证volatility
- volatility内存取证分析与讲解(持续更新)
- 7寸显示器 树莓派4b_基于树莓派4B显示屏分类
- 计算机专业老师教案,技能大赛-2015年全国中等职业学校计算机应用基础及计算机类专业课程“创新杯”教师信息化教学设计和说课比赛总结...
- 读《富爸爸穷爸爸》有感
- Cisco 路由器密码重置步骤
- 弱占优策略--Weakly Dominant Strategy
- yolov3批量测试并存在自己定义的路径(linux,Joseph Redmon,c版本)
- Unity使用脚本动态修改材质球的颜色
- 大规模服务设计部署经验