Generatore PWM verso regolatore Jeti

salve a tutti
ho un motore acker brushless da 900w collegato ad un regolatore Jeti MasterBasic 70SB con batteria lipo da 5ah 6 celle.
collegando una radio e una ricevente funziona tutto alla perfezione.

il mio problema è questo. vorrei usare arduino per agire sul regolatore e dargli accelerazione e decelerazione. i servi me li comanda perfettamente ma il motore no.
sicuramente perchè i servi li alimento da arduino
mentre il regolatore viene alimentato dalle batterie lipo e gli collego solo l'uscita PWM dell'arduino sull'ingresso segnale del regolatore.
non so se mi sono spiegato correttamente ma sono ancora alle prime armi
vi ringrazio anticipatamente per eventuali risposte.
saluti
giuseppe

non devi usare il PWM ma il PPM, ovverlo la livreria Servo. (che ovviamente dovresti usat ancghe per i Servo, ma quelli nalogici sono pocho schizzinosi :slight_smile: )

Ora, devi fare attenzione che per l'ESC non devi usare l'attach(pinESC), ma attach(pinESC, 800, 1800), i valori possono cambiare di poco, ma diciamo che con questi vai sul sicuro, invece la libreria di default usa un range da 500 a 2000 che va bene con i servo (che appunto sono poco schizzinosi) ma che incasina spesso gli esc.
Meglio ancora se al posto della Servo.write usi la servo.writeMicroseconds() che da una precisione migliore (i valori sono sempre nel range 800-1800)

Ricordati di inviarte il segnale Write a 0 (o writeMicroseconds(800)) per circa 5/10 secondi per dare tempo all'esc di armarsi... insomma proprio come faresti con una Trasmittente vera :slight_smile:

allora io per comandare i servi faccio così:
Uso la libreria #include <Servo.h>
l’uscita del segnale lo collego al PIN 9 myservo.attach(9);
e ci scrivo in questo modo myservo.write(ValoreLetto);
dove ValoreLetto va da 0 a 180

da quello che ho capito non posso comandare così il regolatore… sbaglio??

no, vedi, il segnale PPM lavora in durata del segnale HIGH in millisecondi rispetto ad un segnale di 20ms (e se ci pensi bene è un PWM con frequenza e duty-cicle particolari!)

ora, di base la libreria una un range da 500us a 2000us, e quando tu scrivi con la write un valore da 0 a 180 esso viene mappato in modo lineare in un valore da 500 a 2000! (vedi la funzione "map()" nel reference)

Ora, abbiamo detto che invece gli ESC vogliono valori da 800us a 1800us, quindi:
O usi l'attach (pin, 800, 1800); che usa i valori dettati da noi per la write, oppure usi direttamente la writeMicroseconds() che ti permette di specificare la durata del segnale in us (us è microsecondi, ms millisecondi, 1us==1000ms==1000000secondi)

io consiglio l'uso delle writeMicroseconds; infatti 1800-800=1000 valori di precisione massimi, contro i soli 180-0=180 della write normale. Certo che poi l'ESC deve essere in grado di eseguire comendi con questa precisione :slight_smile:

Hai collegato la massa dell'Arduino con il polo negativo della LiPo?
Ciao Uwe

non serve, basta collegare il negativo dell'ESC (che porta Vcc,GND,segnale, NON IN QUEST'ORDINE!!!!), infatti visto le potenze in gioco non mi stupirei se l'esc sia indipendente dalla batteria

quindi oltre a collegare il pin dell'arduino con il pin del segnale dell'ESC dovrei collegare anche il negativo dell'ESC con il GND dell'arduino?

sì, sempre

la tensione, che si misura in volt, come dovresti sapere è una differenza di potenziale. Ma differenza di che cosa? del valore di un dato segnale dal valore di GND.
Quindi GND è il valore di riferimento; se non colleghi il GND di arduino e quello dell'ESC, e prenderesti un voltmetro tra i due GND troveresti una tensione != 0. Se sia arduino che l'esch hnno un uscita a 5v, e tu misurasti la diufferenza tra i due 5V, scopriresti lo stesso valore "di sballo"!! Quindi se non unisci i due GND il segnale PWM/PPM a 5v di arduino sarebbe diverso dai 5V dell'esc che non capirebbe più il segnale, se supera certe soglie di errore!

dico bene?

lesto:
..
dico bene?

Qualche lettera mangiata, ma va bene. Redi l'idea. :wink: :wink:
Ciao Uwe

tastiera pacco :grin:

facciamo un “crowfunding” per comprarti una nuova tastiera?
Ciao Uwe

no, servirebbe un "voglia founding" per andare al supermercato a comprarla :grin:

lesto:
no, servirebbe un "voglia founding" per andare al supermercato a comprarla :grin:

Ordinala dalla Cina, di solito hanno le spedizioni gratuite. :grin:

PaoloP:

lesto:
no, servirebbe un “voglia founding” per andare al supermercato a comprarla :grin:

Ordinala dalla Cina, di solito hanno le spedizioni gratuite. :grin:

Però arriva fra 2 mesi :stuck_out_tongue_closed_eyes:

vorrei ringraziarvi. ora riesco a comandarlo abbastanza bene. solo che provandolo a comandare da 0 a 180 ad esempio a 10 non va. devo portarlo prima a 20 eppoi passarlo a 10. il motore è molto potente è un 900w è normale che l'esc si scaldi abbastanza anche dopo una 20ina di secondi fi funzionamento??

no, l'sc dovrebbe rimanere freddo, sopratutto se il motore non sta sforzando. (sotto sforzo è ok che la temperatura un pò salga)

Ogni ESC dice quanti ampere può fornire: questo valore deve essere inferiore a quello del motore

il fatto che alcuni step non funzionino è perchè come dicevo i valori di millis non sono standard: setta il valore minimo un pò più altro (ad esempio 1000) e vredrai che tutto funziona senza problemi

fatto un pò di prove.
il regolatore riscalda tantissimo anche se lo tengo attivo per 2 minuti al massimo.
con il jeti box ho impostato default setting per evitare impostazioni sbagliate.
timing auto
brake auto
...
avete qualche idea sul motivo per cui scaldi?
l'ESC è sovradimensionato rispetto al motore di quasi il doppio

qualche idea?
grazie in anticipo per eventuali risposte