DrivingItalia simulatori di guida Jump to content
manu79

Volante Direct drive con arduino / stm32

Recommended Posts

Towers
Posted (edited)

Ciao a tutti,
anzitutto complimenti a tutti quanti hanno sperimentato e quindi speso tempo e denaro per realizzare questo piccolo grande progetto (a manu79 soprattutto per aver "avviato" il tutto), ma anche a tutti quelli che si sono cimentati successivamente nell'acquisto dei vari componenti e nella creazione del sistema attraversando a volte svariati problemi e peripezie.

Personalmente mi piacerebbe molto realizzarlo, ma sono frenato da qualche dubbio che, nonostante mi sono letto tutta la discussione, non riesco a chiarirmi, ovvero riguardo le correnti in gioco nel sistema.

Premetto che non sono ne un ingegnere elettronico ne un tecnico in tale ambito, ho solo una conoscenza di base (molto base) della materia.

Il motore adottato è a 36 o 48 Volt con un assorbimento di circa 36A per il 36V e circa 26A per il 48V, questo nel momento in cui "lavora" cioè è sotto un certo sforzo, erogando così fino a 1000W di potenza, girando (a detta delle specifiche) tra i 2800 e i 3000 rpm.
Quì il quesito/dubbio: qualcuno (maddex se non ricordo male) ha provato ad alimentare il motore con soli 12V: questo, correggetemi per favore se sbaglio, porta ad una riduzione del numero di giri, che nel caso di questo tipo di utilizzo del motore è un bene, ma per erogare la stessa potenza (1000W) il motore dovrebbe aumentare la coppia (il che sarebbe a vantaggio del progetto) assorbendo però così più corrente (+ di 100A).
Ora il mio dubbio è: questo fenomeno, ovvero l'assorbimento dei 100+ Ampere da parte del motore nel tentativo di erogare i suoi 1000W, alimentandolo a 12V, considerando anche che in questo impiego lavora quasi sempre sotto sforzo e addirittura in stallo, avviene o non avviene?

Se così fosse, avremmo si una bella coppia a disposizione, ma a discapito di problemi vari di:
- surriscaldamento del motore (a cui qualcuno ha ovviato aggiungendo una ventola che estrae aria), chiamato ad assorbire una quantità di corrente molto più alta di quella per cui è stao progettato;
- surriscaldamento anche dei fili, che vanno opportunamente dimensionati in sezione per essere "capaci" di trasportare tutti quegli ampere senza colarsi;
- l'alimentatore, che a questo punto, considerando anche la corrente di stallo, dovrebbe essere in grado di fornire molto di più di 100A e il cui costo andrebbe quindi ad aumentare notevolmente facendo seriamente vacillare il principio del "low cost" dell'intera faccenda.

Qualcuno mi può chiarire questo discorso?

Grazie infinite e complimenti ancora per il lavoro svolto.

Edited by Towers

Share this post


Link to post
Share on other sites
Piehopa

Ciao ragazzi , complimenti a tutti e chi per primo ha provato questo progetto. Manu79 ml'ha fatto sembrare così semplice che nonostante io non sappia fare niente ho voluro cimentarmi.

Avendo un Arduino (CLONE) che mi crescva, l'ho rubato a mio figlio...ho voluto fare una soluzione 24V con motore ZY1020 da 500Watt. Software ECM e ponte IBT_2. Assorbimento motore 26,7A alimentatore stabilizzato da  30 A 750watt.Encoder OMRON E6B2--CWZ1X.

Bene ho montato tutto e arduino viene visto come una periferica tutto correttamente, il problema inizia quando alimento il ponte.

Se non lo tocco rimane inerme senza fare nulla , appena provo a fare il test lineare della forza con Wheelcheck comincia a girare ( credo a regime ) da un lato all'altro senza più fermarsi , lo stesso avviene anche se provo a girare lo sterzo da un lato o dall'altro . Questo lo fa anche con configarazione wheelconfig.

Ho provato anche a cambiare il ponte pensando che fosse quello guasto  ma fa lo stesso difetto identico. Ho pensato che fosse la procedura di accensione , cosi come spiegato a pag 18 di questo topic, ma non cambia nulla.

Ora credo che proverò ancora a cambiare Arduino , ma se qualcuno avesse dei suggerimenti sarebbero molto graditi.

Grazie a chi avesse voglia di aiutarmi

 

 

Share this post


