I think there are several (confounding) factors here. The biggest, by far, is the number of views a thread gets. If no one views a given thread, there are obviously no opportunities for people to vote. Moreover, every view isn't necessarily another actual opportunity for people to vote anyway; many of the views may come from the same people (who may have already voted or decided not to).
The number of views a thread gets is largely a function of the topic. It is quite clear that some tags get consistently more views than others. The title will also make a big difference in whether someone navigates to the tread. The length / complexity of the question can make a difference as well: when someone lands on the thread and sees that it is going to take some work just to get through the question, they may decide it isn't worth their time (cf., this meta thread: Does length of a question influence probability of receiving an answer?).
The correlation between quality and votes isn't zero, however. There have been a number of answers that I put some effort into, only to receive few votes. But I have found that those are the answers that continue to accrue upvotes (albeit at a slow rate) over time. Whereas other answers may have gotten a few upvotes immediately, but then stay at that level forever.
Whether your posts are getting many upvotes or not, be assured that they contribute to the site and that we appreciate your efforts here.