PWM Reading & eCAP probblem with TI C2000 f28379d & Simulink

조회 수: 18(최근 30일)
Hi, I'm trying to create a control system for a RC car with TI C2000 f28379d & Simulink, the project includes:
  • On CPU2: four encoders for measuring wheel speed, reading PWM commands (steering/throttle) from TX-RX.
  • On CPU1: IMU 6dof reading (I2CA), use of serials SCIA/SCIB and PWM output for servo/ESC (ePWM1/ePWM2)
The two programs communicate through the IPC blocks.
For encoders and PWM commands reading I referred to "RC_Demo_C2000_Control_Unit.slx" from https://it.mathworks.com/matlabcentral/fileexchange/63857-remote-control-racecar-using-simulink-and-texas-instruments-c2000
Testing the system I realized there are errors on reading commands: I read sporadically unwanted peaks (see image).
In the attached image I use a PWM with a high logic level of 1.5ms.
I did several tests with two different TX-RX pairs:
  • one with 50Hz output frequency where there are sporadic peaks (PWM with high logic level of 1.5ms duration)
  • the other with 100Hz output frequency where I get much more frequent peaks. (PWM with high logic level of 1.5ms duration)
Below is the configuration used:
  • ENCODER_A:P24(eCAP1)
  • ENCODER_B:P25(eCAP2)
  • ENCODER_C:P14(eCAP3)
  • ENCODER_D:P15(eCAP4)
  • throttle:P16(eCAP5)
  • steering:P29(eCAP6)
Any ideas to solve the problem?
Thanks.

답변(1개)

Venkatesh Chilapur
Venkatesh Chilapur 2018년 8월 6일
Please ensure Overflow/Underflow scenario are causing the behavior. You may want to log the values to ensure the inputs to ePWM block are within the desired range.

커뮤니티

더 많은 답변 보기:  Power Electronics Community

Community Treasure Hunt

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

Start Hunting!

Translated by