Link to post
Share on other sites
Piehopa
On 6/15/2020 at 7:15 AM, Francesco Cristiani said:

...anche se il tutto per me non ha mai funzionato 🤯
mi sono iscritto questa settimana, ma questa pagina del forum lo seguo dall'inizio di quest'anno. Con la quarantena mi sono cimentato in prove ed esperimenti. La manualità non mi manca, e il mio laboratorio è fornitissimo. Disegno e stampo in 3D da qualche anno, con particolare interesse a stampe che integrano materiale elettrico. Trovate qui qualche foto di come ho arrangiato il mio motore fino ad ora (nelle foto manca il raffreddamento)

GUGOL DRAIV

Il mio setup attuale è:
- my1020 48v 1000watt
- Omron
E6B2-CWZX1
- Arduino Leonardo (ne ho una di scorta)
- 3 BTS7960B (ne ho una di scorta)

Ho letto e riletto tutte le oltre 170 pagine, però il problema che sto avendo l'ha denunciato una volta .dumbass (pag. 111), nikymat (pag. 152) e forse in qualche momento cip (pag. 126 anche se non era proprio il mio stesso problema), che poi aveva risolto saldando i collegamenti sotto la leonardo (però mi sembra strano che si debba arrivare a questo per ottenere un funzionamento minimo).

In sostanza, l’encoder ha funzionato fin da subito senza problemi.
Il motore no: parte all'impazzata quando la modalità di comando è PWM+Dir (e questo è normale da quanto ho capito). Però anche in modalità PWM o PWM+/- non dà segni di vita. Fa quello che vuole e non risponde agli input.

In WheelCheck a volte se imposto una modalità parte all’impazzata, ma non ha mai accennato ad eseguire uno dei test.

Ho fatto parecchi tentativi e ad essere sincero non so se ho bruciato qualche BTS (non è mai esploso nulla, pero non saprei neanche come verificare con il tester)

PROCEDURA

Ho fatto veramente tutto, però vi faccio un elenco completo.

Encoder collegato così:
blu+shield = GND
marrone = 5v
nero = pin 1
bianco = pin 2
arancio = pin 6

Dall'alimentatore (12v 60A) ho collegato le BTS in serie con cavi tutti uguali in lunghezza e sezione. Dall’ultima BTS vado al motore con fili da 1 mt. La sezione è di 1,5 mm2; so che è poco però non penso che questo ora riguardi il mio problema. Il collegamento l’ho eseguito secondo lo schema di manu79 a pag. 85, però così facendo sono andato contro quello che riportano le scritte sotto la scheda (vedi foto nel GUGOL DRAIV):
io non ho    + - + -
bensì           - + + -

Ho collegato in parallelo anche le BTS con la leonardo:
1 (RPWM) = Leonardo pin 10
2 (LPWM) = Leonardo pin 11
3 (R_EN) = Leonardo +5v
4 (L_EN) = Leonardo +5v
5 (R_IS) = vuoto
6 (L_IS) = vuoto
7 (VCC) = Leonardo +5v
8 (GND) = Leonardo GND

In realtà sto provando con una sola adesso, come consigliato


Per ora son fermo qui 🤷‍♂️
Se qualcuno è in grado di riportare la pace nella mia anima ve ne sarei grato
Buona giornata e buona settimana

Ciao Francesco , io credo di avere il tuo stesso problema ma non ho ancora risolto. Ho più o meno la tua stessa configurazione ma un software di gestione diverso perchè pensavo potesse essere WHEELCONFIG. Io utilizzo ECM con un settaggio  2PWM +dir. Facendo delle prove mi sembra di aver capito che il motore parte quando arriva al limite dei gradi volante sia cw o ccw. Adesso se trovo il tutorial vorrei provare a cambiare da Arduino a STM32.

saluti

Share this post


Link to post
Share on other sites
Cristian Limonta

Eccomi di nuovo!

Mentre aspetto l'arrivo dei vari componenti elettronici sto dando un'occhiata ai vari motori che si trovano in commercio e mi sono imbattuto in un motorino per tergicristalli da auto (come quello allegato) con un ottimo prezzo...

Secondo voi è possibile utilizzarlo per realizzare questo progetto?

Ovviamente sono certo che la "qualità" del risultato finale non sarà come quella che si ottiene utilizzando un MY1020 da 1kW (che ha un altro prezzo) , ma come primo volante potrebbe andare?

1.jpg

Share this post


Link to post
Share on other sites
luciano merlino

