Just a thought occured to me... the sampling of the arduino ADC usually takes how long? I actually find it interesting that whenever I sample the 6 channels altogether, there will be some discrepancy on one to three pins... maybe when I turn-on the pwm it consumes a bit more processing power and thus would need to take longer / more cycles to get the analog voltage?
The time taken to read the analog voltage depends only on the clock frequency, which is pretty much fixes by the resonator. If you just happened to be sampling the analog inputs at the PWM frequency, then current on the ground line or variation in Vcc caused by the PWM could result in different reading on different pins, because each pin would be reading the voltage during a different part of the PWM cycle. But it's very unlilely that you would get such synchronisation by accident.
I'm thinking to use op-amps to amplify the LM35 output to a more decent range of voltages instead of using the mV range. Do you think this can help?
I can't see any purpose in doing that unless you need to increase the resolution of the sensor. OTOH you might want to use the internal 1.2V analog reference for the ADC, that will increase the resolution anyway and avoid the reading depending on the 5V supply. But you'll have to calibrate the sensor, because although the 1.2V reference is quite stable, its actual value varies between chips.
BTW I usually suggest using the LM34 (Fahrenheit) sensor in preference to the LM35. It can measure temperatures below 0degC without a negative supply, and it has more than double the sensitivity. You need to do some maths in the Arduino to calculate the temperature, so you can calculate it in whatever units you like.
See point #2 in my reply #3 about using a separate ground for the sensor.
Your schematic in reply #7 can't be right, because it has the gates of the upper mosfets in the H-bridge connected to ground. Like lefty, I suggest you use a ready-built H-bridge, or at least an H-bridge chip - preferably a mosfet-based on such as MC33926 or BD6222.