Torna indietro   BaroneRosso.it - Forum Modellismo > Categoria Software > Software


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 01 febbraio 16, 20:53   #1 (permalink)  Top
User
 
Data registr.: 30-09-2013
Residenza: Milano
Messaggi: 40
Arduino e programmazione ESC

Ho preso da poco un Arduino Nano e la mia intenzione sarebbe quella di vedere i settaggi attuali degli ESC e cambiare i loro parametri (con ausilio di un'interfaccia in VB.net).
Ho già provato a programmarli con il programmino per Arduino che vi allego, così come si programmano con la normale ricevente, ovvero seguendo i vai beep emessi dal motore e impartendo il comando di ok, ma vorrei riuscire a capire come è settato attualmente l'esc anche per verificare se i parametri sono corretti, ovvero intercettare le stringhe di comando emesse dall' Esc per arrivare ad una interfaccia grafica con cui programmarli.
A quanto ho capito leggendo in giro ogni serie di ESC ha i suoi comandi, per cui andrebbe fatto un programma ad hoc per ognuno, oppure un programma che legga un file esterno con i parametri per ogni tipo di esc, e questo non è un problema, il problema è capire i parametri da spedire o ricevere.

Dal manuale di BLHeli ad esempio si legge questo:
Input signal:
The ESC accepts both positive and negative PWM, as well as PPM as input signal.
The type of input signal is auto detected during the arming sequence.
The only input signal that requires changing the default parameters, is negative PWM.
PWM is accepted as 12kHz, 8kHz (mCPX v1), 4kHz, 2kHz (several Walkeras) and 1kHz (mCPX v2).
PPM has a default throttle range of 1150us-1830us, and accepts rates from the normal 50Hz up to several hundred Hz.
Available throttle calibration range for PPM is from 1000us to 2000us, and the difference between minimum and maximum throttle must be more
than 520us. If a calibration is done where the difference is less than 520us, the maximum will be shifted so that the difference is 520us.

Se qualcuno ha già studiato (o risolto) il problema si faccia avanti con un esempio in Arduino

P.S. se usate il file Motore3.ino occhio che dopo aver introdotto uno 0 (zero) nella finestra del monitor seriale, se la batteria è attaccata all'Esc il motore è in modalità test, per cui parte con i comandi successivi (tra 0 e 180).
Se invece impartite un 180 e poi attaccate la batteria sarete in modalità programmazione (sino al successivo 0 (zero) che rimanda l'Esc in modalità normale ovvero test motore).
Se provate senza montare l'elica non sparatelo alla velocità massima (180) senza il carico dell'elica.
Se lo provate con l'elica invertite i fili di collegamento tra Esc e motore in modo che giri al contrario e non vi si sollevi dalla scrivania...e fate attenzione...
Icone allegate
Arduino e programmazione ESC-dsc01860.jpg   Arduino e programmazione ESC-dsc01859.jpg  
Files allegati
Tipo file: zip motore3.zip‎ (1,2 KB, 65 visite)
__________________
Stavo facendo questo 4 anni fa circa:
http://www.youtube.com/watch?v=j__ztOPwuM0
Gabryx non è collegato   Rispondi citando
Vecchio 01 febbraio 16, 21:14   #2 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
Citazione:
Originalmente inviato da Gabryx Visualizza messaggio
Ho preso da poco un Arduino Nano e la mia intenzione sarebbe quella di vedere i settaggi attuali degli ESC e cambiare i loro parametri (con ausilio di un'interfaccia in VB.net).
Quasi tutti gli esc quando attaccati alla loro program card capiscono un protocollo seriale single wire non documentato e proprietario.
Per leggere i parametri è necessario conoscere il protocollo.
Per conoscere il protocollo è necessario fare reverse enginering della comunicazione single wire fra ESC e scheda di programmazione.
Per fare reverse enginering quindi è necessario avere la scheda di programmazione.
Se hai la scheda di programmazione il gioco con arduino rimane solo un gioco, anche perchè al campo quasi nessuno si porta un tablet per configurare un ESC.
Quindi rimane un bel gioco ma di dubbia utilità pratica, anche considerando il costo medio delle program card.

questo ad esempio è il reverse enginering di un esc Turnigy
Turnigy ESC Programming Card Reverse Engineered | Eleccelerator
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 01 febbraio 16, 21:25   #3 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Quasi tutti gli esc quando attaccati alla loro program card capiscono un protocollo seriale single wire non documentato e proprietario.
Per leggere i parametri è necessario conoscere il protocollo.
Per conoscere il protocollo è necessario fare reverse enginering della comunicazione single wire fra ESC e scheda di programmazione.
Per fare reverse enginering quindi è necessario avere la scheda di programmazione.
Se hai la scheda di programmazione il gioco con arduino rimane solo un gioco, anche perchè al campo quasi nessuno si porta un tablet per configurare un ESC.
Quindi rimane un bel gioco ma di dubbia utilità pratica, anche considerando il costo medio delle program card.

questo ad esempio è il reverse enginering di un esc Turnigy
Turnigy ESC Programming Card Reverse Engineered | Eleccelerator
Volendo si potrebbe provare a leggere gli impulsi inviati ai motori per generare i beep di programmazione ed evitare il reverse enginering del protocollo utilizzando solo le istruzioni del manuale... Ma mi sa tanto di UCAS.
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 02 febbraio 16, 03:38   #4 (permalink)  Top
User
 
Data registr.: 30-09-2013
Residenza: Milano
Messaggi: 40
E' ovvio che se uno ha già la program card, Arduino non serve a niente, l'intenzione è di evitare l'acquisto di una card per ogni serie di ESC e cmq divertirsi con Arduino, ho già avuto modo di "catturare" il protocollo di un calibro digitale, ma in quel caso si trattava di leggere un solo parametro (la misura) dalla porta USB/Seriale dopo che veniva premuto un tasto sul calibro, nel caso dell'ESC ci sarà sicuramente un segnale di partenza e poi le stringhe di dati.
Si la pagina di eleccelerator.com l'avevo vista, se non c'è niente altro in giro partirò da quella per capirci qualcosa sul protocollo di trasmissione.
Se qualcun altro ha dei consigli è sempre ben accetto.
__________________
Stavo facendo questo 4 anni fa circa:
http://www.youtube.com/watch?v=j__ztOPwuM0
Gabryx non è collegato   Rispondi citando
Vecchio 02 febbraio 16, 16:56   #5 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
Citazione:
Originalmente inviato da Gabryx Visualizza messaggio
E' ovvio che se uno ha già la program card, Arduino non serve a niente, l'intenzione è di evitare l'acquisto di una card per ogni serie di ESC e cmq divertirsi con Arduino, ho già avuto modo di "catturare" il protocollo di un calibro digitale, ma in quel caso si trattava di leggere un solo parametro (la misura) dalla porta USB/Seriale dopo che veniva premuto un tasto sul calibro, nel caso dell'ESC ci sarà sicuramente un segnale di partenza e poi le stringhe di dati.
Si la pagina di eleccelerator.com l'avevo vista, se non c'è niente altro in giro partirò da quella per capirci qualcosa sul protocollo di trasmissione.
Se qualcun altro ha dei consigli è sempre ben accetto.
Il problema è che c'è poco da capirci, quel protocollo che è abbastanza banale va bene solo esclusivamente per alcuni ESC (neanche tutti i turnigy).
Non è neanche detto che in tutti ci sia un segnale di partenza in forma digitale.
In alcune program card che ho, il fatto di portare l'esc in programmazione via program card è dato dal tenere l'ingresso ad un livello alto per un periodo di tempo maggiore al 1/2 secondo. Quando la program card porta il pin in alta impedenza l'ESC inizia la comunicazione seriale spedendo alla program card il suo stato.

Ogni produttore di ESC ha il suo, per quello dico che per fare il programmatore universale alla fine li devi avere tutti.
Comunque seguo i progressi...
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 02 febbraio 16, 17:23   #6 (permalink)  Top
User
 
Data registr.: 30-09-2013
Residenza: Milano
Messaggi: 40
Si, leggendo in giro ho visto che ogni esc ha il suo protocollo, voglio cominciare dal segnale di partenza e leggere i dati in arrivo in forma digitale (la lettura in PWM dà risultati troppo diversi per essere interpretati) su 3 esc differenti e vedere se c'è qualche corrispondenza...e da lì partire....oppure chiudere il discorso se non c'è corrispondenza.
__________________
Stavo facendo questo 4 anni fa circa:
http://www.youtube.com/watch?v=j__ztOPwuM0
Gabryx non è collegato   Rispondi citando
Rispondi

Bookmarks



Strumenti discussione
Visualizzazione

Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Esc & Arduino Ithos92 Circuiti Elettronici 5 25 gennaio 12 20:56
programmazione esc paololemerle Elimodellismo Motore Elettrico 7 19 giugno 10 21:54



Tutti gli orari sono GMT +2. Adesso sono le 09:38.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002