This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

tms320F2808 无刷带霍尔BLDC 采用sprc213例程 但现在马达转不起来!

Other Parts Discussed in Thread: TMS320F2808, DRV8412, DRV8312, CONTROLSUITE

求教:

tms320F2808 无刷带霍尔BLDC 采用sprc213例程,没有DMC1500板,Pwm1-pwm6 和Hall a.b.c已接上,(跑其它代码是可以跑的,PWM和Hall没有接错),但现在还不能转,ADC还不懂接,请接一下,是不是ADC没有接起来不会转,如果需要接,那几个脚是关键脚需要接?如检测电压和电流脚!

  • Eric

    你好,我已从http://www.ti.com/tool/sprc213 下载安装了,用CCS4.12 编程也通过,目前ADC还不懂接,

    // User specific functions, Reassign vectors (optional), Enable Interrupts:

    // Waiting for enable flag set
    while (EnableFlag==FALSE)    <-------现在代码卡在这里没有跑下去!
    {
    BackTicker++;
    }

    求教---EnableFlag这值需要什么条件才变TRUE?代码还不怎么理解!

  • // Waiting for enable flag set
    while (EnableFlag==FALSE)    <-------现在代码卡在这里没有跑下去!

    BackTicker++;
    }    <-------把上面屏蔽了,马达会开始慢转,但Hall a,b,c没有工作,要不要hall也是可以慢转,怀疑是跑起动开环代码!

  • hs Wong,

    EnableFlag就是启动整个程序的标示啊,你可以在watch 窗口中手工置"1"。这些在相应的user guide中讲到了,可以参考下。

    Once the build is complete click on debug button, reset CPU, restart, enable real time mode and run. Set "EnableFlag" to 1 in the watch window. The variable named "IsrTicker" will be incrementally increased as seen in watch windows to confirm the interrupt working properly.

  • Martin,你好,

    //volatile Uint16 EnableFlag = FALSE;

    volatile Uint16 EnableFlag = TRUE;  -----我已把"EnableFlag"置"1"了,不知我在代码里面置“1”可以吗?但还是出现,马达无力震动接近不转的速度在转,Hall a.b.c拔掉了,也会转的!现在头痛ADC输入没有接入,不知会不会造成影响,看adc04u_drv.pdf,里面里说到ADCINw,ADCINx, ADCINy,ADCINz,但DMC1500资料.pdf,线路图里面又没有找到ADCINw,ADCINx, ADCINy,ADCINz是对应那几个脚,求教高手帮忙一下!代码应该是工作的,只是有些设置还没有做到位!

     

  • hs Wong,

    EnableFlag最好还是在watch观测窗口里面置1,因为可以随时启动和停止电机。 关于ADC的接入,我没玩过DMC1500的板子,我用的都是DRV8312/DRV8412的新的Piccolo的开发板,因此具体的解法还是需要你看下手册,建议按照《BLDC3_1》手册,ADC使用前要接到一个稳定的电压上进行校准;只有校准过了才能使用ADC的值。同时,根据在有霍尔的BLDC控制里,ADC采样的几个量里面主要用到的是直流侧电流值,用作电流闭环的反馈,用以构成电流闭环。

    为了消除ADC的影响,你设置在level 1的模式下运行(不需要ADC部分),应能正常启动电机的。具体设置参照P16的 4.1 Phase 1 Incremental System Build。

  • Martin,你好,

    EnableFlag=1,置1了,也设置在level 1的模式下运行,按你所说的,没有ADC也应该跑起来!但现在只是在震动慢转,我快崩溃的是,把Hall a,b,c拆了还是可以震动着向前跑,有hall没有霍尔都一样。硬件和马达和hall霍尔在用自己写的简单BLDC代码是可以跑起来的!现在看来是BLDC3_1问题,可是代码又是从TI下载的,按道理应该会跑的!我没有什么办法了这个5.1就白加班,我在用F2808的,Martin方便提供一个可以跑的例程来参考一下不?

  • hs wongs,

    不好意思我也没有能直接在F2808上跑的BLDC的例程,只有在F2803x,F2806X上跑的。

  • Martin,你好,方便的话,就帮忙提供在F2803x,F2806X上跑的,F2803x,F2806X和F2808差不多可以移植,我可以先比较一下F2808 BLDC代码那里出问题,谢谢!

  • hs wong,

    向你推荐安装TI提供的软件controlsuite,里面有所有的28系列的datasheet、useguide、开发板套件资料、例程等,非常好用的软件,省去上网收索资料的烦恼。下载地址:http://www.ti.com/tool/controlsuite

    安装完之后在English->Development Tools->Motor->DRV8312-C2-KIT或DRV8412等下面都能很方便找到你要的BLDC的例程。谢谢!

  • Martin Yu,看来我要自己继续找原因了,谢谢你的热心支持!!