![]()
Ci avessi capito qualcosa.
Ha grandi linee i buchi di coppia so cosa sono, cioè il grafico della coppia in relazione al numero
di giri non è "lineare" e ci sono punti in cui la coppia anziché aumentare si riduce, superato quel
punto la coppia riprende ad aumentare. Es Honda NS 125 primo modello in basso era vuota, 4000 a salire coppia
omogenea fino a xx non lo ricordo. C'è un numero di giri nei dintorni del quale era inguidabile.
Al di la della comprensione di tecnica motoristica io ho fatto delle deduzioni ma chissà se sono corrette.
per facilitare il lavoro, ho deciso di usare solo array come byte, e ricorrere a fattori di conversione per risalire alle misure ingegneristiche di tale parametro, così ho semplificato sia la gestione delle array in RAM, che in EEPROM visto che poi, le dovrò memorizzare li per poi caricarle in RAM all'avvio del sistema, potrei farlo in flash, ma credo che in EEPROM vada bene, su questo, poi si vedrà.
Invece come le dovresti scrivere le informazioni in eeprom, cioè quale problema hai incontrato che ti
ha portato ad usare array di byte e da questi ricavare/calcolare alla misura ingegneristica?
Ci sono buone possibilità che le difficoltà incontrate in questo frangente siano superabili facilmente.
Ho una bella formula che mi fa l'interpolazione dei 4 punti entro cui il motore sta funzionando in quel momento, da come l'ho testato funziona, ma utilizza dei valori float che costano un botto in tempi di eseczione come voi ben mi avete insegnato, ho tentato di evitare l'uso di float a favore di valori int/unsigned int ma siccome ad un certo punto del calcolo, poi avrei bisogno di dividere svariate volte per riportare i valori calcolati a valori "reali" tutto quello che ho risparmiato passando da float ad int lo perdo eseguendo le divisioni. Adesso mi è venuta l'idea di vedere se posso gestire i valori int così come escono fuori per poi dividerli solo all'ultimo, con un'unica divisione.
I calcoli in generale sono lenti e si mangiano la flash, se avessi un processore con FPU il problema scomparirebbe, es un ARM M4. La divisione e moltiplicazione di interi per 2, 4, 8, 16, ecc sono eseguite con rapidità, perché il compilatore usa lo shift. La tecnica di moltiplicare per 128 e fare i calcoli e poi dividere per 128 e castare a double e pratica comune. Penso che usi la MEGA che ti permette di aggiungere memoria RAM esterna che fa sempre comodo, per la eeprom esterna conviene sempre su bus ISP.
Ciao.