Hi,
There are different ways to calculate the adequate number of clusters. Usually you have to try different numbers and check the results, or use some function that measure the distance between the different number of clusters. Have you tried the function Dmin? This link, under "cluster number determination" section, you can find an example of the function and how to interpret the plot for an optimal number of clusters.