I had the same issue as you - I replaced my heater blower resistor underneath the glovebox for £12 delivered from eBay as the resistances were wrong, vibrations over time can do it, you can check it with any old multimeter or just take a gamble and replace it.