A penalty early in the second half from Trey Charles ended Valley’s six-game winless run in the league as Rugby secured a first home win at Butlin Road since August.