Boyfriend Problems

I feel like he always takes his anger out on me. He gets in a fight with his mom, he’s being mean to me. He’s stressed about work, he’s being mean to me. Then when he gets sad about stuff when I try to comfort him he always pushes me away. We’ve been together 3 years and I love him to death but idk what to do. He was supposed to come over today but then his mom got mad cause he never spends time with them apparently. Then he sends me a vid on snap of he basically talking crap about me, idk why. All I ever want from him is his time. Just to hang out and for him to come over but he says I “stress him out.” He told me to “fuck off” and that the two women in his life (me and his mom) are annoying and don’t care about him. He always gets like this when he’s mad or stressed. He then complained that I don’t come over to his house enough but that’s because I don’t have my own car like he does plus I’m younger. I’m almost 18 and he’s almost 20( together almost 3 years) I need advice.