基于TI InstaSPIN-FOC 无刷电机控制板开发记录(TMS320F28027F)

6 篇文章 3 订阅
5 篇文章 0 订阅

硬件部分:

做了一块测试板。电机驱动部分照抄TI官方图纸,稍作修改,主控采用MC9S12exp100和28027F采用串口通信。

 

 

软件部分:

设置最大启动加速度:

main.h-> MOTOR_Vars_INIT宏定义里面修改值
对应下面 typedef struct MOTOR_Vars_t 结构 _iq MaxAccel_krpmps

CCS使用(ctrl+h 全局查找)

使用MotorWare调试观察数据步骤如下:

1、依次点击:InstaSPIN-FOC -> Piccolo F2802xF -> GUI -> Run Universal GUI
然后点击右侧窗口 Launch Run Universal GUI. 启动相关程序

2、在启动窗口选择仿真器型号如:Texas Instruments XDS100v2 USB Debug Probe (本人购买的XDS200 无法使用该软件)

3、启动前请确认前面CCS生成的工程.out文件已经复制到该软件的如下目录:
C:\ti\guicomposer\webapps\InstaSPIN_F2802xF_UNIVERSAL
同时修改输出文件名为appProgram.out

4、启动后勾选enable system 和 run 即可。白色框内数据可自行进行修改。

添加SCI代码:
a、在工程中添加了sci.c(原工程没有)
b,工程main函数中,初始化相关操作:

hal.c
HAL_init(&hal,sizeof(hal))中添加
obj->sciAHandle = SCI_init((void*)SCIA_BASE_ADDR,sizeof(SCI_Obj));
HAL_setParams(halHandle,&gUserParams) 中添加 HAL_setupSciA(handle),

在其中初始化SCI,始能收发及中断,配置SCI
HAL_setParams(halHandle,&gUserParams) 中,修改 HAL_setupPeripheralClks(handle)

和HAL_setupGpios(handle),使能SCI时钟和配置IO;
// SCI
GPIO_setMode(obj->gpioHandle, GPIO_Number_28, GPIO_28_Mode_SCIRXDA);
GPIO_setMode(obj->gpioHandle, GPIO_Number_29, GPIO_29_Mode_SCITXDA);

在PIE中开启第9组IER_int1\int2始能(这点有点疑惑)

在(hal.h) HAL_initIntVectorTable(halHandle)中添加 pie->SCITXINTA = &sciaTxFifoIsr,指向我的服务程序;接收中断同样处理;
CPU_enableInt(obj->cpuHandle,CPU_IntNumber_9);

关闭eCAP:

hal.c->HAL_setupeCAP()函数, 注释

PIE_enableInt(obj->pieHandle, PIE_GroupNumber_4, PIE_InterruptSource_ECAP1);

CPU_enableInt(obj->cpuHandle, CPU_IntNumber_4);

C:\ti\motorware\motorware_1_01_00_18\sw\solutions\instaspin_foc\boards\drv8305-q1evm_revA\f28x\f2802xF\projects\ccs\proj_lab05b

C:\ti\guicomposer\webapps\InstaSPIN_F2802xF_UNIVERSAL

Seed-bldc控制程序是一种用于无刷直流电机(Brushless DC Motor,简称BLDC)的控制程序。BLDC电机是一种无刷电机,与传统的有刷直流电机相比具有更高的效率和更低的噪音。 Seed-bldc控制程序使用了种子(seed)算法,是一种非线性控制方法。该种子算法的核心思想是模拟生物进化中的基因交叉和变异过程,通过进化产生更优秀的控制策略。 Seed-bldc控制程序的主要目标是实现BLDC电机的速度和位置控制。该程序通过测量电机的反馈信号,如转子位置和转速,来控制电机的输出。通过种子算法,控制程序可以根据电机负载的变化和性能要求的变化来优化控制策略,以获得更好的控制效果。 Seed-bldc控制程序的实现包括多个步骤。首先,程序需要进行电机的初始化和参数设置,如电机的电流限制和速度范围。然后,程序开始循环执行控制算法,根据反馈信号计算控制输出,并将其发送到电机驱动器。程序还会监测电机性能,并进行动态调整以提高响应速度和稳定性。 Seed-bldc控制程序的优点是可以适应不同的负载和性能需求,具有较好的鲁棒性和自适应性。通过种子算法,程序可以在不断的进化过程中提高控制策略的质量和性能。因此,Seed-bldc控制程序在工业和自动化领域的应用越来越广泛,为BLDC电机的控制提供了一种高效的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值