closed loop bldc motor control sensor less

my project is to run the bldc motor without using a sensor. i have chosen free wheeling diode method to obtain it. i am using irf520 mosfet for inverter circuit and a diode across each mosfet in counter direction. to detect the current passing through the diode im using op amp(IC741) across a resistor connected in series with diode. data sheet of the motor is attached below. 200187 is the motor number. its equipped with hall effect sensors, but im using it for sensor less by just grabbing the 3 leads of the motor for the input leaving the rest alone. the controlling signals for the gate of mosfet is given from the arduino, and the input signals are taken from the output of the op amp

could any one please send me the program related to it for arduino uno.

200187 motor bldc.pdf (563 KB)

To clarify you are doing open-loop current control? This a 4 lead motor so I presume you are using 3 MOSFETs? A circuit would be useful to confirm such things.

in the attachment the circuit diagram is there. the three inputs of the motor are taken from the three legs of the inverter circuit. any more details required reply.

Blimey that's impossible to follow, can you draw a proper circuit diagram please?

here’s the hand drawn circuit.

Opamps don't work like that. You perhaps want a differential amplifier for each shunt resistor to reference the output to ground? the 741 is not suitable for low voltage circuit, its over 40 years old and is not rail-rail.

I wonder why you want to measure the current in the free wheel diodes?

i already mentioned, i control the position of the rotor using free wheeling diodes. at six different instants of the rotor position(each 60 degrees apart) the current flows in 6 different free wheeling diodes, which enables me to detect the current position of the rotor so that the purpose is achieved. i need an arduino program consisting of 6 outputs for the gate and which takes 6 inputs from the output of the op amp(whatever may b used in place of it).

That doesn't make sense to me - I've not heard of such a scheme before - normally the free-wheel diodes conduct for a fraction of a microsecond only when running at full power, so I can't see it being possible at full speed, and I don't understand how current (which relates to torque principally) can act as a proxy for position, like back-EMF can.

Do you have some diagrams explaining the concept?

consider this research paper…

freewheeling diode method.pdf (859 KB)

Yes, that's nothing to do with commutation, they are modeling an ideal motor and showing how to reduce current and torque ripple in theory.

Check your MOSFET data sheet to see if the IRF520 already has a diode across it built into the package (the IRF740 does). If so this will give you a lot of difficulty even assuming you are working with a valid algorithm. And I have doubts about that.

All power MOSFETs have body diodes, its an essential part of power MOSFET architecture.

So I really can't see anything but grief coming from putting another diode in parallel with it and trying to base some action on the current through this added diode.