Police have charged a man who they say has defrauded more than 20 seniors out of approximately $186,000 over five weeks.