se volete il my1020 io ne ho uno da vendere

Share this post


Link to post
Share on other sites
Tetuz
On 6/18/2020 at 5:11 PM, Towers said:

Ciao a tutti,
anzitutto complimenti a tutti quanti hanno sperimentato e quindi speso tempo e denaro per realizzare questo piccolo grande progetto (a manu79 soprattutto per aver "avviato" il tutto), ma anche a tutti quelli che si sono cimentati successivamente nell'acquisto dei vari componenti e nella creazione del sistema attraversando a volte svariati problemi e peripezie.

Personalmente mi piacerebbe molto realizzarlo, ma sono frenato da qualche dubbio che, nonostante mi sono letto tutta la discussione, non riesco a chiarirmi, ovvero riguardo le correnti in gioco nel sistema.

Premetto che non sono ne un ingegnere elettronico ne un tecnico in tale ambito, ho solo una conoscenza di base (molto base) della materia.

Il motore adottato è a 36 o 48 Volt con un assorbimento di circa 36A per il 36V e circa 26A per il 48V, questo nel momento in cui "lavora" cioè è sotto un certo sforzo, erogando così fino a 1000W di potenza, girando (a detta delle specifiche) tra i 2800 e i 3000 rpm.
Quì il quesito/dubbio: qualcuno (maddex se non ricordo male) ha provato ad alimentare il motore con soli 12V: questo, correggetemi per favore se sbaglio, porta ad una riduzione del numero di giri, che nel caso di questo tipo di utilizzo del motore è un bene, ma per erogare la stessa potenza (1000W) il motore dovrebbe aumentare la coppia (il che sarebbe a vantaggio del progetto) assorbendo però così più corrente (+ di 100A).
Ora il mio dubbio è: questo fenomeno, ovvero l'assorbimento dei 100+ Ampere da parte del motore nel tentativo di erogare i suoi 1000W, alimentandolo a 12V, considerando anche che in questo impiego lavora quasi sempre sotto sforzo e addirittura in stallo, avviene o non avviene?

Se così fosse, avremmo si una bella coppia a disposizione, ma a discapito di problemi vari di:
- surriscaldamento del motore (a cui qualcuno ha ovviato aggiungendo una ventola che estrae aria), chiamato ad assorbire una quantità di corrente molto più alta di quella per cui è stao progettato;
- surriscaldamento anche dei fili, che vanno opportunamente dimensionati in sezione per essere "capaci" di trasportare tutti quegli ampere senza colarsi;
- l'alimentatore, che a questo punto, considerando anche la corrente di stallo, dovrebbe essere in grado di fornire molto di più di 100A e il cui costo andrebbe quindi ad aumentare notevolmente facendo seriamente vacillare il principio del "low cost" dell'intera faccenda.

Qualcuno mi può chiarire questo discorso?

Grazie infinite e complimenti ancora per il lavoro svolto.

Hai ragione su tutti i punti di vista, infatti questa soluzione non è molto "elegante" perché appunto usi un motore non adatto allo scopo (sempre che tu prenda un my1020 o simili e non un motore come quello di maddex che è un unità originariamente dotata di ingranaggi di riduzione impiegata su una lavapavimenti industriale se ricordo bene). Come hai già detto il motore e i cavi tendono a scaldare e, nonostante la potenza assorbita, generano relativamente poca coppia (si parla di circa 10Nm con 100A, poi dipende dal motore, non è chiaro secondo quale logica dato che i dati di questi motori cinesi sono molto vaghi) se confrontati con un OSW, dove con alimentatori da 720W si arrivava a 20/30Nm.
D'altronde qua si lavora su un budget totalmente differente, si parla di circa 150€, in cui si rientra tranquillamente comprando un alimentatore da server da più di 80A, che risulta sufficiente per la maggior parte degli utilizzi. Io ho un alimentatore da 106A pagato qualcosa come 40€...

On 6/23/2020 at 10:15 PM, Piehopa said:

Ciao ragazzi , complimenti a tutti e chi per primo ha provato questo progetto. Manu79 ml'ha fatto sembrare così semplice che nonostante io non sappia fare niente ho voluro cimentarmi.

Avendo un Arduino (CLONE) che mi crescva, l'ho rubato a mio figlio...ho voluto fare una soluzione 24V con motore ZY1020 da 500Watt. Software ECM e ponte IBT_2. Assorbimento motore 26,7A alimentatore stabilizzato da  30 A 750watt.Encoder OMRON E6B2--CWZ1X.

Bene ho montato tutto e arduino viene visto come una periferica tutto correttamente, il problema inizia quando alimento il ponte.

Se non lo tocco rimane inerme senza fare nulla , appena provo a fare il test lineare della forza con Wheelcheck comincia a girare ( credo a regime ) da un lato all'altro senza più fermarsi , lo stesso avviene anche se provo a girare lo sterzo da un lato o dall'altro . Questo lo fa anche con configarazione wheelconfig.

Ho provato anche a cambiare il ponte pensando che fosse quello guasto  ma fa lo stesso difetto identico. Ho pensato che fosse la procedura di accensione , cosi come spiegato a pag 18 di questo topic, ma non cambia nulla.

Ora credo che proverò ancora a cambiare Arduino , ma se qualcuno avesse dei suggerimenti sarebbero molto graditi.

Grazie a chi avesse voglia di aiutarmi

Il tuo problema sembra simile a quello di Francesco Cristiani, hai provato la soluzione che gli ho consigliato? Prova ad invertire i pin LPWM e RPWM sull'arduino, oppure prova ad invertire i cavi del motore (il negativo del motore con l'output positivo delle BTS e viceversa), pare che il volante "fugga" dal centro.

 

On 6/26/2020 at 1:24 PM, Cristian Limonta said:

Eccomi di nuovo!

Mentre aspetto l'arrivo dei vari componenti elettronici sto dando un'occhiata ai vari motori che si trovano in commercio e mi sono imbattuto in un motorino per tergicristalli da auto (come quello allegato) con un ottimo prezzo...

Secondo voi è possibile utilizzarlo per realizzare questo progetto?

Ovviamente sono certo che la "qualità" del risultato finale non sarà come quella che si ottiene utilizzando un MY1020 da 1kW (che ha un altro prezzo) , ma come primo volante potrebbe andare?

1.jpg

No, questo tipo di motore non è adatto in quanto ha una riduzione interna, in più credo sia molto più difficile collegarci un encoder e una ventola, in quanto scalderà parecchio dato che solitamente funziona a regime. Un MY1020 o simili si trova tranquillamente su ebay a circa 60€, basta che cerchi "motore 36v 1000W" e salta fuori parecchia roba. Secondo me non ha senso risparmiare sul motore, dato che è la parte principale del progetto.

 

 

Ora pongo io una domanda: come già scritto nelle pagine precedenti ho cambiato motore, e dato che i cavi lato motore si scaldavano molto in fretta li ho sostituiti con cavi di sezione maggiore (ho aperto il motore, tagliato i vecchi vicino alla saldatura "a punto" e saldato i nuovi tramite stagno). Dopo averlo montato ho fatto qualche prova veloce, riscontrando una forza massima simile a prima (da mmos metto spring a 100% e giro il volante) ma un comportamento molto vuoto in game (alzando il gain del gioco a 140% la forza c'era). Ho notato che sembra si sia allargata di molto la zona morta, purtroppo per qualche strana ragione facendo il test con wheelcheck i due alimentatori che ho sottomano (50 e 66A) saltano prima che il test finisca, mentre in gioco sembrano andare, quindi al momento è solo una sensazione.
Qualcuno ha idea di cosa possa aver causato questo problema e in caso come sia possibile risolverlo?

Share this post


Link to post
Share on other sites
Francesco Cristiani

Scusate l'assenza, ma nella vita sto organizzando i centri estivi (con il Covid sono ingestibili) e quindi non ho più avuto spazio vitale.

Avevo seguito il consiglio di Tetuz e avevo messo i cavi secondo il mio schema delle BTS. Ha funzionato subito... pur essendo una cosa che avevo provato almeno altre 1000 volte...

Poi il force feedback interveniva con l'effetto spring e blocco di fine corsa solo da una parte, ma questo problema era dovuto alla BTS bruciata. Ne ho messa un'altra e ha funzionato.

Adesso ho terminato la costruzione del tutto con il quick release e mi manca il volante che arriverà a giorni.

Dopo qualche prova, è tornato tutto come prima... 😵 partiva a caso da una parte, dall'altra non rispondeva etc.. e mi sono accorto che questo comportamento "impazzito" avveniva di fatto quando il PC non segnava la Leonardo connessa tra le periferiche. Ho cambiato porta usb dell'Arduino Leonardo fino a trovare una porta usb dove veniva normalmente riconosciuta, e tutto è tornato a funzionare. Sapevo che sulle porte USB la mia scheda madre ha qualche problemino, però non pensavo così...

Vi aggiornerò sul funzionamento del sistema completo con 3 BTS e con qualche foto del lavoro terminato.

Per ora grazie!

Share this post


Link to post
Share on other sites
Piehopa
On 6/29/2020 at 12:48 AM, Tetuz said:

 

Il tuo problema sembra simile a quello di Francesco Cristiani, hai provato la soluzione che gli ho consigliato? Prova ad invertire i pin LPWM e RPWM sull'arduino, oppure prova ad invertire i cavi del motore (il negativo del motore con l'output positivo delle BTS e viceversa), pare che il volante "fugga" dal centro.

 

Grazie Tetuz per i consigli . 

Ho fatto un po di prove e poi credo di aver risolto  ( sono riuscito a fargli il "linear force test", quindi direi che funziona . Ancora non l'h0 provato in game per un paio di motivi. 1) adesso devo fargli attacco volante e una piastra per pulsanti e palette per il cambio. E' solo la prima prova eancora non ho toccatto nulla , ma ho avuto questi risultati che al momento non sono molto  incoraggianti. E' possibile questo problema all'inizio del graafico perché uso un alimentatore 24 V ?

Giusto per informazione non mi funzionava perchè non avevo selezionato LC(5-7)  sull'asse Y e subito dopo una IBT_2  che si è fulminata .

 

On 6/29/2020 at 12:48 AM, Tetuz said:

immagine.png.f113b0be3ce3ecaccd50fa134c0c24ad.png

 

Share this post


Link to post
Share on other sites
Lancia Delta

Buongiorno a tutti ragazzi, sono un nuovo iscritto e mi sono appassionato a questa discussione guardando un video su youtube di @manu79 che ringrazio per tutto quello che ha fatto e ringrazio anche tutti quelli che stanno dando una mano in questo progetto 😉

Mi voglio buttare a capofitto anch'io, ma non ho tanta esperienza nel campo quindi , vi ringrazio in anticipo per eventuali aiuti e consigli.

Non ho letto sinceramente tutte le 175 pagine di questo thread, ma un bel pò da poter tirare le somme per l'acquisto dei materiali, almeno lo spero 😅 per questo vi chiedo un aiutino prima che faccio acquisti sbagliati.

Da quello che ho potuto capire, la soluzione migliore sarebbe quella con scheda Stm32f407 Discovery con firmware MMOS + motore 1000W + 3 ibt2 + alimentatore 12v almeno 80A + encoder: OMROM E6B2- CWZ1X 2000P/R ?

Faccio la lista di quello che ho trovato per capire se vanno bene prima di procedere all'acquisto:

Encoder: https://www.ebay.it/itm/OMRON-Rotary-Encoder-E6B2-CWZ1X-2000P-R-E6B2CWZ1X-5VDC-New-in-box-Free-shipping/332386539771

Motore: https://www.amazon.it/gp/product/B07PZCVM1B/ref=ox_sc_act_title_2?smid=AHAPG6O64Z46R&psc=1

Scheda di controllo:  https://www.amazon.it/gp/product/B072K267DK/ref=ox_sc_act_title_1?smid=A11IL2PNWYJU7H&psc=1

N° 3 BTS:  https://www.amazon.it/gp/product/B06Y2YMTLD/ref=ox_sc_act_title_12?smid=A3JF3T1CRN0KMB&psc=1

Alimentatore 12v 100A: https://www.ebay.it/itm/1PCS-PS-2112-5L-1200W-Server-Power-Supply-12V-100A-Switching-Power-Supply-54-ZX/153592904789?hash=item23c2d9bc55:g:cWwAAOSweXddSV7g

Share this post


Link to post
Share on other sites
Tetuz
On 7/7/2020 at 2:36 PM, Piehopa said:

 

 

Purtroppo non so che dirti riguardo a quel grafico, se non che dovrai impostare la forza minima intorno al 15% (non ricordo se fosse possibile da Arduino, al massimo dovrebbe essere possibile farlo in game). Prova anche a ridurre la forza massima, io col mio vecchio motore arrivavo alla linearità quasi perfetta intorno al 50% ma era troppo debole.

On 7/13/2020 at 1:01 PM, Lancia Delta said:

Faccio la lista di quello che ho trovato per capire se vanno bene prima di procedere all'acquisto:

 

I componenti sono corretti, non dovresti avere sorprese.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.