主程序:
//<<AICUBE_USER_HEADER_REMARK_END>>
#include "config.h" //默认已包含stdio.h、intrins.h等头文件
//<<AICUBE_USER_INCLUDE_BEGIN>>
// 在此添加用户头文件包含
#include "key.h"
//<<AICUBE_USER_INCLUDE_END>>
//<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
// 在此添加用户全局变量定义、用户宏定义以及函数声明
#define DC_MOTORP10
//<<AICUBE_USER_GLOBAL_DEFINE_END>>
////////////////////////////////////////
// 项目主函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void main(void)
{
//<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
// 在此添加用户主函数初始化代码
u8 key=0;
//<<AICUBE_USER_MAIN_INITIAL_END>>
SYS_Init();
//<<AICUBE_USER_MAIN_CODE_BEGIN>>
// 在此添加主函数中运行一次的用户代码
DC_MOTOR = 0 ;
//<<AICUBE_USER_MAIN_CODE_END>>
while (1)
{
USBLIB_OUT_Done(); //查询方式处理USB接收的数据
//<<AICUBE_USER_MAIN_LOOP_BEGIN>>
// 在此添加主函数中用户主循环代码
key = KEY_Scan(0); //mode=0 单击 mode=1 长按
if(key==KEY1_PRESS)
{
DC_MOTOR = !DC_MOTOR ;
}
//<<AICUBE_USER_MAIN_LOOP_END>>
}
}
实验结果:
按键也很正常:
13.1-步进电机实验-介绍
直流电机我们可以控制转速和转动方向,但无法控制具体转过的角度
1.步进电机简介
2.步进电机工作原理
3.步进电机技术指标
4.28BYJ-48步进电机简介
5.硬件设计
软件设计和 实验现象
1.步进电机简介
2.步进电机工作原理
转子是个永磁体,定子是线圈
定子磁场旋转一定的角度,转子会跟随定子的磁场旋转一样的角度,该角度称为步距角
步进电机的分类:
我们学习使用的是28BYJ48 是单极性的步进电机
是5线4相步进电机
②双极性步进电机驱动原理
可以加密:
单极性的公共端接电源正极
更细分的驱动原理:
A相和B相的电流大小不同,转动的角度就不同