• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » C2000™ Microcontrollers » C2000 32-bit Microcontrollers Forum » DRV8301-HC-C2-KIT motor phase current lower threshold.
Share
C2000™ Microcontrollers
  • Forums
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS
C2000 Resources
  • Product Folder
  • C2000 Training Portal
  • C2000 Technical Training Catalog
  • C2000 Datasheets, App Notes, User Guides
  • C2000 Hardware Design Kits
  • controlSUITE for C2000 Software Library


  • InstaSPIN Resources
  • What is InstaSPIN?
  • Videos and Support


  • InstaSPIN-FOC and InstaSPIN-MOTION Resources
  • What is InstaSPIN-FOC?
  • What is InstaSPIN-MOTION?
  • Product Folder: F28069F, F28068F, F28062F, F28068M, F28069M
  • User’s Guide
  • Technical User’s Manual
  • Tools
  • Forums

    DRV8301-HC-C2-KIT motor phase current lower threshold.

    This question is not answered
    Pavel Ruban
    Posted by Pavel Ruban
    on Sep 30 2011 09:10 AM
    Intellectual275 points

    Greetings,

    I have a 3A lower motor current threshold limit on the motor phase, which means i cannot regulate the current <3A. I use sensored control with hall sensors on the DRV8301-HC-C2-KIT. Is there a away to remove this current offset of 3A, so it will be possible to regulate the motor phase current under this 3A limit? If so is it a software or hardware issue and how could i remove it? When i worked with the DRV8312 kit it was possible to regulate the current below 3A and almost up to 0A.

    Yours sincerly,

    Pavel Ruban

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Ryan Kehr
      Posted by Ryan Kehr
      on Sep 30 2011 17:15 PM
      Genius13785 points

      Pavel,

       

      For starters, I think you would want to swap out the sense resistors with something larger to get more dynamic range on the current sense...the current EVM is designed for 85A!!!

      The gain of the op amp would then need to be adjusted to cover a 0-3.3V range and center the bias point at 1.65V.  You could actually copy the values over from the DRV8312 kit and use the code from the 8312 kit as well for the scale factors as you seem to be familiar with that kit already.

      In 1Q12, we plan to release a much smaller version of the EVM that will support <10A currents and be much more optimized for your application.

       

       

       

      Ryan Kehr

      Motor Drive Application Manager

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pavel Ruban
      Posted by Pavel Ruban
      on Oct 03 2011 07:38 AM
      Intellectual275 points

      Hello,

      I have changed the sense resistors to 20mOhm instead of old values of 2mOhm. Gain of the opamp is 10, like before. This should give me a dynamic range of up to 8.5A, but i still cannot regulate the current under 3A.

      I use the offset adjustment for the PID regulator from the sensorless project:

      IDCfdbk=-((_IQ15toIQ(AdcResult.ADCRESULT4<<3)-IDC_offset)<<1);                (DRV8301)

       Is it in this code the motor phase offset current needs to be adjusted, or is it in another place? Are there some settings for sensorless control that affect this motor phase current offset, compared to sensored control?

       

       

       

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • LT Thomas
      Posted by LT Thomas
      on Oct 03 2011 17:12 PM
      Intellectual850 points

      Pavel,

      Are you using the InstaSpin GUI? All of the code released so far for the DRV8301 EVM is sensorless so there should be no Hall sensor hooked up, as long as the motor is between 8 and 60 volts and less then 60A it will run. If your adjusting the sense resistor in the InstaSpin GUI under the Settings tab you would change the Current loop and the line of code you have written above would not need to be changed.

      If you are taking the sensored code from the DRV8312 EVM and applying it to the DRV8301 then you would need to incoporate the SPI and Register changes that are made in the InstaSpin GUI code and change the BASE_CURRENT & BASE_VOLTAGE on line 645 of DRV8312GUI_Main.c along with modifying the Current loop.

      Let me know which method you are using above and if you need more help,

      LT

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pavel Ruban
      Posted by Pavel Ruban
      on Oct 04 2011 02:26 AM
      Intellectual275 points

      Hi Thomas,

      I started the project as sensorless, an example project called BLDC_Int. I have modified the project to run hall sensor control by changing hall_gpio_BLDC.h so I could read from the right GPIO pins. My build level is inspired by the one from DRV8312-KIT, BLDC-sensored project BUILDLEVEL5.

      I have attached my buildlevel code for hall sensor control using the BLDC_Int project:

      0336.BLDC_Int_hallsensor.txt

       

       

       

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pavel Ruban
      Posted by Pavel Ruban
      on Oct 04 2011 02:59 AM
      Intellectual275 points

      I would also like to mention one thing around the ADC conversion.

      When i look at the AdcResult.ADCRESULT4 in CCS watch window, which has a bias point around 2048, the number keeps on dropping down and back to the bias point  when current is running in the motor phase. Ideally the ADCRESULT4 should always show 2048 - measured_current, without jumping back and forth ( constant without much variation during a given current ).

      Im thinking this could also be some issue with ADC configuration?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • LT Thomas
      Posted by LT Thomas
      on Oct 17 2011 09:27 AM
      Intellectual850 points

      Pavel,

      I am confused on what you mean with ADCRESULT4 should always show 2048. ADCRESULT4 is measuring the current draw seen by the motor, so when the motor is running this number will jump back and forth from the bias point, but ADCRESULT4 should be set to sample the peak amount being drawn. The ADC configuration should be set up as seen in the graph below.

       

      LT

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pavel Ruban
      Posted by Pavel Ruban
      on Oct 18 2011 02:52 AM
      Intellectual275 points

      Hi Thomas,

      The problem i had for controlling very low currents, was due to that i was measuring a very weak analog signal with a lot of noise. So my sampled signal had a low of unwanted information (that was when measuring with U13 opamp, I-Total signal). The I-TOTAL signal also had information of the difference between two of the Rsense voltages, and that made it even more difficult, where sampling time had to be very accurate.

      Therefore i changed my strategy by sensing at different sense resistors, dependent on the commutation State i was (using the two current opamps in the DRV8301). By doing this the analog signal was much more pure, and not as distorted as the I-Total (by knowing what Rsense to measure at a given State). This solved my problem and now I'am able to regulate very low current (<100mA) in the motor phase.

      I would like to ask a question about how the ADCResult data is saved. As an example from the BLDC_int sensorless code, the ADCRESULT is shifted 3 times and then 1 time. Could you explain me the reason for this:

       IDCfdbk=-((_IQ15toIQ(AdcResult.ADCRESULT4<<3)-IDC_offset)<<1);

      Thank you,

      Pavel

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • LT Thomas
      Posted by LT Thomas
      on Oct 19 2011 09:05 AM
      Intellectual850 points

      Pavel,

      I am glad you were able to come up with this solution.  So the first 3 shift to the left is convert the 12 bit ADC reading to a 15bit signed Value, this is done just so we can have more precision when multiplying numbers together in the IQ (Signed Fixed point) Library. The shift 1 at the end is to times the current signal by 2, this is needed because we are moving from an unsigned number to a signed number.

      LT

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pariyet Supsinphan
      Posted by Pariyet Supsinphan
      on Oct 27 2011 21:44 PM
      Prodigy80 points

      Dear Ryan,

      I'm a new one of Piccolo motor control, Now I'm testing the eval.8301, it's ok.

      I have some question about it.

      1. If I need to use sense resistor 0.003 ohm, how do I modify the code? the phase current is <20A

      2. In my schematic, I use TMS320F28033 64 pins (cost reasonable), Can we convert the GUI sample code to 28033?

      Thank

       

      Pariyet S.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • LT Thomas
      Posted by LT Thomas
      on Nov 04 2011 13:31 PM
      Intellectual850 points

      Pariyet,

      Yes the code will work on the 28033, the only difference between that and the 28035 is the amount of memory and InstaSPIN takes less then 6K so theres plenty of room. And the 64 pin package has all the necessary peripherals.

      In the code you do not need to change anything as long as your sense resistor is scaled to have a range of 3.3v  or less.

      L%

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • LT Thomas
      Posted by LT Thomas
      on Nov 04 2011 13:31 PM
      Intellectual850 points

      Pariyet,

      Yes the code will work on the 28033, the only difference between that and the 28035 is the amount of memory and InstaSPIN takes less then 6K so theres plenty of room. And the 64 pin package has all the necessary peripherals.

      In the code you do not need to change anything as long as your sense resistor is scaled to have a range of 3.3v  or less.

      LT

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jonathan Nesbitt
      Posted by Jonathan Nesbitt
      on Apr 03 2013 07:19 AM
      Prodigy20 points

      For a motor phase current of 2 amps max, what resistor value is suggested on drv8312evm and resistor id number. Gain formula also appreciated with all suggested board modifications.

      Jonathan

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jonathan Nesbitt
      Posted by Jonathan Nesbitt
      on Apr 03 2013 08:31 AM
      Prodigy20 points

      Also are any c code changes needed for picolo 6 step commutation sensorless bldc project and sensorless field oriented control sfoc code composer projects on picolo & concerto?

      My motor is bldc with rotating magnets at 30000 rpm. Faster pwm reduced ripple currents  and I need to log 30KiBytes/sec to flash plus do ethernet or usb so leaning towards concerto or an fpga soc like zynq.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ryan Kehr
      Posted by Ryan Kehr
      on Apr 05 2013 13:45 PM
      Genius13785 points

      Jonathan,

      I am going to move this post to the C2000 forum that can better support your questions in terms of MCU device selection.

      Ryan Kehr

      Motor Drive Application Manager

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    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.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use