野火STM32F103-MINI开发板用户手册

合集下载

stm32f103中文手册[9]

stm32f103中文手册[9]

stm32f103中文手册一、概述stm32f103是一款基于ARM Cortex-M3内核的32位微控制器,具有高性能、低功耗和高集成度等特点。

它适用于各种工业控制、消费电子、医疗设备、通信和汽车应用等领域。

stm32f103的主要特性有:主频可达72MHz的ARM Cortex-M3内核,支持Thumb-2指令集和嵌套向量中断控制器(NVIC)64KB至128KB的闪存(Flash)和20KB的静态随机存储器(SRAM)7个定时器,包括3个16位通用定时器、1个16位高级定时器、2个基本定时器和1个系统滴答定时器2个12位模数转换器(ADC),每个ADC有16个通道,可达1Msps的采样率2个数字模拟转换器(DAC),每个DAC有1个通道,可达1Msps的转换率3个通用同步异步收发器(USART),支持同步和异步模式,以及智能卡、IrDA和调制解调器接口2个串行外设接口(SPI),支持全双工和单向模式,以及多主机和多从机模式2个I2C总线接口,支持标准模式(100Kbps)、快速模式(400Kbp s)和快速模式+(1Mbps)1个USB 2.0全速设备接口,支持12Mbps的数据传输率1个CAN总线接口,支持标准帧和扩展帧格式,以及时间触发通信模式37到51个通用输入输出端口(GPIO),可配置为推挽或开漏输出,上拉或下拉输入,或者复用为其他外设功能7到12个外部中断线,可配置为上升沿、下降沿或双边沿触发3个电源管理模式,包括运行模式、睡眠模式和停止模式内部8MHz的高速内部振荡器(HSI),可作为系统时钟或PLL时钟的输入源外部4至16MHz的高速外部振荡器(HSE),可作为系统时钟或PLL 时钟的输入源内部40kHz的低速内部振荡器(LSI),可作为看门狗定时器或自动唤醒单元的时钟源外部32.768kHz的低速外部振荡器(LSE),可作为实时时钟或校准HSI的时钟源可编程电压检测器(PVD),可监测电源电压是否低于设定阈值,并产生中断或复位信号可选的温度传感器,可测量芯片内部温度,并通过ADC读取可选的备份域,包括4KB的备份SRAM和20个备份寄存器,可在断电后保持数据调试功能,包括串行线调试(SWD)接口和串行线观察(SWO)输出stm32f103有多种封装形式和引脚数目,如LQFP48、LQFP64、LQFP 100等。

STM32F103中文手册

STM32F103中文手册

2007年10月 第三版 第1页STM32F103x6STM32F103x8 STM32F103xB增强型,32位基于ARM 核心的带闪存、USB 、CAN 的微控制器7个定时器、2个ADC 、9个通信接口功能■ 核心− ARM 32位的Cortex™-M3CPU− 72MHz ,高达90DMips ,1.25DMips/MHz − 单周期硬件乘法和除法——加快计算 ■存储器− 从32K 字节至128K 字节闪存程序存储器 − 从6K 字节至20K 字节SRAM − 多重自举功能■时钟、复位和供电管理− 2.0至3.6伏供电和I/O 管脚− 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)、掉电监测器− 内嵌4至16MHz 高速晶体振荡器− 内嵌经出厂调校的8MHz 的RC 振荡器 − 内嵌40kHz 的RC 振荡器 − 内嵌PLL 供应CPU 时钟− 内嵌使用外部32kHz 晶体的RTC 振荡器 ■低功耗− 3种省电模式:睡眠、停机和待机模式 − VBAT 为RTC 和后备寄存器供电■2个12位模数转换器,1us 转换时间(16通道) − 转换范围是0至3.6V − 双采样和保持功能 − 温度传感器 ■ 调试模式− 串行线调试(SWD)和JTAG 接口 ■DMA− 7通道DMA 控制器− 支持的外设:定时器、ADC 、SPI 、I2C 和USART■多达80个快速I/O 口− 26/36/51/80个多功能双向5V 兼容的I/O 口 − 所有I/O 口可以映像到16个外部中断■ 多达7个定时器− 多达3个同步的16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM 或脉冲计数的通道− 16位6通道高级控制定时器− 多达6路PWM 输出 − 死区控制、边缘/中间对齐波形和紧急制动− 2个看门狗定时器(独立的和窗口型的) − 系统时间定时器:24位的、带自动加载功能的■ 多达9个通信接口− 多达2个I2C 接口(SMBus/PMBus)− 多达3个USART 接口,支持ISO7816,LIN ,IrDA 接口和调制解调控制− 多达2个SPI 同步串行接口(18兆位/秒) − CAN 接口(2.0B 主动) − USB 2.0全速接口 ■ ECOPACK ®封装(兼容RoHS )表一 器件列表 参 考基本型号STM32F103x6 STM32F103C6, STM32F103R6,STM32F103T6STM32F103x8 STM32F103C8, STM32F103R8,STM32F103V8, STM32F103T8STM32F103xB STM32F103RB, STM32F103VB,STM32F103C8初步信息1介绍本文给出了STM32F103xx增强型的订购信息和器件的机械特性。

MINI-STM32 开发板入门教程.

MINI-STM32 开发板入门教程.

