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.
Hello all,
as I indicate in the post title I want to drive a BLDC motor with a DRV8402 and a F2806X. The question is if I can obtain a source code example for this application and which documentation I must read (or is recommended to read) to understand the BEMF sensorless FOC that is done by the uController and start to modify the example code to adapt it to my needs.
Thank you before hand,
Jaime
Hello again,
I have found this document regarding the principle of the sensorless BEMF control explanation:
http://focus.ti.com/lit/an/spra498/spra498.pdf
This technique is used in a TMS320C242 that is no longer supported and the recommended compatible controller is the TMS320F2809.
The questions are:
- Should I use the TMS320F2809 instead the TMS320F28069? and which are the main differences?
- (I'm really really new in microcontrollers) What I need to start implementing my system? such programming boards, software... if my goal is to develop my own board to drive the motor.
- Is already a sensorless control system implemeted to start with?
Thank you!
Please refer to the HVMotor Control kit
http://focus.ti.com/docs/toolsw/folders/print/tmdshvmtrpfckit.html
or
http://focus.ti.com/docs/toolsw/folders/print/drv8312-c2-kit.html
which use F28035 controller,
The entire software and documentation is available through controlSUITE,
F2809 is a fixed point controller at 100Mhz, F28035 is a fixed point controller with enhanced peripherals at 60Mhz but has a control law accelerator,
F28069 is floating point at 80Mhz with control law accelerator and many other advanced features from F28035.
A choice of controller depends on what all you are doing in your system, I would suggest starting with one of the kits mentioned above using the F28035,
and if necessary move to F28069.
-Manish Bhardwaj
The DRV8312-C2-KIT (which is in controlSUITE) ships with the F28035, but all projects are dual bult for the F28069 controlCARD as well. Look at the main header file and you'll see that you can switch to the F28069 with a simple switch.
This kit shows low voltage BLDC trapezoidal sensored, sensorless, and sensorless FOC.
BTW TMDS1MTRPFCKIT / 2MTRPFCKIT is also in controlSUITE (listed as Low Voltage dual axis) and shows FOC for DRV8402, but DRV8402 is going EOL. Suggest you use DRV8312 or DRV8332 for integrated drivers.
There isn't an InstaSPIN-BLDC project for the HVKIT, we only released on the DRV8312 and DRV8301 Kits.
If you want to use the controlSUITE examples for the HVKIT there is a BLDC Sensorless:
C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVBLDC_Sensorless
There are more changes required to use F2806x (you have to look at the pin mapping and initialization). And to use the 69M version, you have to add the IQmath library to your project as the 69M has the IQMath library in a different location in ROM due to the InstaSPIN library being in ROM also.
If you are able to use the F28035 for your project I would just purchase TMDSCNCD28035ISO and you will be able to start with the controlSUITE project immediately.
You can also port over an InstaSPIN-BLDC project from one of the other kits to the HVKIT if you wish.
C:\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_v105\InstaSPIN_BLDC
Dear Chris,
Thank you very much for your quick answer.
Actually, I developed my own control PCB applying 28069M already.
I had evaluated InstaSPIN FOC algorithm thru HV motor kit and then applied it to my own PCB for our 20k rpm PMSM drive with some modifications.
I could complete drive the motor up to 20krpm with our own inverter stack and the PCB applying 28069M thru InstaSPIN FOC algorithm.
But now I'm planning to drive more faster motor (up to 60krpm) by same own PCB applying 28069M.
In this case, I'm considering two stage inverter (buck + full bridge) with modified InstaSPIN BLDC algorithm.
But anyway, I wanna evaluate the principle of standard InstaSPIN BLDC thru my HV motor kit first.
I've reviewed two algorithms for HVBLDC_sensorless and InstaSPIN_BLDC, respectively, and feel that only difference part is back-EMF detection block and InstaSPIN-BLDC library is stiffer than COMTN_TRIG macro.
So I'd like to ask you how I could apply InstaSPIN-BLDC code to my HV motor kit using F28069M. (If I use F28035, I must invest to have new PCB applying F28035 additionally. Of course, the management doesn't want it.)
My questions are...
1. Is it impossible (using InstaSPIN-BLDC source code to my HV motor kit using F28069M with modification)?
2. Do you think there is very big performance deviation between InstaSPIN-BLDC macro and COMTN_TRIG macro?
Please kindly let me have your suggestion for choosing the best way for my application.
- Haneol
1. yes, it is possible
2. InstaSPIN-BLDC will be more robust during dynamics and allow slightly lower speeds. Personally, since the standard BLDC is already available on the HVKIT for F2803x, I would probably try that first to see if you get the performance required. You will just need to port the code to f2806x.
if you want, there are examples of dual "Active Build" projects for f2803x and f2806x, for example:
C:\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_v105\PM_Sensorless
this may help you in porting the HVKIT project.
Dear Chris :
I purchased TMDSCNCD28035ISO card. To use following source to HVKIT, which part of the source should I modify?
C:\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_v105\InstaSPIN_BLDC
Basically, I'm a H/W engineer so that I'm not very good at F/W coding.
Could you please give any instructions to apply code for DRV830x to HVKIT?
I'd appreciate your answer!
Regards,
Haneol
Haneol,
First, since you already have an InstaSPIN-FOC solution I don't understand why you would use InstaSPIN-BLDC. FOC works even better for the high speed motor you are attempting to use.
Here is a link to a zip file.
This includes an InstaSPIN-BLDC project for F28035 that was built to support DRV8312, DRV8301, DRV8302, and the HVMTRPFCKIT. Please review the Readme.
The only thing I'm not sure of is if this HVMTR kit support is for the previous revision R5 or the current revision R1.1
There are some significant differences in some of the pin out and feedback circuits, so make sure the SW matches up with your HW.
Dear Chris :
I'm really sorry for bothering you again.
Actually, I've finished a unload test of one of our motor up to 20krpm by my own PCB applying InstaSPIN FOC.
But unfortunately, our motors are driven by the trapezoidal control thru two stage inverter composed of voltage converter and frequency converter even though our motor is PMSM. So I've been developing new PCB with InstaSPIN-FOC for new products applying new inverter and developing another PCB with InstaSPIN-BLDC for replacing exiting PCB based on trapezoidal control.
By the way, I started evaluating sensorless HVBLDC source for HVMOTOR kit. After that, I would check InstaSPIN-BLDC example source code that you sent me.
Anyway, now I'm on level 3 and having struggling situation of graph function.
I can't import pre-defined graph setting in the example code. Also, it's hard to draw BemfA~BemfC by myself.
I tried to setup graph, but it doesn't work and draw unexpected value.
Could you please any advice for me??
Regards,
Haneol