lighting surface

I am trying to draw a surface with lighting effect. My surface is formed by many small triangles. I calculated the normal vector at each vertex of the triangles very carefully and I use a directional light source. However, the surface is dim. It looks something is wrong. Can anyone give me a hint of the possible problem? Thank you very much!

My triangle winding direction is Counterclockwise. In fact, I tried both glFrontFace(GL_CW) and glFrontFace(GL_CCW) and I got the same result.

I got lighting effect. However, both the up side and down side of the surface is light. What is the problem? the down side suppose to be dim, right?