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

硬件部分:

做了一块测试板。电机驱动部分照抄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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值