Anschließen von Power PCB 1.06, Main PCB 1.03 und ZS-X11H Motortreiber

It's better to use arduremote over BT to have a faster response.

NEVER activate Read the 2 Coils if you use only one (it's into setting perimeter)

Another possible test:

Put mower in the middle of the area.
Go to test ODO.
Click on 5 turns Wheel Fwd and immediately on Mow is OFF to start mow motor.
Now check the Peri Mag/Noise value.
Noise is refresh each 1 second and it is the difference between max and min reading value during the 1 second reading.

Absolute value of Peri Mag need to be > 2* Noise value to have a good perimeter reading.
 
Hallo Stefan,
schalte einfach Use-Perimeter aus (also ohne Perimeter fahren), dann kannst Du sehen, ob es am Perimeter liegt.

Welchen Motor nutzt Du zum Antrieb. Ich suche Material für den nächsten Mäher.

Gruß Fürst Ruprecht
 
Das werde ich bei Gelegenheit Mal alles ausprobieren. Ich habe einen Matrix Mow 800, ist eng, passt aber in der Grundkonfiguration ganz gut. Also die originalen Matrix Motoren (Brushless).
 
O.K. - logisch !
Ich liebäugele mit brushless Getriebemotoren mit integriertem Treiber, wie sie bei Ali dem Chinesen angeboten werden.
Nur ist die Frage, ob die was taugen.
Vielleicht sollte ich bei den alten DC-Kohlemotoren bleiben, das weiß man was man hat.
Wenn ich so lese, was mit den BLDC Motoren für Probleme auftreten und wie hoch die Verluste sind, wäre das zweite vielleicht die bessere Wahl.
In diesem Kreis drehe ich mich schon seit einigen Wochen.

Gruß Fürst Ruprecht
 
Ich als Elektromaschinenbauer kann dir da nur zustimmen. Nicht alles neue ist auch besser. Gibt immer neue Baustellen mit neuer Technik.
 
It's better to use arduremote over BT to have a faster response.

NEVER activate Read the 2 Coils if you use only one (it's into setting perimeter)

Another possible test:

Put mower in the middle of the area.
Go to test ODO.
Click on 5 turns Wheel Fwd and immediately on Mow is OFF to start mow motor.
Now check the Peri Mag/Noise value.
Noise is refresh each 1 second and it is the difference between max and min reading value during the 1 second reading.

Absolute value of Peri Mag need to be > 2* Noise value to have a good perimeter reading.

I've tested this with wlan. Mag ist above 8000 and the noise ist about 1300. I think that should be great.

Hallo Stefan,
schalte einfach Use-Perimeter aus (also ohne Perimeter fahren), dann kannst Du sehen, ob es am Perimeter liegt.

Welchen Motor nutzt Du zum Antrieb. Ich suche Material für den nächsten Mäher.

Gruß Fürst Ruprecht
Ohne Perimeter fährt er so wie gewünscht. In der Console ist der Perimeter-Trigger ja auch sichtbar. Die Frage ist nur WARUM?
 
weil die Poolung nicht richtig ist.
Wenn Du nur einen Mäher benutzt, kannst Du den Perimeterdraht umgekehrt anklemmen.
Wenn Du zwei Mäher benutzt (so war es bei mir auch), kannst Du im Code die Polarität anpassen.
Wenn ich mich recht erinnere, habe ich bei einem der Perimeterempfänger die Spule umgekehrt angelötet (obwohl meine beiden Empfänger gleich gebaut waren, hat der eine das Signal positiv, der andere negativ dargestellt)
 
Das Signal ist negativ innerhalb der Schleife, sollte doch richtig sein?
Ich kann mal die Perimeterkabel tauschen, mal sehen ob sich etwas ändert?

Bei der Motorkalibrierung macht der Mäher auch nicht was er soll. "DUE is overload", wobei mit DUE jetzt wohl Teensy gemeint ist.

Auch der Strom des rechten Motors ist mir zu hoch. Im Leerlauf zeigt er links 1,7W und rechts 3,6W. Vielleicht immer noch irgendwas falsch verkabelt?

Sascha wie ist das bei dir?
Bei mir sieht es so aus:

Motor links sowie rechts ABC = gelb, grün, blau.
Hallsensoren ABC = gelb, blau, grün. Also blau und grün vertauscht.

Der rechte Motor dreht auch etwas langsamer. Beim Odometrietest, 5 Umdrehungen vorwärts, hat der linke Motor ca. 5cm Vorsprung wenn er sein Ziel erreicht.
 
Das hört sich so an, als würde da noch was nicht stimmen. Zur Not die Motoren auseinander schrauben und gucken wo welches Kabel hingeht. Das ist auf der Platine in den Motoren beschriftet. Bei den Chinesen kann man sich nie sicher sein.
Motor Kalibrierung funktioniert bei mir auch nicht richtig. Manchmal stoppt ein Motor und der andere dreht weiter.
Ich bin der Meinung die Probleme traten erst auf nachdem zwei Perimeter unterstützt wurden.
 
@SefanH
If you use the last version from my git 1.415 :
Calibration is only 6 full revolutions of the 2 motors, so if it's not OK, certainly something is wrong in the motor wiring.
Be careful to have the correct odometry right / left connection (it's invert in my first PCB version)
What about the test ODO result??

Can you share the Arduino IDE console of the starting process to check the INA226 correct detection for motor sense.
Also share the motor calib PFOD console.

It's better to use Arduremote over BT until everything work well and use WIFI when everything is OK .
 
O.K. - logisch !
Ich liebäugele mit brushless Getriebemotoren mit integriertem Treiber, wie sie bei Ali dem Chinesen angeboten werden.
Nur ist die Frage, ob die was taugen.
Vielleicht sollte ich bei den alten DC-Kohlemotoren bleiben, das weiß man was man hat.
Wenn ich so lese, was mit den BLDC Motoren für Probleme auftreten und wie hoch die Verluste sind, wäre das zweite vielleicht die bessere Wahl.
In diesem Kreis drehe ich mich schon seit einigen Wochen.

Gruß Fürst Ruprecht
My experience in motor :
BL motor are OK for small mower and only on flat area with the driver i have tested.
On downhill the driver (the 3 i have tested) can't reduce the speed or only brake completely wheel.
So you need to have a very big gear ratio on gearbox to avoid this issue.

DC motor are so simple to use that i can only recommend them (IBT2 BTS7960 driver with INA226 and DC motor do the stuff without issue on big mower and slope).

Stepper motor ,i never tested on mower but use them on other mechanics with very good result, but not on battery and they heat a little , so maybe need more power than DC or BL ?
 
My biggest problem with the stepper motors is the step losses that cause all the wheels to come loose. I can also observe the problem of the missing braking torque with the stepper motor. if the motor loses the step sequence, the wheels turn in any direction.
 
My biggest problem with the stepper motors is the step losses that cause all the wheels to come loose. I can also observe the problem of the missing braking torque with the stepper motor. if the motor loses the step sequence, the wheels turn in any direction.
Maybe need to test with bigger stepper motor ?
 
The good thing about nema17 motors is their size and weight. the stepper drivers are very small and inexpensive, but only have a maximum current of approx. 0.8A (1.2A peak). the motor could have more power, but (as far as i know) there are no interesting stepper drivers with significantly more power. With nema23, everything is significantly larger and heavier/more expensive. then it is easier to go back to the brush technique. I am now trying again with full step control. I was not aware that when using microsteps, the torque drops by 30%. I only read that by accident, although it should actually be obvious.
 
@Bernard It looks like it is the software, I have now tested one from May and everything works as it should, no more perimeter stops every few cm but only at the perimeter.

@SefanH
I have now tested this version and have no more problems. It now runs its courses.
Maybe you can test this one too? All the important settings have already been made and should work for you.
 

Attachments

  • teensymower.zip
    9.8 MB · Views: 5
@Bernard It looks like it is the software, I have now tested one from May and everything works as it should, no more perimeter stops every few cm but only at the perimeter.

@SefanH
I have now tested this version and have no more problems. It now runs its courses.
Maybe you can test this one too? All the important settings have already been made and should work for you.
See my post on 2 coil management.
 
@Sascha With this version of firmware, everything works well. What are your settings in the odo-menue?

@Bernard I've not activated the 2 coil managemant. The noise was about 800 and smag about 3000 with wet lawn.

Is it possible to switch the bumper from NO to NC. I've seen nothing in the code to switch it.

Is that the right way to change it?
Code:
    if (digitalRead(pinBumperLeft) == 1) {
      //ShowMessageln("Bumper left trigger");
      bumperLeftCounter++;
      bumperLeft = true;
    }

    if (digitalRead(pinBumperRight) == 1) {
      //ShowMessageln("Bumper right trigger");
      bumperRightCounter++;
      bumperRight = true;

I've changed "digitalRead(pinBumperLeft)" from 0 to 1
 
Last edited:
Meine settings für Odo sind in der Version hinterlegt.
Für die bumper sollte es eine Einstellung geben, nur kann ich dir gerade nicht sagen wo genau
 
Erster Test hat mit der Änderung funktioniert. Ich habe das Gehäuse nur aufgelegt und nicht festgeschraubt, das wackelt auf jeden Fall so sehr, dass der Bumper bereits beim Drehen auslöst. Weitere Tests sind nötig. Der Notausschalter ist auch noch in der Warteschleife.
 
@Sascha With this version of firmware, everything works well. What are your settings in the odo-menue?

@Bernard I've not activated the 2 coil managemant. The noise was about 800 and smag about 3000 with wet lawn.

Is it possible to switch the bumper from NO to NC. I've seen nothing in the code to switch it.

Is that the right way to change it?
Code:
    if (digitalRead(pinBumperLeft) == 1) {
      //ShowMessageln("Bumper left trigger");
      bumperLeftCounter++;
      bumperLeft = true;
    }

    if (digitalRead(pinBumperRight) == 1) {
      //ShowMessageln("Bumper right trigger");
      bumperRightCounter++;
      bumperRight = true;

I've changed "digitalRead(pinBumperLeft)" from 0 to 1

Your change can work ,but it's normaly include in mower.h
If you use a version >415 you need to go into mower.h and use the correct platform:

Code:
//**************************************************************
// ------- select one platform type -------------------
//**************************************************************
//define MI632
//#define YARDFORCE
//#define RL2000
#define MOW800

later in the code near line 90 you can see the main option for MOW800 :

Code:
#if defined (MOW800)  // here all setting for YARDFORCE
    //*****************possible list of motor driver set to :****************
  // 1 for brushless ZS-X11H v1 Driver
  // 2 for DC L298N Driver
  // 3 for DC BTS7960 Driver
  #define LEFT_MOTOR_DRIVER 1  //never mix BL and DC on drive motor
  #define RIGHT_MOTOR_DRIVER 1
  #define MOW_MOTOR_DRIVER 1
 
  #define BUMPER_IS_SWITCH false  // set to true if the bumper is a single ON/OFF switch
  #define BUMPER_REAR_EXIST false  // set to true to manage the rear bumper connected on CAN3 J20 connector
  #define BUMPER_ARE_NORMALY_CLOSED true  // set to true if the bumper contact is closed when nothing is hit

  #define START_BUTTON_IS_NC true //if button is normaly closed

  // mower can have a cover that stop the mowing cycle but power still on the PCB,mower only start after closing the cover
  // start button is under cover , so after push the start button you have 10 seconde to close cover and mower start
  // openning the cover stop mowing cycle
  #define MOWER_HAVE_SECURITY_COVER true // mower can have a cover that stop the mowing cycle but power still on the PCB,mower only start after closing the cover

  #define INA226_MOW2_PRESENT false
  #define INA226_MOW3_PRESENT false

  #define ODOMETRY_ONLY_RISING false
#endif

Check the correct option into BUMPER_ARE_NORMALY_CLOSED according your platform
true mean that the contact is close when mower is in standby
false mean that the contact is close when bumper is pressed.
Check also the other option according your rebuild.
 
Back
Top