资源简介
基于TI的群星系列ARM Cortex-M3芯片的,直流无刷电机控制程序,包含实验实测速度控制曲线。

代码片段和文件信息
#include “systemInit.h“
#include “uartGetPut.h“
#include “pwm.h“
#include
#include
#include “stdio.h“
#include
#include
// 定义LED
#define LED_PERIPF SYSCTL_PERIPH_GPIOF
#define LED_PORT GPIO_PORTF_base
#define LED_PIN GPIO_PIN_2
#define LED_PIN3 GPIO_PIN_3
// 定义KEY
#define KEY_PERIPH SYSCTL_PERIPH_GPIOG
#define KEY_PORT GPIO_PORTG_base
#define KEY_PIN GPIO_PIN_5
#define ulVelocitySampleTime 20*20000 //速度采样时间参数,用于Timer3定时20000代表1ms
#define fDutyMax 99
#define DeadareaTime 1 //死区时间,即延长切换场效应管的时间
void PWMControlNegtive(float fDuty);
void PWMControlPostive(float fDuty);
void GPIO_Port_E_ISR(void);
void GetVelocity(void);
void GetPosition(void);
void Timer3A_ISR(void);
void PIDVelocity(float TargetVelocity);
void PIDPosition(float TargetPosition);
void Decode(char *sint inum);
tBoolean TargetDirection=true;
int Direction;
float fDuty=20;
int iDuar=1000;
int iHALLiOldHALL=0;//霍尔的状态
int iFlagHallChanged=0;//霍尔状态改变标志,1为改变
int iEncoderLine=1292;//码盘线数
float Velocity=0TargetVelocity=2;
tBoolean FlagPositionMode= false;//工作模式标志 true为位置模式 false则为速度模式
long Position=0TargetPosition=60000;//位置
unsigned long HALLInterruptTimes=0OldHALLInterruptTimes=0;//记录进入HALL中断的次数,以便获得点电机速度和位置
//unsigned long ulVelocitySampleTime;
float e_k=0e_k1=0e_k2=0;
float e_k_p=0e_k1_p=0e_k2_p=0e_k_p_sum=0;
float fk_p=30fk_i=0fk_d=4;//速度PID参数
float fk_p_p=300fk_i_p=200fk_d_p=500;//位置PID参数
float control=0control_1=0dcontrol=0;
float control_p=0control_1_p=0dcontrol_p=0;
// 主函数(程序入口)
int main(void)
{
int iReceiveNum;
char cBuf[100]cBuf2[50];
//jtagWait(); // 防止JTAG失效,重要!
clockInit(); // 时钟初始化:晶振,6MHz
uartInit0();
//初始化PWM
SysCtlPeriEnable(SYSCTL_PERIPH_GPIOG);
SysCtlPeriEnable(SYSCTL_PERIPH_GPIOF);
SysCtlPeriEnable(SYSCTL_PERIPH_GPIOH);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM); /* 使能PWM模块 */
SysCtlPWMClockSet(SYSCTL_PWMDIV_1); /* PWM时钟配置:不分频 */
GPIOPinTypePWM(GPIO_PORTG_base /* PG2和PG3配置为PWM功能 */
GPIO_PIN_2 | GPIO_PIN_3);
GPIOPinTypePWM(GPIO_PORTF_base /* PF2和PF3配置为PWM功能 */
GPIO_PIN_2 | GPIO_PIN_3);
GPIOPinTypePWM(GPIO_PORTH_base /* PH0和PH1配置为PWM功能 */
GPIO_PIN_0 | GPIO_PIN_1);
PWMGenConfigure(PWM_base PWM_GEN_0 /* 配置PWM发生器0:减计数 */
PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
PWMGenConfigure(PWM_BA
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7856 2011-09-19 20:11 直流无刷电机控制程序\Debug\Exe\Demo.bin
文件 144768 2011-09-19 20:11 直流无刷电机控制程序\Debug\Exe\Demo.out
文件 7899 2010-10-27 12:59 直流无刷电机控制程序\Debug\Exe\Demo.sim
文件 22287 2011-09-19 20:11 直流无刷电机控制程序\Debug\List\Demo.map
文件 435 2011-09-19 20:11 直流无刷电机控制程序\Debug\Obj\Demo.pbd
文件 55152 2011-09-19 20:11 直流无刷电机控制程序\Debug\Obj\main.o
文件 8328 2010-08-14 14:17 直流无刷电机控制程序\Debug\Obj\startup_ewarm.o
文件 6368 2010-08-12 19:50 直流无刷电机控制程序\Debug\Obj\systemInit.o
文件 35180 2010-08-17 20:42 直流无刷电机控制程序\Debug\Obj\uartGetPut.o
文件 6014 2011-09-19 20:11 直流无刷电机控制程序\Demo.dep
文件 37925 2010-07-18 21:07 直流无刷电机控制程序\Demo.ewd
文件 43301 2010-08-12 19:50 直流无刷电机控制程序\Demo.ewp
文件 158 2008-07-02 15:19 直流无刷电机控制程序\Demo.eww
文件 28936 2011-09-19 20:11 直流无刷电机控制程序\main.c
文件 2531 2011-09-19 20:11 直流无刷电机控制程序\settings\Demo.cspy.bat
文件 6046 2011-09-19 20:11 直流无刷电机控制程序\settings\Demo.dbgdt
文件 551 2011-09-19 20:11 直流无刷电机控制程序\settings\Demo.dni
文件 5355 2011-09-19 20:11 直流无刷电机控制程序\settings\Demo.wsdt
文件 248 2010-03-06 19:09 直流无刷电机控制程序\settings\Demo_Debug.jli
文件 9246 2010-08-14 14:15 直流无刷电机控制程序\startup_ewarm.c
文件 1729 2010-08-09 16:35 直流无刷电机控制程序\systemInit.c
文件 749 2008-10-27 14:54 直流无刷电机控制程序\systemInit.h
文件 5975 2010-08-17 20:42 直流无刷电机控制程序\uartGetPut.c
文件 792 2010-07-13 15:16 直流无刷电机控制程序\uartGetPut.h
文件 879334 2010-08-15 09:36 直流无刷电机控制程序\实验图\kp16ki10kd90.bmp
文件 909430 2010-08-18 19:13 直流无刷电机控制程序\实验图\KPKIKD100-0-100.bmp
文件 909430 2010-08-18 19:18 直流无刷电机控制程序\实验图\KPKIKD100-0-200.bmp
文件 909430 2010-08-18 22:00 直流无刷电机控制程序\实验图\KPKIKD100-0-200采样周期40ms.bmp
文件 909430 2010-08-18 19:22 直流无刷电机控制程序\实验图\KPKIKD100-0-300.bmp
文件 909430 2010-08-18 21:38 直流无刷电机控制程序\实验图\KPKIKD100-0-300采样周期40ms.bmp
............此处省略43个文件信息
- 上一篇:knime预测股票价格的
- 下一篇:WMS仓储管理系统流程图
相关资源
- 直流无刷电机方波驱动 stm32 例程代码
- IAR For ARM 7.3最新注册机
- 郭天祥ARM9视频教程
- IAR ARM 7.8破解
- IAR For ARM V5.5 注册机
- IAR for ARM 7.40 破解
- IAR For ARM 7.4 破解
- arm触摸屏与LCD校准程序三点校准法
- ARM嵌入式项目实战
- 基于ARM蓝牙传输源程序
- USB 驱动 让电脑与arm进行通信
- arm flash 烧写程序源码
- 基于LW IP的嵌入式串口服务器的设计与
- Studies In Vitro and In Vivo of Pharmacologica
- Research on pharmacological effects of lycorin
- ARM64 完整指令集,学习必备
- WINCC报表(OLE-DB Tag and Alarm Export_V8.x
- ARM9指令cache的verilog代码
- 基于ARM7处理器的CAN总线网络设计
- 基于ARM和GPRS的无线通信系统设计
- 关于proteus仿真arm7出现错误的问题
- 基于ARM7的LCD显示电压示波系统的设计
- 基于ARM7和DSP的逆变电源设计电路
- 基于ARM开发板的车辆检测系统控制单
- ARM7TDMI-S在嵌入式系统中的Bootloader代码
- ARM汇编指令集PDF
- 基于ARM7 PWM定时器的图像传感器时序信
- 基于ARM7的分布式远程测控系统设计
- LPC2100系列ARM7微控制器加密ARM芯片
- ARM7内核的中断屏蔽方法
评论
共有 条评论