Salve a tutti, è un po di tempo che seguo il forum come ospite con un mio amico, dopo un pò di tentennamenti ci siamo detti "Ma si dai, facciamocene uno" e guardando un po qua e un po la, abbiamo fatto la nostra lista della spesa, e adesso siamo a frame montato e stiamo lavorando sul codice, anche se ci sta procurando qualche grattacapo con gli esc che non riusciamo a far andare, bho....
Comunque sia, volevo sottoporvi la lista dei materiali che abbiamo preso, poi magari metterò qualche foto, il tutto per potermi presentare ed iniziare oltre a conoscere qualcuno anche ad evere la sua opinione.
ZIPPY Flightmax 4000mAh 3S1P 20C
hexTronik DT750 Brushless Outrunner 750kv
esc pulso 22A
Il frame è un 80x80 in alluminio, bello solido.
L'unico nostro problema ora è che abbiamo scritto questo
collegando il tutto quando dai gas i motori si muovono di un millimetro e poi basta, dopo mezza giornata a non capirne il motivo sono improvvisamente partiti, per poi spegnersi nuovamente poco dopo, aumentando il mistero, inizialmente pensavamo fosse un problema di contatto con i vili, invece no, abbiamo controllato tutto, ma nulla, l'esc fa il suo bel rumorino d'accensione a poi basta. non capiamo il perché...
Avete delle impressioni o suggerimenti a riguardo?
Grazie in anticipo di tutto.
Comunque sia, volevo sottoporvi la lista dei materiali che abbiamo preso, poi magari metterò qualche foto, il tutto per potermi presentare ed iniziare oltre a conoscere qualcuno anche ad evere la sua opinione.
ZIPPY Flightmax 4000mAh 3S1P 20C
hexTronik DT750 Brushless Outrunner 750kv
esc pulso 22A
Il frame è un 80x80 in alluminio, bello solido.
L'unico nostro problema ora è che abbiamo scritto questo
codice:
//ingressi radio int accPin = 2; int icsPin = 4; int ipsPin = 5; int rotPin = 6; int ch5Pin = 8; int ch6Pin = 7; //variabili lettura radio unsigned long DaccValue; unsigned long DicsValue; unsigned long DipsValue; unsigned long DrotValue; unsigned long Dch5Value; unsigned long Dch6Value; int accValue = 0; int icsValue = 0; int ipsValue = 0; int rotValue = 0; int ch5Value = 0; int ch6Value = 0; //uscite motori int m1Pin = 9; int m2Pin = 10; int m3Pin = 11; int m4Pin = 3; //valori uscite motori int m1Val = 0; int m2Val = 0; int m3Val = 0; int m4Val = 0; //attenuazioni influenza comandi su motori int icsAttenuazione = 3; int ipsAttenuazione = 3; int rotAttenuazione = 5; //valori min e max ingresso radio int rcMax = 1900; int rcMin = 1100; int outMax = 255; int outMin = 0; //---------------------------------------------------------------- void setup() { pinMode(accPin, INPUT); pinMode(icsPin, INPUT); pinMode(ipsPin, INPUT); pinMode(rotPin, INPUT); pinMode(ch5Pin, INPUT); pinMode(ch6Pin, INPUT); pinMode(m1Pin, OUTPUT); pinMode(m2Pin, OUTPUT); pinMode(m3Pin, OUTPUT); pinMode(m4Pin, OUTPUT); Serial.begin(9600); } void loop() { //leggo radio DaccValue = pulseIn(accPin, HIGH); DicsValue = pulseIn(icsPin, HIGH); DipsValue = pulseIn(ipsPin, HIGH); DrotValue = pulseIn(rotPin, HIGH); Dch5Value = pulseIn(ch5Pin, HIGH); Dch6Value = pulseIn(ch6Pin, HIGH); accValue = map(DaccValue,rcMin,rcMax,outMin,outMax); icsValue = map(DicsValue,rcMin,rcMax,outMin,outMax); ipsValue = map(DipsValue,rcMin,rcMax,outMin,outMax); rotValue = map(DrotValue,rcMin,rcMax,outMin,outMax); ch5Value = map(Dch5Value,rcMin,rcMax,outMin,outMax); ch6Value = map(Dch6Value,rcMin,rcMax,outMin,outMax); //calcolo i valori dei motori m1Val = accValue + (((icsValue-128)/icsAttenuazione)/2) - (((ipsValue-128)/ipsAttenuazione)/2) - ((rotValue-128)/rotAttenuazione); m2Val = accValue - (((icsValue-128)/icsAttenuazione)/2) - (((ipsValue-128)/ipsAttenuazione)/2) + ((rotValue-128)/rotAttenuazione); m3Val = accValue + (((icsValue-128)/icsAttenuazione)/2) + (((ipsValue-128)/ipsAttenuazione)/2)+ ((rotValue-128)/rotAttenuazione); m4Val = accValue - (((icsValue-128)/icsAttenuazione)/2) + (((ipsValue-128)/ipsAttenuazione)/2) - ((rotValue-128)/rotAttenuazione); //do corrente ai motori analogWrite(m1Pin, m1Val); analogWrite(m2Pin, m2Val); analogWrite(m3Pin, m3Val); analogWrite(m4Pin, m4Val); //scrivo Serial.print(m1Val); Serial.print(" - "); Serial.print(m2Val); Serial.print(" - "); Serial.print(m3Val); Serial.print(" - "); Serial.print(m4Val); Serial.print(" | "); Serial.print(ch5Value); Serial.print(" - "); Serial.print(ch6Value); Serial.println(); delay(100); }
Avete delle impressioni o suggerimenti a riguardo?
Grazie in anticipo di tutto.