There may be some kind of electrical sensor problem that is affecting the compressor cycle.
Have the trouble codes pulled. Any Advance Auto or Auto Zone will do this for free.
If no codes come up, you should have the compressor refigerant pressure checked. Even as little as a.25 Lb off and an A/C can turn into a heater. It can also cause problems with the compressor cycling properly.