![]() |
Cosa metto tra la porta PWM del controllore e un motore DC brushless ? Buongiorno a tutti, con l'augurio di non essere nella sezione sbagliata, ne di fare una domanda troppo stupida ne fuori tema, vorrei capire (un buon link che spiega tutto e' piu che sufficiente) cosa devo mettere in termini di elettronica tra l'uscita PWM della mio controllore e il motore DC brushless. Sono assolutamente bianco su questi argomenti e sto cercando di farmi una cultura. :) Da quel che ho capito, il motore (ho visto le spec di un micro brushless) prende in ingresso un corrente di diversi ampere (8 nel caso di quello che ho visto io). La velocita' di rotazione e' direttamente proporzionale alla corrente fornita in ingresso e la velocita' del motore e' controllata generalmente tramite un segnale PWM (per favore correggetemi se sbaglio). Sempre cercando su internet ho trovato questo esempio di controller ma non ho capito come funzionano. HobbyKing Online R/C Hobby Store : Blue Arrow 8A 1S Brushless Controller I tre fili in blu suppongo siano l'uscita da collegare al motore. I due grossi sono quelli da collegare alla batteria che fornisce la corrente per pilotare il motore. Ma gli altri 3 piu piccoli? Io mi aspettavo altri due piccoli sul quale mandare il segnale PWM di controllo. Inoltre posso collegare tranquillamente l'uscita PWM del microcontrollore a un controller di quel tipo, oppure e' sempre meglio un optoisolatore per preservare il microcontrollore? Grazie in anticipo. |
Ciao e Benvenuto. Citazione:
Citazione:
Citazione:
Da notare che l' ESC in figura ha i poli di alimentazione (+ e -) invertiti :mellow: quindi o è fuori standard, o usa il positivo anzichè il negativo a massa, o si tratta di un errore .. Citazione:
|
Prima di tutto un grazie infinite per la risposta dettagliata. Non vorrei approfittare della tua disponibilità ma ho ancora dei dubbi che avrei bisogno di chiarire (a tal proposito cerco una guida per la scelta dell'acquisto di tali controllori) Citazione:
trovato un link che spiegasse il significato. Se hai qualcosa da farmi leggere te ne sarei grato. :) Ad ogni modo a me serve per un quadricottero quindi suppongo non mi serve programmabile. Comunque (da ignorante) non capisco perche si chiama regolatore di velocita, se la regolazione avviane tramite il segnale logico PWM che arriva dal microcontrollore, e non semplicemente amplificatore di segnale. Mi sono perso un pezzo? Citazione:
Nella mia testa ho lo schema [1]microcontrollore -> [2]amplificatore di corrente -> [3]motore [1] - Manda il segnale logico PWM di controllo/velocita (avevo letto qualcosa su come cambiare la direzione e si puo gestire con un duty-cicle maggiore o minore del 50% se si ha un circuito con ponte a H, che non ho completamente appreso ma che nel mio caso (quadricottero) non dovrebbe servire) [2] - Amplifica e basta, niente logica (forse nel cado di ponte a H, gestisce la logica della direzione?) [3] - Riceve il segnale di controllo amplificato Citazione:
Citazione:
forte torni al microcontrollore da parte del ESC? Nel mio caso comunque non ho un semplice microcontrollore, ma un processore quindi vorrei preservarlo in tutti i modi. :) Grazie ancora per la spiegazione. |
Citazione:
Citazione:
Citazione:
Michele |
Citazione:
Nel mio caso ho solo un micro, un motore DC brushless, e qualcosa da mettere in mezzo per regolare la velocita' di rotazione del motore (niente cambio di direzione). Citazione:
lui invia un PWM al microcontrollore con una certa frequenza, il micro converte il segnale PWM in un altro segnale PWM ad una frequenza piu appropriate e la manda al regolatore di velocita'? Potresti indicarmi un tipico schema elettrico di controllo di velocita di un motore brushless DC tre fasi semplice semplice, partendo da un segnale pwm? Cosi provo a studiarmelo. Grazie per la pazienza e la disponibilita'. |
Più o meno hai capito... Sul forum la stragrande maggioranza parla in termini di ricevente perché è il caso più comune. Nel tuo caso hai un microprocessore e potresti pensare di emettere su un piedino un segnale compatibile con il protocollo noto delle riceventi (attento che non è esattamente un pwm...) Da essa esce quello che molti chiamano pwm (ma che secondo me non è) che potremmo invece descrivere come fatto da impulsi la cui durata varia da 1 a 2 ms ed intervallati da periodi di silenzio abbastanza lunghi, credo di durata dell'ordine di almeno una ventina di impulsi di cui sopra, diciamo almeno 400ms. La durata dei silenzi è rilevante solo per capire se c'è perdita di segnale ma non è rilevante sul messaggio portato dal segnale (ecco perchè non è un pwm, non importa il duty cicle). Questo segnale viene interpretato da tutte le periferiche che noi modellisti conosciamo, fondamentalmente servocomandi e esc. In particolare l'esc ha una sua logica a microprocessore che mappa la durata di tali impulsi sul vero pwm da inviare al motore (previa amplificazione), questa logica non è del tutto banale in quanto deve tenere conto anche dell'effettivo regime di rotazione del motore e di tutte le impostazioni che possono essere fatte su questi esc. Considera che si tratta di motori trifase SINCRONI che sono abbastanza delicati, sei il segnale non si autoadatta al loro regime di rotazione si fermano molto facilmente. Come ulteriore dettaglio posso dirti che gli esc "aeronautici" associano il segnale 1ms al minimo (motore fermo) e il segnale 2ms al massimo. gli esc auto/nave associano il segnale 1,5ms allo zero, i 2ms al massimo e 1ms a qualcosa che secondo le opzioni può essere retromarcia, freno o una combinazione dei due. |
Il discorso che ho fatto sopra si riferisce al caso in cui tu voglia, come dicevo, simulare a tutti gli effetti il segnale uscente dalle nostre riceventi per pilotare degli esc commerciali, questa sembra la soluzione più semplice. Diverso è il discorso se tu pensi di implementare in toto la logica presente dentro gli esc, eliminando il passaggio ulteriore dell'esc commerciale, in questo caso le difficoltà che mi vengono in mente sono le seguenti: 1) Dovrai uscire con tre segnali per ogni motore (contro 1 per ogni... della versione semplice) quindi problemi con il numero di piedini disponibili 2) Dovrai costruirti tutta la parte di potenza (non so darti alcuna indicazione) 3) Dovrai implementare tutta la logica di inseguimento del regime del motore in proprio e questo non è assolutamente banale, considera che in ogni istante dei tre capi del motore due saranno alimentati e uno verrà usato come feedback per capire la posizione del rotore... più tuuto quello che riguarda timing (questo sconosciuto) freni, soft start e quant'altro. Questa cosa che a me sembra complicatissima, in realtà c'è qualcuno che la fa... se vuoi puoi divertirti a leggere qualcosa partendo da questo tread |
Sconsiglio di partire a disegnare un regolatore per BL... si trovano già fatti che funzionano bene; li puoi pilotare con un segnale PWM che varia da 1mS a 2mS che normalmente è ripetuto ogni 20mS (non 400!). Il tempo di 20 mS è dovuto al fatto che la radio trasmette in un unico frame tutti i canali in sequenza e quindi per 8 canali servono 2ms x 8 + una pausa di sincronismo. Se i regolatori te lo permettono puoi anche inviare l'impuso di comando ad una frequenza più alta, con il vantaggio di avere una regolazione più precisa. Michele |
Citazione:
Citazione:
Citazione:
Per il fai da te puoi integrare il tutto in un' unica scheda utilizzando: _ modulo radio (riceve il segnale della trasmittente e lo converte in banda base affinchè possa essere elaborato dal microcontrollore) _ microcontrollore (estrae le informazioni dei vari canali dal multiplex ricevuto e le elabora fornendo direttamente in uscita il segnale di controllo per il ponte H che alimenta il motore) _ FULL H-BRIDGE (funge sia da amplificatore di corrente che da inversore di polarità). Nota: per il pilotaggio degli H-bridge attraverso le porte PWM hardware di un MCU o per simularle via software sui suoi GPO puoi fare riferimento alle innumerevoli AN (Application Note) che trovi in rete. Citazione:
Citazione:
Citazione:
Citazione:
In campo modellistico ricevente ed ESC sono già disaccopiate a livello di interfaccia (i circuiti di controllo) mentre per quanto riguarda le alimentazione ci si fa affida al regolatore (switching o lineare) interposto fra le due. |
Citazione:
1) Sull'interfaccia disaccoppiata tra esc e ricevente nessun produttore ti da la sicurezza che dici. Se vuoi averla devi scegliere un regolatore opto isolato. 2) Il regolatore (detto bec) non è interposto tra esc e ricevente viene solo ospitato sullo stesso circuito dell'esc ma si guarda bene, in uno schema logico a blocchi, dal trovarsi fra i due. |
Credo di avere le idee piu chiare adesso grazie alle vostre risposte e a questo link (magari puo servire a qualcun altro) ttp://robots.freehostia.com/SpeedControl/SpeedControllers.html Per un controllo di base di velocità è sufficiente un segnale PWM e un amplificatore di corrente (mofset di potenza etc). Essendo il motore trifase il circuito elettrico e' un pelo piu complicato. E si arriva fino al full-bridge per il controllo completo a partire dal PWM. Nel campo della modellistica, dovendosi interfacciare anche con segnali PPM (credo quello che arriva alla ricevente) ci sono drive piu complessi. Ora dovrebbe essere tutto chiaro. Googlando ho trovato questo drive controllato addirittura in I2C https://www.mikrocontroller.com/inde...7c148162fe01a6 ma anche qui non trovo il datasheet. A dire il vero non ho trovato il tasto download nei siti che ho visitato. Se ne avete anche uno da passarmi (su un drive programmabile per brushless trifase) ve ne sarei grato, cosi mi faccio un idea. A questo punto l'ultima domanda è (forse dovrei aprire un altro topic), sapresti indicarmi (modellistica o meno) un drive per motore brushless trifase (di quelli poi usati per quadricotteri) che in ingresso vuole solo il segnale PWM (niente ricevente, niente PPM, niente logica, solo amplificazione del segnale)? Grazie davvero a tutti per le risposte.:wink: |
Rettifica msg1: ovviamente sono 1,5 millisecondi non micro. msg2: in ".. semplicemente perchè non segue gli standard del modellismo." c'è il "non" di troppo. Citazione:
In breve, la ricevente esegue il procedimento opposto ovvero demodula il segnale a radiofrequenza ottenendo il segnale in banda base PPM/PCM ecc, quindi lo demultiplexa riottenendo l' informazione associata ai vari canali di partenza. Tale informazione viene usata per modulare il segnale +pwm in standard modellistico generato per ognuna delle uscite (canali). |
Citazione:
Citazione:
2) Non ho detto che il regolatore di tensione è interposto tra ESC e RICEVENTE a livello di interfaccia bensì a livello di alimentazioni: <<In campo modellistico ricevente ed ESC sono già disaccopiate a livello di interfaccia (i circuiti di controllo) mentre per quanto riguarda le alimentazione ci si affida al regolatore (switching o lineare) interposto fra le due>>. |
Citazione:
Citazione:
Citazione:
Ciao |
Driver BL Citazione:
Il motore BL deve essere pilotato con 3 fasi sincronizzate tra loro e sicronizzate con il movimento del motore. Qui trovi una nota applicativa che ti spiega come realizzare un controller per BL: http://www.atmel.com/dyn/resources/p...ts/doc8138.pdf Michele |
Citazione:
Grazie. Citazione:
|
Citazione:
Il link che mi hai passato e' interessante. Visto che ormai ci siamo, il problema che adesso devo risolvere e' pilotare 4 motori dc brushless con una scheda che ha solo 2 SPI, 1 I2C, 3PWM, e diverse GPIO con le quali poter emulari segnali PWM via software. Vorrei evitare di comprarmi un altra board. Quella che ho ovviamente non e' stata acquistata per questo motivo, ma visto che ce l'ho vorrei usarla. Grazie a tutti. |
Citazione:
|
Citazione:
pensato per fare altro e non automazione di questo tipo. Ma sotto mano, questa ho! :) |
Citazione:
Se non mi sbaglio quello ha un core ARM com periferiche per il trattamento di immagini e la cattura di segnali video e poche risorse per tutto il resto, che invece è quello che ti serve; se hai esperienza con le architetture ARM comprati una schedina con un cortex m3 (le trovi in rete da 10 a 30 EUR) o la LPCXpresso della NXP dove hai la scheda di valutazione e un mini sitema di sviluppo completo per programmare il chip e debuggare, sempre abbondantemente sotto i 50 EUR. Michele |
Citazione:
Da quel che ho capito mi serve una scheda con almeno 4xI2C per i motori 2SPI per i sensori (accelerometri e giroscopi) e basta. O mi serve altro? L'ideale sarebbe con un SPI in piu per collegarci la Beagle (che deve stare sul quadricottero per altri motivi :)). Grazie. |
Citazione:
Mi sa che devi studiare ancora un po'! Michele |
Citazione:
e la disponibilita'. Davvero. Ieri leggevo un artivolo sull SPI con il quale puoi controllare piu motori a patto tu abbia una porta CS (chip select o SS-slave select) per ogni dispositivo, e nel mio caso (guarda caso) ne ho solo 3. Ho letto anche della possibilita' di collegamento in daisy chain (in serie dei dispositivi), ma deve essere supportato dagli slave come modalita'. Quindi devo vedere se i controller di cui sopra supportano la configurazione daisy chain. Sul controllo in I2C mi devo ancora documentare. Se pero come dici tu con una porta I2C controllo tutti i motori, allora con la mia board posso farcela. Perche dici di no? Tralasciando il fatto che sia pensata per fare altro e che sia stra-mega-sovradimensionata per questa applicazione. |
Alla fine ho preso questi che si comandano in I2C. https://www.mikrocontroller.com/inde...roducts_id=504 Pero mi aspettavo almeno un datasheet invece non mi è arrivato NIENTE. Si trovano "alcune" info sul loro wiki. Mi hanno pure detto per email dopo che ho chiesto spiegazioni che non rilasciano certe informazioni (tipo i comandi I2C che gli ho chiesto). Fortuna che il codice del loro firmware è open source e ho trovato i comandi, pero che professionalità. |
Tutti gli orari sono GMT +2. Adesso sono le 10:22. |
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