@andri85 This sounds like my struggle at the start. I always get mag ~2000 when near wire but just 5 meters from wire it can go very low. I have the perimeter sender and all parts from the original complete ardumower kit from the shop. The sender is just not too good. I used to have Ambrogio L300 for years and with same cables (just the same that is sold on ardumower shop) the L300 never had any trouble with the signal, but you really have to work to get Ardumower going. And I have professional multimeter and the loop resistance is very well where it should be.
Edit:
And I have also maxed out the voltage to have just shy of the max 1A as the wiki says. Plugged in my values for the example formula and solved right voltage and adjusted voltage with multimeter:
Current: I = U / R = 8 Volt / 12 Ohm => 0.7 Ampere
wiki.ardumower.de
Edit end.
Edit 2:
If you are having issues with perimeter, one more important thing is to change the Timed-out if below smag to 80 or so. The original 300 is just too much when long way from the wire. And increase the trigger timeout slightly to 150 or so (you should experiment on your scenario).
Edit 2 end
You can help the situation with changes in perimeter.cpp. Try at own risk.
My commit comments for this:
"Magnitudes over 500 can be always counted as reliable. 1000 is a bit too much.
Increasing the signal counter from 3 to 15 will allow much better perimeter handling on low signal areas eg. middle of the yard and away from perimeter wire."
C++:
// perimeter inside/outside detection
if (mag[idx] > 0){
//signalCounter[idx] = min(signalCounter[idx]+1, 3);
signalCounter[idx] = min(signalCounter[idx]+1, 15);
} else {
//signalCounter[idx] = max(signalCounter[idx]-1, -3);
signalCounter[idx] = max(signalCounter[idx]-1, -15);
}
boolean Perimeter::isInside(byte idx){
// if (abs(mag[idx]) > 1000) {
if (abs(mag[idx]) > 500) {