MINI-STM32 开发板入门教程(一) 开发环境建立及其应用我们常用的 STM32 开发编译环境为 Keil 公司的 MDK (Microcontroller Development Kit) 和 IAR 公司的 EWARM.在这里我们提供了比较稳定的新版本编译软件下载:MDK3.50 点击此处下载EWARM 5.40 点击此处下载限于篇幅, 在我们的教程里面将先以 MDK 下的一个例子来介绍如何使用 MDK 进行嵌入式应用开发.MDK 安装与配置:基于 MDK 下的开发中基本的过程:(1) 创建工程;(2) 配置工程;(3) 用 C/C++ 或者汇编语言编写源文件;(4) 编译目标应用程序(5) 修改源程序中的错误(6) 测试链接应用程序----------------------------------------------------------------(1) 创建一个工程:在 uVision 3 主界面中选择 "Project" -> "New uVision Project" 菜单项, 打开一个标准对话框选择好你电脑中的保存目录后, 输入一个你的工程名字后点确认.我们的工程中建了一个名字叫 "NewProject" 的工程.从设备库中选择目标芯片, 我们的 MINI-STM32 开发板使用的是 STM32F103V8T6, 因此选中 STMicrocontroller 下对应的芯片:ARM 32-bit Cortex-M3 Microcontroller, 72MHz, 64kB Flash, 20kB SRAM,PLL, Embedded Internal RC 8MHz and 32kHz, Real-Time Clock,Nested Interrupt Controller, Power Saving Modes, JTAG and SWD,3 Synch. 16-bit Timers with Input Capture, Output Compare and PWM,16-bit 6-ch Advanced Timer, 2 16-bit Watchdog Timers, SysTick Timer, 2 SPI, 2 I2C, 3 USART, USB 2.0 Full Speed Interface, CAN 2.0B Active, 2 12-bit 16-ch A/D Converter, Fast I/O Ports选择完芯片型号后会提示是否在目标工程中加入 CPU 的相关的启动代码, 如下图所示. 启动代码是用来初始化目标设备的配置, 完成运行的系统初始化工作, 因此我们选择 "是" , 这会使系统的启动代码编写工作量大大减少.----------------------------------------------------------------(2) 配置工程:选择菜单中 "Project" -> "Option for Target" 或者选择快捷菜单中的图标:因为 MINI-STM32 开发板上使用的就是 8M 的晶振且是使用的片内的 RAM 和 ROM 因此"taget" 下我们都可以使用默认的配置;在"Output"菜单下我们需要选中 "Creat Hex File" 来生成编译好的工程代码, 此工程可以通过仿真器或者串口 ISP 烧录进开发板中.注: ISP 烧录过程我们将在入门教程二中给大家介绍."Listing" "User" 菜单中我们保持默认即可."C/C++" 菜单为我们常用的菜单, 这里简单的介绍下他们的具体功能:PreProcesser Symbols 中的 Define, Undefine 菜单表示是工程的宏定义中的变量, 我们将在今后的教程中详细介绍这个功能.Optimization 为优化选项, Level0 为不优化, 这种模式最适合调试, 因为不会优化掉代码, 基本每个用到的变量都可以打断点. Level3 为优化等级最高, 最适合生产过程中下载到芯片中的代码.Include Path 为工程中的包含路径, 一般需将 .h 文件或者库文件的地址配置进去."Asm" 和 "Link" 将在今后的高级教程中介绍."Debug" 为我们调试使用的配置选项, "Use Simulator" 为使用软件仿真. 这里根据大家手里的仿真器来选择配置环境.如果你使用的是 Ulink, 那么就选择 "Ulink Cotex Debug", 如果你选择的是 JLINK, 那么就选择 " Cotex M3 Jlink", 如果你使用的是 ST 公司出的简易仿真器 ST-Link , 那么你就选择 "ST-Link Debug".注意: 右边当中的选项 "Run to main{}" 选项如果勾上就表示仿真时进入了就会进入到main 函数, 如果没有选上就会进入初始地址, 你需要自己打断点运行到你的主程序 main 处.当插上仿真器后选择上面右图中的 Setting 后会跳出一个仿真器的配置菜单. 左边会自动识别出你的仿真器的信息.如下图为 ULINK2 的信息:对于 SWJ 选项为三线制调试, 将在后面的高级教程中介绍.右下方有两个选项:"Verify Code Download" : 表示下载后校验数据"Download to flash": 表示当仿真的时候先将目标代码下载到 Flash 中.Trace 菜单为跟踪配置, 可以实时的将一些变量使用曲线的形式实时表示出来, 我们将在今后的高级教程中介绍这一项功能.注意: 市面上目前的盗版 Ulink2 不支持这项功能, 正版的支持, Jlink 也不支持这项功能."Flash Download" 菜单用来配置使用仿真器程序下载的配置选项, 大家务必选择好和你芯片配套的选项. 如果你是使用的别人模板下修改为你的工程, 这个选项请注意一下, 如果不正确将不能将你的代码下载到芯片中.配置好 "Debug" 后, 那么 "Utilities" 可以不用配置.如果你使用的是仿真器仿真, 在你已经正确得将目标板和仿真器建立了物理连接后, 请选择正确的仿真器进行配MINI-STM32 开发板入门教程 (二) ISP 在线下载程序ISP:in system programming简介:ISP: 用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统;应用场合: 1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了;ISP的实现一般需要很少的外部电路辅助实现,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。

野火电机应用开发实战指南说明书

野火电机应用开发实战指南说明书

