Motorware v18 has officially been released. Find some of the changes enumerated below:
Did a reply answer your question? If yes, please click the "Verify Answer" button located at the bottom of that post.Visit these helpful C2000 Links!
In reply to Lori Heustess:
Lori and Chris,
Thanks for the clarifications. This legitimate response is very much appreciated.
I've been programming for over 10 years and I have never needed to use an exe to get access to resources. It's not common practice.
Also, I did use the Motorware exe to browse the resources, and it still took me 3 days to find the lab manual. I did find the pdf earlier, but I didn't scroll down past the list of labs. I just thought it was a list of labs. I can't be expected to read through a dozen pdfs just to get started.
I couldn't use the demonstration GUI since I bought the 8305 Boosterpack.
I understand that most of these issues have slowly arisen over time, but it has gotten messy enough that it is time for a complete rework. SO, I am very glad to hear that C2000Ware will replace Motorware. It sounds like a drastically better setup. Having the motor control system packaged as an SDK would be so much easier than just a bunch of files that need to be tightly woven into your own code.
Even if the code isn't changed at all, it would become 100x more usable if each user-facing function and variable had documentation. Comments in code are not sufficient documentation.
For the lab01b, does it support and work for instaSPIN HIKIT with F28027F processor ?
In the proj01_lab01b.c , it has the following macro #ifndef F2802xF, does that mean this DAC parameter setup won't work for the 28027 processor ? Could you let me know why it has this macro #ifndef ?
#ifndef F2802xF // set DAC parameters
// gDacData.ptrData = &gPwmData.Tabc.value;// gDacData.ptrData = &gPwmData.Tabc.value;// gDacData.ptrData = &gPwmData.Tabc.value;// gDacData.ptrData = &gAdcData.V.value;
gDacData.ptrData = &angle_gen.Angle_pu; gDacData.ptrData = &gAdcData.I.value; gDacData.ptrData = &gPwmData.Tabc.value; gDacData.ptrData = &gAdcData.V.value;
#ifndef F2802xF // Initialize Datalog datalogHandle = DATALOG_init(&datalog,sizeof(datalog));
// Connect inputs of the datalog module// datalog.iptr = &gPwmData.Tabc.value; // datalogBuff// datalog.iptr = &gPwmData.Tabc.value; // datalogBuff// datalog.iptr = &gPwmData.Tabc.value; // datalogBuff
datalog.iptr = &angle_gen.Angle_pu; // datalogBuff datalog.iptr = &gAdcData.I.value; // datalogBuff datalog.iptr = &gAdcData.V.value; // datalogBuff
datalog.Flag_EnableLogData = true; datalog.Flag_EnableLogOneShot = false;#endif
// setup faults HAL_setupFaults(halHandle);
In reply to Yinghui Zhang:
In reply to Sean Bigley:
Thanks a lot. For 28027F processor, on schmatic it has 8 channel PWM signal, we should have one spare PWM channel because we're not using PFC circuit (connect the jumper and bypass this circuit) and it'll give us the PWM-4. (Please see the following picture)
Could you please advise me how can I modify the code to use this spare channel? I'm trying to use motorware 11a with 28027F processor.
I trace to hal.c void HAL_setupGpios(HAL_Handle handle) , modified the GPIO setup for I/O 6 and 7:
// PWM1-PFC GPIO_setMode(obj->gpioHandle,GPIO_Number_6,GPIO_4_Mode_EPWM4A);
// PWM2-PFC GPIO_setMode(obj->gpioHandle,GPIO_Number_7,GPIO_4_Mode_EPWM4B);
I think I'm missing something, how the DAC channel signal is correlated to PWM signal ? could you please help advise that ?
For the lab01b, I'm confused about how the frequency in HZ covert to the electrical angle (rpm), could you help me understand that ?
controller_obj->speed_ref_pu = TRAJ_getIntValue(controller_obj->trajHandle_spd);
//ANGLE_GEN_run(angle_genHandle, controller_obj->speed_ref_pu);VS_FREQ_run(vs_freqHandle, controller_obj->speed_ref_pu);
Let's say V/F open loop, we normally command in frequency in HZ, from 0 to 60HZ in our case. But in the lab_proj01b.c, the ANGLE_GEN_run() takes in the speed_ref_pu, which is get from the function TRAJ_getIntValue(controller_obj->trajHandle_spd).
1) what's the scaling factor for speed_ref_pu ? is it convert the electrical speed rpm = HZ/(number of Poles *2) ?
if I want command 60hz as V/F open-loop command, should I control in the gMotorVars.SpeedRef_krpm = (60HZ)/(8 poles *2) = 3.75 ?
2) Why it use TRAJ_getIntValue instead of the function of TRAJ_setTargetValue ? what's the difference between these two function ?
In reply to ChrisClearman:
In reply to Jacob Martyr:
In reply to Rajan Joshi:
Unfortunately there is nothing we can do for this situation. The CCS team has already moved on to CCSv7 and don't have any sort of "prompt/notify" solution for compilers.
Is there a some other tool-chain and ide for TI processors ?
I hate "Code composer studio". I don't believe any serious code can be "composed" on it.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.