hi
I’m trying to develop my custom BLDC position control PCB using mp6570 and MP6541 but no matter what I did, I couldn’t connect to mp6570 with i2c protocol.
I’m using stm32 as i2c master.
can any one help me please?
is the default communication protocol i2c or something else?
do you have pullups on the I2C? I always forget those. Your schematic seems to indicate the SDA and SCL lines are RX and TX ie configured as RS-something or other as opposed to I2C. So is your micro setup so that those pins are I2C? You might consider putting a scope on those lines and see if anything wiggles.
Hello,
Please add pull up resistors to the SDA/SDO1/TX and SCL/SCLK1/RX pins.
Best,
Saquib
thanks for contributing
the max485 is because I want to have rs485 protocol on final product but now I’ve unmounted it.
I’ve connected sda/scl to my stm32 microcontroller also didn’t unmount R12,R13,R14,R15 so the pullup resistors are ok.
Is there another problem in MP6570 pin connection?
as I under stand from datasheet the default protocol is i2c and address is 0x12 , is it right?
Hi,
No experience with this particular IC, but reading the DS I2C should be default here. So:
- Use pullups on SDA/SCL. I would think 10k a bit high for 3v3 but that is likely not the problem. Do not connect the MAX485 while trying to get I2C running.
- What bit me more than once is the fact that my compiler (for PIC) handles an I2C address as 8-bit; this means that I have to address an IC like the MP6570 as being 0x24 instead of the 0x12 in the DS. When in doubt check with a scope to see what address is actually sent out.
Hello @miladdaneshvar01
Apologies for the late response, there shouldn’t be another problem with the connection and you are correct about the default protocol and address.
Best,
Saquib