【本文最后更新时间:2025.1.14】
一、前言
很久很久没有在Blog上更新一些学习内容了,这次要介绍的是微芯(Microchip)公司的一块集成低压电机驱动板。这块板子大概在一年前,带领本科生毕业设计的时候就在使用了,到后面给师兄提供实验用平台,再到最近的本科生大创竞赛,一直以来都在发挥它的作用。——这也是我在研究生阶段的第一次尝试动手去驱动电机。
为了后续的使用,以及对之前工作的总结,特此进行整理。
二、硬件说明
dsPIC33CK低压电机控制板的目标是利用dsPIC33CK256MP508芯片驱动低压三相永磁同步电机(PMSM)或无刷直流(BLDC)电机。该dsPICDSC具有100个MIPS、单核16位DSC,具有增强的片上外围设备,如高分辨率PWM (HRPWM)、12位高速ADC核、DAC的模拟比较器、运算放大器、正交编码器接口(QEI)、计时器等。(购买链接:DSPIC33CK LOW VOLTAGE MOTOR CONTROL (LVMC) DEVELOPMENT BOARD | Microchip Technology)
购买网站上也有关于驱动板的用户手册,详细介绍了dsPIC33CK低压电机控制板的结构,原理图,甚至把布线方式也开源了,也就是说可以根据原理图和PCB布线直接无脑自己做一块这个板子出来了(我在学习AD的时候就是尝试画出这么一块板子,不过由于时间关系并没有完全的画完,有兴趣的小伙伴也可以自己根据用户手册来画咯——不过要自己制作贴片买器件的话成本会高很多了。)
电机为淘宝店铺搜索:“时代超群电机” ——40电机 24V 0.64Nm 200W 3000转 单电机
图为dsPIC33CK低压电机控制板示意图:
接下来介绍dsPIC33CK低压电机控制板的分区功能介绍:
1号区域:dsPIC33CK256MP508芯片和辅助电路
2号区域:电源供给
3号区域:三相逆变桥电路
4号区域:电流感应采样电路
5号区域:电压感应采样电路
6号区域:霍尔传感器/正交编码器信号输入电路
7号区域:外部温度传感器接口
8号区域:指示灯界面
9号区域:调试串行UART接口
10号区域:mikroBUS™接口
11号区域:烧录器/程序调试部分
介绍dsPIC33CK低压电机控制板的外接线部分:(仅介绍一般驱动所需要的重要部分)
J1、J2:直流电源连接线(24V电源)
J6:通用异步接收器/发送器
J7、J8:霍尔传感器/正交编码器输入信号连接
J11、J12:microBUS接口A和B,用于与计算机数据交互
J13:驱动板烧录器接口
J14:电机三相UWV连接接口
J16:24V外接电源连接线
介绍dsPIC33CK低压电机控制板的LED灯部分:(仅介绍一般驱动所需要的重要部分)
LD1(黄色):指示芯片烧录接受激活
LD3(红色):连接到辅助电源+3.3V.
LD4-LD9(绿色):指示三相ABC的top和buttonPWM 共六路驱动信号工作正常
介绍dsPIC33CK低压电机控制板的按钮旋钮部分:(仅介绍一般驱动所需要的重要部分)
SW1:用于启动和关闭电机控制板
SW2:用于切换电机工作模式(开环/闭环)
SW3:用于切换电机旋转方向
POT1:连续切换输入(输入参考电压/输入参考转速)
三、使用要求
①硬件要求:
1、dsPIC33CK低压电机控制板;
2、稳定直流源(24V);
3、带正交编码器的三相永磁同步电机;
4、编程器(PICkit 4、ICD4、Real-Ice、PICkit 3、ICD3 等);
5、用于将数据从控制板 (Tx) 发送到 PC (Rx) 的电缆(杜邦线即可)
②软件要求:
1、Matlab/Simulink 软件(包括嵌入式编码器和定点工具箱,推荐使用2018b及以上版本。下载地址:MATLAB – 技术计算语言 产品信息);
2、MPLAB Device Blocks for Simulink(下载地址:MATLAB® and Simulink® | Microchip Technology)
3、MPLAB X IDE开发软件(下载地址:MPLAB® X IDE | Microchip Technology )
4、MPLAB XC COMPILER的32位编译器(下载地址:MPLAB® XC Compilers | Microchip Technology)
【这里注意:MPLAB Device Blocks for Simulink软件最好是打开Simulink中的获取附加功能进行下载,这样可以直接在simulink中进行使用,否则还需要安装到固定目录下。MPLAB X IDE和MPLAB XC COMPILER软件尽量安装在同一目录下并记住路径(虽然后续不会需要打开,但最好还是记住路径)。】
电机控制Simulink模型(下载地址:http://Download.Charlis.top/Motor_Control_Model_20250114.zip)
四、系统配置
由于微控制器本身就是离散的,MPLAB同样不支持连续时间,因此需要更改Simulink 的模型设置:
在求解器选择中更改类型为“定步长”,求解器为“离散(无连续状态)”,固定步长为5e-5。
接下来配置Microchip主站,需要在模型中找到微控制器和编译器(在控制板结构内):
对于微控制器,按照如下配置方式进行配置:
对于编译器,按照如下配置方式进行配置:
ADC模数转换器和编码器部分一般不需要做过多更改,只需确定编码器模块中选择的是正交编码器即可。
然后配置串口通讯的波特率,在模型中找到串口通信(UART)模块配置部分:(在控制板结构内)
选中UART2 Config,(这里发送的字节数显示在Tx Matlab块上,接受的字节通过RX返回,后续使用Picgui模块进行电机运行过程中电流转速等参数的显示。)将波特率调成921600,如下图所示:
对于电机参数,此处先给出使用的电机参数——
电机编码器参数:
对照给定的电机参数,对模型进行参数配置,配置位置如下:
根据以上给定的电机参数进行配置,具体参数如下所示:
其中要注意,在配置电机参数时,需要先在Predefined motor中更改为Custom,即改为客户电机,然后才能更改具体的的电机参数。否则选择了其他电机会导致参数锁定,无法更改。
至此,完成dsPIC33CK低压电机控制板的全部系统配置,Simulink界面如下图所示(编译前)。
五、硬件配置
硬件配置如图所示:
①如图,低压驱动板下侧连接电机三相绕组(使用的是图中的上方的电机,下方的电机作为负载电机使用)——PHA、PHB和PHC分别连接电机V、U和W相(颜色顺序为蓝、红和黑)。
②如图,低压驱动板右侧连接的是24V直流源。
③如图,上侧的杜邦线通过串口通讯模块与电脑USB相连接(其中,驱动板上的RX和模块上的TX相连,TX与RX相连,GND与GND相连),是用作上位机显示数据使用的。
④如图,上侧的烧录线与电脑USB相连接。
⑤如图,左侧的电机编码器按线序与驱动板相连接。(粉线与+5V连接;青线与DGND连接;黄线与QEA连接;橙线与QEB连接;红线与INDX连接)具体线序如下图所示:
注意!!!:上述线序颜色只是根据编码器连接的母头扯出来的线的颜色为准,并非编码器自己公头上的线的颜色,参考编码器母头的颜色如下: