new

Dependencies:   mbed CANMsg

Committer:
nerit
Date:
Wed Jul 04 05:51:03 2018 +0000
Revision:
5:3b95bbfe2dc9
Parent:
4:d32258ec411f
Child:
6:3fca0ca1949e
Quinconce gestito con doppio sincro da master e versione installata nella macchina per Olanda a 3 elementi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nerit 0:1e09cd7d66b4 1 // define constants
nerit 0:1e09cd7d66b4 2 const double Pi = 3.141592654f;
nerit 0:1e09cd7d66b4 3
nerit 0:1e09cd7d66b4 4 // define logic UI variables which NEED TO BE SET FROM UI
nerit 0:1e09cd7d66b4 5 // *** speed wheel
nerit 0:1e09cd7d66b4 6 double speedWheelDiameter = 0.300f; // variable for tractor speed calculation (need to be set from UI) ( Unit= meters )
nerit 4:d32258ec411f 7 double speedWheelPulse = 18.0f; // variable which define the number of pulse each turn of tractor speed wheel (need to be set from UI)
nerit 0:1e09cd7d66b4 8 // *** seeding wheel
nerit 0:1e09cd7d66b4 9 double seedWheelDiameter = 0.75f; // seed wheel diameter setting
nerit 0:1e09cd7d66b4 10 double seedWheelMotorSteps = 3200.0f; // seed wheel motor steps without reduction (defined from driver)
nerit 0:1e09cd7d66b4 11 double seedWheelRPM=0.0f; // number of turn per minute of seed wheel
nerit 0:1e09cd7d66b4 12 double seedWhellFrequency=0.0f; // seed wheel frequency which is function of tractor speed
nerit 0:1e09cd7d66b4 13 //double seedWheelPeriodTeory=0.0f;
nerit 0:1e09cd7d66b4 14 double seedWheelPeriod=0.0f; // seed wheel pulse period
nerit 0:1e09cd7d66b4 15
nerit 0:1e09cd7d66b4 16 double deepOfSeed=0.00f; // deep of seeding
nerit 0:1e09cd7d66b4 17 double oldSeedWheelPeriod=0.0f;
nerit 5:3b95bbfe2dc9 18 double pickNumber = 15.0f; // numero di becchi installati sulla ruota di semina
nerit 0:1e09cd7d66b4 19 double cellsNumber = 15.0f; // numero di celle del tamburo
nerit 0:1e09cd7d66b4 20
nerit 0:1e09cd7d66b4 21 double TBmotorSteps = 1600.0f; // TB wheel motor steps without reduction (defined from driver)
nerit 0:1e09cd7d66b4 22 double TBreductionRatio = 1.65625f; // TB mechanical reduction ratio
nerit 0:1e09cd7d66b4 23 double SDreductionRatio =2.5714f; // seed wheel machanical reduction ratio
nerit 0:1e09cd7d66b4 24 double TBdeltaStep = 0.0f; // steps of advance for manage tb motor respect sd motor
nerit 0:1e09cd7d66b4 25 double K_WheelRPM =0.0f;
nerit 0:1e09cd7d66b4 26 double K_WhellFrequency=0.0f;
nerit 0:1e09cd7d66b4 27 double K_TBfrequency = 0.0f;
nerit 0:1e09cd7d66b4 28 double K_percentuale = 0.0f;
nerit 0:1e09cd7d66b4 29 double timeIntraPick = 0.0f;
nerit 0:1e09cd7d66b4 30 double teoryTimeIntraPick = 0.0f;
nerit 0:1e09cd7d66b4 31 double intraPickDistance = 0.0f;
nerit 0:1e09cd7d66b4 32
nerit 5:3b95bbfe2dc9 33 uint8_t quinconceActive=0;
nerit 0:1e09cd7d66b4 34
nerit 0:1e09cd7d66b4 35 uint16_t periodoSD = 1000;
nerit 0:1e09cd7d66b4 36 double dcStopDuty = 0.0f;
nerit 0:1e09cd7d66b4 37 double dcMinDuty = 0.0f; // definisce il duty cycle minimo alla partenza (corrisponde alla tensione minima di rotazione)
nerit 0:1e09cd7d66b4 38 double dcMaxDuty = 1.0f; // definisce il duty cycle al massimo della velocità
nerit 0:1e09cd7d66b4 39 double dcMinSpeed = 0.65f;
nerit 0:1e09cd7d66b4 40 double dcMaxSpeed = 1.00f;
nerit 0:1e09cd7d66b4 41 double dcStarting = 0.30f;
nerit 0:1e09cd7d66b4 42 double fixedStepGiroSD = 9000.0f; // numero di suddivisioni angolo giro della ruota di semina
nerit 0:1e09cd7d66b4 43 double minWorkSpeed=0.138888f; //metri al secondo pari a 0,5Kmh
nerit 0:1e09cd7d66b4 44 double maxWorkSpeed=1.277777f; //metri al secondo pari a 4.6Kmh
nerit 0:1e09cd7d66b4 45 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 0:1e09cd7d66b4 46 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 0:1e09cd7d66b4 47
nerit 0:1e09cd7d66b4 48 double minPosSpeed=0.20f; // metri/secondo (0,20 = 0,72KmH)
nerit 0:1e09cd7d66b4 49 double minSeedSpeed=0.22f; // attiva il LowSpeed mt/s (0,28 = 1,0KmH)
nerit 0:1e09cd7d66b4 50 double speedForCorrection=0.25f;
nerit 0:1e09cd7d66b4 51 int cicliAspettaStart = 2;
nerit 0:1e09cd7d66b4 52 double arcoHole= 0.031186f; // in metri
nerit 0:1e09cd7d66b4 53 double arcoBecco = 0.0581f;
nerit 0:1e09cd7d66b4 54 double avvioGradi=5.0f;
nerit 0:1e09cd7d66b4 55 double anticipoMax = 0.0f;
nerit 0:1e09cd7d66b4 56 double angoloFase = 7.0f;