Forigo / Mbed 2 deprecated FORIGO_Modula_V7_3_VdcStep_Modula2021

Dependencies:   mbed X_NUCLEO_IHM03A1_for

Committer:
francescopistone
Date:
Wed Dec 02 06:53:10 2020 +0000
Revision:
46:c6c477e1ba51
Parent:
39:6814c75dfa5c
306 impulsi

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