While there is certainly a degree of innate ability in anything, motivation and interest are equally important. If you are studying as much as you say then you have the motivation factor down. There is likely some sort of systematic flaw in your studying habits. So here is some general advice I can give:
Before you begin, guesstimate an answer. Don't worry about getting super close, just try to think about what would make sense. After solving a problem perform a sanity check. Ask yourself if your numerical answer makes any sense. Did you calculate the mass of a car to be 30 g or 30,000 kg? Those don't make sense. This can lead to problems if your intuition is wrong, however, it will tell you that your intuition is wrong. Hopefully that happens during a HW problem, and you can figure out where your error in reasoning is.
Begin by identifying
all the variables given, as well as which are being asked for. This is an art in itself. Many times the value will be stated indirectly. This requires some intuition of what is happening. For example, if the problem asks about an object at its highest point then you know the speed = 0. You should also realize that the speed at the end of it's flight is the same as at the start (with the direction being exactly opposite). It may help to write down every single variable that may be involved with the problem. Then go through them all and ask yourself how you might be able to figure out what that value is.
On homework, start with problem #1 and work your way through the odd problems. Even if the teacher doesn't assign #1 start there. Usually, first problems are very simple and if you struggle with them then you are missing a fundamental understanding. From there they generally do a good job of increasing the complexity of the problems. They also tend to group problems that should be solved similarly together. This helps learning, but annoys me when I want to test myself later. Often identifying the method to use is a significant part of the problem. Therefore, after you are comfortable with the section go back and do problems at random, so that you aren't just repeating the same methods with different numbers.
Utilize the internet. Frankly, I can't imagine trying to work through math/science classes without the internet. The resources available are amazing. This site has excellent HW help forums. Post problems there and provide what work you have tried and people will be more than glad to provide exactly the type of interactive help you want. Also, try just reading other posts in that section. There are a lot of students taking similar classes as you right now, and they are all around the same point in the material. Attempt to work the problems they are posting (if it seems similar to what you are doing), and if you get stuck there is probably already help posted there ready to go.
In addition, the site http://www.cramster.com/" has worked solutions to many popular textbooks. The solutions to odd questions are free (but requires registering).
You mention difficulty in understanding your professor. While I recommend getting used to accents, I also always recommend seeking out alternative explanations of concepts. Sometimes the way different people think about problems just doesn't mesh well.
http://www.khanacademy.org/#physics" has taped their lectures and posted them online for free. Watch both of those for any concepts you don't feel you really understand.
Create a cheat sheet in your notes. This is a handy reference of all the formulas, as well as the meanings of the common variables. This will help cut down time looking for formulas while working problems. Also, the act of going through your notes/book and picking out the formulas will help you become familiar with them. Sometimes, a professor will let the class use open notes on a test without announcing it ahead of time. Having all the formulas in one place will be a massive bonus.
While doing HW always attempt to figure out why you got a problem wrong. A wrong answer isn't worthless. It is a learning opportunity. Keep a list of brief explanations of your mistakes. You may start to notice patterns. When you do, you know you need to focus on remembering not to make those mistakes.
This may seem a bit crazy, but attempt to explain these ideas to others. Start a free blog and write posts explaining the concepts you are learning. Don't worry about explaining things wrong, there is plenty of that on the internet already, just put a clear disclaimer that you are explaining these things as a way to help yourself learn. An unpromoted blog will gain virtually no hits, so you shouldn't worry about making a fool of yourself. If you don't want to expose your knowledge level then just do it in a file on your computer, or handwritten down. Regardless actually attempt to present the ideas as if you were teaching someone that didn't know them yet.
Become strong at math. You haven't really mentioned how strong you are in math in general, but many people have a problem learning physics because they are actually trying to learn physics and math at the same time. Being excellent at math won't guarantee you will find physics easy, but being weak at math will guarantee you find physics hard. If you are at the beginning of an engineering degree you have a lot of math ahead. You won't regret getting too good at math.