| | #20 (permalink) Top | |
| Guest Data registr.: 17-07-2013
Messaggi: 3.734
| Citazione:
ti ringrazio immensamente per tutto l'aiuto e il tempo che ci hai dedicato ![]() il tuo sketch ha alcuni vantaggi perchè adesso si annulla la corsa del servo mettendo a zero Max_gain ma impazzisce tutto se sposto il center anche di pochi valori, finisce con influire anche sulla retro. inoltre vibra molto di più di prima in tutte le posizioni, di fatto ha annullato Tolerance che evitava le vibrazioni ritmiche.. non ho provato a ritoccare tolerance perchè è comunque tutto più instabile. questo code qui sotto, dalle prove fatte per il momento è il migliore.. e ne ho fatte parecchie perchè ne sto discutendo con altri 4 ardunauti in differenti forums. Codice: #define Neutral 1500 // -- minimum forward signal
#define Maxspeed 2000 // -- maximum forward signal
#define Antsx 1000 // -- in front servo signal sx
#define Antdx 2000 // -- in front servo signal dx
#define Postsx 1000 // out rear servo sx endpoint if inverted with postdx it reverse
#define Postdx 2000 //-- out rear servo dx endpoint if inverted with postsx it reverse
#define Center 0 //-- add or subtract xx value to center steering
#define Tolerance 5 //-- if poor quality servo vibrates try 5
#define Max_gain 950 //-- gain steering reduction by throttle if reverse add -
#define Slowlimit 1800 //-- slow forward without endpoint correction
#include <Servo.h>
Servo myservo;
unsigned int Rxpulse;
unsigned int Gaspulse ;
unsigned int Gain;
unsigned int NewPos, OldPos;
void setup() {
myservo.attach(10); //-- rear servo signal out pin
pinMode(8, INPUT); //-- front servo signal in pin
pinMode(7, INPUT); //-- throttle signal in pin
}
void loop(){
Rxpulse = pulseIn(8, HIGH);
Gaspulse = pulseIn(7, HIGH);
if (Gaspulse > Slowlimit) {
Gain = map(Gaspulse, Slowlimit, Maxspeed, 0, Max_gain );
NewPos = map(Rxpulse, Antsx, Antdx, (Postsx + Gain), (Postdx - Gain));
}
else {
NewPos = map(Rxpulse, Antsx, Antdx, Postsx, Postdx);
}
if (abs(NewPos - OldPos)> Tolerance) {
OldPos = NewPos;
myservo.write(NewPos + Center);
}
} quindi alla fine questo code per adesso è tipo graal e più che utilizzabile anche adesso, snello, veloce non vibra fa tutto quello che deve fare.certo se lo setti male scavalchi, fai la camminata a granchio etc.. ma va bene così. alla fine aggiungendo 2 linee guida scritte si ottiene un buon setup facilmente, poi se qualcuno lo userà imparerà i limiti e le correzioni necessarie. voglio dire.. bisogna sapersi accontentare, ho visto controller esc che per settarli a mano o via radio erano molto ma molto peggio io vi ringrazio a tutti. è tutto interessante, compresi gli sbagli, le modifiche, qualsiasi cosa permette di confrontare cosa accade Ultima modifica di wrighizilla : 04 maggio 20 alle ore 00:49 | |
| | |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| buggy da completare | BoBoPoP | Automodellismo Mot. Scoppio Off-Road | 41 | 18 maggio 16 17:56 |
| monster da completare...! | bronto_19 | Automodellismo Mot. Elettrico Off-Road | 2 | 22 giugno 10 17:35 |
| Sto costruendo uno schiumino (o tzagi), mi aiutate??? | crido96 | Aeromodellismo Principianti | 72 | 07 febbraio 10 02:26 |
| Come completare una associated B4? | ryan-j | Automodellismo Mot. Elettrico On-Road | 9 | 04 maggio 08 11:55 |