[野火]电机应用开发实战指南—基于STM32EmbedFire野火电子2022年03月14日Contents关于本项目 (1)关于野火 (2)开源共享,共同进步 (2)联系方式 (2)快速参与本项目(提交bug或文档修改) (3)轻度参与,提交issue (3)深度参与,提交pull request (3)第1章前言 (4)1.1关于本书 (4)1.2本书的参考资料 (4)1.3本书的配套硬件 (5)第2章为什么学习电机应用开发? (9)第3章如何学习电机应用开发? (10)3.1需要掌握的技能 (10)3.2推荐书单 (11)第4章电机的分类介绍 (12)4.1电机的简介 (12)4.2电机的分类 (12)4.2.1直流电机 (12)4.2.2步进电机 (14)4.2.3伺服电机 (15)4.2.4舵机 (17)第5章驱动器的分类 (18)5.1有刷电机驱动器 (18)5.2无刷电机驱动器 (18)5.3步进电机驱动器 (19)5.4伺服电机驱动器 (21)论坛:https:// i天猫:https://第6章stm32定时器详解 (22)6.1定时器与电机的关系 (22)6.2TIM-基本定时器 (23)6.2.1TIM简介 (23)6.2.2基本定时器 (25)6.2.3基本定时器功能框图 (25)6.2.4基本定时器定时实验 (28)6.3TIM-高级定时器 (34)6.3.1高级控制定时器 (34)6.3.2高级控制定时器功能框图 (35)6.3.3定时器初始化结构体详解 (55)6.3.4PWM互补输出实验 (60)6.3.5PWM输入捕获实验 (67)6.3.6多通道输出比较实验 (78)第7章直流有刷电机 (87)7.1直流有刷电机工作原理 (88)7.2直流有刷减速电机几个重要参数 (90)7.3直流有刷电机驱动设计与分析 (91)7.3.1控制电路原理设计与分析 (91)7.3.2驱动芯片分析 (94)7.4直流有刷减速电机控制实现 (97)7.4.1速度控制原理 (97)7.4.2硬件设计 (98)7.4.3软件设计 (106)7.4.4下载验证 (116)第8章直流有刷驱动板电流电压采集 (118)8.1电流采样电路 (118)8.2电压采样电路 (121)8.3硬件连接 (122)8.3.1MOS管搭建驱动板 (122)8.4在STM32中实现电流电压采集 (123)8.4.1软件设计 (123)8.4.2软件分析 (124)8.4.3下载验证 (138)8.5在STM32中实现限电流-过压-欠压保护 (138)8.5.1软件设计 (139)8.5.2软件分析 (139)8.5.3下载验证 (146)第9章舵机控制 (149)9.1舵机分类 (149)9.2舵机结构 (150)9.3舵机工作原理 (151)9.4舵机控制原理 (151)9.5舵机几个参数介绍 (153)9.6舵机基本控制实验 (154)9.6.1硬件设计 (154)9.6.2软件设计 (155)9.6.3下载验证 (164)第10章步进电机 (166)10.1介绍 (166)10.2工作原理 (167)10.2.1步进电机极性区分 (168)10.2.2双极性步进电机驱动原理 (170)10.2.3单极性步进电机驱动原理 (174)10.2.4细分器驱动原理 (177)10.3技术指标术语 (178)10.3.1静态指标术语 (178)10.3.2动态指标术语 (179)10.4主要特点 (179)10.5驱动器简介 (180)10.5.1野火步进电机细分器介绍 (180)10.5.2模块引脚说明 (182)10.6步进电机基础旋转控制 (187)10.6.1硬件设计 (187)10.6.2软件设计 (188)10.6.3下载验证 (212)第11章无刷直流电机 (213)11.1直流无刷电机几个重要参数 (213)11.1.1额定电压 (213)11.1.2KV值 (214)11.1.3转矩与转速 (214)11.1.4最大电流和最大功率 (214)11.1.5槽极结构(N:槽数,P:极数) (215)11.1.6其他设计驱动需要的参数 (215)11.2直流无刷电机工作原理 (215)11.3直流无刷电机驱动设计与分析 (220)11.3.1控制电路原理设计与分析 (220)11.4直流无刷电机控制实现 (230)11.4.1速度控制原理 (230)11.4.2硬件设计 (232)11.4.3软件设计 (232)11.4.4下载验证 (252)第12章直流无刷驱动板温度电压采集 (253)12.1电源电压采样电路 (253)12.2温度采样电路 (254)12.3硬件连接 (256)12.3.1MOS管搭建驱动板 (256)12.4在STM32中实现温度和电源电压采集 (257)12.4.1软件设计 (258)12.4.2软件分析 (258)12.4.3下载验证 (271)12.5在STM32中实现温度-过压-欠压保护 (271)12.5.1软件设计 (272)12.5.2软件分析 (272)12.5.3下载验证 (280)第13章无刷有刷驱动板温度电压三相电流采集 (281)13.1电流采样电路 (281)13.2编程要点 (284)13.2.1软件分析 (285)13.2.2数据处理部分 (290)13.3主函数 (297)第14章编码器详解 (302)14.1编码器介绍 (302)14.1.1增量式编码器 (303)14.1.2绝对式编码器 (303)14.1.3混合式绝对式编码器 (303)14.2旋转编码器原理 (303)14.2.1增量式编码器原理 (304)14.2.2绝对式编码器原理 (307)14.3编码器基本参数 (309)第15章控制系统与电机的关系 (310)15.1什么是控制系统? (310)15.1.1自动控制系统的工作原理是什么? (310)15.2控制系统与电机有什么关系? (312)第16章PID算法的通俗解说 (314)16.1为什么使用PID? (314)16.2PID算法介绍 (314)16.3PID算法的离散化 (321)16.4位置式PID的C语言实现 (325)16.4.1编程要点 (325)16.4.2软件分析 (325)16.5增量式PID的C语言实现 (330)16.5.1编程要点 (331)16.5.2软件分析 (331)第17章PID控制器参数整定 (335)17.1PID参数整定方法 (338)17.1.1试凑法 (338)17.1.2临界比例法 (339)17.1.3一般调节法 (340)17.1.4采样周期选择 (341)17.2使用野火上位机整定PID (342)17.3在STM32下位机解析上位机协议 (344)17.3.1函数讲解说明 (344)17.3.2初始化函数 (345)17.3.3获取数据包 (347)17.3.4解析数据包并处理 (347)17.4将STM32数据同步到上位机 (357)17.5STM32下位机与上位机联调实例 (359)17.6野火PID调试上位机协议说明 (362)17.6.1指令格式详解 (362)17.6.2指令详解 (363)第18章编码器的使用 (370)18.1增量式编码器倍频技术 (370)18.2常用测速方法简介 (371)18.3STM32的编码器接口简介 (372)18.4编码器接口初始化结构体详解 (374)18.4.1TIM_Base_InitTypeDef (374)18.4.2TIM_Encoder_InitTypeDef (375)18.5减速电机编码器测速实验 (377)18.5.1硬件设计 (377)18.5.2软件设计 (378)18.5.3下载验证 (389)18.6步进电机编码器测速实验 (390)18.6.1硬件设计 (390)18.6.2软件设计 (390)18.6.3下载验证 (400)第19章直流电机速度环控制实现 (402)19.1硬件设计 (402)19.1.1L298N驱动板 (402)19.1.2MOS管搭建驱动板 (403)19.2直流电机速度环控制-位置式PID实现 (404)19.2.1软件设计1 (404)19.2.2软件分析1 (405)19.2.3下载验证1 (419)19.3直流电机速度环控制-增量式PID实现 (420)19.3.1软件设计2 (420)19.3.2软件分析2 (421)19.3.3下载验证2 (423)第20章直流电机电流环控制实现 (425)20.1硬件设计 (425)20.1.1MOS管搭建驱动板 (425)20.2直流电机电流环控制-位置式PID实现 (426)20.2.1软件设计1 (426)20.2.2软件分析1 (427)20.2.3下载验证 (435)20.3直流电机电流环控制-增量式PID实现 (436)20.3.1软件设计2 (436)20.3.2软件分析2 (437)20.3.3下载验证 (439)第21章直流电机位置环控制实现 (441)21.1硬件设计 (441)21.1.1L298N驱动板 (441)21.1.2MOS管搭建驱动板 (442)21.2直流电机位置环控制-位置式PID实现 (443)21.2.1软件设计 (443)21.2.2软件分析 (444)21.2.3下载验证 (457)21.3直流电机位置环控制-增量式PID实现 (458)21.3.1软件设计 (458)21.3.2软件分析 (459)21.3.3下载验证 (461)第22章有刷电机多环控制实现 (463)22.1硬件设计 (464)22.1.1MOS管搭建驱动板 (464)22.2直流电机速度环、电流环、位置环三环串级PID控制-位置式PID实现 (465)22.2.1软件分析 (465)22.2.2软件设计 (465)22.2.3下载验证 (481)第23章步进电机速度环控制实现 (483)23.1步进电机闭环控制原理概述 (483)23.2硬件设计 (484)23.3步进电机速度闭环控制–增量式PID (484)23.3.1软件设计 (484)23.3.2实验现象 (496)23.4步进电机速度环控制–位置式PID (497)23.4.1软件设计 (498)23.4.2实验现象 (505)第24章步进电机位置环控制实现 (506)24.1硬件设计 (506)24.2步进电机位置闭环控制–增量式PID (506)24.2.1软件设计 (506)24.2.2实验现象 (518)24.3步进电机位置闭环控制–位置式PID (520)24.3.1软件设计 (520)24.3.2实验现象 (527)第25章步进电机位置速度双环控制实现 (528)25.1步进电机位置速度双闭环控制原理 (528)25.2硬件设计 (529)25.3步进电机位置速度双闭环控制–增量式PID (529)25.3.1软件设计 (529)25.3.2实验现象 (540)25.4步进电机位置速度双闭环控制–位置式PID (541)25.4.1软件设计 (541)25.4.2实验现象 (551)第26章步进电机梯形加减速实现 (553)26.1梯形加减速算法原理详解 (553)26.1.1算法特点 (554)26.1.2算法基础概念及方程 (555)26.1.3直线加减速模型解析 (557)26.1.4脉冲时间间隔的精确计算 (561)26.1.5加减速度与步数的关系 (564)26.1.6算法理论实现 (567)26.1.7中断状态区分 (574)26.2梯形加减速算法实现 (576)26.2.1硬件设计 (576)26.2.2软件设计 (576)26.2.3下载验证 (587)第27章步进电机S形加减速实现 (588)27.1S形加减速原理分析 (588)27.1.1“S”模型解析 (588)27.1.2算法理论实现 (590)27.2S形加减速算法实现 (594)27.2.1硬件设计 (594)27.2.2软件设计 (594)27.2.3下载验证 (604)第28章步进电机直线插补实现 (605)28.1插补运动简介 (605)28.1.1概念 (605)28.1.2常见插补方法简介 (606)28.2逐点比较法直线插补原理 (607)28.2.1偏差判别 (609)28.2.2坐标进给 (609)28.2.3偏差计算 (610)28.2.4终点判别 (611)28.3第一象限直线插补实验 (612)28.3.1硬件设计 (612)28.3.2软件设计 (612)28.3.3实验现象 (624)28.4任意象限直线插补 (624)28.4.1任意象限直线插补原理 (624)28.4.2任意象限直线插补实验 (625)第29章步进电机圆弧插补实现 (636)29.1逐点比较法圆弧插补原理 (636)29.1.1偏差判别 (636)29.1.2坐标进给 (637)29.1.3偏差计算 (638)29.1.4终点判别 (639)29.2第一象限逆时针圆弧插补实验 (639)29.2.1硬件设计 (639)29.2.2软件设计 (640)29.2.3实验现象 (653)29.3任意象限圆弧插补原理 (653)29.4任意象限双向圆弧插补实验 (655)29.4.1硬件设计 (656)29.4.2软件设计 (656)29.4.3实验现象 (673)第30章无刷电机速度环控制(BLDC) (674)30.1硬件设计 (674)30.2直流无刷电机速度环控制-位置式PID实现 (675)30.2.1软件设计1 (675)30.2.2软件分析1 (676)30.2.3下载验证1 (701)30.3直流无刷电机速度环控制-增量式PID实现 (702)30.3.1软件设计2 (702)30.3.2软件分析2 (703)30.3.3下载验证2 (705)第31章无刷电机位置环控制(BLDC) (707)31.1硬件设计 (707)31.2直流无刷电机位置环控制-位置式PID实现 (708)31.2.1软件设计1 (708)31.2.2软件分析1 (709)31.2.3下载验证1 (734)31.3直流无刷电机位置环控制-增量式PID实现 (735)31.3.1软件设计2 (735)31.3.2软件分析2 (736)31.3.3下载验证2 (738)第32章无刷电机双环控制(BLDC) (740)32.1硬件设计 (740)32.2直流电机速度环、位置环两环串级PID控制-位置式PID实现 (741)32.2.1软件分析 (741)32.2.2下载验证 (753)第33章ST FOC MC SDK5.x电机控制软件框架 (755)33.1总体软件架构 (755)33.2电机控制库文件 (756)33.3电机控制API (758)33.4软件执行流程 (760)第34章X-CUBE-MCSDK——安装与使用 (762)34.1X-CUBE-MCSDK软件获取与安装 (762)34.2STM32CubeMX软件安装 (763)34.2.1安装STM32CubeMX软件 (766)34.3ST Motor Control Workbench的使用 (771)34.3.1新建项目 (772)34.3.2参数配置 (775)34.3.3生成工程代码 (797)34.3.4修改工程源码 (797)34.3.5编译下载测试 (806)34.3.6无感模式 (810)34.3.7编码器模式 (813)第35章电机使用常见问题说明 (816)35.1Q:我应该在那里下载到最新的资料? (816)35.2Q:电机驱动板或主控板损坏后怎么办? (817)35.3Q:繁星开发板为何没有提供FOC例程? (817)35.4Q:使用PMSM(永磁同步电机)运行BLDC的六步换向方法的基础部分例程,需要注意什么? (817)35.5Q:为什么我烧录有刷电机例程后电机无法转起来? (817)35.6Q:为什么我烧录无刷电机FOC例程后电机无法转起来? (818)35.7Q:为什么使用主控板的ADC功能测试无刷驱动板的电源电压误差很大? (818)35.8Q:如何快速了解电机驱动板的使用方法? (819)35.9Q:配套的BLDC的反电势是正弦波还是梯形波? (819)35.10Q:反电势是梯形波的BLDC可以使用FOC驱动吗? (819)35.11Q:无刷驱动板上的LED分别代表什么意思? (819)35.12Q:板载的许多隔离芯片对通信有什么影响? (823)35.13Q:野火步进电机在售的有那些? (825)35.14Q:电机的力量有多大? (825)35.15Q:为什么拂晓开发板没有预留SPI接口? (825)35.16Q:配套的电机使用现象与例程描述不符合怎么办? (825)35.17Q:配套的电机主控板如何使用液晶屏? (826)35.18Q:我已经有非电机系列的野火STM32开发板,学习本教程一定要购买电机系列的开发板吗? (826)35.19Q:学习本教程需要那些前置知识? (826)35.20Q:如果我发现代码与文档有不恰当或者错误,该如何联系你们? (826)35.21Q:为什么打开FOC相关.ioc文件失败? (826)35.22Q:为什么烧录配套例程后Workbench无法打开串口上位机? (828)35.23Q:为什么安装了java后还是无法打开workbench? (828)35.24Q:模拟脉冲实验,开发板按键1现象不对怎么办? (829)35.25Q:我有个很棒的电机应用想法,但已经超过教程的内容,在那里可以得到更多帮助? (829)35.26(祝各位学习一切顺利) (829)版权说明 (830)本项目的github地址:https:///Embedfire-motor/ebf_motor_tutorial_stm32f407本项目的gitee地址:https:///Embedfire-motor/ebf_motor_tutorial_stm32f407点击右侧链接可在线阅读本项目文档:《[野火]电机应用实战开发指南》关于野火开源共享,共同进步野火在发布第一块STM32开发板之初,就喊出开源共享,共同进步的口号,把代码和文档教程都免费提供给用户下载,而我们也一直把这个理念贯穿至今。

