第一部分STM8S系列微处理器应用基础...1
第1章STM8微处理器概述...1
1.1 STM8S系列...1
1.1.1 STM8S主要特点...1
1.1.2 STM8S主要应用...3
1.2 STM8L系列...3
1.2.1 STM8L主要特点...3
1.2.2 STM8L主要应用...5
1.3 STM8A系列...5
1.3.1 STM8A主要特点...5
1.3.2 STM8A主要应用...6
1.4 STM8芯片选型...7
1.4.1 芯片选型表...7
1.4.2 STM8微控制器网站...9
第2章STM8微处理器开发环境...11
2.1 STM8集成开发环境简介...11
2.1.1 ST TOOLSET.11
2.1.2 COSMIC.12
2.1.3 IAR.15
2.2 STM8开发工具...16
2.3 STM8程序设计...17
2.3.1 STVD汇编语言程序设计...17
2.3.2 COSMIC C语言程序设计...26
2.3.3 COSMIC C语言相关说明...30
2.3.4 IAR C语言程序设计...39
2.4 STM8烧录...52
2.4.1使用STVD烧录...52
2.4.2使用STVP烧录...54
2.5 STM8S固件库...58
2.5.1固件库简介...58
2.5.2压缩包描述...60
2.5.3文档和库规范...62
2.5.4使用举例...65
第3章STM8S硬件基础及实验例程...71
3.1 STM8S产品概述...71
3.1.1 模块框图及功能外设...71
3.1.2 中央处理单元...75
3.1.3 Flash程序存储器和数据EEPROM..76
3.1.4 单线接口模块和调试模块...77
3.1.5 中断控制器...78
3.1.6 选项字节...85
3.2 STM8S硬件基础...86
3.2.1 STM8S最小系统...87
3.2.2电源电路...90
3.2.3 GPIO接口电路...90
3.2.4 ADC接口电路...91
3.2.5串行接口电路...92
3.2.6STM8系统可靠性设计要点...93
3.3 时钟配置...96
3.3.1 STM8S时钟树...96
3.3.2时钟配置实现...99
3.4 GPIO应用实验...105
3.4.1实验要求...105
3.4.2GPIO内部结构...105
3.4.3相关寄存器配置...107
3.4.4参考程序...110
3.5 模数转换器应用实验...112
3.5.1实验要求...112
3.5.2 ADC方块图...112
3.5.3 ADC功能描述...115
3.5.4相关寄存器配置...119
3.5.5参考程序...124
3.6 定时器应用实验...126
3.6.1实验要求...126
3.6.2定时器概述...126
3.6.3TIM1时基单元...128
3.6.4相关寄存器配置...138
3.6.5参考程序...145
3.7 串行接口应用实验...147
3.7.1实验要求...147
3.7.2 UART框图...148
3.7.3相关寄存器配置...156
3.7.4参考程序...163
3.8 数据EEPROM存储器应用实验...166
3.8.1实验要求...166
3.8.2存储器组织结构...166
3.8.3 EEPROM编程模式...168
3.8.4参考程序...170
第二部分无刷直流电机理论基础...174
第4章无刷直流电机概述...174
4.1 常用电机分类及结构特点...174
4.1.1 异步电动机...174
4.1.2 直流电动机...176
4.1.3 步进电机...181
4.1.4 无刷直流电机...182
4.2 无刷直流电机的工作原理...184
4.2.1 三个基本定则...184
4.2.2 换相原理...188
4.2.3 工作原理...189
4.3 无刷直流电机转子位置传感器...192
4.3.1 霍尔传感器...192
4.3.2 光电编码器...194
4.4 无位置传感器的转子位置检测技术...196
4.4.1反电动势法...196
4.4.2其他检测方法...199
4.5 无刷直流电机的数学模型...199
4.6 无刷直流电机的运行特性...200
4.6.1 起动特性...201
4.6.2 工作特性...202
4.6.3 机械特性...203
4.6.4 调速特性...204
4.6.5 转矩转速特性...204
4.7 无刷直流电机应用...205
4.7.1 选择合适的电机参数...205
4.7.2 典型的BLDC电机应用...206
第5章无刷直流电机控制技术...208
5.1无刷直流电机换相控制...208
5.1.1六步梯形换相...208
5.1.2 BLDC换相电路...210
5.1.3有感BLDC换相控制逻辑...211
5.2无刷直流电机调压策略...214
5.2.1晶闸管移相调压...214
5.2.2 DC/DC变换器调压...215
5.2.3 PWM换相调压...215
5.3无感BLDC的转子位置检测...218
5.3.1无感BLDC换相...219
5.3.2传统反电动势法...220
5.3.3全数字反电势法...222
5.4无感BLDC的“三段式”起动...225
5.5 PID控制原理...226
5.5.1模拟PID控制原理...226
5.5.2位置式PID算法...229
5.5.3增量式PID算法...230
5.5.4控制器参数整定...231
5.5.5参数调整规则探索...232
5.6无刷直流电机转速单闭环控制...233
5.6.1转速信号的采集和处理...233
5.6.2电机启动及转速调节策略...234
5.7无刷直流电机转速电流双闭环控制...234
5.7.1调节器参数工程设计方法...235
5.7.2 BLDCM双闭环系统计算实例及simlink仿真...241
第三部分基于STM8S的BLDC控制应用实例...246
第6章有感无刷直流电机控制实例...246
6.1 方案设计...246
6.1.1 系统功能...246
6.1.2 整体框架设计...246
6.2 定时器的应用...247
6.2.1 高级定时器输出模式...248
6.2.2 通用定时器输入模式...263
6.3 I/O分配及选项字节配置...272
6.3.1 I/O口功能分配...272
6.3.2 选项字节配置...273
6.4 硬件电路设计...275
6.4.1 主控板电路原理及SCH设计...275
6.4.2 功率板电路原理及SCH设计...277
6.4.3 PCB设计及成品...283
6.5 软件进阶设计实例...286
6.5.1 输出PWM信号实验...286
6.5.2 电机基本运转实验...290
6.5.3 实现电机的启停和调速控制...302
6.5.4 增加人机界面程序...310
6.5.5 实现电流采集与保护...314
6.5.6 实现电机的速度闭环运转...321
第7章无感无刷直流电机控制实例...333
7.1 基本功能需求...333
7.2 整体方案设计...333
7.3 MCU功能概述...334
7.3.1 MCU特性简介...334
7.3.2 MCU内部功能框图...334
7.3.3 MCU封装及引脚...335
7.4 I/O分配及选项字节配置...336
7.4.1 I/O分配...336
7.4.2选项字节配置...338
7.5 硬件电路设计...339
7.5.1 整机电路...339
7.5.2 MCU系统电路...341
7.5.3 电源及电压检测电路...342
7.5.4 驱动与功率系统电路...344
7.5.5 反电动势过零点检测电路...346
7.5.6 电流检测与过流保护电路...348
7.5.7 各种接口电路...349
7.6 设计成品...349
7.7 软件进阶实例...350
7.7.1 电机延时运转...351
7.7.2 电机霍尔换相运转...357
7.7.3 反电动势换相...368
7.7.4 三段式起动设计...370
7.7.5 无感方式的电机基本运转...370
7.7.6 电机开环调速及电流采集与保护...379
7.8无感BLDC电机监控系统...393
7.8.1 监控系统功能设计...393
7.8.2 上位机界面设计...394
7.8.3 上下位机通讯设计...396
7.8.4 下位机编程思路...399
7.8.5 参考例程...400
7.8.6 功能测试...400
第四部分基于STM8MC-KIT V1.0电机控制软件的BLDC应用...403
第8章STM8MC-KIT V1.0电机库运行原理...403
8.1 STM8MC-KIT V1.0简介...403
8.1.1 STM8SMC-KIT V1.0库概述...403
8.1.2 STM8S系列微处理器性能描述...403
8.1.3 BLDC软件库V1.0功能...404
8.2 STM8S BLDC控制入门...404
8.2.1 BLDC电机原理入门...404
8.2.2 转子速度测量...406
8.2.3 换向延迟和退磁时间...407
8.2.4 BEMF过零点检测...408
8.2.5 快速退磁...411
8.2.6 指定延迟曲线系数...413
8.2.7 无感启动策略...414
8.2.8 主动制动...415
8.3 STM8MC-KIT V1.0人机接口...416
8.3.1 用户界面结构...416
8.3.2 欢迎帮助菜单...417
8.3.3 主菜单-目标速度和测量速度...417
8.3.4 用户界面子菜单-子菜单概述...418
8.3.5 子菜单-上升下降延迟系数...419
8.3.6 子菜单-电流参考值和占空比...419
8.3.7 子菜单-配置速度调节器...420
8.3.8 子菜单-退磁时间更改...421
8.3.9 子菜单-显示电流电压温度值...421
8.3.10子菜单-其他选项...421
8.3.11子菜单-故障信息...422
8.4 STM8MC-KIT V1.0固件入门...423
8.4.1 应用状态机...423
8.4.2 库结构...425
8.4.3 低层控制...427
8.4.4 高层控制...436
8.5 定义BLDC软件库参数文件...438
8.5.1 BLDC配置文件(MC_BLDC_conf.h)...439
8.5.2 BLDC电机参数(MC_BLDC_Motor_Param.h)...439
8.5.3 BLDC驱动控制参数(MC_BLDC_Drive_Param.h)...439
8.5.4 HALL传感器参数(MC_hall_param.h)...444
8.5.5 控制级参数(MC_ControlStage_param.h)...444
8.5.6 功率级参数(MC_PowerStage_Param.h)...445
8.5.7 微处理器时钟定义(MC_stm8s_clk_param.h)...447
8.5.8 微处理器BLDC驱动参数(MC_stm8s_BLDC_param.h)...448
8.5.9 端口引脚定义参数(MC_stm8s_port_param.h)...450
8.5.10 霍尔参数微控制器接口(MC_stm8s_hall_param.h)...450
8.6 库函数描述...451
8.6.1 函数描述格式...451
8.6.2 高层MC模块...451
8.6.3 低层MC模块...456
第9章基于STM8MC-KIT平台的电机库运行实现...458
9.1开发平台简介...458
9.2 I/O分配及选项字节配置...460
9.2.1 I/O口功能分配...460
9.2.2 选项字节配置...462
9.3 主控板电路设计...462
9.3.1 核心板电路设计...463
9.3.2 底板电路设计...464
9.3.3 显示接口设计...470
9.4 功率板电路设计...471
9.4.1 电机接口电路...471
9.4.2 控制电源电路...472
9.4.3 电压检测及反电动势处理电路...473
9.4.4 驱动及功率电路...474
9.4.5 电流检测与过流保护电路...476
9.4.6 其他功能电路...477
9.5 电机库软件实现...478
9.5.1 电机库移植...478
9.5.2 霍尔传感器控制...479
9.5.3 无霍尔传感器控制...479
9.5.4 PID运算控制...479
9.5.5 运行演示...479
9.5.6 STM8电机控制库配置软件...480
第10章 电机控制系统开发调试经验谈...482
10.1 安全注意事项...482
10.1.1 确保人身安全...482
10.1.2 安全措施...483
10.2 可靠性设计经验概述...485
10.2.1 自上而下、循序渐进的设计原则...486
10.2.2 电路可靠性设计要点...486
参考文献...488