导航:首页 > 操作系统 > 超载单片机

超载单片机

发布时间:2022-09-09 21:01:19

Ⅰ 用单片机对步进电机进行控制

呵呵 兄弟可以参考某些部分 呵呵
自己做的课程设计 还没有做完 完了发给你参考参考
题 目:单片机控制步进电机系统

摘 要

很多工业控制设备对位移和角度的控制精度要求较高, 一般电机很难实现, 而步进电机可精确实现所设定的角度和转数。本设计主要是运用51 单片机控制六线4 相步进电机系统, 由单片机产生驱动脉冲信号, 控制步进电机以一定的转速向某一方向产生一定的转动角度。同时能够利用单片机实现电机的正、反转及速度控制,并能在数码管上显示出相应的速度。
本文中给出了该系统设计的硬件电路,软件设计,人机交互等。并对各个功能模块进行了详细的说明。主要内容包括以下几个方面:
单片机控制步进电机的一般原理。
电机驱动及控制的实现。
控制系统整体设计以及模块划分说明。
原理图。
代码。

关键词:单片机;步进电机;系统;驱动

Abstract
Many Instrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor can't carry out .but the step motor can carry out the displacement and angle that you enactmented in accuracy. This design mainly used SCM to control step motor system.The step motor is formed six lines and four phasic.Through SCM generate the drive pulse signal.Control stepper motor through a certain speed in a direction to get a certain degree of rotation angle.
At the same time, It can use SCM to realization of the motor is , reverse and speed control. and showed the speed in the digital tube.
In this paper, given the design of the system hardware circuit,software design, human-computer interaction and so on.and it given the details description of each functional mole.the main contents include the following:

(1) The general principles of signal_chip controlling step motor.
(2) The realization of motor driving and controlling
(3) Control system overall design and description mole division
(4) Schematic Diagram
(5) Code

Key Words:SCM; stepper motor; system; drive

目录

引言 4
1 单片机控制步进电机的一般原理 4
1.1 步进电机 4
1.1.1 步进电机介绍 4
1.1.2 步进电机分类 5
1.1.3 技术指标 5
1.1.4 步进电机工作原理 5
1.2 单片机 7
2 步进电机驱动实现 8
2.1简介 8
2.2驱动选择 8
3 系统硬件设计 9
3. 1 单片机控制电机 9
3.2 键盘 9
3.3 显示部分 10
程序流程图 11
总结 12
致 谢 13
参考文献 13
附录 13
C代码 13

引言
目前,在工业控制生产以及仪器上应用十分广泛。通常都要对一些机械部件平移和转动,对移动的位移和角度控制要求较高,一般的电机很难实现对位置和角度的精确控制,在一些智能化要求较高的场合,用模拟芯片控制器及信号发生器来控制有一定局限性。而用单片机控制步进电机可以改善性能,步进电机能实现精确的角度和转数,具有良好的步进特性,最适合数字控制。在工控设备中得到了广泛的应用。而单片机具有芯片体积小,兼容性强,低电压地,低功耗等特点,使单片机成为驱动步进电机的最佳空盒子单元。所以单片机控制步进电机系统控制精度高,运行稳定,得以广泛运用。
1 单片机控制步进电机的一般原理
1.1 步进电机
1.1.1 步进电机介绍
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机、交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
1.1.2 步进电机分类
永磁式(PM)。一般为二相,转矩和体积都很小,步距角一般为7.5或15°
反应式(VR)。一般为三相,实现大转矩输出,步距角为1.5°。
混合式(HB)。兼具永磁式和反应式的优点,分二相和五相,二相步距角为1.8°五相步距角为0.72°。
1.1.3 技术指标
静态指标

相数
步距角
拍数
定位转矩
保持转矩

步进电机动态指标
步距角精度
失步
失调角
最大空载启动频率
最大空载运行频率
运行频距特性
电机共振点

1.1.4 步进电机工作原理
分析(步进电机展开图)