stm32f103中文手册[13]

stm32f103中文手册[13]

stm32f103中文手册一、概述高性能的ARM 32位Cortex-M3CPU,主频可达72MHz,具有单周期乘法和硬件除法指令,支持嵌套向量中断控制器(NVIC)和嵌入式跟踪宏单元(ETM)。

高密度的存储器资源,包括64KB至512KB的闪存,20KB至64KB的SR AM,以及可选的2KB的备份SRAM。

丰富的外设资源,包括12个通用定时器,2个高级定时器,3个同步串行接口(SPI),2个I2C接口,5个USART接口,1个USB全速设备接口,1个CAN接口,2个DAC转换器,2个12位ADC转换器,以及多达80个G PIO引脚。

灵活的时钟控制系统,支持4种内部时钟源和4种外部时钟源,以及多种预分频器和倍频器。

低功耗模式,包括睡眠模式、停止模式和待机模式,以及电压监测和温度传感器功能。

先进的调试和编程功能,支持JTAG和SWD接口,以及串行线调试(SWV)和串行线跟踪(SWO)功能。

二、引脚定义stm32f103的引脚定义如下图所示:![stm32f103引脚图](^4^)其中:VDDA和VSSA分别为模拟电源正负极。

VDD和VSS分别为数字电源正负极。

