STM32物联网项目-双极性步进电机
双极性步进电机
双极性的意思是通过线圈的电流有两个方向
电流方向
A+ 流向 A-或者A- 流向 A+
B+ 流向 B-或者B- 流向 B+
驱动方式
与单极性的步进电机一样,有三种驱动方式,单四拍、双四拍、八拍
A+表示电流从A+流向A-,A-表示电流从A-流向A+
因为单四拍的步距角是7.5度,也就是说按A+,B+,A-,B-这样线圈通电顺序就可以让步进电机转动7.5度,又因为该步进电机没有减速比,所以360/7.5 = 48,48个这样的单四拍就可以让电机转动一圈,双四拍的同理
八拍步距角是3.75度,360/3.75 = 96,所以在八拍的驱动方式下,步进电机转一圈要96个这样的八拍脉冲
程序
与单极性步进电机的程序差不多,在驱动方式上和转一圈所需的脉冲数不同
一个四拍或八拍都是让线圈轮流通电,若脉冲是A+,就让A+引脚输出高电平,A-引脚输出低电平,这样电流就从A+流向了A-,驱动转子转动
A1 = A+,A2 = A-
/** @name Step_One_Pulse* @brief 步进电机步进一个脉冲* @param Speed_Change -> 速度变化* @retval None
*/
static void Step_One_Pulse(void)
{static uint8_t Position = 0;//单四拍if(Bipolar_Step_Motor.Drive_Mode == Drive_Mode_Single_4_Beats){if(Bipolar_Step_Motor.Direction == Forward_State){//正向步进 A1 - B2 - A2 - B1switch(Position){case 0: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 1: CLR_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;case 2: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 3: CLR_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;default: System.Error_Handler();}}else{//反向步进 A1 - B1 - A2 - B2switch(Position){case 0: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 1: CLR_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 2: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 3: CLR_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;default: System.Error_Handler();}}//更新位置信息if((++Position) == 4)Position = 0;}//双四拍if(Bipolar_Step_Motor.Drive_Mode == Drive_Mode_Double_4_Beats){if(Bipolar_Step_Motor.Direction == Forward_State){//正向步进 A1B2 - B2A2 - A2B1 - B1A1switch(Position){case 0: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;case 1: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; SET_Motor_B2; break;case 2: CLR_Motor_A1; SET_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 3: SET_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;default: System.Error_Handler();}}else{//反向步进 A1B1 - B1A2 - A2B2 - B2A1switch(Position){case 0: SET_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 1: CLR_Motor_A1; SET_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 2: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; SET_Motor_B2; break;case 3: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;default: System.Error_Handler();}}//更新位置信息if((++Position) == 4)Position = 0;}//单八拍if(Bipolar_Step_Motor.Drive_Mode == Drive_Mode_8_Beats){if(Bipolar_Step_Motor.Direction == Forward_State){//正向步进 A1 - A1B2 - B2 - B2A2 - A2 - A2B1 - B1 - B1A1switch(Position){case 0: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 1: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;case 2: CLR_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;case 3: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; SET_Motor_B2; break;case 4: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 5: CLR_Motor_A1; SET_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 6: CLR_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 7: SET_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;default:System.Error_Handler();}}else{//反向步进 A1 - A1B1 - B1 - B1A2 - A2 - A2B2 - B2 - B2A1switch(Position){case 0: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 1: SET_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 2: CLR_Motor_A1; SET_Motor_B1; CLR_Motor_A2; CLR_Motor_B2; break;case 3: CLR_Motor_A1; SET_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 4: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; CLR_Motor_B2; break;case 5: CLR_Motor_A1; CLR_Motor_B1; SET_Motor_A2; SET_Motor_B2; break;case 6: CLR_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;case 7: SET_Motor_A1; CLR_Motor_B1; CLR_Motor_A2; SET_Motor_B2; break;default:System.Error_Handler();}}//更新位置信息if((++Position) == 8)Position = 0;}
}
电机转一圈的脉冲次数也不同
如果是四拍,则步进电机转一圈需要这样的四拍48次
如果是八拍,则转一圈需要这样的八拍96次
//定义结构体类变量
Bipolar_Step_Motor_t Bipolar_Step_Motor =
{Stop_State,Forward_State,Speed_6,0,//Drive_Mode_Single_4_Beats,Drive_Mode_Double_4_Beats,//Drive_Mode_8_Beats,0,(uint8_t)48, //4拍,一圈转48次//(uint8_t)96, //8拍,一圈转96次Direction_Adjust,Speed_Adjust,Step_One_Pulse
};
STM32物联网项目-双极性步进电机相关推荐
- STM32物联网项目-单极性步进电机28BYJ-48
单极性步进电机 极性 单极性--电流只有一个方向--用ULN2003A驱动,比较简单 双极性--电流有两个方向--需要桥路驱动 典型的步进电机分类 两相式步进电机 低速下扭矩比较大 驱动方式多,控制比 ...
- 永磁双极性步进电机原理
1.双极性步进电机的构造 双极性步进电机每个绕组都可以实现两个方向通电,故各绕组的某一端既可以是N极也可以是S极.因为它有两组独立的线圈,所有还被称为两相步进电机,结构如图1所示: 图1.双极性步进电 ...
- STM32物联网项目-HMI串口屏
HMI串口屏实验 串口屏 屏幕使用的是淘晶池的串口屏,显示内容可以通过官方上位机来编辑,屏幕学习平台:http://wiki.tjc1688.com/doku.php?id=start 通信原理:屏幕 ...
- STM32物联网项目-DAC输出模拟量以及正弦波
DAC输出正弦波 DAC介绍 STM32 的 DAC 模块(数字/模拟转换模块)是 12 位数字输入,电压输出型的 DAC.DAC 可以配置为 8 位或 12 位模式,也可以与 DMA 控制器配合 ...
- STM32物联网项目-ADC采集实验板板温度(NTC热敏电阻)
STM32 ADC采集板载温度 STM32 ADC简介 STM32 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用, 也可以使用双重模 ...
- STM32物联网项目-SPI FLASH编程
SPI编程--读写Flash芯片(W25Q64JV) FLASH芯片介绍--W25Q64JV W25Q64JV的芯片手册是英文的,用软件翻译了一下,有些地方翻译得不准确,大概了解一下即可,例如芯片的工 ...
- STM32物联网项目-RTC时钟
RTC时钟 RTC简介 实时时钟是一个独立的定时器.RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能.修改计数器的值可以重新设置系统当前的时间和日期. RTC模块和时钟配置系 ...
- STM32物联网项目-通过ESP12S模块连接TCP服务器
通过ESP12S模块连接TCP服务器 可参考STC15实战的WiFi通信:http://t.csdn.cn/Aw0Uc ESP-12S模块 引脚功能定义 实验目标 STM32通过串口与ESP-12S模 ...
- STM32物联网项目-低功耗模式
低功耗模式 电源框图 VDD供电区域一般为2V ~ 3.6V,经过电压调节器可降压到1.8V给CPU核心.存储器和内置数字外设供电,为了降低CPU的功耗, 后备供电区域可由电池供电,输入引脚为VBAT ...
最新文章
- 自定义注解:通过监控文件的变化,实时更改工厂管理的实例
- C++for循环中i++与++i的区别
- 安卓app 获取view的id_隐私保护问题不小 研究表示1325个安卓APP未经授权获取用户数据...
- c gui qt 4编程第二版_面试官问Linux下如何编译C程序,如何回答?为你编译演示
- Android ANR视角InputDispatcher
- 支撑200并发_搞清楚系统到底怎样支撑高并发以及架构图的绘制(面试向)
- Atitit 验证 数字验证 非空验证的最佳算法 h5
- 利用tensorFlow api 识别手术器械
- getch方法_如何实现getch()函数的功能
- 项目管理基础:9.项目人力资源管理
- 【总结】1147- 一文吃透 Webpack 核心原理
- python word 英语音标_(完整word版)英语音标大全
- [后端开发]支付宝支付接口调试 (Python v3.6)
- 双人联机五子棋html代码,双人联机聊天或五子棋游戏设计【高手请进】
- 第8周项目5:定期存款利息计算器
- 翟菜花:作为一个开发者 我为什么更看好搜索+小程序
- docx文件格式转PDF格式
- 算法模版:模拟数据结构之绪论【沈七】
- 数据点太多matlab曲线较粗,matlab数据太多怎么拟合曲线
- Android一键锁屏代码
热门文章
- 【问题解决】HOST_JUJU_LOCK_PERMISSION 。。
- 推荐JSON-handle谷歌插件
- 走入SVG-姜威-专题视频课程
- 计算机电源维修tny279,电源管理芯片TNY279P
- vue.nextTick()方法的使用详解(简单明了)
- 水平、垂直居中布局大全
- MATLAB画三维墨西哥草帽图,数字图像处理之图像分割-20210401063921.ppt-原创力文档...
- 上海店宝宝:电商靠谱助力农产品出村进城
- 跨考计算机复试自我介绍,跨考生复试自我介绍
- 2016中国联通电信4K智能机顶盒白皮书