DC motor transfer function

I am currently working on a little project about controlling a DC motor with a PID controller. The plan is to implement the PID controller in an embedded way with an FPGA (PYNQ Z2). The DC motor has slotted disks accompanied with a light slot sensor which will output a pulse varying on period depending on the speed.

To design the PID controller, I would like to use Matlab and Modelsim. To do this, I need to characterize the plant (DC motor). Being the 2nd order TF is almost the same as the 1st order. Getting the 1st order and measuring the inductance would give me the second order TF.

1st order TF:

r/ControlTheory - DC motor characterization


With measurements and some calculations, I currently have:

-Ra (Armature resistance [Ω] ) 6,9

-La (Armature inductance) 1,94mH

-Kt (torque constant) 0,274

-Kb (back EMF constant) 0,274

-Dm (viscous friction [Nm/(rad/s)]) 1,568*10-3

To get these constants, I used a LCR meter and a setup consisting of the DC motor driven with several DC voltages (3-7V) and retrieved the no load speed with the light slot sensor. Now I am only stuck with retrieving Jm (rotational inertia [kg∙m2]).

I did do a measurement (4 times) with applying a step (5V with NMOS FET) to the DC motor and again measure velocity over time. I did this 4 times to get a representative result, but can't find how to retrieve Jm from that. According to a guideline that I have, with the data from the measurement, I should be able to retrieve Jm with the first equation.

Example of measurement result:
Step response DC motor.JPG

With the guideline I have got, also several transient response measurements have been made and the tau time was averaged. But I do not see/find the relation between that and retrieving the rotational inertia value.
 
Top