NRST为复位引脚。

BOOT0和BOOT1为启动模式选择引脚。

PA0至PA15为端口A的16个GPIO引脚。

PB0至PB15为端口B的16个GPIO引脚。

PC0至PC15为端口C的16个GPIO引脚。

PD0至PD15为端口D的16个GPIO引脚(仅144引脚封装有)。

PE0至PE15为端口E的16个GPIO引脚(仅144引脚封装有)。

OSC_IN和OSC_OUT为外部晶振输入输出引脚。

JTMS/SWDIO、JTCK/SWCLK、JTDI、JTDO/TRACESWO、JNTRST分别为JTAG/SWD接口的5个信号线。

PB6/PB7/PB8/PB9/PB10/PB11分别可作为I2C1/I2C2接口的SCL/SDA 信号线。

PA4/PA5/PA6/PA7/PB12/PB13/PB14/PB15分别可作为SPI1/SPI2接口的NSS/SCK/MISO/MOSI信号线。

stm32f103中文手册[2]

stm32f103中文手册[2]

stm32f103中文手册概述72 MHz的最大主频,1.25 DMIPS/MHz的性能64 KB到512 KB的闪存,20 KB到64 KB的SRAM7个通道的DMA控制器2个12位模数转换器(ADC),每一个ADC最多16个通道2个数字摹拟转换器(DAC)3个高级控制定时器,4个通用定时器,2个基本定时器,1个系统定时器1个USB全速设备接口2个CAN总线接口3个I2C总线接口5个USART接口,其中3个支持同步通信2个SPI总线接口1个SDIO接口51到112个GPIO引脚,支持中断和唤醒功能7到12位的LCD驱动器(仅STM32F103x8和STM32F103xB)多种低功耗模式,包括停机、待机、睡眠和住手模式多种时钟源和时钟安全系统多种复位源和复位管理系统多种保护机制,包括闪存写保护、调试访问保护、电源电压检测等引脚分配stm32f103有多种封装形式,包括LQFP64、LQFP100、LQFP144、BG A100、BGA144等。