以反应式步进电机为例,其典型结构图如图1所示。这是一个四相步进电机,当相控制绕组接通脉冲电流时,在磁拉力作用下使相的定、转子对齐,相邻的B 相和D 相的定、转子小齿错开。若换成B 相通电,则磁拉力使B 相定、转子小齿对齐(转过) ,而与B 相相邻的C 相和A 相的定、转子小齿又错开,即步进电机转过一个步距角。若按A →B →C →D →A ⋯规律循环顺序通电,则步进电机按一定方向转动。若改变通电顺序为A →D →C →B →A ,则电机反向转动。这种控制方式称为四相单四拍。若按AB →BC →CD →DA →AB或A →AB →B →BC →C →CD →D →DA →A 顺序通电则称为四相双拍或四相单、双八拍。无论采用哪种控制方式,在一个通电循环内,步进电机的转角恒为一个齿距角。所以,可以通过改步进电机通电循环次序来改变转动方向,可以通过改变通电频率来改变其角频率。运用单片机的输出功能,通过编程实现输出四个信号分别给步进电机的四相A、B、C、D ,并通过输出时信号的循环次序,来设定步进电机的转动方向及输出信号的频率以便设定步进电机的转动频率。

图1 反应式步进电机结构图

实现原理
采用单片机产生A、B、C、D 的四相信号,当采用单片机进行控制时,需要在单片机和步进电机中间设隔离电路以使强弱电分离。由于步进电机的驱动电流相对较大,可增设放大电路来提供步进电机的工作电流。系统电路由五部分组成,即单片机、隔离、放大、电源及步进电机。
1.2 单片机

功能特性描述

AT89S52是一种低功耗、高性能CMOS8位微控制器,
具有8K 在系统可编程Flash 存储器。使用Atmel 公
司高密度非易失性存储器技术制造,与工业80C51
产品指令和引脚完全兼容。片上Flash允许程序存储
器在系统可编程,亦适于常规编程器。在单芯片上,
拥有灵巧的8 位CPU 和在系统可编程Flash,使得
AT89S52为众多嵌入式控制应用系统提供高灵活、超
有效的解决方案。AT89S52具有以下标准功能:8k字
节Flash,256字节RAM,32 位I/O 口线,看门狗定时
器,2 个数据指针,三个16 位定时器/计数器,一个6
向量2级中断结构,全双工串行口,片内晶振及时钟电
路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持
2种软件可选择节电模式。空闲模式下,CPU停止工作,
允许RAM、定时器/计数器、串口、中断继续工作。掉
电保护方式下,RAM内容被保存,振荡器被冻结,单
片机一切工作停止,直到下一个中断或硬件复位为止。

2 步进电机驱动实现
2.1简介
步进电机在单单仅给予电压时,电机是不会动作的,必须由脉冲产生器提供位置(脉波数)、速度的脉冲信号指令,以及驱动器驱动电流流过电机内部线圈、依顺序切换激磁相序的方式才能够让电机运 转。所以欲使步进电机动作的必要系统组成有:
(1)脉冲产生器:给予角度(位置移动量)、动作速度及运转方向之脉冲信号的电机驱动指令。
(2)步进驱动器:依控制器所投入的脉冲信号指令,提供电流来驱动步进电机动作。
(3)步进电机:提供转矩动力输出来带动负载。所以步进电机系统构成简单,不需要速度感应器、位置传感器, 即能依照脉冲产生器所输入的脉冲来做到速度及位置的控制。

2.2驱动选择
步进电机可以选用专用的电机驱动模块,也可以自己构建驱动电路。一般有以下几种选择:
专用驱动模块,如L298,FT5754等,这类驱动接口简单,这类可以驱动步进电机,直流电机等。
达林顿驱动器ULN2803,这个芯片可以一次驱动八线步进电机。
自己构建,通过三极管,74als04,等系列元件构成。但这样系统可靠性会降低,会另外给系统带来误差。

