导航:首页 > 操作系统 > 单片机三相电c语言程序

单片机三相电c语言程序

发布时间:2023-05-12 04:42:19

① 高分悬赏 如何利用单片机编程产生三相电

你这个,我还真没什么特别好的办法,不过有以下几点说明的,会提供给你有用的建议:

通常,我们从220v取电的时候,用的是rc降压,外加一个稳压管,关于rc降压,你去网络文库里找,有的是资料,但是,这样取出来的电,一般也就在0.2w左右,主要是电阻功率和体积的限制,而你要从两个火线上取电,两个火线的电压是380v,相要达到0.5w,你得用很大功率的电阻才能满足,这要占用很大的体积,不太好实现,因为你说了,你的模块体积限定了。

建议你,如果有零线参与的话,可以从任何一个火线加零线取电,这样电压变成220v,相对来说,rc降压能达到的功率要大一些。

建议你,采用低功耗的单片机,比如430单片机,或者普通的单片机,但是把主频率降到最低水平上,不然的话,你的功耗还是比较大的。

如果你只是检测三相的相序,缺相正常与否,而不需要明确的指示出到底是反相,还是缺相,那么,其实完全不用单片机,可以用边沿饮品代替,这样功耗就比较低了,即使你rc从380取电,也可以满足,具体电路,看我的文库里,我上传过一篇文章,那是我设计的三相检测器,完全可用的。

② 您好,用单片机实现三相缺相检测的问题,希望能得到你的帮助,

这里通过限流电阻和光电隔离器的二极管将高电压交流信号变为脉动直流小电流,该电流驱动放光二极管发光,从而使光电隔离器的隔离侧导通,一方面点亮LED指示灯,另一方面将信号通过反相器送到单片机检测。注意,由于二极管的单相导通性,单片机收到的是脉冲信号,而不是固定电平。缺相或某相电压过低时,光电隔离器不能导通,输出无脉冲信号。
为了使输出变为固定的电平信号,可在光电隔离器输出侧加二极管整流及电容滤波。
LX+、LX-连接到被测电压(相电压或线电压)的两端。
1、对于三相四线制,共有A、B、C、N四根线。
所有Lx-接N,L1+、L2+、L3+分别接A、B、C。
2、对于三相三线制,只有A、B、C三根火线。
L1+接A、L1-接B、L2+接B、L2-接C、L3+接C、L3-接A。
3、L4+和L4-可取自三相中的任一相。如三相四线制的A、N或三相三线制的A、B

③ 求单片机c语言控制步进电机调速程序

给你一段简单的程序代码,控制步进电机的,不过你要好好看看誉槐程序的编写,以适应你的硬件(主要是连线),你可以在实现这个的基础上实现你所说的目标,个人觉得你参考这个程序然后自己实现你所说的功能比较好:
#include
unsigned
char
code
f_rotation[4]={0x08,0x10,0x20,0x40};//正转表格
unsigned
char
code
b_rotation[4]={0x40,0x20,0x10,0x08};//反转表格
void
delay(unsigned
int
i)//延时
{
while(--i);
}
main()
{
unsigned
char
i;
while(1)
{
for(i=0;i<4;i++)
//4相
{
p1=f_rotation[i];
//输出对应的相运虚卖
可以自行换成反旁逗转表格
delay(500);
//改变这个参数可以调整电机转速
}
}
}

④ 求单片机c语言控制步进电机调速程序

几相的步进电机啊?用不用驱动芯片?用的话选什么型号的驱动芯片?你要说具体点啊!
先给你三相的,个不用驱动芯片的步进电机程序。(驱动电路自己做)
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint time

void timer1(void) interrupt 1 using 1{ //定时器0中断,定时1ms//
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
time++;
}

void delay(uint n){ //一般延时
while(--n);
}

void delay(uint dtime){ //延时
TR0=1;
while(time<=dtime);
time=0;
TR0=0;
}

void moto(bit cf,uchar n,uint dtime){ //电机驱动子程序,
uchar idata zhpai[4]={0x78,0xb8,0xd8,0xe8};
uchar idata fpai[4]={0xe8,0xd8,0xb8,0x78};
uchar i,l=0;
if(cf==0) //正转,A-B-C-A
for(i=0;i<n;i++){
P1=zhpai[l];//P1.7~1.4为输出口,分别为A、B、C、D
l++;
delay(dtime);
if(l==4)l=0;
}
else{ //反转,C-B-A-C
for(i=0;i<n;i++){
P1=fpai[l];
l++;
delay(dtime);
if(l==4)l=0;
}
}
}

void main(){
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
while(1){
moto(0,4,70);//正转,转四相,每相间隔70ms
delay(10000);
moto(1,4,70);//反转,转四相,每相间隔70ms
delay(10000);
}
}

⑤ 三相多功能电表设计

