Arduino i2c and pwm failure
2 views (last 30 days)
Hi! I am trying to control two dc motors regulated by the feedback from a MPU6050 gyro accelerometer with an Arduino Mega 2560.
I am using the the Matlab and Simulink Arduino support packages and Rensselaer Arduino Support Package Library for the gyro.
However, once a current starts flowing through the motors, the model stops and I get the following error message, wich is equal to unplugging the USB cable:
Error occurred while executing External Mode MEX-file 'ext_comm': ExtTargetPktPending() call failed while checking for target pkt
Component:Simulink | Category:Block diagram error
Error occurred while executing External Mode MEX-file 'ext_comm': ExtSetTargetPkt() call failed on CLOSE. Ensure target is still running
I have tried different motor drivers, different gyros and different Arduino Mega boards, all with no success. It is worth mentioning that this is part of a University bachelor thesis where I have discussed the problem with my supervisors as well, but we can still not figure out why it is not possible to read i2c values and control motors at the same time. Separately each task works well, but the problem is when one or both motors are actuated while reading i2c values at the same time.
Does anyone have an idea what the problem might be?
Madhu Govindarajan on 16 Apr 2019
Is it possible that you are not using an external battery to power these devices? I have had this happen to me sometimes when there is enough current/juice to go around for a few devices/sensors but not all of them.
If you are not using external power supply, then I would recommend doing so especially for the motors as they are the ones that have varying current demands.
More Answers in the Power Electronics Control