oh I have achieved something, in the Wifi Passerelle the baud rate was 115200 and at Teensy but queried with 19200. Now changed to wifi to 19200 and I have a connection!!! Yay, where could I change the connection to 115200 in Teensy?
in Teensy Main Folder!Where did you find this wifi passerelle ?
What do you mean ?He doesn't talk to you to calibrate!?
oh ok, thanks for warning!! i have the pcb v1.03 in mower.h.Do not activate the brake feature
Into setting motor Use Brake .
And define the correct PCB version into mower.h line 30 , i suppose it's PCB v1.03 for you
yes, its better!No sorry you need to put 2 different value for watchdog trigger
config.trigger = 100; /* in seconds, 0->128 */
config.timeout = 120; /* in seconds, 0->128 */
test with 100 and 120 or put again the initial value
should the break pin also be omitted from the wiring of the X12H?It's a pity, but the engines don't want !? When I manually turn the potentiometer of the motor drivers, they all run, but they don't want to go over Teensy. Where could there be a mistake?
void setZSX11HV1(int pinDir, int pinPWM, int pinBrake, int speed, boolean brake) {
//setZSX11HV1(pinMotorRightDir, pinMotorRightPWM, pinMotorRightEnable, value, useMotorDriveBrake);
if (speed < 0) {
digitalWrite(pinBrake, LOW) ;
digitalWrite(pinDir, LOW) ;
analogWrite(pinPWM, ((byte)abs(speed)));
}
if (speed > 0) {
digitalWrite(pinBrake, LOW) ;
digitalWrite(pinDir, HIGH) ;
analogWrite(pinPWM, ((byte)abs(speed)));
}
if (speed == 0) {
analogWrite(pinPWM, 0);
digitalWrite(pinDir, HIGH) ;
if (brake) {
digitalWrite(pinBrake, HIGH) ; // active the brake function of the motor driver
}
}
}
void setZSX11HV1(int pinDir, int pinPWM, int pinBrake, int speed, boolean brake) {
//setZSX11HV1(pinMotorRightDir, pinMotorRightPWM, pinMotorRightEnable, value, useMotorDriveBrake);
if (speed < 0) {
digitalWrite(pinBrake, HIGH) ;
digitalWrite(pinDir, LOW) ;
analogWrite(pinPWM, ((byte)abs(speed)));
}
if (speed > 0) {
digitalWrite(pinBrake, HIGH) ;
digitalWrite(pinDir, HIGH) ;
analogWrite(pinPWM, ((byte)abs(speed)));
}
if (speed == 0) {
analogWrite(pinPWM, 0);
digitalWrite(pinDir, HIGH) ;
if (brake) {
digitalWrite(pinBrake, LOW) ; // active the brake function of the motor driver
}
}
}
yes. it works fine. very good!!!!I don't have a mower to test and don't remember but i think for X12H the brake is inverted (HIGH=no brake), so you can try this:
into driver.cpp
Code:void setZSX11HV1(int pinDir, int pinPWM, int pinBrake, int speed, boolean brake) { //setZSX11HV1(pinMotorRightDir, pinMotorRightPWM, pinMotorRightEnable, value, useMotorDriveBrake); if (speed < 0) { digitalWrite(pinBrake, LOW) ; digitalWrite(pinDir, LOW) ; analogWrite(pinPWM, ((byte)abs(speed))); } if (speed > 0) { digitalWrite(pinBrake, LOW) ; digitalWrite(pinDir, HIGH) ; analogWrite(pinPWM, ((byte)abs(speed))); } if (speed == 0) { analogWrite(pinPWM, 0); digitalWrite(pinDir, HIGH) ; if (brake) { digitalWrite(pinBrake, HIGH) ; // active the brake function of the motor driver } } }
You can try to invert the HIGH and LOW value by this way
Code:void setZSX11HV1(int pinDir, int pinPWM, int pinBrake, int speed, boolean brake) { //setZSX11HV1(pinMotorRightDir, pinMotorRightPWM, pinMotorRightEnable, value, useMotorDriveBrake); if (speed < 0) { digitalWrite(pinBrake, HIGH) ; digitalWrite(pinDir, LOW) ; analogWrite(pinPWM, ((byte)abs(speed))); } if (speed > 0) { digitalWrite(pinBrake, HIGH) ; digitalWrite(pinDir, HIGH) ; analogWrite(pinPWM, ((byte)abs(speed))); } if (speed == 0) { analogWrite(pinPWM, 0); digitalWrite(pinDir, HIGH) ; if (brake) { digitalWrite(pinBrake, LOW) ; // active the brake function of the motor driver } } }
Yes. many Thanks!!!Should be (FG) Speed Signal Output.