E甲2302

全国大学生电子设计竞赛
(2010 年)

三相多功能电表(E题)

设计说明书

2010年9月

目 录
摘 要 I
一. 方案比较与论证 1
1.1 总方案的选择 1
1.2核心功能模块选择与比较 1
1.2.1电能参数计量模块…………………………………1
1.2.2电压、电流检测模块……………………………………2
二. 理论分析与计算 2
2.1信号检测模块 2
2.2芯片计量原理 3
三 .电路图及相关设计文件 4
3. 1 直流电源 4
3.2 检测模块 4
3.3计轮没升量芯片ATT7022………………………………………………5
3.4 显示模块………………………………………………………...6
3.5通信模块…………………………………………………………6
3.6 软件设计流程图………………………………………………..7
四. 测试方法与仪器 8
五. 测试结果与分析…………………………………………………….8
总 结
参考文献

摘 要
本方案主要由检测电路、专用电能计量芯片ATT7022、89C52单片机、128×64液晶察陪显腊老示、按键、RS485通信、红外通信以及电源部分组成。电路中的电流(电压)信号经过电流(电压)互感器,强电信号转换为安全的弱电信号,通过ATT7022把计量数据传给单片机,由单片机控制128×64液晶显示,另设按键可选择显示测量数据,并扩展RS485和红外线通信功能。因为ATT7022具有极高的精度,能够达到1级测量精度要求,由于互感器铁芯趋于饱和,当电力线路出现过电压或过电流时,其输出不会成正比的增加,能保护测量仪表设备。

关键词: 单片机 ATT7022计量芯片 三相电参数测试 RS485通信

