I use Garmin edge 520 with Garmin dual heart rate monitor and it shows completely false results like maximum hr >180 and average hr 150, while my ride is easy, slow and flat and I don't feel any discomfort. Measuring my hr with my finger I get much lower indications. Probably this happens because of an (controled) arrhythmia that I have. How to overcome the faulty results of my hrm? Is there any monitor or system that may be more acurate? Thank you in advance!
As mentioned already, one likely problem is poor contact.
One easy way to test for poor contact is to get the contact area wet - and I mean wet.
Put on your HRM strap and get your GPS unit. Turn on the GPS unit, and when it's reading your HR - or when it should be reading your HR - take a full water bottle and soak in between the HRM strap and your skin. Get it really wet.
Now see how your HR is reading. If the reading improves and starts to reflect what you get if you measure your pulse by other methods, you have problems with your HRM because of bad contact. You might have to wiggle your strap around a bit, or wet it more than once and wiggle it around a bit.
If this doesn't result in improved accuracy, it doesn't really mean anything - you could still have contact issues.
If you don't want to get your floor wet, do this outside or while standing in a shower or tub.
After trying the suggestions from other answers, consider that the numbers might be real. I do have the same problem and I returned my first HRM because I thought it was faulty. It turned out that I just do have unusually high heart rate without any known heart conditions, so that 150 is more or less normal for casual riding and the maximum is somewhere beyond 200. The "220-age" formula is not really true or even a good approximation.