栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

直流电机速度控制

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

直流电机速度控制

一﹑实验目的
1﹑了解单片机在实时控制系统中的应用和测量位置的基本原理﹑基本方法。2﹑掌握D/A﹑A/D电路的综合接口技术,提高实时控制系统的设计和调试能力。二﹑教学要求
1﹑利用现有硬件电路,构成直流电机测量位置系统;2﹑编制程序,定位和测量指针指示位置。
三﹑主要仪器设备
机电实验平台﹑步进电机,万用表﹑示波器,电脑四﹑实验内容
开发板上的步进电机驱动模块电路如下图所示:

 从上图中可以看出,该电路是独立的,芯片的输入通过J46端子提供,芯片的输出由J47端子引出。J46输入对应J47输出,而J47则是提供给外部连接电机的接口,可以支持直流电机﹑五线四相步进电机 28BYJ-48连接。由于该模块电路是独立的,所以使用任意单片机管脚都可以,这里使用P1.О管脚来控制ULN2003输出,即将P1.0管脚连接到J46的IN1,直流电机的两根线接J47端子的1﹑2脚即5V和 01。因此可通过单片机P1.0口输出高电平来控制电机旋转,输出低电源控制电机停止·注意:单片机 P1.0输出低电平时,ULN2003的 OUT1并不会输出高电平导致停止,而是因为集电极开路,导致电机无电流流入致使停止。
将交流电机的任意一脚接到J47的VCC,另上引脚接到J47的2脚OUT1上,将J46的IN1-IN4连接到P1.0-P1.3上,将JP1的K1-K4连接到P1.4-P1.7编写一程序,将PO口接到J8脚的a,b,c,d,e,f.g,dp 上,编写程序完成以下内容:
7)按1下K1,电机转动,电机转动后,按1下K1键,电机停止。

8)采用PWM控制电机转速,按下K2,电机转速增加О
9)采用PWM控制电机转速,按下K3,电机转速降低。5)电机工作时,分别在显示器上显示电机的PWM的占空比。

#include 
#include "Delay.h"
#include "Key.h"
#include "Nixie.h"
#include "Timer0.h"

sbit Motor=P1^0;

unsigned char Counter,Compare;	//计数值和比较值,用于输出PWM
unsigned char KeyNum,Speed;

void main()
{
	Timer0_Init();
	while(1)
	{
		KeyNum=Key();
		if(KeyNum==1)
		{
			Speed++;
			Speed%=4;
			if(Speed==0){Compare=0;}	//设置比较值,改变PWM占空比
			if(Speed==1){Compare=50;}
			if(Speed==2){Compare=75;}
			if(Speed==3){Compare=100;}
		}
		Nixie(1,Speed);
	}
}

void Timer0_Routine() interrupt 1
{
	TL0 = 0x9C;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值
	Counter++;
	Counter%=100;	//计数值变化范围限制在0~99
	if(Counter 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/892872.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号