不同封装形式的引脚分配如下图所示:![引脚分配图]存储器映射stm32f103的存储器空间为4GB,分为两部份:代码区和系统区。

代码区占用前2GB,用于存放程序代码和数据。

系统区占用后2GB,用于存放外设寄存器和系统服务。

存储器映射如下表所示:---地址范围 ---描述 ---------------0x0000 0000 0x1FFF FFFF ---代码区 -------0x2000 0000 0x2000 FFFF ---SRAM -------0x4000 0000 0x4002 3FFF ---外设寄存器 -------0x4200 0000 0x43FF FFFF ---外设位带区 -------0xE000 0000 0xE00F FFFF ---Cortex-M3系统服务 ----外设介绍ADCstm32f103有两个12位ADC,每一个ADC最多可以配置16个输入通道。

STM32使用说明

STM32使用说明

STM32F103核心模块开发板使用说明V1.0一、核心模块特点介绍1、MCU:STM32F103VB,Cortex-M3内核,128kB Flash, 20KB RAM,最高工作时钟72MHz,100脚2、USB接口,可以做USB实验3、包括CAN-BUS芯片TJA1050,可做CAN通信实验4、ARM JTAG 2x10 座5、所有 IO 口均引出6、专用复位芯片电路7、电源指示灯、状态指示灯8、两个用户按键9、启动模式选择10、板载5V、3.3V LDO 1117,最大提供 800mA 电流11、USB供电或单电源供电: +9VDC ,电容滤波12、8MHz 晶振,32.768kHz 晶振13、PCB尺寸: 90mm×64mm二、跳线说明1、启动方式选择跳线说明开发板上的启动方式选择跳线R16100KV33231SW2BOOT0R15100KV33231SW1PB2启动方式选择跳线对应的原理图SW1和SW2为STM32启动方式选择跳线,当SW2左边两个插针短接(即中间插针BOOT0与GND 短接),SW1不接任何跳线帽时,为从FLASH 启动模式,正常使用开发板时,此跳线需短接,如上图所示。

当SW1左边两个插针短接(即中间插针PB2与GND 短接,1和2短接),SW2不接任何跳线帽时,为System Memory 模式。

2、其他跳线说明 (1) JP4和JP5开发板上的JP4和JP5跳线JP4和JP5跳线对应的原理图如上图所示,JP4短接后可以通过USB接口给开发板供电,JP5用来选择是否给PA12(D+)提供1.5k电阻的上拉,做USB相关实验时,需短接。

(2) JP8跳线开发板上的JP8跳线V33VDDAJP8跳线对应的原理图JP8跳线用来给STM32芯片的模拟电源选择供电电源,通常情况下,JP8跳线需短接,用+3.3V提供电源。

(3) JP9双排针(4) JP10双排针(5) JP11双排针(6) JP12双排针三、IAR下用Jlink调试STM32核心模块开发板确认SW2,JP8,JP4,JP5跳线正确短接后,开始安装IAR软件,安装EWARM-EV-WEB-511后,在安装后的目录里\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\examples\ST\STM32F10x\IAR-STM32-SK ,打开IAR-STM32-SK.eww文件,它里面包含多个工程,除了LCD_Demo外,其它工程均无需改动,可以直接使用JLINK下载调试。

stm32f103中文手册[1]

stm32f103中文手册[1]

STM32F103中文手册概述32位ARM® Cortex®-M3内核,最高运行频率72 MHz从16 KB到1 MB的闪存,从6 KB到96 KB的SRAM从36到144个引脚的不同封装,支持LQFP、BGA、TFBGA、UFBGA和V FQFPN等从1.65 V到3.6 V的宽电源电压范围,支持低功耗模式和电池供电从-40°C到+105°C的工作温度范围多达11个通信接口,包括3个USART、2个UART、2个I2C、2个SPI、1个CAN和1个USB 2.0全速多达15个定时器,包括7个16位通用定时器、2个16位基本定时器、2个16位高级定时器、2个32位定时器和2个看门狗定时器多达3个12位模数转换器(ADC),每秒可采样1.2 M次两路12位数模转换器(DAC)多达80个外部中断/事件源多达112个GPIO端口,支持5 V耐压CRC计算单元,用于检测数据传输错误实时时钟(RTC),支持日历功能和闹钟功能嵌入式内存保护单元(MPU),用于增强应用程序安全性嵌入式调试支持,包括串行线调试(SWD)和JTAG接口7层DMA控制器,支持所有外设数据传输可选的双银行闪存模式,支持实时软件更新存储器映射STM32F103系列单片机的存储器映射如下图所示:![存储器映射]代码区:包括闪存和系统存储器。

闪存用于存储用户程序代码和数据。

系统存储器用于存储引导加载程序(bootloader)和设备标识符。