3 系统硬件设计
1 单片机控制电机
如图3

说明:
这个部分为单片机控制步进电机部分,80s52单片机通过达林顿驱动器ULN2803来驱动步进电机,80s52的P1.0-P1.4发送控制信号给驱动器,然后驱动器的四根线把信号传递给电机,使电机实现正反转等。电机部分接12V直流电源。
3.2 键盘
如图4

说明:
本系统中采用了四个按键,分别与80s52的四个引脚相连,分别为LCDEN,RS,WR,RD;分别实现的功能是电机加速,减速,正反转。键盘一旦按下则表示向单片机发送了有效信号,单片机就相应的进行调节。对于键盘的键按下的时候分为几个步骤,当键盘按下的时候,接通电路,键盘扫描检测低电平,但检测到低电平之后不能够判断键是否被按下,因为抖动可能引起这个变化,所有大概延时5~10ms之后再进行检测。如果再次检测到低电平之后说明键被按下。这个过程就是所说的消除抖动。
3.3 显示部分
如图5

说明:
对于显示部分,因为这个系统只是显示转速,所以采用了LED共阳极数码管。
并且用了74HC573锁存器,74HC573锁存器输出电流大,接口电路简单。本系统采用了两个74HC573锁存器,分别为段选和位选。段选为数码管的显示数字,位选为选中相应的数码管。
程序流程图

总结
通过本次的课程论文,让我真实的感受到一个完整的系统设计过程。这次的的论文从开始的整体布局,排版,到内容中的系统设计直到最后完成。每个流程下来,都带给了我很多的新东西,特别在设计完系统之后做硬件部分中,先是用protel99se画图,好多图在库中找不到,找不到就自己画,然后封装,封装的时候还要用游标卡纸对买来的元件进行精确的测量,然后才能在封装的过程中保证精度。最后做完图之后还要布线,布线完成后再发到厂家去做。事实上这个过程我用买好的空板做的,因为元件不多。所以就买了相应的元件直接再PCB板上焊接好的。在焊接的过程中也会感受到很多东西,因为很多需要注意的。不过这个过程多多尝试就会有进步的。焊接完后就是代码调试阶段。最后就完成了这个小型系统的设计。

致 谢
在此,感谢我的老师以及周围的同学。本次的论文得益于同学们的帮助。最后还要感谢我的父母,是他们一直在背后支持着我。
谨以此文献给他们!

参考文献
[1] 张永枫,王静霞,杨宏利. 单片机应用实训教程. 西安电子科技大学出版社,2005.
[2] 郭天祥. 51单片机C语言教程. 电子工业出版社 2008

