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.

DRV8301-HC-C2-KIT with hall sensors

Other Parts Discussed in Thread: DRV8301, DRV8312, INSTASPIN-BLDC, CONTROLSUITE, MOTORWARE

Hello,

I bought the evaluation kit DRV8301-HC-C2-KIT and I would like to test it with hall sensors. I checked in ControlSuit but I didn't see an example with hall sensors.

In my futur projet I will need to do positionning, So if you have an example with hall sensors and a positionning mode, that would be fantastic for my investigation.

In addition, I have just bought TMDSCNCD28069MISO card to test instaSPIN FOC. This card seems to be compatible with DRV8301-HC-C2-KIT, could you confirm please ?

Can I have a difference between instaSPIN BLDC and instaSPIN FOC in term of motor control with hall sensors?

Thank you in advance,

  • Sebastien,

    You can find Hall-effect sensors code example for DRV8312-C2-Kit in control suite, its not directly available for DRV8301-HC-C2-Kit.  DRV8312-C2-Kit kit support Hall-sensor input at Header J10 and using the example of DRV8312 kit, you would need to port the software for this kit. In my previous post, when I mentioned that DRV8301 kit supports Hall-sensor input, I meant it only for hardware support.

    Yes, TMDSCNCD28069MISO is compatible with DRV8301-HC kit you purchased.

    InstaSPIN-BLDC and InstaSPIN-FOC, both are sensor-less control algorithm and does not require Hall-sensor inputs. BLDC is used for trapezoidal type PWM control whereas FOC is sinusoidal PWM.

    Best Regards

    Milan

     

  • Milan,

    I have a sensored BLDC project for DRV8301 if you would like to have to support on the e2e forums. It isn't being added to controlSUITE anytime soon.

     

  • Chirs,

    It would be quite helpful to Sebastien, who wants to use DRV8301-HC-C2-Kit with Hall-effect sensors. I would request you to share the same on this post.

    Thanks a lot for your support !

    Best Regards

    Milan

  • attached is a .zip for a hall sensored based BLDC application on the DRV8301 + F28035 kit (DRV8301-HC-C2-KIT)

    follow the instructions in the readme.txt at the top level

    please note that this is NOT supported, so you are on your own at this point.

    DRV8301-BLDC-sensored.zip
  • Thanks a lot Chris and Milan !!!

    I really appreciate your help and support.

  • Hi Chirs,

    I have DRV8301 HC EVM with f2806x iso board on it.

    I managed to build and start debug sesson with the BLDC code you have provided.

    Before going deep with the code what is the code expected to do?

    I could not give a start to the motor what do you think i am missing.

    The code is for 2805 cpu.Might this be the problem?

    Best regards,

    Kutlu

  • If you are using the hall project I posted it is only set for f28035 control card. There would be some work to be done for f28069. You can try to follow the other drv830x projects in controlSUITE which are dual built to try to port.

  • Yes Chris I am using the code for f28035. After some work(including header files for 2806x) and changing GPIO 39 as GPIO 51(TO ENABE THE GATE) motor started to turn.

    Now i want to implement my code into this project.Simply i want to turn the motor in one direction at a speed after receiving an input from a sensor then wait for 5 seconds and then turn the motor in another direction to simulate a sliding door.

    Could you help me where to embed my code in the project. Into one of the states?

    As i am new to programming i will appreciate if you could help on this.

    Thanks,Kutlu

  • I'm sorry, I can't teach you embedded C programming through a forum. I suggest finding some tutorials on-line or looking for example projects.  We have some things that may be somewhat helpful to you (though also may confuse you with their complexity) in our InstaSPIN-MOTION projects in MotorWare.  There are several examples that enable motion sequences (we call these Plans) with timers and new speed or position commands.

    In general what you need to do for a simple case like yours is

    1. have a variable that you increment in a known interrupt rate, like your core control interrupt.

    2. in your background loop (or perhaps in a slower speed control loop) you add logic around this variable hitting a known value.  Ex: with a 20 KHz update rate of your variable, for 5 seconds, you need your variable to have incremented to 100,000. When it does you can reset the variable to 0, and set a new new speed and acceleration reference

    have fun

     

  • Hi,

    I have seen the project DRV8301-BLDC-Sensored for NEMA 17 MOTOR.

    I know that a lots of parameters are in these file : BLDC_int.c , BLDC_Int_Setting.h .


    Can I change motor's parameters, inverter's parameter , adc's offeset to spin an other BLDC motor?

    Is there a guide/turotial to do this ?

    I would like to modify this project to run a hub motor ( Rated Power 500W , Nominal Voltage 36 V ,

    Rated Current 20A ).

    For this motor i have specification data ( Rs, Ls, ...) .

    Thanks in advance

    Best Regards,

    Dario
  • Hi Dario,

    I have notified the expert who supports these projects.

  • the guide for InstaSPIN-BLDC is included at

    C:\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_v105\InstaSPIN_BLDC\~Doc\

    you will have more success with InstaSPIN-FOC though in generating necessary / better torque for this application.

  • Hi Chris,

    thanks for the reply.

    I will see the guide tomorrow .

    I need to understand one thing. It 's very important for my job.

    is it possible to modify the project InstaSPIN_BLDC ( and in particular the parameters ) to control another BLDC motor?

     My motor is different from nema 17. It is an hub motor.

     

     

     

  • InstaSPIN-BLDC does not rely on any parameters. You "tune" the commutation by setting a voltage (Bemf) threshold value.
    The only thing you need to change for a new motor is the # of poles if you want to use the RPM variables (calculated from the electrical frequency * 120 / poles).
  • Hi Chris,

    I have not explained well my problem.

    1) It is possible to modify DRV8301-BLDC-Sensored Project to spin an other motor ( different from Nema 17) ?

    2) It is possible to modify PM-sensorless Project to spin an other motor ( different from Nema 17) ?

    3) I think motor's parameters, inverter's parameter , adc's offeset have to be changed . Can you confirm this?


    I would like to modify these project ( using Code Composer ) to run an hub motor ( Rated Power 500W , Nominal Voltage 36 V ,

    Rated Current 20A ). For this motor i have specification data.

    Thanks in advance for your support


    Dario Detomaso

  • 1. yes. as explained in the readme file the motor used for testing this project was not the NEMA17 from the DRV8312 kit. It was actually a customer's motor.
    2. Yes, but this is much more challenging. Hence the reason we invented InstaSPIN-FOC which ID's parameters, tunes the current loops, and has a much better and more robust observer.
    3. motor parameters will have to be changed for #2, not for #1. The inverter parameters are already set in both. You should update the ADC offset for your specific board, but it should be close to the default.

    I still say once again that your development and control will be much easier for this application using InstaSPIN-FOC.
  • Hi,

    I am using your project DRV8301-BLDC-sensored with the electric motor NEMA17.

    I have set the power supply at 24V (voltage) and current limit at 2.30 Ampere.

    When I use the level 7 with HallCommutationFlag = 1 , I notice a strange behavior .

    The power source voltage drops to 6 volts, the current rises to the upper limit 2.30 A , but the motor is running.

    See this image.




    When I used INSTAN-SPIN BLDC, I have not seen this strange behavior with  "closed speed loop + closed current loop"

    is there an error in the code for level 7?

    I'm thinking  current pid's parameters  are wrong...

    What should I change in the code?

    thanks in advance

  • I'm sorry, as I mentioned this software project is not officially released so it is unsupported. I posted it to help if you need to do hall on DRV8301 EVM, but you have to take it as-is.

    I'm very surprised it's still running though. The DRV8301 chip should drop out somewhere near 6V (usually higher than that on this EVM). You have lost synchronization / control of the motor.
  • Hi Chris,

    if I understood correctly there is a problem on synchronization between hall sensors and switches.

    if you can give me advice on what to change or help,

    I will give you my modified source code
  • Hi Dario,
    I think you figured out right, there is mismatch between Hall-logic generated and motor phase. Keeping Hall-intrface same, you can connect 3- inverter outputs to 3-motor phases in 6 different ways. Only one connection is right gives minumum current. you can go trial and error way to find out right combination.
    For more detail you can refer to: e2e.ti.com/.../generate-your-own-commutation-table-part-2
    Best RegardsMilan
  • Hi,

    I have modified the project DRV8301-bldc sensored to run my hub motor.

    Other levels works well.

    Now I have problems with the level 5: current control.

    I read your guide. I set the value of the parameters of the controller PI

    Kp_idc = ((2 * PI * LS) / (T / 20)) * (BASE_CURRENT / BASE_VOLTAGE)

    ki_idc = (RS / LS) * (1 / T)

    The electric motor does not have a controlled behavior. The feedback of the current PI is always quite different from the current reference.

    What I should do? I wish that the current control functions well.

    How could I see the step response in code composer studio ?

    Can anyone give some advice ?!

    I'm in trouble ...
  • Dario,

    PI controller tuning is always tricky. First thing to get proper tuning is to verify if your current feedback is correct and stable. Run the motor in open loop at different load conditions and check current feedback values. It should match with actual dc link current and should be linear with load change.

    Once your feedback is stable, follow steps mentioned in link below to get PI tuned.

    http://processors.wiki.ti.com/index.php/TMS320C2000_Motor_Control_Primer#PI_Tuning

    Best Regards

    Milan-Motor Application Team

  • Hi,
    I have developed a project for a BLDC hub motor. I hear a lot of noise in the motor with trapeizoidal control . why is there this noise? PWM frequency is 20khz . can I change this frequency?
  • Dario,

    Trapeziodal control produce more noise than sinusiodal comtrol becuase of torque ripple at 6*motor electric freqency. This is low frequency Noise and it will always be within audibale noise range.

    PWM freqeuncy is already above audibale range of 18kHz so I do not think that it is cuasing the noise.

    Best Regards

    Milan

  • Hi,

    which method is used to determine the best pwm's frequency for the trapeizoidal control ?

    Best Regards,

    Dario
  • Dario,

    Trapeziodal control uses constant duty cycle so from noise point of view, 4-quardent uni-polar PWM switching scheme is best. The output PWM freqeuncy  to motor appears at double of PWM freqeuncy.

    There is very nice blog series written by Dave wilson on ti e2e site about this topic. Please refer to it for more details.

    Best Regards

    Milan

  • Hi,

    Now, I'm working on the project DRV8301 BLDC sensored (is not official). At level 5 the designer wrote "level5 is not stable". What's wrong with livel 5, wrong design of PI current or else? Someone knows what to see in details to correct this level ?

    I have found that in task B0 the condition "if(CpuTimer1Regs.TCR.bit.TIF == 1)" is always false ,
    therefore, the task b1, b2, b3, are never executed. What should I change in the code?

    Are there suggestions?

    I hope "someone help me".
  • Dario,

    The most probable reason for instability in level 5 could be related torque control mode i.e. fixed current reference is applied, motor speed can reach to very high speed if it is not loaded.

    Chris,

    Do you see any other specific reason for instability in level 5?

    Best Regards

    Milan-Motor Application Team

  • Hi,

    I need to know if there is a stable version of the project BLDC sensored (with hall sensor) for this kit drv8301 hc c2 kit

    I have serious problems with this prooject BLDC sensored of this forum

    Thanks in advance
  • Dario,
    BLDC Hall sesnored with DRV8301-Kit is never released officially from TI, It never gone thorough testing that is done with officially released code. The example code was provided to you to get started but you will need to put efforts to make it work according to your requirements.
    Best RegardsMilan
  • Hi,

    is there anyone that you have developed the current control for a BLDC ( with hall sensor) on the kit DRV8301 hc c2 kit ?

    My algorithm does not work well.

    My company is looking for an expert to solve my problem....

    The basic design is DRV8301-BLDC-sensored of this forum.