单片机第1季:零基础学51单片机-电机介绍

这篇学习资料详细介绍了电机的基础知识,包括交流电机、直流电机和步进电机。重点讲解了直流电机的工作原理和驱动问题,强调了不能直接使用IO口驱动电机。此外,还深入探讨了步进电机的步距角、相数、控制器和驱动器,并提供了接线和编程实践。通过单片机控制步进电机的单相四拍方式驱动,演示了如何通过编程控制电机的转向和速度。
摘要由CSDN通过智能技术生成

学习目标:

1.常见电机介绍
2.直流电机
3.步进电机
4.编程实践


学习内容:

1)常见电机
( 1 ) 交流电机: 两相、三相
( 2 ) 直流电机: 永磁、励磁
( 3 ) 步进电机、伺服电机
2) 直流电机详解
( 1 ) 外观
( 2 ) 接线和工作原理
( 3 ) 直流电机的驱动问题: 不能用IO口直接驱动
直流电机实验
( 1 ) 直流电机直接接在开发板的主板的vcc 和GND 引出接口上看电机是否转动, 还可以调换VCC 和GND 看电机是否反转了。
( 2 ) 单片机的IO口是数字口,本身的驱动能力非常小(最多20mA级别),这个驱动能力是带不动电机的。
3)步进电机
( 1 ) 外观
( 2 ) 功能特点
( 3 ) 操作接口
步距角: 步长
( 1 ) 步进电机有一个固有步距角, 这个参数和步进电机本身有关。
( 2 ) 步进电机一般情况下只能以固有步距角的整数倍来运动, 这一个固有步距角的移动就叫一个节拍:
( 3 ) 电机还有个可以比固有步距角更小的运动方法, 这种方法叫细分, 由电机驱动器来支持的。
相数:相数越多,越容易细分
控制器和驱动器
( 1 ) 一套步进电机的系统需要三部分: 控制器+ 驱动器+ 步进电机
( 2 ) 一般情况下: 控制器就是单片机, 驱动器一般是接在单片机的IO口上面的专用电机驱动芯片( 譬如我们开发板上的TC1508S )
( 3 ) 控制器负责产生时序信号,驱动器负责将时序信号转成功率驱动信号给步进电机用。
步进电机
原理图分析
( 1 ) 原理图中INA 、INB 、INC 、IND 将来要接单片机的IO口, 单片机是做控制器的,单片机的IO口给驱动器芯片输入1 或者0 的控制信号, 控制信号经过TC1117 的转换, 从OUTA 、OUTB、OUTC、OUTD 四个脚输出具有驱动步进电机能力的驱动信号。
( 2 ) 接线: 譬如可以用po 端囗的4 个引脚( 我实际用P0.0 一P0.3) 接INA 、INB 、INC 、IND
( 3 ) 输出端本来符号是OUTA 、OUTB 、OUTC 、OUTD , 但是开发板上实际丝印的符号是; A- 、A+ 、B-、B+ 。所以这里面有个对应关系: OUTA 对应A- 、OUTB 对应A+ 、OUTC 对应B- 、OUTD 对应B+,
( 4 ) 丝印符号改变主要是为了对应步进电机上面的符号, 让我们方便接线不会接错。
( 5 ) 结合之前讲的步进电机的原理, 可知: A -和A + 是一个相线线圈的2 端, B -和B + 是另一个线圈。
4)编程实践
接线
( 1 ) P0端口的P0.0-P0.3接电机驱动芯片TC1508S的4个输入端
( 2 )TC1508S的4个输入端接步进电机(按照符号相对应)
( 3 ) 根据上面的接线,实际得到的接线逻辑是:P0.0和P0.1对应一组线圈,而P0.2和P0.3对应一组线圈
单相四拍方式驱动
( 1 ) 时序编程 A- B A B-
( 2 ) 转速控制,转速是由脉冲信号的频率控制的,其实就是delay控制的。
( 3 ) 正传和反转 ,改变时序的方向。

#include<reg51.h> 		//头文件包含

sbit APositive = P0^0;
sbit ANegetive = P0^1;
sbit BPositive = P0^2;
sbit BNegetive = P0^3;

void delay(unsigned char i)
{
	 unsigned char a,b;
	 for(a=i;a>0;a--)
	 	for(b=240;b>0;b--);


}
void main(void)
{
	while(1)
	{
		//循环内实现一个周期
		//一个周期其实就是各个节拍依次排列构成的,注意节拍之间要延时
		//单项4拍//时序编程
		APositive = 0;
		ANegetive = 1;
		BPositive = 0;
		BNegetive = 0;
		delay(30);

		APositive = 0;
		ANegetive = 0;
		BPositive = 1;
		BNegetive = 0;
		delay(30);

		APositive = 1;
		ANegetive = 0;
		BPositive = 0;
		BNegetive = 0;
		delay(30);

		APositive = 0;
		ANegetive = 0;
		BPositive = 0;
		BNegetive = 1;
		delay(30);
	}	
}


学习时间:

提示:这里可以添加计划学习的时间

例如:

  • 周一至周五晚上 7 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

提示:这里统计学习计划的总量

例如:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值