SRAM区:包括SRAM1和SRAM2。

SRAM1用于存储用户程序数据和堆栈。

SRAM2用于存储备份寄存器和备份域。

外设区:包括APB1外设、APB2外设和AHB外设。

APB1外设和APB2外设是通过两个高速总线矩阵连接到内核的低速外设。

AHB外设是通过一个高速总线矩阵连接到内核的高速外设。

外部设备区:包括FSMC区域、NOR/PSRAM区域和NAND/CF区域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章整板硬件测试本章针对第一次使用本产品的用户,讲解如何对开发板进行首次开机测试。

我们所有出厂的开发板均烧录有程序且已测试,收到板子后您也可直接使用这个程序重新测试。

图 1-1 秉火F103-MINI开发板整体外观1.1 开机测试为简便起见,初次使用,不外接任何扩展模块,只要确认开发板带有液晶屏即可。

(1)使用USB线连接开发板与电脑。

开发板左侧有两个Mini USB接口,注意这里我们要接的是靠上的那个标有“USB 转串口”的接口。

(2)连接好后打开电源开关,板子左下角的红色电源指示灯亮,稍等片刻,液晶屏亮起,显示GUI界面。

图 1-2接上电源线,打开电源开关图 1-3 开机后的液晶界面截图进入主界面后,说明开发板功能正常,您可随意尝试打开各个APP,自行把玩。

当然,有很多APP是需要扩展硬件模块才可以正常使用的,所以打开后提示错误请放心,并不是开发板的问题,只是板子没有连接支持该APP的硬件模块。

特别地,其中的“USB”应用是没有实现功能的,仅为了对齐桌面的图标,用户可片自行编程增加应用功能。

可能遇到的简单故障排查:(1)打开开关后电源灯不亮。

❑检查USB线连接。

❑重复多次打开电源开关。

❑更换USB线。

❑把USB线接到另一个标有“USB Device”的接口。

(2)电源灯亮,液晶屏无现象或显示的不是以上截图的界面。

❑可能是液晶屏接触不良,把液晶屏拆下来,重新接上。

❑确认没有自行给开发板下载过其它程序,若下载过其它程序,请重新给开发板下载配套资料里的出厂测试程序。

❑使用万用表检查USB线供电的电压,在4.2-5.5V 范围可认为电压正常。

若遇到问题无法解决,请联系我们。

1.2 APP使用说明在主界面下,点击APP的图标即可运行,而在APP界面下触摸开发板的“电容按键”可返回主界面,同时蜂鸣器会响一下,也可直接点击APP右上方的“x”返回主界面。

下面对各个APP的使用方式进行说明。

1.LED点击主界面图标可打开LED应用界面,见图 1-4。

运行KEY APP 可使用板子上的按键控制LED灯。

进入APP界面后,按下开发板上的KEY1和KEY2按键可控制LED的亮灭。

也可点击界面上的两个“KEY”按钮,按钮按下时,会有对应的LED灯被点亮。

拉动滑动条,可以控制LED灯以流水灯的方式运行一小段时间,滑动条的位置与LED灯闪烁的快慢相关。

点击界面上的“触摸校准”按钮,会进入触摸校正界面,进入该界面后点击屏幕,然后按照提示点击界面出现的小圆圈即可,校正成功后会返回主界面。

图 1-4 RGBLED界面2.ADC图 1-5 ADC APP –ADC电压采集应用ADC APP可进行电压采集,并把电压以波形显示出来。

注意使用这个应用时,需要拔掉板子右下方的跳帽“BEEP<--->C1”,并把该跳帽接到上方的“VAR<--->C1”上。

需要这样操作的原因时蜂鸣器与ADC共用了PC1引脚,所以使用跳帽来切换连接,切换到“VAR<--->C1”后,蜂鸣器将不会响。

切换跳帽连接后,可旋转板子右上方的电位器,即可改变输入电压,APP上检测到的电压也随之改变。

3.天气点击主界面图标可打开温湿度应用。

可用于显示检测到的温度和湿度数据。

在上电前需要在开发板的右上角接上DS18B20温度传感器或DHT11温湿度传感器,见图 1-7。

图 1-6 温湿度及光照度采集图 1-7 开发板使用DHT11和光照传感器(也支持DS18B20)4.时钟应用点击主界面图标可进入时钟应用界面。

时钟 APP 可显示日历信息,用于时钟系统时间,见图 1-8。

供了实时时钟的功能。

往界面上的输入框可输入时间,然后点击“Setting RTC”按钮即可设置时间。

点击时间输入框时会弹出系统键盘,系统键盘的使用方法见下一小节。

时钟 APP使用的是STM32的RTC功能,且默认使用内部晶振,断电后时间会复位。

如需要断电后时钟持续运行,需要给电池座接入电池,且修改配套的程序改用外部晶振,请在学习后再尝试修改。

电池座在液晶屏的下方,电池型号为电池型号是:CR1220。

开发板默认没有配套电池。

)图 1-8 时钟应用界面5.系统输入法的使用系统提供了一个集成数字、英文、中文和部分标点符号的输入法,在APP 内有需要用户输入文本时候直接触摸点击数字或者文本输入框即可激活输入法键盘,见图1-9。

图 1-9系统键盘(1)数字输入。

在默认启动状态下数字键盘是处于允许输入数字状态,直接触摸点击即可输入数字,只有在中文输入状态下数字键盘才有第二功能。

输入完成点击退出输入法界面。

(2)英文输入。

在默认启动状态下是激活英文小写状态,直接触摸点击字母即可输入小写字母;触摸点击右下角按钮可切换至大写字母输入状态,同时键盘以大写字母表示。

再次触摸点击该按钮即可切换至小写字母输入状态。

输入完成退出方法同数字输入(点“OK”键)。

(3)中文输入。

在英文小写状态下触摸点击右下角按钮可切换至中文输入状态,此时该按钮有相应变化,再次触摸点击该按钮即可切换至英文小写状态。

