成都理工单片机实验四(电机驱动)
- 格式:ppt
- 大小:514.50 KB
- 文档页数:7
单片机电机电磁阀控制实验报告1. 实验目的本实验旨在通过单片机控制电机和电磁阀,实现对电机和电磁阀的控制和调节。
2. 实验器材- 单片机开发板- 直流电机- 电磁阀- 杜邦线- 电池- 电源线3. 实验原理电机和电磁阀是常见的电子设备,通过改变电流的方向和大小来控制其转动和开闭。
通过单片机的GPIO引脚可以输出电平信号来控制电机和电磁阀的工作状态。
4. 实验步骤4.1 连接实验电路:将单片机开发板的GPIO引脚与电机和电磁阀的控制引脚连接,确保电路连接正确可靠。
4.2 编写控制程序:使用C语言编写控制程序,通过对单片机GPIO引脚的控制来实现对电机和电磁阀的控制。
根据具体需求,可以编写不同的程序来控制电机的转速和方向,以及电磁阀的开闭状态。
4.3 烧录程序:将编写好的程序通过烧录器烧录到单片机开发板上,确保程序能够正常运行。
4.4 实验测试:将电池连接到电路上,通过单片机的控制程序来控制电机的转动和电磁阀的开闭状态。
观察电机的转动情况和电磁阀的开闭情况,并记录实验数据。
4.5 实验结果分析:根据实验数据分析电机和电磁阀的控制效果,是否符合预期要求。
可以进行进一步的优化和改进。
5. 结论通过本实验,成功实现了通过单片机控制电机和电磁阀的功能。
根据实验结果分析,可以进一步优化和改进控制程序,以满足更复杂的控制需求。
6. 实验心得通过本次实验,我深入了解了单片机的控制原理和方法。
通过编写和烧录控制程序,我成功实现了对电机和电磁阀的控制,并对实验结果进行了分析和总结。
这次实验加深了我的电子控制方面的知识和实践能力,为以后的学习和研究打下了坚实的基础。
(字数:457)。
单片机步进电机控制实验报告单片机步进电机控制实验报告引言:步进电机是一种常用的电动机,具有结构简单、体积小、转速稳定等优点,广泛应用于工业自动化、机械设备等领域。
本实验旨在通过单片机控制步进电机,实现电机的正转、反转、加速、减速等功能。
通过实验,深入了解步进电机的工作原理和控制方法,提高对单片机的编程能力。
一、实验目的本实验的主要目的是掌握步进电机的工作原理,了解单片机控制步进电机的方法和步骤,并通过实验验证控制效果。
二、实验器材1. 步进电机:XX型号,XXV,XXA2. 单片机开发板:XX型号3. 驱动电路:包括电源、驱动芯片等三、实验原理步进电机是一种特殊的电动机,其转子通过电磁螺线管的工作原理实现转动。
步进电机的转子分为若干个极对,每个极对上都有一个螺线管,通过对这些螺线管施加电流,可以使转子转动。
单片机通过控制螺线管的电流,实现步进电机的控制。
四、实验步骤1. 连接电路:根据实验器材提供的电路图,将步进电机与单片机开发板相连接。
2. 编写程序:使用C语言编写单片机控制步进电机的程序。
程序中需要包括电机正转、反转、加速、减速等功能的实现。
3. 上传程序:将编写好的程序通过编程器上传到单片机开发板上。
4. 实验验证:通过按下开发板上的按键,观察步进电机的运动情况,验证程序的正确性。
五、实验结果与分析经过实验验证,编写的程序能够准确控制步进电机的运动。
按下不同的按键,电机可以实现正转、反转、加速、减速等功能。
通过调整程序中的参数,可以实现不同速度的控制效果。
实验结果表明,单片机控制步进电机具有较高的精确性和可靠性。
六、实验总结通过本次实验,我深入了解了步进电机的工作原理和控制方法,掌握了单片机控制步进电机的编程技巧。
实验中遇到了一些问题,如电路连接不正确、程序逻辑错误等,但通过仔细分析和排除,最终解决了这些问题。
通过实验,我不仅提高了对步进电机的理论认识,还锻炼了自己的动手实践能力和问题解决能力。
包头师范学院信息科学与技术学院实验报告课程名称:单片机原理及接口技术实验项目:PWM直流电机驱动实验指导老师:陈静老师实验室:物理楼四日期:2011,6专业:电子信息科学与技术班级:08电子姓名:刘宁学号0814830007一﹑实验目的及要求1、了解脉宽调制(PWM)的原理2、学习用PWM输出模拟量驱动直流电机3、熟悉51系列单片机的延时程序二﹑实验仪器及设备THDPJ-1/2型单片机开发综合实验箱THKL-C51型仿真器ISP下载线计算机一台三﹑实验内容及原理四﹑实验步骤(或过程)1、使用最小应用系统1模块。
最小应用系统1的P1.0接直流电机驱动模块的PWM输入口,电压输出口接电机“+”,电机“-”接地。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加直流电机驱动.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。
观察直流电机转速。
6、修改源程序START程序段两次给累加器A的赋值,调整输出脉冲的占空比,重新编译后运行,比较直流电机转速流程图如下:源程序如下:OUTPUT BIT P1.0ORG 0000HLJMP STARTORG 0030HSTART: CLR outputMOV A, #5CALL Delayserb OUTPUTMOV A, #5CALL delayLJMP STARTDELAY:MOV R0, #0DLOOP:DJNZ R0, DLOOPDJNZ ACC, DLOOPRETEND五、实验结果分析与总结:。
单片机驱动直流电机原理
单片机驱动直流电机的原理是利用单片机的输出口来控制直流电机的启停、速度和转向。
具体实现的步骤如下:
1. 连接硬件:将单片机的输出口与直流电机的驱动模块连接。
驱动模块通常由一对电晶体三极管(BJT)或金属氧化物半导
体场效应管(MOSFET)构成。
2. 编写驱动代码:使用单片机的编程语言(如C语言)编写
程序,配置输出口的工作模式和控制寄存器,以便控制电平。
根据需要,编写控制逻辑,来实现电机启停、调速和转向控制。
3. 控制电平信号:根据控制逻辑,通过单片机的输出口给驱动模块发送控制信号。
根据不同的控制信号,驱动模块会相应地控制电机的工作状态。
4. 控制电流:驱动模块通过调节输出口的电平,来控制电机所需的电流。
当输出口为高电平时,驱动模块会导通电源与电机之间的通路,使电流流过电机,从而启动电机;当输出口为低电平时,驱动模块会断开通路,停止电流流动,从而停止电机。
5. 控制转向:通过控制输出口的电平,驱动模块可以控制电机的转向。
具体方法是交换电机两个端子的接线,使其转向相反。
通过以上步骤,单片机可以有效地控制直流电机的启停、调速和转向,并实现各种应用需求。
单片机步进电机控制实训报告一、引言随着工业自动化技术的不断发展,步进电机作为一种能够将电脉冲转化为机械转动的装置,在各种自动化控制系统中得到了广泛的应用。
而单片机作为现代电子计算机技术的重要分支,具有体积小、价格低、抗干扰能力强等特点,被广泛应用于各类电机的控制中。
本次实训旨在通过单片机实现对步进电机的控制,加深对步进电机和单片机理论知识的理解,提高实际操作技能。
二、实验目标本次实训的目标是通过单片机控制步进电机,实现电机的正转、反转、停转等操作。
同时,通过对电机的控制,进一步了解步进电机的特性和工作原理。
三、实验原理步进电机是一种将电脉冲转化为机械转动的装置。
当给步进电机施加一个电脉冲信号时,电机就会转动一个固定的角度,这个角度通常称为“步进角”。
通过控制电脉冲的数量和频率,可以实现对电机的速度和位置的控制。
而单片机的GPIO口可以输出高低电平信号,通过控制输出信号的频率和占空比,可以实现对步进电机的控制。
四、实验步骤1、准备器材:单片机开发板、步进电机、杜邦线、面包板、焊锡等。
2、连接电路:将步进电机连接到单片机开发板上,使用杜邦线连接电源和信号接口。
3、编写程序:使用C语言编写程序,通过单片机控制GPIO口输出电脉冲信号,控制步进电机的转动。
4、调试程序:在调试过程中,需要不断调整程序中的参数,观察电机的反应,直到达到预期效果。
5、测试结果:完成程序调试后,进行实际测试,观察步进电机是否能够实现正转、反转、停转等操作。
五、实验结果及分析通过本次实训,我们成功地实现了通过单片机控制步进电机的正转、反转、停转等操作。
在实验过程中,我们发现步进电机的转速和方向可以通过改变单片机输出信号的频率和占空比来控制。
我们还发现步进电机具有较高的精度和稳定性,适用于需要精确控制的位置和速度控制系统。
六、结论与展望通过本次实训,我们深入了解了步进电机的工作原理和单片机的应用。
实践证明,单片机控制步进电机是一种高效、精确、可靠的方法。
CHANGZHOU INSTITUTE OF TECHNOLOGY新型单片机实践题目:用单片机I/O口驱动步进电机二级学院(直属学部):延陵学院专业:电气工程及其自动化班级:10电Y2 学生姓名:熊群学号:10120827一、实验目的1、进一步掌控单片机应用系统的软硬件设计方法2、熟悉步进电机的工作原理和驱动程序的编写3、了解单片机系统常用的功率驱动电路ULN2803的应用二、实验电路三、实验流程图四、调试和实验现象1、当按下K7的时候,电机开始顺时针启动;当按下K6的时候,电机逆时针转动。
2、按下K1,K2,K3,K4时会有加速效果,全部按下的时候效果很明显。
五、实验程序#include<REG52.H> //片内寄存器定义#include<INTRINS.H>unsigned char ucMotorDrvPuls; /*电动机运转时初值*/#define OUTPUT P2 /*定义P2口为电动机驱动信号口*/#define INPUT P1 /*定义P1口为控制信号输入口*/sbit STARTUP =P1^7; //启动/停止开关sbit FORREV =P1^6; //正转/反转开关void time(unsigned int ucMs); /*延时单位:ms*//*************电动机定位*****************/void position(void) //延时50us{OUTPUT =0x11;time(200);OUTPUT =0x22;time(200);OUTPUT =0x44;time(200);OUTPUT =0x88;time(200);ucMotorDrvPuls=0x11;OUTPUT =0x11;}/**************主程序********************/void main(){unsigned char ucTimes;time(100);position(); //步进电动机定位OUTPUT=0x0; //步进电动机停止time(100);P1=0xff; //P1口输入,首先置全1while(1){ucTimes=(P1^0x0f)&0x0f; //读P1口低4位并取反if(!STARTUP){ //启动/停止开关=0,启动if(FORREV){ //正转/反转开关=1,正转OUTPUT= ucMotorDrvPuls;//送正转控制信号ucMotorDrvPuls=_crol_( ucMotorDrvPuls,1);//计算下一个控制信号}else { //正转/反转开关=0,反转OUTPUT= ucMotorDrvPuls;//送反转控制信号ucMotorDrvPuls=_cror_( ucMotorDrvPuls,1); //计算下一个控制信号}time(380-ucTimes*16); //延时}else{ucMotorDrvPuls=0x11;//设置初始值}}}void delay_5us(void) //延时5us,晶振改变时只改变这一个函数{_nop_();_nop_();_nop_();_nop_();}/*delay_50us*/void delay_50us(void) //延时50us{unsigned char i;for(i=0;i<4;i++){delay_5us();}}/******************延时100us********************/void delay_100us(void) //延时100us{delay_50us();delay_50us();}/*延时单位:ms*/void time(unsigned int ucMs){unsigned char j;while(ucMs>0){for(j=0;j<10;j++)delay_100us();ucMs--;}}六、实验效果图。
单片机直流电机的驱动电路
直流电机是常用的电机类型之一,其驱动电路的设计对于电机的正常运行和控制至关重要。
对于单片机的直流电机驱动电路,一般可以采用H桥电路或PWM控制电路。
首先,简要介绍一下H桥电路。
H桥电路的形状类似于字母“H”,它由四个开关器件(如晶体管或MOSFET)组成。
通过控制开关器件的通断状态,可以改变电机两端的电压极性,从而实现电机的正转和反转。
在H桥电路中,可以采用单片机控制开关器件的通断状态,实现电机的启动、停止、正转和反转等操作。
另外,PWM控制也是一种常见的直流电机控制方法。
PWM控制通过调节电机两端的平均电压值来改变电机的转速,从而达到调速的目的。
在PWM控制电路中,可以采用单片机内部的PWM模块或者利用数字GPIO口进行PWM信号的输出。
通过调节PWM信号的占空比,可以控制电机两端的平均电压值,从而改变电机的转速。
综上所述,单片机在直流电机驱动电路中扮演着重要的角色,通过H桥电路或PWM控制电路可以实现电机的灵活控制。
在实际应用中,可以根据具体需求选择合适的驱动电路和控制方法。
1.实验目的根据前面所掌握的知识,综合设计一个小型的控制系统,由单个键盘按钮控制的点击控制电机的开关,并在LED上显示”RUN”表示开,显示”STOP”表示关。
用另外一个开关控制电机方向,LED灯亮表示电机反转,LED灯不亮,表示电机正转.2.实验环境(软件、硬件及条件)软件:PM plus , SM+for 78K0_kx2. WINDOWS XP3.实现内容:1实现键盘输入2 用LED显示”RUN”和“STOP”3 控制电机开关,控制电机方向4.实验原理原理图:8位定时器H0的框图PWM时序图:PWM输出模式中的操作过程在定时器开始计数后,当8 位定时器计数器H0 与CMP00 寄存器的值匹配时,TOH0 的输出取反电平且清零8 位定时器计数器H0。
当8 位定时器计数器H0 与CMP10 寄存器的值匹配时,取反TOH0的输出电平Fprs等于系统主时钟,主时钟等于内部高速震荡等于8MHZ。
定时器H0的时钟脉冲频率f=8*10^6/(2^2)(HZ);PWM的周期由CMP00寄存器决定。
TMHMD0=19D,PWM的周期=20/f.占空比由CMP10决定,CMP10值为9D。
占空比=(9+1)/(19+1)=50%硬件接口:.程序流程图:5.程序主要代码(完整代码在电子目录中)$IC (MatrixLED.H)VAR_STATIC DSEG SADDRSwitch_Flag: DB 1S_Counter: DB 1Dir_Flag: DB 1;----------------------------------------------------------------------------------Init_CSEG CSEG;==================================================================== ==============;Function Module:PowerReset;Input:;Output:;Internal Data:;Fuction:(1)CPU init; (2)PORT init; (3)RAM and REGISTER init; (4)Intterupt init; (5)16-bit timer init;;===================================================================== ============Start:NOPNOPNOPDIMOVW AX,#M_stack ; Stack setupMOVW SP,AX;+----------------------------------------------+;| Primary Hardwear Setup |;+----------------------------------------------+CALL !CPU_init ; CPU SETUPCALL !Port_init ; PORT SETUPCALL !INT_init ; INT SETUP;+----------------------------------------------+ ;| RAM Initialize |;+----------------------------------------------+CALL !RAM_init ; Ram setupCALL !KEY_LED_REG_init ;Ram setupCALL !MatrixLED_REG_init ; Ram setup;+----------------------------------------------+ ;| Timer Initialize |;+----------------------------------------------+ CALL !TimerH1_initCALL !TimerH1_startCALL !TimerH0_InitCALL !Dir_InitCALL !Var_InitEICALL !DISP_STOPCLR1 P1.4Main00:CALL !Soft_DelayCALL !Sw_CheckCALL !Dir_CheckBR $Main00DISP_RUN:MOV A,#11110101B;MOV P5,AMOV A,#11100001B;MOV P6,A;MOV A,#01100111B;MOV P4,A;RETDISP_STOP:MOV A,#00001010B;MOV P5,A;MOV A,#00011110B;MOV P6,A;MOV A,#00011111B;MOV P4,A;RETSoft_Delay:MOV S_Counter, #0FFHS_Delay_Wait:DBNZ S_Counter, $S_Delay_Wait MOV S_Counter, #00HRETSw_Check:BT P3.0, $S_Check_Ret;CALL !Soft_DelayMOV A, Switch_FlagBF A.0, $TAKE_OFFMOV Switch_Flag, #00HCALL !Dir_InitCALL !TimerH0_StartCALL !DISP_RUNBR $S_Check_RetTAKE_OFF:MOV Switch_Flag, #01HCALL !Dir_InitCALL !TimerH0_StopCALL !DISP_STOPS_Check_Ret:CALL !Soft_DelayRETDir_Init:MOV Dir_Flag, #00HCLR1 P1.4RETDir_Check:MOV A, Switch_FlagBT A.0, $Dir_Check_Ret ;CALL !Soft_DelayBT P3.1, $Dir_Check_Ret MOV A, Dir_FlagBF A.0, $Dir_1MOV Dir_Flag, #00HCLR1 P1.4BR $Dir_Check_RetDir_1:MOV Dir_Flag, #01H SET1 P1.4Dir_Check_Ret:;CALL !Soft_DelayRETTimerH0_Init:MOV TMHMD0, #00101001B MOV CMP00, #19DMOV CMP10, #9DRETTimerH0_Start:MOV CMP10, #9DSET1 TMHE0RETTimerH0_Stop:CLR1 TMHE0RETVar_Init:MOV Switch_Flag, #01H MOV Dir_Flag, #00H MOV S_Counter, #00H RETEND。
单片机步进电机实验报告单片机步进电机实验报告引言:步进电机是一种常见的电机类型,具有精准控制和高效能的特点,广泛应用于各种领域。
本实验旨在通过单片机控制步进电机的转动,探索步进电机的原理和应用。
一、实验目的本实验的目的是通过单片机控制步进电机的转动,深入了解步进电机的工作原理和控制方法。
二、实验原理步进电机是一种按照一定的步进角度进行转动的电机。
它通过电磁场的变化来驱动转子转动,具有高精度和高可靠性。
步进电机的原理主要包括两种类型:磁场定向型和磁场消除型。
在本实验中,我们将重点研究磁场定向型步进电机。
三、实验器材本实验所需的器材包括:步进电机、单片机开发板、电源、电路连接线等。
四、实验步骤1. 连接电路:将步进电机的相线分别连接到单片机开发板的输出引脚上,同时将电源连接到步进电机的电源输入端。
2. 编写程序:使用C语言编写单片机控制步进电机的程序,通过控制输出引脚的电平变化来实现步进电机的转动。
3. 烧录程序:将编写好的程序烧录到单片机开发板上。
4. 调试程序:通过调试程序,观察步进电机的转动情况,并进行必要的调整和优化。
5. 实验记录:记录步进电机的转动角度、转速、电流等相关数据,并进行分析和总结。
五、实验结果与分析通过实验,我们成功地实现了单片机对步进电机的控制。
通过调整程序中输出引脚的电平变化,我们可以控制步进电机的转动方向和速度。
在实验过程中,我们观察到步进电机的转动角度与输入信号的脉冲数目成正比,这与步进电机的工作原理相符。
六、实验总结本实验通过单片机控制步进电机的转动,加深了对步进电机的理解和应用。
步进电机作为一种精密控制设备,具有广泛的应用前景。
通过学习和实践,我们不仅掌握了步进电机的原理和控制方法,还培养了动手实践和解决问题的能力。
七、实验心得通过本次实验,我深刻认识到步进电机在自动化控制领域的重要性。
步进电机具有精确控制和高效能的特点,广泛应用于机械、电子、仪器仪表等领域。
在实验过程中,我不仅学到了理论知识,还通过实践掌握了步进电机的控制方法和调试技巧。