herohezi 发表于 2015-8-17 14:05:01

DRV8711步进电机256细分原理图PCB AD9





寄存器定义用什么控制器大家决定吧

/*****************************************************************************************************
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={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={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={0,1,2,3};                  //死区时间设定
#define   ISGAIN5      0x0000    //电流检测放大倍数地9,8位
#define   ISGAIN10    0x0100    //
#define   ISGAIN20    0x0200    //
#define   ISGAIN40    0x0300    //
//unsigned char ISGAIN={0,1,2,3};                  //电流放大倍数
#define      INTERNAL    0x0000    //内部探测地7位
#define      EXSTALL      0x0080    //外部探测   
//unsigned char RSTALL={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={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    //过温关机

myntpcb 发表于 2015-8-17 14:41:20

细分不是用软件分的么

ming315578376 发表于 2015-8-17 14:55:17

有部分IC可以通过硬件去细分的!

herohezi 发表于 2015-8-17 15:10:51

这个shield通过软件细分   spi接口

herohezi 发表于 2015-8-17 15:12:40

weikamd 发表于 2015-8-17 17:36:05

可以看一下吗?谢谢!

thanky0u58 发表于 2015-8-17 18:34:41

学习,看看!

amiok 发表于 2016-1-5 17:31:43

可以看一下吗?谢谢!

jjdyl2 发表于 2016-1-11 22:10:44

学一学哟!!!

lorinislorinis 发表于 2016-3-17 17:09:13

好东西,学习学习
页: [1] 2 3 4
查看完整版本: DRV8711步进电机256细分原理图PCB AD9