As I stated, you need more precision. Note that I put 30 digits of precision on all machine precision numbers (numbers like 1 or Pi are infinite precision already). Also note that 5*^6 is the correct syntax for 5e6or 5x10^6 in MMA. Also 1.2`30 is 1.2 with 30 digits of precision. This works fine.
m = 1;
n = 1;
k1 = 2.5`30*^8; k2 = 5*^5;
h = 2*^-3;
b = 50*h;
a = b;
hp = 0;
Vo = 220;
q = 5000*Sin[1500*t];
px = 0;
py = 0;
Nxp = 0;
NxT = 0;
Nyp = 0;
NyT = 0;
A11 = 450288736;
A12 = 3.2402`30*^6;
A22 = 11028750;
A66 = 2.8731`30*^6;
B11 = 0;
B12 = 0;
B22 = 0;
B66 = 0;
D11 = 150.0962`30;
D12 = 1.0801`30;
D22 = 3.6762`30;
D66 = 0.9577`30;
ro1 = 2.4400`30;
You never defined epsilon so I did
epsilon = 1;
Your NDSolve now works fine.
Regards,
Neil