- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实物资料介绍
电机控制算法是否为PID算法?若不是是什么算法?
电机控制采用PID算法
电机型号?
42BYGH4417 42步进电机
相关技术手册配套给你
L298控制引脚逻辑组合与输出电流的关系,与电流方向的关系
恒压恒流桥式2A驱动芯片L298NL298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。表1是L298N功能逻辑图。
In3,In4的逻辑图与表1相同。由表1可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。
步进电机与L298连接方法
接L298的OUT1 OUT2 OUT3 OUT4
单片机与L298的连接方法
LED数码管型号 数码管显示电路
4位共阴数码管 详情见原理图
数码管段、位与控制端口的对应关系
详情见原理图
单片机与数码管连接模组平面图
详情见原理图
键盘输入模块按键功能说明
键盘用的程序
头文件:
#ifndef Key_H_
#define Key_H_
unsigned int Scan_Key(void);
#endif
子程序:
#include reg52.h
#include delay.h
#include Key.h
sbit key1=P3^5;
sbit key2=P3^4;
sbit key3=P3^6;
sbit key4=P3^7;
unsigned int Scan_Key(void)
{
unsigned int key;
if(key1==0||key2==0||key3==0||key4==0)
{
delay_ms(20);
if(key1==0||key2==0||key3==0||key4==0)
{
if(key1 == 0)
{
key=1;
}
else if(key2 == 0)
{
key=2;
}
else if(key3 ==0)
{
key=3;
}
else if(key4==0)
{
key=4;
}
while((key1==0)||(key2==0)||(key3==0)||(key4==0));
}
else key=0;
}
return key;
}
数码管程序
#include reg52.h
#define WEI P1
#define DUAN P0
void display(unsigned char x,unsigned int DATA);
unsigned char code shumawei[]={0x01,0x02,0x04,0x08};//对应四位数码管,位选
unsigned char code shumadu[]={0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};//0123456789
void display(unsigned char x,unsigned int DATA)
{
unsigned int DATA_X;
DATA_X=DATA;
if(x==0)//表示设定滴速
{ // |0x0f
WEI=shumawei[0];
DUAN=shumadu[0];
delay_ms(5);
}
else if(x==1)//表示实际滴速
{
WEI=shumawei[0];
DUAN=shumadu[1];
delay_ms(5);
}
WEI=shumawei[1];
P0=shumadu[DATA_X/100%10];
delay_ms(5);
WEI=shumawei[2];
P0=shumadu[DATA_X/10%10];
delay_ms(5);
WEI=shumawei[3];
P0=shumadu[DATA
文档评论(0)