Encoder motor driver and I2C communication


#1

Hi

At first, i have to say sorry for my horrible english. I hope i can explain my problem in a readable way.

I try to use a me-orion board with the encoder-motor-kit and have some problems wth the I2C communication. This orion-board is one of five boards, which work together in a little me-cluster and they all communicate via I2C.
Each orion is connected via RJ25-Adaper to the I2C-bus.

After connecting the encoder-board to PORT_1, I2C communication no longer works. The borrd could not not reach the other orions and it could also not start the encoder-motors. After disconnecting this board from the I2C-bus, the motors could be startet but they are very noisy with a high tone, even when they are stopped.

Because this orion will get its start-command from another board, this I2C-effect rides on my nerves.
The I2C-Ids of the boars went from 2 to 6, so this addresses should not cause a confict with the encoder-driver.

So i have two problems, the horrible high-tone and the I2C-communication. I there anything i can check or try ? Otherwise i have to use stepper-motor instead of the e-motors. But they are to big fpr their mounting-place and this would cause some other problems


#2

Hi,

I assume one of your orion boards is the i2c master. The MeEncoderMotor class also acts as a i2c master and should be on this board too (unless you take special precautions). If the MeEncoderMotor class is on your master, I see no obvious reason why it does not work and you might need to investigate what exactly is sent over the i2c bus.

With regard to the noise: this is probably the pwm frequency. If the motors are slightly off the desired position, the boards will try to correct them with a low-duty cycle signal. The signal is not large enough to turn the motors, but will generate some noise. Since even a software reset does not silence the motors, I’ve posted a question to this forum if there is a way to turn the motors really off, but no reply yet from MakeBlock support.
Note that I also have i2c errors when the motors are turning. Just hope this is not a hardware / design issue and someone can explain me how to solve this.

Joep


#3