|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
drv8711.pdf
(1.76 MB, 下载次数: 6)
DRV8711_LIGHT1.0制版.rar
(789 KB, 下载次数: 13)
DRV8711_LIGHT_old.pdf
(781 KB, 下载次数: 17)
寄存器定义用什么控制器大家决定吧
/*****************************************************************************************************
CTRL 11 10 9 8 7 6 5 4 3 2 1 0
控制 死区时间设定 电流放大倍数 堵转方式 细 分 模 式 步进方式 方向方式 使能方式
TORQUE 11 10 9 8 7 6 5 4 3 2 1 0
转矩 保留 反电动势采样时间 设 置 最 高 转 矩 电 流
OFF 11 10 9 8 7 6 5 4 3 2 1 0
关机 保 留 工作模式 设 置 固 定 关 断 时 间
BLANK 11 10 9 8 7 6 5 4 3 2 1 0
消隐 保 留 使能消隐 设 置 固 定 消 隐 时 间
DECAY 11 10 9 8 7 6 5 4 3 2 1 0
衰减 保留 设置 衰减 模式 设 置 固 定 衰 减 时 间
STALL 11 10 9 8 7 6 5 4 3 2 1 0
堵转 反电动势反馈 堵转发生时间 设 置 固 定 堵 转 入 口
DRIVE 11 10 9 8 7 6 5 4 3 2 1 0
驱动 高门级驱动电流 低门级驱动电流 高门级驱动时间 低门级驱动时间 过流峰值时间 过流保护电压
STATUS 11 10 9 8 7 6 5 4 3 2 1 0
状态 保 留 堵转锁存 堵转 B相故障 A相故障 欠压 B过流 A过流 过温保护
******************************************************************************************************/
#define READ 0x8000
#define WRITE 0x0000 //数据15位
//unsigned char RWBIT[2]={1,0}; //读写控制位
//寄存器地址
#define CTRL 0x0000 //控制模式第14,13,12位
#define TORQUE 0x1000 //
#define OFF 0x2000 //
#define BLANK 0x3000 //
#define DECAY 0x4000 //
#define STALL 0x5000 //
#define DRIVE 0x6000 //
#define STATUS 0x07 //
/******************************************************************************************************
CTRL控制寄存器
******************************************************************************************************/
//unsigned char RADDRESS[8]={0,1,2,3,4,5,6,7}; //寄存器地址
#define DTIME400 0x0000 //死去电压设定地11,10位
#define DTIME450 0x0400 //
#define DTIME650 0x0800 //
#define DTIME850 0x0c00 //
//unsigned char DTIME[4]={0,1,2,3}; //死区时间设定
#define ISGAIN5 0x0000 //电流检测放大倍数地9,8位
#define ISGAIN10 0x0100 //
#define ISGAIN20 0x0200 //
#define ISGAIN40 0x0300 //
//unsigned char ISGAIN[4]={0,1,2,3}; //电流放大倍数
#define INTERNAL 0x0000 //内部探测地7位
#define EXSTALL 0x0080 //外部探测
//unsigned char RSTALL[2]={0,1}; //内外部停止检测
#define MODE1 0x0000 //细分模式第6,5,4,3位 0000 0000 0100 0000
#define MODE2 0x0008 //
#define MODE4 0x0010 //
#define MODE8 0x0018 //
#define MODE16 0x0020 //
#define MODE32 0x0028 //
#define MODE64 0x0030 //
#define MODE128 0x0038 //
#define MODE256 0x0040 //
unsigned char STEPPING[9]={0,1,2,3,4,5,6,7,8}; //细分模式
#define RSTEP 0x0000 //由step引脚控制第2位
#define RDIR 0x0000 //由dir控制方向 第1位
#define ENBL 0x0000 //电机失效第0位
#define ENMOTOR 0x0001 //电机使能
/******************************************************************************************************
TORQUE转矩控制寄存器
******************************************************************************************************/
//0000 0000 0000 0000
#define EMF50 0x0000 //反电动势采样时间
#define EMF100 0x0100 //
#define EMF200 0x0200 //
#define EMF300 0x0300 //
#define EMF400 0x0400 //
#define EMF600 0x0500 //
#define EMF800 0x0600 //
#define EMF1000 0x0700 //
/******************************************************************************************************
OFF关断控制寄存器
******************************************************************************************************/
//0000 0000 0000 0000
#define INDEXER 0x0000 //内部分度器模式
#define PWMMODE 0x0100 //PWM模式
/******************************************************************************************************
BLANK消隐控制寄存器
******************************************************************************************************/
//0000 0000 0000 0000
#define DISABT 0x0000 //禁用自适应消隐时间
#define ENABT 0x0100 //启用自适应消隐时间
/******************************************************************************************************
DECAY衰减控制寄存器
******************************************************************************************************/
//0000 0000 0000 0000
#define SLOWFORCE 0x0000 //慢衰减
#define HUNHE 0x0100 //慢衰减模式增大电流快衰减减小电流
#define FASTFORCE 0x0200 //快衰减
#define MIXEDFORCE 0x0300 //固定衰减
#define AUTOHUNHE 0x0400 //慢衰减模式增大电流自动固定衰减减小电流
#define AUTOFORCE 0x0500 //自动固定衰减
/******************************************************************************************************
STALL堵转控制寄存器
******************************************************************************************************/
//0000 0000 0000 0000
#define EMF32 0x0000 //反电动势反馈系数32
#define EMF16 0x0400 //反电动势反馈系数16
#define EMF8 0x0800 //反电动势反馈系数8
#define EMF4 0x0C00 //反电动势反馈系数4
#define STALL1 0x0000 //堵转查询时间立即发生
#define STALL2 0x0100 //堵转查询时间在2步以后
#define STALL4 0x0200 //堵转查询时间在4步以后
#define STALL8 0x0300 //堵转查询时间在8步以后
/******************************************************************************************************
DRIVE驱动控制寄存器
******************************************************************************************************/
//0110 0000 0101 0100
#define IDRIVEP50 0x0000 //高门级驱动电流50mA
#define IDRIVEP100 0x0400 //高门级驱动电流100mA
#define IDRIVEP150 0x0800 //高门级驱动电流150mA
#define IDRIVEP200 0x0C00 //高门级驱动电流200mA
#define IDRIVEN100 0x0000 //低门级驱动电流100mA
#define IDRIVEN200 0x0100 //低门级驱动电流200mA
#define IDRIVEN300 0x0200 //低门级驱动电流300mA
#define IDRIVEN400 0x0300 //低门级驱动电流400mA
#define TDRIVEP250 0x0000 //高门级驱动时间250nS
#define TDRIVEP500 0x0040 //高门级驱动时间500nS
#define TDRIVEP1000 0x0080 //高门级驱动时间1000nS
#define TDRIVEP2000 0x00C0 //高门级驱动时间2000nS
#define TDRIVEN250 0x0000 //低门级驱动时间250nS
#define TDRIVEN500 0x0010 //低门级驱动时间500nS
#define TDRIVEN1000 0x0020 //低门级驱动时间1000nS
#define TDRIVEN2000 0x0030 //低门级驱动时间2000nS
#define OCPDEG1 0x0000 //过流峰值时间1uS
#define OCPDEG2 0x0040 //过流峰值时间2uS
#define OCPDEG4 0x0080 //过流峰值时间4uS
#define OCPDEG8 0x00C0 //过流峰值时间8uS
#define OCPTH250 0x0000 //过流保护电压250mV
#define OCPTH500 0x0001 //过流保护电压500mV
#define OCPTH750 0x0002 //过流保护电压750mV
#define OCPTH1000 0x0003 //过流保护电压1000mV
/******************************************************************************************************
STATUS状态控制寄存器
******************************************************************************************************/
//0000 0000 0000 0000
#define STDLAT 0x0007 //堵转状态
#define STD 0x0006 //堵转
#define UVLO 0x0005 //堵转
#define BPDF 0x0004 //B相欠压保护
#define APDF 0x0003 //A相欠压保护
#define BOCP 0x0002 //B相过流关机
#define AOCP 0x0001 //A相过流关机
#define OTS 0x0000 //过温关机 |
|