第一章 实验平台简介
本章主要介绍我们的实验平台:正点原子DMG474电机开发板。通过本章的学习,您将对我们后面使用的实验平台有个大概了解,为后面的学习做铺垫。
本章将分为如下两节:
1.1,ATK-DMG474电机开发板资源初探;
1.2,ATK-DMG474电机开发板资源说明;
1.1 ATK-DMG474电机开发板资源初探
自从2011年上市以来,正点原子推出了多款包括M3、M4以及M7内核的STM32开发板,这些开发板广受客户好评,精英STM32开发板,更是常年稳居淘宝STM32系列开发板销量冠 军。最新推出的STM32G474电机开发板,既可以用于各类电机的驱动开发和学习,又可以应用于工业控制,下面我们开始介绍STM32G474电机开发板。
1.1.1 ATK-DMG474电机开发板硬件设计特点
ATK-DMG474电机开发板硬件设计特点包括:
1) 接口丰富。作为一款专用电机开发板,我们尽可能多的引出了多种电机(直流有刷,直流无刷,步进电机,舵机等)控制接口、编码器接口以及通用输入输出接口,重要接口均采用光耦隔离,以增加接口的安全性。
2) 设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。DMG474电机开发板最板载2路直流有刷/无刷电机驱动器接口、2路步进电机驱动器接口,2路舵机接口,通过对接口的灵活配置,可同时控制多种不同的电机,而且部分接口支持多种类型电机,极大的方便大家学习和开发各种类型电机。
3) 资源充足。主芯片采用自带512K字节FLASH以及128K字节RAM的STM32G474VET6,并外扩16M字节FLASH,满足大内存需求和大数据存储。板载RS232串口、CAN以及RS485等各种接口芯片,满足各种应用需求。
4) 人性化设计。各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常用外设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。
5) 国产化程度高。为了支持国产芯片的发展和推广,正点原子优选国产好芯,STM32G474电机开发板上凡是能用国产替代的芯片,全部使用国产芯片,国产化率很高。
1.1.2 ATK-DMG474电机开发板硬件基本参数
ATK-DMG474电机开发板硬件基本参数如表1.1.2.1所示:

表1.1.2.1 ATK-DMG474电机开发板硬件基本参数
注1:100mA对应CPU在复位情况下,裸板的工作电流;140mA对应CPU正常运行时裸板的工作电流。
1.1.3 ATK-DMG474电机开发板硬件资源分布
ATK-DMG474电机开发板的硬件资源分布如图1.1.3.1所示:

图1.1.3.1 ATK-DMG474电机开发板硬件资源分布图
1.1.4 ATK-DMG474电机开发板硬件资源列表
ATK-DMG474电机开发板的硬件资源列表如表1.1.4.1所示:


表1.1.4.1 STM32G474电机开发板的硬件资源列表
1.2 ATK-DMG474电机开发板资源说明
ATK-DMG474电机开发板资源说明,我们将分为两个部分:硬件资源说明和引脚分配。
1.2.1 硬件资源说明
这里我们详细介绍ATK-DMG474电机开发板的各个部分(图1.1.3.1中的标注部分)的硬件资源,我们将按逆时针的顺序依次介绍。
1. DC6~24V电源输入
这是开发板板载的一个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板载了DC-DC芯片,用于给开发板提供高效、稳定的5V/3A电源。由于采用了DC-DC芯片,所以开发板的供电范围比较宽,大家可以很方便的找到合适的电源(只要输出范围在DC6~24V的基本都可以)来给开发板供电。在耗电比较大的情况下,比如用到舵机/LCD的时候,建议使用外部电源供电,可以提供足够的电流给开发板使用。
2. 串口屏幕接口
这是开发板板载的串口屏接口,因为串口屏的特有优势,已被大量的用户使用,所以我们预留这个接口,我们正点原子也将在2023年发售自己的串口屏。
3. USB SLAVE
这是开发板板载的一个Type C USB头(USB_SLAVE),用于USB从机(SLAVE)通信,一般用于STM32与电脑的USB通信。通过此接口,开发板就可以和电脑进行USB通信了。
开发板总共板载了2个Type C USB头,一个(USB_TTL)用于USB转串口,连接CH340芯片;另外一个(USB_SLAVE)用于STM32内带的USB。开发板也可以通过此接口供电。
4. USB串口/串口1
这是USB串口同STM32G474VET6的串口1进行连接的跳线帽接口(P3),标号RXD和TXD是USB转串口的2个数据口(对CH340来说),而PB6(TXD)和PB7(RXD)则是STM32的串口1的两个数据口(复用功能下)。通过跳线帽这种设计,则是出于使用方便的考虑,接上跳线帽,就和开发板连接在一起了,从而实现STM32G474的串口通信;拔掉跳线帽,你可以把开发板当成一个USB转TTL串口模块,来和其他板子通信,而其他板子的串口,也可以方便地接到G474电机开发板上。
5. 有源蜂鸣器
这是开发板板载的有源蜂鸣器(BEEP),可以实现简单的报警/闹铃等功能。
6. SWD接口
这是开发板板载的SWD下载调试接口。使用方便的同时,节约了IO,所以大家基本都是使用SWD接口对MCU进行下载和调试。
7. 电源开关
这是开发板板载的电源开关(K1)。该开关用于控制整个开发板的供电,如果切断,则整个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。
8. 6路模拟量采集接口
这是开发板板载一组模拟量采集接口(CN16),支持同时采集6路模拟信号,因为是MCU直接采集,所以模拟信号幅值不能超过3.3V。
9. 2个LED
这是开发板板载的两个0805 LED灯(DS0和DS1),DS0是红色的,DS1是绿色的,主要是方便大家识别。
我们一般的应用2个LED足够了,在调试代码的时候,使用LED来指示程序状态,是非常不错的一个辅助调试方法。电机开发板几乎每个实例都使用了LED来指示程序的运行状态。
10. 直流有刷/无刷电机驱动器接口2
这是开发板板载的直流有刷/无刷电机驱动器接口PM2(CN10),这个是专用接口,用于连接正点原子直流无刷驱动板(ATK-PD6010B)或者直流有刷驱动板(ATK-PD6010D),从而驱动直流无刷电机和直流有刷电机。
11. STM32G474VET6主控
这是开发板的主控芯片(U1),型号为STM32G474VET6。该芯片集成FPU和DSP指令和MPU存储保护单元,从而增加了应用的安全性,并具有128KB SRAM、512KB FLASH、11个16位定时器、2个32位定时器、1个高分辨率定时器HTRTIM、2个DMA控制器(共16个通道)、4个SPI、4个IIC、6个串口、1个USB(支持SLAVE)、3个FDCAN、5个12位ADC、4个12位DAC、1个RTC(带日历功能)、1个FSMC接口、1个硬件随机数生成器、以及82个通用IO口。
12. 2x2路隔离输入接口
这是开发板板载的带光耦隔离的通用输入接口,总共2x2路(CN11、CN12),可方便用于检测开关量信号,比如光电传感器,限位开关信号等。
13. 4路隔离输出接口
这是开发板板载的带光耦隔离的通用输出接口(CN13),总共4路,可方便用于控制外部开关量信号,比如传感器使能信号等。
14. CAN/USB选择接口
这是开发板板载的CAN与USB同STM32G474VET6的PA11和PA12进行连接的跳线帽接口(P2),通过跳帽可选择其功能:CAN或者USB,用户可根据应用需求选择对应的功能。
15. RS485/ ATK模块选择接口
这是开发板板载的RS485与ATK模块接口同STM32G474VET6的串口3进行连接的跳线帽接口(P5),通过跳帽可选择其功能:RS485或者ATK模块接口,用户可根据应用需求选择对应的功能。
16. RS232接口(母)
这是开发板板载的一个RS232接口(COM1),通过一个标准的DB9母头和外部的串口连接。通过这个接口,我们可以连接带有串口的电脑或者其他设备,实现串口通信。
17. RS232/HMI选择接口
这是开发板板载的RS232与HMI串口屏同STM32G474VET6的串口2进行连接的跳线帽接口(P6),通过跳帽可选择其功能:RS232或者HMI串口屏,用户可根据应用需求选择对应的功能。
18. 电源指示灯
开发板板载的一个0805 LED灯(PWR),PWR是蓝色的,该灯为电源指示灯,只要板子一上电电源灯就会亮,用于指示供电状态。
19. 复位按钮
这是开发板板载的复位按键(RESET),用于复位STM32,当按下该键的时候,STM32被复位。
20. 3个按键
这是开发板板载的3个机械式输入按键(KEY0、KEY1、KEY2),这3个按键是直接连接在STM32的IO口上的。3个按键IO我们将使用芯片内部上拉,所以是低电平有效。
21. ATK模块接口
这是开发板板载的一个正点原子通用模块接口(CN6),目前可以支持正点原子开发的GPS、蓝牙、LORA、手势识别、激光测距和MPU6050等模块,直接插上对应的模块,就可以进行开发。后续我们将开发更多兼容该接口的其他模块,实现更强大的扩展性能。
22. LCD接口
这是开发板板载的LCD模块接口(CN3),该接口兼容正点原子1.3寸TFTLCD模块,注意该模块不支持触摸功能。
23. 后备电池接口
这是STM32后备区域的供电接口(BAT),可安装CR1220电池(默认安装了),可以用来给STM32的后备区域提供能量,在外部电源断电的时候,维持后备区域数据的存储,以及RTC的运行。
24. 16MB SPI FLASH
这是开发板外扩的SPI FLASH芯片(U10),容量为128Mbit,也就是16M字节,可用于存储字库和其他用户数据,满足大容量数据存储要求。
25. 24C02 EEPROM
这是开发板板载的EEPROM芯片(U9),容量为2Kb,也就是256字节。用于存储一些掉电不能丢失的重要数据,比如系统设置的一些参数/触摸屏校准数据等。有了这个就可以方便的实现掉电数据保存。
26. 启动选择端口
这是开发板板载启动模式选择端口(P1)。STM32G474有BOOT0一个启动选择引脚,用于选择复位后STM32的启动模式,默认接GND。关于启动模式的说明可查看《STM32G4xx参考手册_V7(英文版)》 的第2.6.1小节。
27. 2路舵机接口
这是开发板板载的2路舵机接口SRV1(P8)、SRV2(P9)、2路舵机控制信号都带有电平转换功能,可方便用户测试不同电压类型的舵机。
28. 舵机供电选择接口
这是开发板板载的舵机电源跳帽选择接口(P8),通过跳帽选择舵机电源:板载5V或者外接电源,用户可根据舵机参数选择合适的电压,默认使用5V。
29. RS485总线接口
这是开发板板载的RS485总线接口(CN5_485),通过2个端口和外部485设备连接。这里提醒大家,RS485通信的时候,必须A接A,B接B。否则可能通信不正常!另外,开发板自带了终端电阻(120Ω)。
30. CAN接口
这是开发板板载的CAN总线接口(CN5_CAN),通过2个端口和外部CAN总线连接,即CANH和CANL。这里提醒大家:CAN通信的时候,必须CANH接CANH,CANL接CANL,否则可能通信不正常!这里,开发板也是自带了终端电阻(120Ω)。
31. 2路隔离步进电机驱动接口
这是开发板板载的2路(CN7、CN9)带光耦隔离的步进电机驱动器接口,接口信号采用共阳极接法,信号供电支持外接电源,默认使用板载5V。
32. 步进电机驱动器信号供电选择接口
这是开发板板载的步进电机驱动器信号供电跳帽接口(P7),可选择板载5V供电或者外部电源供电,默认使用5V。
33. 定时器刹车输入接口
这是开发板板载的2路定时器刹车接口(CN14),通过这个接口可直接关断定时器PWM输出,从而关断驱动器。
34. 步进电机驱动器信号外接电源接口
这是开发板板载的步进电机驱动器外接电源接口(CN14),为了增加驱动器控制信号电平的灵活性,我们预留了这个可外接的驱动器控制信号的电源接口,范围4.5V~7V(高速光耦EL0631最大供电电压7V)。
35. 编码器输入接口
这是开发板板载电机编码器接口(CN15),共2组编码器(包含A相和B相),因为我们电机开发板可以同时控制2路直流(有刷/无刷)电机,所以2组编码器接口也可以同时使用。
36. 编码器供电选择接口
这是开发板板载的编码器供电跳帽选择接口(P11),因为不同的电机编码器供电有差异,我们余量2种供电方式:板载5V和电源输入VIN,用户可根据电机参数选择合适的电压,默认使用5V。
37. 直流有刷/无刷电机驱动器接口1
这是开发板板载的直流有刷/无刷电机驱动器接口PM1(CN8),这个是专用接口,用于连接正点原子直流无刷驱动板(ATK-PD6010B)或者直流有刷驱动板(ATK-PD6010D),从而驱动直流无刷电机和直流有刷电机。
38. 扩展电源输入输出口
这是开发板扩展的电源输入输出接口(CN2),输入电压范围为DC6~24V,输出电压为5V/1A和3.3V/1A。
1.2.2 ATK-DMG474电机开发板引脚分配
为了让大家更快更好的使用我们的电机开发板,这里特地将电机开发板主芯片:STM32G474VET6的IO资源分配做了一个总表,同时,我们对重要的接口和外设也单独分出了excel表格,方便用户快速方便的查看。大家可以打开A盘à2,电机开发板原理图 文件夹里的“ATK-DMG474_V1.0 IO以及接口分配表.xlsx”进行查看。ATK-DMG474的IO引脚分配总表如表:1.2.2.1所示:








表1.2.2.1 ATK-DMG474电机开发板 IO资源分配总表
表1.2.2.1中,引脚栏即STM32G474VET6芯片封装对应的引脚编号;GPIO栏则表示GPIO;连接资源栏表示了对应GPIO所连接到的网络;独立栏,表示该IO是否复用(多个功能)使用, Y表示IO只用到单一功能,N表示IO有多个功能;连接关系栏,则对每个IO的连接做了简单的介绍。
该表在:A盘→2,电机开发板原理图 文件夹下有提供Excel格式,并注有详细说明和使用建议,大家可以打开该表格的Excel版本,详细查看。