附录
C代码
单片机控制步进电机
实现功能:
定时器中断:定时时间设置为30秒,首先给的初值每次中断为5ms,经过20次中断为1秒,半分钟三十秒则要中断600次,所有到达六百次后就把计数n中的值读取到数码管中显示出来。
键盘检测:进行速度控制的时候按下相应的键则会对应的进行速度调节。
数码管显示:
驱动部分:
#include <reg52.h>
#define uchar unsigned char
sbit la=P2^6;
sbit wela=P2^7;
sbit jia_key=P3^6;
sbit jian_key=P3^7;
sbit zf_key=P3^5;
sbit stop_key=P3^4;
bit flag=0;
uchar num1,n;
uchar num=0,show_num=2,maichong=4,table_begin=0;
uchar code table1[]={0x01,0x02,0x04,0x08,0x08,0x02,0x01};
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
// 延时部分
void delay(uchar i)
{
uchar j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
// 显示部分
void display()
{
la=0;
P0=table[show_num];
la=1;
la=0;
wela=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[0];
la=1;
la=0;
P0=0xfd;
wela=1;
wela=0;
delay(5);
}
// 键盘检测部分
void key()
{
if(jia_key==0)
{
delay(5);
if(jia_key==0)
{
num++;
if(num==4)
num=3;
while(jia_key==0)
}
}
if(jian_key==0)
{
delay(5);
if(jian_key==0)
{
if(num!=0)
num--;
else
num==0;
while(jian_key==0);
}
}
if(zf_key==0)
{
delay(5);
if(zf_key==0)
{
flag=~flag;
while(zf_key==0);
}

}
if(stop_key==0)
{
delay(4);
if(stop_key==0)
{
show_num=0;
maichong=0;
}
while(stop_key==0)
}
}
// 键盘检测结果
void dispose()
{
switch(num)
{
case 0:
maichong=5;
break;
case 1:
maichong=4;
break;
case 2:
maichong=3;
break;
case 3:
maichong=2;
break;
}
if(flag==0)
{
table_begin=0;
}
else
table_begin=4;
}
// 数码管驱动部分
void qudong()
{
uchar i,j;
for(j=0+table_begin;j<4+table_begin;j++)
{
P1=table[j];
for(i=0;i<maichong;i++)
{
dispaly();
}
}
}
// 主函数部分
void main()
{
while(1)
{ init();
key();
dispose();
qudong();
n++;
}
}
// 定时器中断初始化
void init()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1; // 开总中断
ET0=1;// 开定时器0中断
TR0=1;// 启动定时器0
}
// 定时器中断调用
void T0_time() intterrupt 1 // T0中断
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num1++;
if(num1==600)
{
show_num=n;
num1=0;
n=0;
}

}

Ⅱ 电动车的控制器的原理是什么有什么作用

