Questo Weekend ho deciso di prendere il mio motore brushless T-Motor 1100Kv con il suo ESC, acquistato qualche settimana fa e testarlo.
Per eseguire il test mi sono recato c/o wemake dove sapevo di poter contare sull’assistenza ed il supporto di altri appassionati iscritti al Maker space ed in loro compagnia realizzare il test del motore brushless.
Inizia il test del brushless T-Motor
Leggendo la documentazione scritta da altri appassionati arduino e quella contenuta nel manuale dell’ESC T-Motor impari che dovunque è sconsigliato il collegamento diretto dell’alimentazione ( BEC ) di arduino dall’ESC ed indagando ho scoperto che alcuni ESC ( Elettronic Speed Control ) sono dotati di BEC ( Battery eliminatory circuit ) che eroga 6v in conformità al funzionamento standard delle riceventi e dei servo per modellismo. Tale voltaggio è mal tollerato da Arduino che, come sai, funziona a 5v se connessi direttamente al pin 5v o dai 7v ai 20v se lo alimenti attraverso il connettore jack.
In ogni caso nel mio esempio, per non danneggiare Arduino e sopratutto la mia porta USB, ho deciso di collegare l’ESC solo con i pin Gnd e segnale al pin 9:
Ho poi connesso, come hai visto in figura un potenziometro che abbiamo utilizzato per il controllo del brushless T-Motor.
L’ESC che ho utilizzato per il test è il modello T40A 400Hz prodotto dalla stesa Tiger Motor ( che produce anche il brushless T-Motor)
leggendo sul sito del produttore ho appreso che il BEC è a 5v per cui eseguirò in futuro qualche test con un multimetro e quando sarò certo della corretta e stabile tensione di uscita provvederò, magari ad alimentare arduino direttamente dall’Battery eliminatory circuit:
un ulteriore dato che ho appreso leggendo le prove eseguite da altri appassionati è l’eseguzione del test dei brushless senza l’elica, o propeller, per cui ho usato la solita banderuola fatta con il nastro adesivo perchè tu possa vedere, nel video, il motore muoversi, noi, durante il test, abbiamo avuto modo di renderci conto della rotazione anche senza nastro adesivo.
Se esegui un test simile ricordati di fissare a banco il motore su una piastra, io ho usato del legno tagliato a laser, fissato al tavolo con dei morsetti:
a questo punto puoi collegare il tutto:
ed iniziare il test con lo sketch seguente:
#include <Servo.h> Servo esc; int input_degree; void setup() { Serial.begin(9600); // Comms with computer Serial.print("Started...\r\n"); esc.attach(9); } void loop() { input_degree = map( analogRead( A0 ), 0, 1023, 0, 179 ); Serial.println(input_degree); esc.write(input_degree); delay( 100 ); }
non servono grandi spiegazioni per questo semplice sketch in quanto è il solito, visto e rivisto, sketch di controllo di un servo motore tramite la libreria Servo ed un potenziometro.
L’unico punto su cui vorrei porre l’attenzione è la linea 14: in cui ho compresso su di una sola linea sia la lettura del potenziometro sia la sua mappatura dai valori letti su arduino ( 0-1023 ) verso i valori da trasferire all’ESC ( 0-179 ) ossia i gradi che passeresti ad un servo comando.
Il video del brushless T-Motor
Con la collaborazione di Alberto abbiamo realizzato il video del primo test:
in cui abbiamo appurato che il motore si attiva solo dal valore 62 e fino al valore 179, mi sono posto come obiettivo di comprendere per tali valori quali siano i duty cycle inviati e verificare se combacino con quelli da inviare correttamente al brushless T-Motor ESC.
6 commenti
Vai al modulo dei commenti
Ciao,
Sono venuto attraverso il tuo articolo molto interessante poiché stavo cercando un esc con possibilità ad alta frequenza. Sto usando i motori Graupner adesso e sto provando con diffsci esc con un arduino. La parte difficile che ho scoperto con diversi escs è l’impostazione della configurazione del throttle, dato che la tempistica del codice è complicata. Alcuni dicono all’inizio impostando il pin alto per 2000 microsec attendere i beep e immediatamente a basso se fatto correttamente l’esc suonerà che ha configurato il throttle, che nel mio caso il throttle è codice ie throttle = 1000. Other escs you iniziare con un impulso basso esc iniziale impostato su 1000 micros e quindi inserire l’esc all’avvio. Ad esempio, inserendo un impulso alto appena sotto il valore iniziale del motore, ad esempio. E altri esc sono semplicemente impossibili da integrare a causa della loro complessità di installazione. Più recentemente sto usando la manipolazione delle porte in quanto è molto più veloce e meno codice, inoltre è possibile eseguire tutti i motori all’istante.
La domanda che vorrei porgerti riguardo a questa esc è come hai configurato l’esc (in modo che l’esc riconosca il valore minimo e massimo dell’impulso come minimo e massimo del throttle) durante l’inizializzazione?
Si prega di scusarsi per eventuali errori di grammatica dal momento che sto usando google traduttore. Parlo inglese e spagnolo.
Grazie
Cordiali saluti,
Jose
Autore
Hi Jose,
you can write the questions in english. I don’t understand the Google translation.
Hi,
I have a personnal quadcopter project, which I am building with the arduino mega. I have the sensors programmed accel, compass and barometric, now I have been playing with the motors for some time.
I am curious about the esc you are using, and I simply would like to ask how did you configure the esc?If you did not , and simply executed you`re code then I beleive you armed the esc with the initial low esc setting of zero degrees and you are using the esc default factory settings. If its so then the esc is quite easy to program and I may try it.
In the mean time I will continue to search for an esc which would run well with my code. I am waiting to test a Graupner 20a ultra esc with blheli 14.2 installed which apperently has an input ppm pulse up to 4khz and 12khz at pwm.
Thank you for your time
Kind Regards,
Jose
Autore
Hi Jose,
in my experiments I found similar problems who you described.
The best method found by me is pre-calibrate the signal between Arduino and ESC with a potentiometer following the vendor manual about the start and end timers.
Ciao Mauro come faccio a cambiare il verso di rotazione del motore?
Autore
Ciao Simone,
devi invertire le fasi direttamente tra l’ESC ed il motore.
Puoi verificare se il tipo di ESC che hai acquistato sia già in grado di farlo da solo, il mio ESC è un controller per droni in cui non è necessario invertire il verso di rotazione.