A novel fault diagnosis technique for photovoltaic systems based on artificial neural networks