Check your coolant level first. Add as needed - be sure to use HOAT antifreeze. No heat at speed is a symptom of low coolant. If you still have no or little heat, I'd check the thermostat by removing it and putting it in boiling water to make sure it is opening properly though it sounds like it is sticking open. Check for DTC's (Diagnostic Trouble Codes). You may need to visit a AutoZone or Advance Auto - they'll retrieve the fault codes (if any) for no charge. Is the Check Engine Light on? If the t-stat is stuck open it can set a coe indicating the engine is running too cold - I forget what it is in the ODBII system, but it was code 17 in ODBI.