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