From e8d032deca1667f3c2941baeff6324a9e322460e Mon Sep 17 00:00:00 2001 From: Kamil Siejka Date: Sun, 24 Nov 2024 16:30:29 +0100 Subject: [PATCH] =?UTF-8?q?Przygotowanie=20pod=20dodanie=20weryfikacji=20p?= =?UTF-8?q?r=C4=99dko=C5=9B=C4=87i?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutomatedGearShifter.ino | 39 ++++++++++++++++-- .../algorytm predykcji.xlsx | Bin 11304 -> 11908 bytes 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino b/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino index 8b7774e..f74603f 100644 --- a/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino +++ b/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino @@ -8,6 +8,9 @@ #define Version "1.14.3" ////2DO: +//algorytm walidacji odczytu predkosci +//zmiana gear baaru na wskaznik + // menu do zmiany zakresu predkosci biegów // menu do zmiany zakresu kątów biegów, obwodu koła, ilosci magnesow @@ -41,9 +44,9 @@ Servo myservo; //SPEED double speed = 0; -double speed_last = 0; -double speed_last_2 = 0; -double speed_last_3 = 0; +double speed_last = 0.0; +double speed_last_2 = 0.0; +double speed_last_3 = 0.0; int speedTrend = 0; double sigleTimeSpd = 0.0; double sleepSpd = 0.0; @@ -51,6 +54,17 @@ unsigned long millissSpd = millis(); unsigned long lastMillisSpd = millis(); unsigned long lastLastMillisSpd = millis(); unsigned long loopTime = millis(); +//speed validation +double speed4Gear = 0.0; +double speed4Gear_1 = 0.0; +double speed4Gear_2 = 0.0; +double speed4Gear_3 = 0.0; +double speed4Geat_estimated = 0.0; +double speedDiff_1 = 0.0; +double speedDiff_2 = 0.0; +double speedDiff_3 = 0.0; +int avgWeight_2 = 2; +int avgWeight_3 = 1; //GEAR int currentGear = 1; int previousGear = 1; @@ -306,6 +320,25 @@ void calcSpeed() { } void calcGear() { + //speed validation +// +// speedDiff_2 = speed4Gear_2-speed4Gear_1; +// speedDiff_3 = speed4Gear_3-speed4Gear_2; +// speed4Gear_1 = speed; +// speed4Gear_2 = speed4Gear_1; +// speed4Gear_3 = speed4Gear_2; +// speed4Geat_estimated = (((speedDiff_3 * avgWeight_3 + avgWeight_2 * avgWeight_2)/(avgWeight_3 + avgWeight_2))+ speed4Gear_1)*1,2; +// if (speed <= 10.0 or speed < speed4Geat_estimated) { +// speed4Gear = speed4Gear_1; +// } +// +// +//poniżej zamienić speed na speed4Gear +//speed_last_3 na speed4Gear_2 + + + + if ((speed / speed_last_3) >= 1.1) { // przyspieszenie DO weryfikacji czy nie trzeba zamienic na czas lub zwiększyc wartość speedTrend = 1; } else if ((speed - speed_last_3) <= -1.0) { diff --git a/LeonardoProMicro/AutomatedGearShifter/algorytm predykcji.xlsx b/LeonardoProMicro/AutomatedGearShifter/algorytm predykcji.xlsx index d1b5249901ad2b65fa498cd629ce3221f121f491..b9ec78fa4a4f62b85e911102e2183a04ec1969ee 100644 GIT binary patch delta 5079 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