[color=#9932CC][/color]车用电机控制器近年来的发展速度之快,使人难以想象,操作上越来越“傻瓜”化,而显示则越来越复杂化.比如,车速的控制已经发展到“巡航锁定”;驱动方面,有的同时具有电动性能和助力功能,如果转换到助力状态,借助链条张力测力器,或中轴扭力传感器,只要用脚踏动脚蹬,便可执行助力或确定助力的大小.这期本刊开始给您讲述控制器的知识,让您对控制器有一个更全面的了解.
一、控制器与保护功能
(一)控制器简介
简略地讲控制器是由周边器件和主芯片(或单片机)组成.周边器件是一些功能器件,如执行、采样等,它们是电阻、传感器、桥式开关电路,以及辅助单片机或专用集成电路完成控制过程的器件;单片机也称微控制器,是在一块集成片上把存贮器、有变换信号语言的译码器、锯齿波发生器和脉宽调制功能电路以及能使开关电路功率管导通或截止、通过方波控制功率管的的导通时间以控制电机转速的驱动电路、输入输出端口等集成在一起,而构成的计算机片.这就是电动自行车的智能控制器.它是以“傻瓜”面目出现的高技术产品.
控制器的设计品质、特性、所采用的微处理器的功能、功率开关器件电路及周边器件布局等,直接关系到整车的性能和运行状态,也影响控制器本身性能和效率.不同品质的控制器,用在同一辆车上,配用同一组相同充放电状态的电池,有时也会在续驶能力上显示出较大差别.
(二)控制器的型式
目前,电动自行车所采用的控制器电路原理基本相同或接近.
有刷和无刷直流电机大都采用脉宽调制的PWM控制方法调速,只是选用驱动电路、集成电路、开关电路功率晶体管和某些相关功能上的差别.元器件和电路上的差异,构成了控制器性能上的不大相同.控制器从结构上分两种,我们把它称为分离式和整体式.
1、分离式 所谓分离,是指控制器主体和显示部分分离(图4-22、图4-23).后者安装在车把上,控制器主体则隐藏在车体包厢或电动箱内,不露在外面.这种方式使控制器与电源、电机间连线距离缩短,车体外观显得简洁.
2、一体式 控制部分与显示部分合为一体,装在一个精致的专用塑料盒子里.盒子安装在车把的正中,盒子的面板上开有数量不等的小孔,孔径4~5mm,外敷透明防水膜.孔内相应位置设有发光二极管以指示车速、电源和电池剩余电量.
(三)控制器的保护功能
保护功能是对控制器中换相功率管、电源免过放电,以及电动机在运行中,因某种故障或误操作而导致的可能引起的损伤等故障出现时,电路根据反馈信号采取的保护措施.电动自行车基本的保护功能和扩展功能如下:
1、制动断电 电动自行车车把上两个钳形制动手把均安装有接点开关.当制动时,开关被推押闭合或被断开,而改变了原来的开关状态.这个变化形成信号传送到控制电路中,电路根据预设程序发出指令,立即切断基极驱动电流,使功率截止,停止供电.因而,既保护了功率管本身,又保护了电动机,也防止了电源的浪费.
2、欠压保护 这里指的是电源的电压.当放电最后阶段,在负载状态下,电源电压已经接近“放电终止电压”,控制器面板(或仪表显示盘)即显示电量不足,引起骑行者的注意,计划自己的行程.当电源电压已经达到放终时,电压取样电阻将分流信息馈入比较器,保护电路即按预先设定的程序发出指令,切断电流以保护电子器件和电源.
3、过流保护 电流超限对电机和电路一系列元器件都可能造成损伤,甚至烧毁,这是绝对应当避免的.控制电路中,必须具备这种过电流的保护功能,在过流时经过一定的延时即切断电流.
4、过载保护 过载保护和过电流保护是相同的,载重超限必然引起电流超限.电动自行车说明书上都特别注明载重能力,但有的骑行者或未注意这一点,或抱着试一下的心理故意超载.如果没有这种保护功能,不一定在哪个环节上引起损伤,但首当其冲的就是开关功率管,只要无刷控制器功率管烧毁一只,变成两相供电后电动机运转即变得无力,骑行者立即可以感觉到脉动异常;若继续骑行,接着就烧毁第2个、第3个功率管.有两相功率管不工作,电动机即停止运行,有刷电机则失去控制功能.因此,由过载引起的过电流是很危险的.但只要有过电流保护,载重超限后电路自动切断电源,因超载而引起的一系列后果都可以避免.
5、欠速保护 仍然属于过流保护范畴,是为不具备0速起步功能的无刷控制系统而设置,
6、限速保护 是助力型电动自行车独有的设计控制程序.车速超过某一预定值时,电路停止供电不予助力.对电动型电动自行车而言,统一规定车速为20km/h,车用电动机在设计时,额定转速就已经设定好了,控制电路也已经设好.电动自行车只能在不超过这个速度状态下运行.
控制器的位置不会影响到性能,主要视设计者的意图.但有几项原则:(1)在运行操作允许时;(2)在整体布置允许时;(3)在线路布设要求时;(4)在配套设施要求时

Ⅲ 全自动洗衣机的主板为什么总是烧坏

全自动洗衣机主板烧坏的原因:
1,一般电压不稳,进水,或洗衣服过多,都会烧电脑板的,
2,
硅管烧毁就是超载,电流大,检查驱动设备是否正常,
3,1功率不匹配2或是电压不有时高有时低3电路板质量问题。

Ⅳ 51单片机C语言里面,定义bit的方法,有哪些,请举例,谢谢!

一共可以定义16个字节的位寻址变量

static uchar bdata CanBusFlag=0; //can标志
sbit CanRcv_Good=CanBusFlag^0; //成功接收标志
sbit CanSend_Good=CanBusFlag^1; //成功发送标志
sbit CanErrFlag=CanBusFlag^2; //can总线错误标志
sbit CanDtOverFlag=CanBusFlag^3; //can总线超载标志
sbit CanWuiFlag=CanBusFlag^4; //can总线唤醒中断

//你改变CanBusFlag,下面的一堆变量也变了,反之既然

定义:
union UniTEMP // 温度采样值
{
uint TEMP;
uchar TEMP_AD[2];
}idata uTEMP; //idata是定义变量存储空间,这里用的8952单片机,有idata空间
。。。。
程序里面使用:
uTEMP.TEMP=XXX;//其实TEMP_AD[2]数组里面的内容也变了,union 结构嘛

如果你只定义8个位,就用第一种方式。
union 结构是为了方便大数据的操作才使用的。如果你要用union 定义一个8位变量的每一位,想应该可以吧。不过不知道符不符合C语法,编一个试试吧~哈哈

Ⅳ 起重机装超载限制器哪种好

起重机超载限制器是由轴销式传感器将重量转换成电信号经传输电缆与限制器连接,经限制器求和放大器、A/D 转换器、单片机运算,当吊笼内的重量达到或超过其设定值时,限制器内相应继电器分别动作,与升降机控制系统连接,使升降机安全、可靠的运行。这个没有好不好这么一说吧,得看是不适合了。
秦皇岛前景光电的起重机超载限制器很好,曾经用于神州5号发射台上。可以联系包学强,电话 0 3 3 5——8 5 3 9 8 0 7

Ⅵ 描述:使用单片机(STC89C52)设计公交车内乘客人数计数系统,本系统能够根据是否有乘客上、下

工程量太大,不适合在此求助。

Ⅶ 如何用单片机控制电机的转速和方向,要是有截图和程序就更好了,不胜感激!!

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的

情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影

响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角

度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控

制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度

和加速度,从而达到调速的目的。

步进电机驱动方式:

1、1相励磁法:每一瞬间只有一个线圈导通,其他线圈休息。其特点是励磁方法简单,耗

电低,精确度良好。但是力矩小、震动大,每次励磁信号走的角度是标称角度。

2、2相励磁法:每一瞬间有两个线圈同时导通,特点是力矩大、震动较小,每次励磁转动

角度是标称角度。

3、1-2相励磁法:1相和2相轮流交替导通,精度较高,且运转平滑。每送一个励磁信号转

动二分之一标称角度。有称为半步驱动。4相电机中,1、2种方式称4相4拍,3种称4相

8拍。

Ⅷ 单片机按键加一、减一

利用外部中断实现按键按一下数码管数字加1,实现00-99的循环,另一个按键实现清零,不管数码管数字是多少,该按键按下数码管显示00

Ⅸ 单片机检测显示设备打开失败

单片机检测显示设备打开失败的原因有如下几点:
1、 烧录器驱动没有安装或者驱动安装不正确
2、 烧录器本身存在问题
3、 若用的是Windows 7系统,请先禁用驱动程序签名强制,步骤如下:(1)WIN键+R打开运行,输入组策略编辑器命令gpedit.msc然后确定(2)选择用户配置中的管理模板打开(3)管理模板中点击系统打开(4)找到驱动程序安装,然后点击右边的设备驱动程序的代码签名(5)选项改为忽略或警告。成功禁用后,到STC官方下载一个超载器,里面有USB驱动,重新安装即可
4、 烧写器的USB连接存在问题,或者是单片机把USB的5V电压拉下来了

阅读全文

与超载单片机相关的资料

热点内容
菜鸟app的收货地址在哪里 浏览:488
服务器配什么显卡 浏览:369
动态壁纸不动了是怎么回事安卓 浏览:412
申万宏源app哪里看总盈利 浏览:133
单片机测电感电容 浏览:165
android在子线程中更新ui 浏览:694
算法分析师面试有什么要求 浏览:994
容器算法大全图解 浏览:69
cad后置命令失效 浏览:692
杀手阻击存档文件夹是哪一个 浏览:212
禁书pdf 浏览:920
没用app语音智能提醒怎么设置 浏览:502
linuxwiki安装 浏览:680
隔墙算法 浏览:174
安卓手机为什么app不通知 浏览:550
申请云服务器购买费用 浏览:115
云服务器镜像下载到本地 浏览:4
电脑文件夹名有横杠 浏览:154
无印良品压缩纸膜 浏览:753
完全随机算法 浏览:31