2 Coils managements

Bernard

Well-known member
Staff member
I upload the last code version with the 2 coil managements.

But it was more complex than i have thought for accurate tracking (+/- 2cm over the wire in straight line) and docking.

Did everyone have code for that ?
Not simply how to do ;) ;)
 

Fürst Ruprecht

Well-known member
hello bernard,
I am sorry that I have not yet contacted you about this.
Without a running mower it is difficult to provide a contribution to the software.
Since today my Prototype-3 can drive. Housing is still missing, but chassis is ready.

Here's what I noticed today:
- eereadwrite(readflag, addr, perimeter.swapCoilPolarityLeft); is missing,

- With the same perimeter sensor hardware, Perimeter-Left shows "Outside" and Perimeter-Right shows "Inside".
This cannot be changed via swapCoilPolarity.
I have changed it in perimeter.cpp at this point (although I don't think it is correct):

if ((idx == 0) && !swapCoilPolarityLeft) mag[idx] *= -1; <- !
if ((idx == 1) && swapCoilPolarityRight) mag[idx] *= -1;

What I don't understand: SwapCoilPolarity works only after reboot.


Greetings Prince Ruprecht
 

Bernard

Well-known member
Staff member
I forget to remove the swap coil left from PFOD .
BUT:
You need to reverse the wiring at the output of sender to have the left coil inside signal , and only if necessary swap the right coil.

I can check the code to see why it's only work after reboot ??
 

Fürst Ruprecht

Well-known member
I paid close attention to the fact that the receivers have the same polarity. I will check again if this is the case (apparently not).

I have not removed but added the swap function in pfod.
 

Bernard

Well-known member
Staff member
I have not removed but added the swap function in pfod.
??????????????
You don't need to have the possibility to swap the 2 receivers only one is enough.
YOU NEED TO SWAP WIRE AT SENDER OUTPUT
 

Fürst Ruprecht

Well-known member
No, not if you already have a mower.
Prototype-2: LeftInside + RightInside
Prototype-3: LeftOutside+RightOutside -> so you have to rotate both

PT-2 drives clockwise to the charging station, PT3- in the opposite direction
 

Bernard

Well-known member
Staff member
Normaly Yes i already do this, but i have not tested the feature into TEENSY version.
You can find the working code in the Robomow GY-87 branch.

Search everywhere for track_ClockWise variable and tell me if it's OK.
Do not forget the island stuck part.
 

Sascha

Administrator
Staff member
- With the same perimeter sensor hardware, Perimeter-Left shows "Outside" and Perimeter-Right shows "Inside".
This cannot be changed via swapCoilPolarity.
Has anything been changed there yet?
I have the same problem, left is inside and right is outside.
In the Pfod app, swap coil polarity to yes has no effect. Changes would be saved and PCB restarted.

Minus is inside?
 

Sascha

Administrator
Staff member
Does anyone still have a software version from May?
I would like to test it, as it ran without problems the last time.
 

Fürst Ruprecht

Well-known member
in perimeter.cpp kannst Du die Polarität einfach anpassen:

Anpassen über die (Negierung) ! von swapCoilPolarity

if ((idx == 0) && !swapCoilPolarityLeft) mag[idx] *= -1; // links
if ((idx == 1) && swapCoilPolarityRight) mag[idx] *= -1; // rechts
 

Sascha

Administrator
Staff member
@Fürst Ruprecht
You forgot the attachment, but I still found a version from May on my computer.

I have now tested this version and have no more problems. It now runs its courses.
 

Bernard

Well-known member
Staff member
@Fürst Ruprecht
You forgot the attachment, but I still found a version from May on my computer.

I have now tested this version and have no more problems. It now runs its courses.
You can change the code , but it's better to reverse the wire at the output of the sender if you have only one mower
You need to adjust the wire at the sender output to have the correct result on left coil (mag < 0 when mower is inside ) , and after you can use setting perimeter swap right coil to have mag right < 0 when inside.
 
Top