在中文输入状态下触摸点击键盘中拼音输入就有相对应的中文出现,然后按下相应的数字键就可以实现中文输入了,见图1-19,我们分别输入h、u、o 字母就可以出现图1-19 界面,此时,我们触摸点击数字键 3 就可实现“火”字的输入。

输入完成退出方法同数字输入(点“OK”键)。

图 1-10 中文输入(4)部分标点输入。

系统输入法提供英文标点符号,分别有:“ _”:下划线;“ .”:点;“”:空格;“ ,”:逗号;“ En”:回车键;“ Back”:退格键。

6.电话点击主界面图标可打开电话应用界面。

电话 APP 实现了拨号和接听电话功能,见图1-21。

电话 APP 需要使用到GSM 模块,如果没有接上GSM 模块系统会提示错误;GSM 模块需要先上电后才可进入电话应用,为实现拨号和接听电话功能GSM 模块需要插入可用的SIM 卡,同时在GSM 模块上插入耳机。

GSM 模块使用三个杜邦线与开发板连接,连接实物图见图 1-12。

图 1-11 电话 APP界面图 1-12 开发板与GSM模块连接图表 1-1 GSM模块与开发板的连接说明在拨号界面状态下直接触摸点击数字按钮即可实现号码输入,确定号码输入正确后在按下下方拨号按钮即可实现拨号,拨号成功后使用GSM 模块上耳机可以实现通话,见图 1-13。

图 1-13 通话界面电话 APP 会检测是否有来电,如有来电,系统自动切换至来电提醒界面,在来电界面用户可选择接听或者挂断按钮,如果选择接听可使用GSM 模块上耳机进行通话。

7.短信点击主界面图标可打开短信应用界面。

短信 APP 可实现短信发送以及短信接收功能,见图1-24。

与电话 APP 相同,短信 APP 需要用到GSM 模块,请在进入短信 APP 之前连接好GSM 模块及SIM卡,接线方法同电话 APP。

短信系统具有自动保存功能,会把短信相关信息记录下来,并在进入短信 APP 是自动读取显示在界面上。

界面列表显示已记录的短信信息,触摸点击“TO … NEW”一栏,可弹出短信内容的编辑界面,包括联系人和短信内容编辑,使用系统输入法编辑。

另外,还有两个功能按钮,“send”按钮用于在编辑完成后发送短信,“cancel”按钮用于清除内容。

短信APP 具有短信接收功能,在系统接收到短信之后会自动把新短信添加到列表中,触摸点击即可查看。

图 1-14 短信应用界面BUSB应用图标,本USB图标仅作界面图标对齐用,没有实际功能,需要USB功能的可在固件库例程中找到相应的USB独立程序进行学习。

9.计算器点击主界面图标可打开计算器应用界面。

它是一个计算器程序,没有什么注意事项,随意使用,见图 1-15。

图 1-15 计算器应用第2章开发板硬件资源简介秉火F103-MINI实验平台使用STM32F103RCTx作为主控芯片,配备有USB设备接口,具有USB转串口功能,板载一个8M字节的SPI-FLASH,一个256字节的EEPROM存储器,可通过SD卡接口读写32GB及以下的SD卡。

可连接配套的2.8寸或3.8寸液晶屏进行交互。

所有STM32芯片的I/O均已使用排针引出,提供了各式通用接口,能满足各种各样的开发需求。

硬件资源描述见图 2-1。

图 2-1秉火F103-MINI硬件资源描述图2.1 秉火F103-MINI开发板主要资源简介系统●主控芯片: STM32F103RCTx,具有256KB Flash,48kB SRAM,系统时钟72MHz,LQFP64封装。

通讯●USB转串口通讯:CH340,带Mini USB接口。

●USB 通讯: Mini USB从机接口、USB主机接口。

●红外通讯:红外接收头接口。

● 2.4G通讯:NRF24L01模块接口。

交互●显示:模拟8080液晶屏接口。

支持 2.5及3.2寸RGB565 MCU接口屏,ILI9341芯片,320*240分辨率,电阻触摸屏,XPT2046芯片;●2个LED灯。

●3个实体按键,1个电容式按键。

●有源蜂鸣器。

存储器●SPI FLASH:W25Q64,8M字节。

●EEPROM :AT24C02,256字节。

●SD卡:Micro SD卡接口,最大支持32G容量。

程序下载●JTAG接口:支持JLink、ULink、STLink下载器。

●ISP下载接口:即USB转串口通讯接口,支持串口下载程序。

传感器●可调电阻:100K电位器。

●温湿度:DHT11、DS18B20接口。

电源●5V供电:即2个MicroUSB接口,它们均可用作5V供电。

● 1 个电源开关,1个自恢复保险丝。

其它板子已把STM32芯片所有引脚引出,可方便扩展IIC、SPI、SDIO、USART等通讯,方便自主外扩开发。

2.2 跳线帽说明开发板有几处跳线帽,为使用方便,这里针对跳帽说明一下,见图 2-2。

图 2-2 开发板的跳线帽(1)跳帽位置1默认连接:PA10 <-----> TXDPA9<-----> RXDB0(boot0引脚) <-----> GNDB1(boot1引脚) <-----> GND默认连接PA10、PA9到CH340 USB转串口芯片,方便串口调试输出。

若PA10、PA9有它用可拔掉。

boot0、 boot1用于设置芯片启动方式:默认连接boot0、boot1到GND,芯片从FLASH启动,若有其它需求,可根据上面的表格调整跳线帽。

(2)跳帽位置2默认连接:PA1<----->电容式按键默认连接PA1与电容式按键,若不需要这个功能或PA1有它用,可拔掉该跳帽。

PC1<----->蜂鸣器默认连接PC1与蜂鸣器,若不需要这个功能或PC1有它用,可拔掉该跳帽。

相关文档
最新文档