红外通信
Abstract
This scheme mainly consists of Detection circuit, Special energy metering ATT7022 chips,89C52,128 * 64 LCD display,key,RS485 communication,Infrared communication and power..The current in the circuit by current signal (voltage transformer, high voltage (voltage) signals are converted to electricity signal, the safety ATT7022 through the measurement data to SCM by single-chip microcomputer control, 128 * 64 LCD display, and buttons can choose to display measured data, and expand RS485 and infrared communication function. Because of the high precision, ATT7022 can reach 1 level measurement accuracy requirement, and because of transformer core tend to saturation, when power line voltage or current appeared, the output will increase, the proportional to the measuring equipment to protect.

Keyword: 89C52 ATT7022 measurement chip Three-phase electrical-

-parameter test RS485 Serial Communication Infrared communication
一 方案比较与论证
1.1总方案的选择
实现思路
本次设计的任务是制作一个能同时对三相工频交流电的三相电压、三相电流、三相有功功率、三相无功功率、总有功功率、总无功功率、功率因数、电网频率、有功电能和无功电能进行测量的数字式多用表。

1.2 核心功能模块选择与比较
1.2.1 电能参数计量模块
方案一:本方案用ADE7755计量电能,因为要用三片ADE7755芯片分别对每一相的有功电能进行单独计量,再叠加到三相总有功电能,致使电能计量电路在电路板上占用空间大、线路密集,造成电表抗干扰能力差;成本较高,致使产品的性价比低;ADE7755在500:1的动态范围内误差小于0.1%,电能计量芯片的参数不可调使得电表计量精度降低.
方案二: 本方案用芯片ATT7022计量电能,ATT7022能准确地测量电网的电压、电流、频率、功率、电能等参数;ATT7022精度高,在输入动态工作范围(1000:1)内,非线性测量误差能达到小于0.1%的精度;ATT7022可设置寄存器使之适用于三相三线和三相四线的工作环境;同时能提供电压和电流相序检测;还能提供电压和电流的有效值参数,有效值精度要优于0.5%。很好的满足了设计中对测量功能、技术参数以及准确度的要求。所以选择方案二。
1.2.2电压、电流检测模块
信号采集板给信号处理板提供要采集的电流电压,并隔离掉干扰信号,避免其进入主控电路板。在信号的检测部分,有利用互感器和霍尔传感器检测两种方法。
方案一 利用霍尔传感器采集三相电参数。霍尔传感器性能优越,但成本较高。
方案二 利用电流电压互感器采集三相电参数。电流和电压互感器是一种特殊的变压器,把大电流(高电压)变成小电流(低电压),实现了弱电控制强电,保证了电力系统的安全。由于互感器铁芯趋于饱和,当电力线路出现过电压或过电流时,其输出不会成正比的增加,能保护测量仪表设备。这一作用满足了设计要求的技术参数,能承受一定时间的过流过压。互感器在本测试仪中在性能上基本能满足设计要求,而且成本合理,因此本次设计采用互感器方式。
二. 理论分析与计算
2.1信号检测模块
电路中的强电信号经过互感器之后将转换为弱电信号,根据我们选择的互感器型号,380V的交流电压转换为0.5 V的交流电压,而5A的交流电流转换为2mA。
信号采集模块采集的必须是电压,因此我们在电流互感器的输出端并联一个电阻,这样电流信号就可以转换为采集模块需要的电压信号。
2.2芯片计量原理
电流有效值:
i (t)-----电流瞬时值
电压有效值: u (t)----电压瞬时值
功率因数:
三相三线合相功率:
三相四线合相功率:

单相无功功率:无功功率计量方法与有功类似,只是电压信号采用移相90之后的。

单相有功功率: 各相的有功功率是通过对去直流分量后的电流电压信号进行乘法加法数字滤波等一系列数字信号处理后得到的。

有功能量:有功能量通过瞬时有功功率对时间的积分得到。

三 电路图及相关文件
3.1 直流电源
直流电源是电网电压经过变压整流滤波稳压等变换后得到的。本测试仪利用A相得到220V电压,然后通过变压器转换为9V的交流电压,再经过整流桥和稳压芯片7805转换为直流电压,最后经过滤波,就可以得到+5V的直流电压。这个直流电源对单片机、ATT7022芯片、128×64液晶和485芯片供电。直流电源电路图如3-1所示。

3-1 直流电源电路设计图
3.2 检测模块
信号采集模块检测的信号必须是电压信号,因此在电流互感器的输出端并联一个电阻把电流信号转换为检测模块所需要的电压信号。图中引脚V1P、V1N、V2P、V2N的信号均送入ATT7022进行处理,REFOUT为ATT7022的直流偏置电压,正常工作时为2.4V左右,其中10K电阻为偏置电阻。信号检测模块电路图如3-2所示。

3-2 信号检测模块电路图
3.3计量芯片ATT7022
ATT7022是一颗高精度三相电能专用计量芯片,适用于三相三线和三线四相应用。能够测量各相的有功无功功率、视在功率、有功无功能量,还能测量各相电流电压有效值功率因数相角频率等参数,充分满足三相多功能电表的要求。仪表有功及无功功率校验电路图如3-3(a),ATT7022引脚连接图如3-3(b)所示。

3-3(a) 仪表有功及无功功率校验电路

3-3(b) ATT7022引脚连接图
3.4 显示模块
显示模块采用128×64的点阵液晶显示测量参数,通过翻屏可显示所有测量数据。

3.5 通信模块
通信模块采用RS485接口通信和红外通信,通信模块主要用于数据传输。RS485通信模块经过RS485接口把测量的各个参数的值传输到上位机;红外通信模块将测试仪测量到的各个参数的值发送出去,连在上位机上的接收模块接收数据,实现远程显示。

3.6 软件设计流程图

四 测试方法与仪器

五 测试结果分析

总 结
本次设计中,为了更好的完成设计要求,我们了设想了多种方案,从测试功能、测量精度等多方面考虑,我们选出了最佳方案,在此方案中,我们采用ATT7022作为核心计量芯片,89C51作控制芯片,将采集的信号输出显示,并设有按键翻屏显示数据,另扩展RS485和红外线通信。

参考文献

[1]康华光,陈大钦. 电子技术基础 模拟部分(第四版)[M].北京:高等教育出版社,2005
[2]清华大学电子学教研组编,童诗白主编.模拟电子技术基础(第二版)[M].北京:高等教育出版社,1988.
[3]黄志伟. 全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2005.
[4]谭浩强. C程序设计[M].北京:清华大学出版社,2005.
[5]马忠梅. 单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2001.
[6孙肖子. 实用电子电路手册(模拟分册)[M].北京:高等教育出版社,1992.
[7]阎石. 数字电子技术基础[M].北京:高等教育出版社,2005.
[8]ATT7022a用户手册 2005年3月28日

加我!我给你更多,石油大学为你提供专业服务!!!

⑥ 1. 设计要求 采用单片机控制一个三相单三拍的步进电机工作。求大神给出汇编程序,谢谢,急用。

#include <reg51.h>

#define unchar unsigned char

sbit kai_key p3^1; //开关,作锁功能

sbit zheng_key p3^2; //正转

sbit fan_key p3^3; //翻转睁卜

sbit 18_key p1^0; //18步

sbit 15_key p1^1; //15步

sbit 12_key p1^2; //12步

sbit 9_key p1^3; //9步

sbit 6_key p1^4; //6步

sbit 3_key p1^5; //3步

sbit 21_key p1^6; //备厅21步

sbit 24_key p1^7; //24步

sbit 27_key p3^0; //27步

bit flag=0; //电机正反标志位

uchar bushu,maichong=3,table_begin=0;

uchar code table[]={0x01,0x02,0x04,0x04,0x02,0x01};

//电机正反转I/O口的高低电平对应表

void delay(uchar i) //延时函数

{

uchar j,k;

for(j=i;j>0;j--)

for(k=125;k>0;k--);

}

void key()

{

/仿早隐/kaikey=shuo_key;

if(kai_key==0) //这里开关闭合,表示键盘锁打开。如果开关不闭合,表示上锁,电机不转

{

if(27_key==0) bushu=27; //步数高的优先,即多个步数开关同时打上,运行高步数

else if(24_key==0) bushu=24;

else if(21_key==0) bushu=21;

else if(18_key==0) bushu=18;

else if(15_key==0) bushu=15;

else if(12_key==0) bushu=12;

else if(9_key==0) bushu=9;

else if(6_key==0) bushu=6;

else if(3_key==0) bushu=3;

esle bushu=0;

}

if(zheng_key==0)

flg=0;

else if(fan_key==0)

flg=1;

}

void dispose() //数据处理函数

{

if(flag==0)

{

table_begin=0; //flag为0正转

}

else

table_begin=3; //flag为1反转

}

void qudong()

{

while(kai_key==0)

{

while(bushu!=0)

{

unchar i,j;

for(j=0+table_begin;(j<3+table_begin)&&(bushu!=0);j++)

{

PO=table[j]

for(i=0;i<maichong;i++)

{

delay(10) //延时函数,控制电机速度

}

bushu--;

}

}

}

}

void main()

{

while(1)

{

key();

dispose();

qudong();

while(kai_key==0); //等待开锁

}

}

⑦ AT89C51单片机控制三相六拍步进电动机正反转的程序!!! 具体要求看问题补充,跪求高手求救!

当P3.0 和P3.1口信号同时为低电平的时候,发送一个转动信号给步进电机,与此同时,如果P3.2为低电平而P3.3为高电平的时候,步进电机开始正转。若当P3.3变成低电平,P3.2为高电平的时候,停止转动,等待下一次的转动信号。既当P3.0和P3.1口的信号同时又为低电平的时候,因为此时P3.2为高电平,P3.3为低电平,所以步进电机开始反转。当转到P3.2为低电平,P3.3为高电平的时候,则链则停止旋转,又等待下一次的转动棚肆棚信号。就是这样反复正反转。P3.2为低电平,P3.3为高电平,正转。P3.2为高电平,P3.3为低电平,反转雹闷。转动的必要条件是P3.0和P3.1同时为低电平。 P3.0、P3.1、P3.2、P3.2接的都是霍尔传感器。步进电机为三相六线的。

答得好加100分!!!谢谢各位大神!!

⑧ 单片机C语言控制电机驱动器驱动电机,电机驱动器是3M458的

Kinco® 3M458三相步进电机驱动器

主要特性:

★ 采用交流伺服驱动原理,具备交流伺服运转特性,三相正弦电流输出;

★ 内部驱动直流电压高达40V,能提供更好的高速性能颂州;

★ 具有电机静态锁紧状态下的自动半流功能,可以大大降低电机的发热;

★ 具有最高可达10000步/转的细分功能,细分可以通过拨动开关设定,保证提供最好的运行平稳性能;毕乱

★ 几乎无步进电机常见的共振和爬行区,输出相电流可通过拨动开关设定,运转噪声非常低,接近交流伺服的水平;

★ 控制信号的输入电路采用光耦器件隔离,降低外部噪声的干扰;

★ 采用了正弦的电流驱动,使手樱档电机的空载起跳频率高达5KHz(1000步/转)左右。

还是自己查阅相关资料吧

⑨ 有没有单片机控制三相异步电机的程序啊

对于交流三相电机,如果控制转速可以使用变频器,如果编程控制运转可以使用PLC,如果有兴趣使用单片机控制,也可以通过单片机编程配合各种接口电路、继电器、接触器等器件来控制电机。

⑩ Mcs-51单片机驱动三相六拍步进电动机程序

首先我真佩服楼上的兄才!枝扰橘

用李亩IO口根据猛团相序来控制步进电机即可,用uln2008做驱动

阅读全文

与单片机三相电c语言程序相关的资料

热点内容
解压小游戏测试钻石剑的硬度 浏览:962
java结束函数 浏览:622
打开远程桌面的命令 浏览:836
树莓派如何搭建mqtt服务器 浏览:587
怎么加密w8文件 浏览:609
linuxprogram 浏览:708
php接口编程思想 浏览:92
如何下载电话软件app 浏览:906
java命令行解析 浏览:572
云服务器白嫖 浏览:917
程序员小清新 浏览:989
编译器地址8字节对齐 浏览:464
三菱plc编程win1064 浏览:258
高中英语单词pdf 浏览:425
编译原理词法分析常见问题 浏览:197
车小艺app怎么更新 浏览:77
手机app被管控如何移除 浏览:753
51单片机温湿度检测 浏览:575
安卓抖音显示没网络是怎么回事 浏览:819
2d我的世界源码 浏览:620