F2837xD, DRV8305 FOC Application

3 ビュー (過去 30 日間)
huseyin kahraman
huseyin kahraman 2020 年 11 月 18 日
Hi.
I am trying to build a motor driver for my school project and I am a bit new and inexperienced about this issue. I have a couple of questions regarding both the control side and the embedded side. If experienced people can give me answers about my problems, I would be grateful! My questions:
1) I have developed a model. Position control with FOC. My PWM carrier frequency is 10khz and the sample time of my model is 10e-5 sec. I have checked the frequency response of all 3 loops. After the check the bode plot, I have seen that my bandwidth according to -3dB is 500Hz for the Current loop, 150 Hz for Speed Loop, and 14 Hz for the position loop. I have developed an LPF for all these bandwidths. With these bandwidths and Low Pass Filters, I have observed pretty good current waveforms, Back EMF waveforms, and also speed and positions. But When I check the other industrial applications, the people said that for example, the current loop control freq is 24khz, speed is 4 Khz and Position is 2Khz for their application. It seems too much for me. What is the problem with that? Am I right about that, I mean the bandwidth which I get from bode plots are representing the control loop frequency of my loops?
2) As I said before, my sample time in the model is 10e-5 sec, ie. 100 kHz. When I put my model into F2837xD MCU, all my loops and models time step must be 10 Khz. Isn't it?
3) Also I have encountered a few videos about FOC with F2837xD in Matlab and they are looking a bit different from my model. I have designed all my loops and blocks on my own, I mean I didn't use any block related to F2837xD. After all these steps, I have built my model as C codes and get into F2837xD MCU. But all after this, I have seen a few videos and documents about my application. Some people are using DMC(Digital Motor Control) and FCL(Fast Current Loop) Libraries. I don't even use them in my application. Are these libraries required for me? I am asking this because I have tried to run my code in F2837xD and the code interrupted instantaneously after a few sec of start and I have gotten many errors related to "division". As I said, I am running all codes with 10-5 sample time and 10kHz carrier freq in my MCU. After that, I have reduced my sample time and It seems running, at least not interrupting.
As I said, I am a bit new about this application, If you can help me with my questions I would be grateful! Thank you!

回答 (0 件)

カテゴリ

Help Center および File ExchangeMotor Control Blockset についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by