Text this: Adapting perturbation voltage for variable speed micro-hydro using particle swarm optimization (PSO)