Messa in campo 4 file - 26/06/2020 Francia

Dependencies:   mbed X_NUCLEO_IHM03A1_for

Fork of FORIGO_Modula_V7_3_VdcStep_maggio2020 by Francesco Pistone

Committer:
nerit
Date:
Mon Jul 20 09:06:29 2020 +0000
Revision:
45:162116db828a
Parent:
39:6814c75dfa5c
versione di prova per verifica accelerazione tamburo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nerit 3:a469bbd294b5 1 // define constants
nerit 3:a469bbd294b5 2 const double Pi = 3.141592654f;
nerit 13:d1030d4e51a8 3 // l'encoder del DC produce 51 impulsi ogni 2 giri sull'albero lento
nerit 13:d1030d4e51a8 4 const double dcPulseTurn = 25.5f;
nerit 3:a469bbd294b5 5
nerit 3:a469bbd294b5 6 // define logic UI variables which NEED TO BE SET FROM UI
nerit 3:a469bbd294b5 7 // *** speed wheel
nerit 3:a469bbd294b5 8 double speedWheelDiameter = 0.300f; // variable for tractor speed calculation (need to be set from UI) ( Unit= meters )
nerit 3:a469bbd294b5 9 double speedWheelPulse = 18.0f; // variable which define the number of pulse each turn of tractor speed wheel (need to be set from UI)
nerit 3:a469bbd294b5 10 // *** seeding wheel
nerit 3:a469bbd294b5 11 double seedWheelDiameter = 0.75f; // seed wheel diameter setting
nerit 17:9629eb019892 12 //double seedWheelMotorSteps = 3200.0f; // seed wheel motor steps without reduction (defined from driver)
nerit 3:a469bbd294b5 13 double seedWheelRPM=0.0f; // number of turn per minute of seed wheel
nerit 3:a469bbd294b5 14 double seedWhellFrequency=0.0f; // seed wheel frequency which is function of tractor speed
nerit 3:a469bbd294b5 15 double seedWheelPeriod=0.0f; // seed wheel pulse period
nerit 3:a469bbd294b5 16
nerit 3:a469bbd294b5 17 double deepOfSeed=0.00f; // deep of seeding
nerit 3:a469bbd294b5 18 double oldSeedWheelPeriod=0.0f;
nerit 8:310f9e4eac7b 19 double pickNumber = 8.0f; // numero di becchi installati sulla ruota di semina
nerit 5:2a3a64b52f54 20 double cellsNumber = 15.0f; // numero di celle del tamburo
nerit 3:a469bbd294b5 21
nerit 30:32e770e91998 22 double TBmotorSteps = 3200.0f; // TB wheel motor steps without reduction (defined from driver)
nerit 3:a469bbd294b5 23 //double TBreductionRatio = 1.65625f; // TB mechanical reduction ratio
nerit 3:a469bbd294b5 24 #if defined(Zucca)
nerit 3:a469bbd294b5 25 double TBreductionRatio = 3.00f; // TB mechanical reduction ratio
nerit 3:a469bbd294b5 26 #else
nerit 34:eb04f4f41dfd 27 double TBreductionRatio = 2.064516;
nerit 34:eb04f4f41dfd 28 //double TBreductionRatio = 1.65625f; // TB mechanical reduction ratio
nerit 3:a469bbd294b5 29 #endif
nerit 3:a469bbd294b5 30 double SDreductionRatio =2.5714f; // seed wheel machanical reduction ratio
nerit 3:a469bbd294b5 31 double TBdeltaStep = 0.0f; // steps of advance for manage tb motor respect sd motor
nerit 3:a469bbd294b5 32 double K_WheelRPM =0.0f;
nerit 3:a469bbd294b5 33 double K_WhellFrequency=0.0f;
nerit 3:a469bbd294b5 34 double K_TBfrequency = 0.0f;
nerit 3:a469bbd294b5 35 double K_percentuale = 0.0f;
nerit 3:a469bbd294b5 36 double timeIntraPick = 0.0f;
nerit 3:a469bbd294b5 37 double teoryTimeIntraPick = 0.0f;
nerit 3:a469bbd294b5 38 double intraPickDistance = 0.0f;
nerit 3:a469bbd294b5 39
nerit 38:79af1c65dd6f 40 #if defined(runner)
nerit 38:79af1c65dd6f 41 uint16_t periodoSD = 1000;
nerit 38:79af1c65dd6f 42 double dcStopDuty = 0.0f;
nerit 38:79af1c65dd6f 43 double dcMinDuty = 0.0f; // definisce il duty cycle minimo alla partenza (corrisponde alla tensione minima di rotazione)
nerit 38:79af1c65dd6f 44 double dcMaxDuty = 1.0f; // definisce il duty cycle al massimo della velocità
nerit 38:79af1c65dd6f 45 //double dcMinSpeed = 0.65f;
nerit 38:79af1c65dd6f 46 //double dcMaxSpeed = 1.00f;
nerit 38:79af1c65dd6f 47 //double dcStarting = 0.30f;
nerit 38:79af1c65dd6f 48 double fixedStepGiroSD = 9000.0f; // numero di suddivisioni angolo giro della ruota di semina
nerit 38:79af1c65dd6f 49 double minWorkSpeed=0.19f;//0.138888f; //metri al secondo pari a 0,5Kmh
nerit 38:79af1c65dd6f 50 double maxWorkSpeed=1.277777f; //metri al secondo pari a 4.6Kmh
nerit 38:79af1c65dd6f 51 //double tabComan[22]={0.25,0.255,0.260,0.265,0.27,0.28,0.3107,0.314,0.34,0.3655,0.391,0.4165,0.4335,0.459,0.51,0.5525,0.595};
nerit 38:79af1c65dd6f 52 //double tabSpeed[22]={0.10,0.14,0.19,0.22,0.25,0.28,0.33,0.36,0.41,0.45,0.49,0.55,0.59,0.62,0.75,0.80,0.82};
nerit 38:79af1c65dd6f 53 double tabComan[22]={0.12,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696};
nerit 38:79af1c65dd6f 54 double tabSpeed[22]={0.16,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587};
nerit 38:79af1c65dd6f 55 int tabeling=3;
nerit 3:a469bbd294b5 56
nerit 38:79af1c65dd6f 57 //double minPosSpeed=0.20f; // metri/secondo (0,20 = 0,72KmH)
nerit 38:79af1c65dd6f 58 double minSeedSpeed=0.10f; // attiva il LowSpeed mt/s (0,28 = 1,0KmH)
nerit 38:79af1c65dd6f 59 double speedForCorrection=0.16f;
nerit 38:79af1c65dd6f 60 int cicliAspettaStart = 2;
nerit 38:79af1c65dd6f 61 double avvioGradi=5.0f;
nerit 38:79af1c65dd6f 62 double angoloFase = 3.0f;
nerit 38:79af1c65dd6f 63 #endif
nerit 38:79af1c65dd6f 64
nerit 38:79af1c65dd6f 65 #if defined(oldStepperDriver)
nerit 38:79af1c65dd6f 66 uint16_t periodoSD = 1000;
nerit 38:79af1c65dd6f 67 double dcStopDuty = 0.0f;
nerit 38:79af1c65dd6f 68 double dcMinDuty = 0.0f; // definisce il duty cycle minimo alla partenza (corrisponde alla tensione minima di rotazione)
nerit 38:79af1c65dd6f 69 double dcMaxDuty = 1.0f; // definisce il duty cycle al massimo della velocità
nerit 38:79af1c65dd6f 70 double dcMinSpeed = 0.65f;
nerit 38:79af1c65dd6f 71 double dcMaxSpeed = 1.00f;
nerit 38:79af1c65dd6f 72 double dcStarting = 0.30f;
nerit 38:79af1c65dd6f 73 double fixedStepGiroSD = 9000.0f; // numero di suddivisioni angolo giro della ruota di semina
nerit 38:79af1c65dd6f 74 double minWorkSpeed=0.14;//pari 1kmh //0.138888f; //metri al secondo pari a 0,5Kmh
nerit 38:79af1c65dd6f 75 double maxWorkSpeed=1.277777f; //metri al secondo pari a 4.6Kmh
nerit 39:6814c75dfa5c 76 //double tabComan[22]={0.25,0.255,0.260,0.265,0.27,0.28,0.3107,0.314,0.34,0.3655,0.391,0.4165,0.4335,0.459,0.51,0.5525,0.595};
nerit 39:6814c75dfa5c 77 //double tabSpeed[22]={0.10,0.14,0.19,0.22,0.25,0.28,0.33,0.36,0.41,0.45,0.49,0.55,0.59,0.62,0.75,0.80,0.82};
nerit 39:6814c75dfa5c 78 double tabComan[22]={0.12,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696,0.8696};
nerit 39:6814c75dfa5c 79 double tabSpeed[22]={0.16,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587,1.587};
nerit 39:6814c75dfa5c 80 int tabeling=3;
nerit 38:79af1c65dd6f 81
nerit 38:79af1c65dd6f 82 //double minPosSpeed=0.20f; // metri/secondo (0,20 = 0,72KmH)
nerit 38:79af1c65dd6f 83 double minSeedSpeed=0.22f; // attiva il LowSpeed mt/s (0,28 = 1,0KmH)
nerit 38:79af1c65dd6f 84 double speedForCorrection=0.25f;
nerit 38:79af1c65dd6f 85 int cicliAspettaStart = 2;
nerit 38:79af1c65dd6f 86 double avvioGradi=4.0f;
nerit 38:79af1c65dd6f 87 double angoloFase = 2.0f;
nerit 38:79af1c65dd6f 88 #endif