I am a third year PhD student, and since joining my advisor's lab, I feel like I have made very little intellectual contribution to any of my projects. My advisor tells me exactly what to do, rarely asks for my ideas, and whenever I make a suggestion, he comes up with some reason why it's a bad idea and we should do it his way instead. Generally I feel like I am just carrying out his orders and don't get to do original research on my own. And if I don't get to do original research, why am I doing a PhD?
Sometimes my advisor gives me problems, and they are pretty interesting. But they stop being interesting when he tells me exactly how to model the problem, exactly what experiments to conduct, and exactly what figures should go in the resulting paper. Other people I've worked with just gave me problems and let me figure out how to solve them myself, and at the end of the week I'd send in results and they'd give advice (not orders) on what to do next. I felt a lot more attached to those projects because I felt like they were mine, and not someone else's.
When we meet with our collaborators about my projects, they mostly talk to each other and I can't get a word in, even though I am the one writing all the code and generating all the figures. Sometimes they are on the wrong track about something and a single sentence from me would clear up the confusion, but when I try to talk they frequently talk over me as if I weren't there, or didn't have anything valuable to contribute. Also, if I disagree with my advisor about how to do something, he will just assume I'm being stupid, but if my collaborator disagrees he actually listens.
How can I stop this and be in charge of my own projects?