Domanda

Vorrei implementare desidera che penso è abbastanza standard ciclo di feedback, tuttavia è stato molti anni da quando ho guardato la teoria del controllo e sto avendo difficoltà a capire i concetti e la ricerca di esempi di implementazione.Speravo che qualcuno potesse spiegare in termini semplici ciò che sta accadendo e forse il punto di alcune risorse che potrebbero essere utilizzati per implementare una soluzione.Tutte le informazioni che mi hai visto su questo argomento è di solito annegamento in matematica.

Così qui è quello che sto cercando di realizzare:

  • Voglio controllare la corrente di un circuito elettronico, dire che ho sempre voglia di disegnare 0.75 A.
  • La corrente, naturalmente, varia nel tempo a seconda di ciò che in altre parti del circuito sono facendo.Ma ho alcuni componenti hardware per disegnare più o meno corrente controllata da un livello di tensione di passo a DAC.
  • Ho anche un ADC che mi dà una tensione che è proporzionale alla corrente di essere estratti dal sistema.

Ho bisogno di gestire in rampa e anche oscillazioni all'interno di alcune soglie.Inoltre sto lavorando in C.

grazie, Richard

È stato utile?

Soluzione

Ok, quindi se ho capito, tutto l'hardware è già fatto?

Così, il vostro sistema è dotato di un ingresso di comando che è un livello di corrente in ampere (specificato da dire virgola mobile a precisione doppia numero di software) e l'uscita del regolatore di tensione (che controlla l'hardware che consuma corrente, il vostro impianto è il circuito e il feedback è probabilmente un 8, 10 o 16 bit numero - con o senza segno a seconda della A/D.

Così, il vostro sistema simile a questo:

il testo alt http://steves-wiki.wikispaces.com/file/view/control_diagram.jpg/64043668

Il modo più rapido e più sporco approccio è probabilmente il controllo PID.Si può rispolverare le nozioni di base con questo articolo di Wikipedia e ci sono alcuni suggerimenti sull'implementazione in questo embedded.com articolo.

In sintesi si desidera calcolare l'errore di sistema che nel tuo esempio è la Corrente di comando Corrente di Feedback.Assicurarsi che tutto è nella stessa unità di misura, si spera Ampere.Poi, dopo l'errore è calcolato devi correggere con un comando.In un sistema che è la tensione di comando di tensione controllato in corrente.Con il PID, il comando è calcolato moltiplicando l'errore, l'integrale dell'errore, e la derivata dell'errore guadagni e sommando il risultato.I guadagni sono la parte difficile.Le ALTRE parti difficili sono:assicurarsi che la vostra unità sono coerenti, assicurandosi che il tempo è adeguato e la corretta integrazione e/o derivati di calcolo.

Nel sistema che si hanno molte unità:errore Amp, il comando è espressa in Volt, che si trasforma in Ampere, quindi l'uso attuale è di Amplificatori che viene segnalato come Volt, che viene trasformato in un signed o unsigned integer che deve essere ridotto in Ampere commettere l'errore corretto.Avrete un sacco di variabili, assicurarsi che è possibile tenere traccia di ciò che di unità fisica, si applica a ogni.

L'algoritmo di controllo è hard real-time e ha eseguito nel corso di un'apposita tariffa.Vorrei raccomandare almeno 100Hz (calcoli ogni 10ms).Circuiti elettronici spostare velocemente, non come sistemi elettromeccanici.Potrebbe essere necessario un più alto tasso di rimanere in cima delle cose.Ma deve essere rigido in tempo reale - che significa coerente.Si può anche non essere in grado di cavarsela con software timer.

Integrazione e derivati, i calcoli sono complicati, ma ci sono solo tanti modi per farlo.La maggior parte algoritmo di base è il rettangolo di regola - e ' stupida ma probabilmente funzionerà.Se avete bisogno di essere più preciso usare trapezoidale regola.Controllare gli algoritmi fuori qui.Con tutta probabilità non utilizzare derivati di controllo - si tende a fare le cose instabile e non è necessario nella maggior parte dei sistemi.Si dovrebbe essere bene con integrale+controllo proporzionale.

Ci sono un sacco di insidie, ma questo dovrebbe iniziare.Se hai avuto un background in teoria del controllo, allora si dovrebbe tornare a voi.Una volta che il quadro è a posto si spenderà un sacco di tempo di ottimizzazione del guadagno proporzionale ed integrale - che è la carne del lavoro.Se questo sembra ancora troppo la matematica per voi, beh, scusate, questo è quanto di più semplice come si ottiene per i controlli.

Altri suggerimenti

Sarebbe difficile per il software-controllare il vostro sistema per disegnare corrente costante. Questo è meglio fatto con hardware dedicato in grado di rispondere immediatamente ai cambiamenti in corso e in realtà l'attuazione del ciclo di feedback avete difficoltà a capire.

Se si vuole fare con il software, allora probabilmente necessario implementare una qualche forma di un " fuzzy- logica " controllore. Il tuo problema è analogo a un ventilatore usato per controllare la temperatura. Si ha una grandezza di ingresso (tensione proporzionale alla corrente) ed una variabile di uscita (livello di tensione passato al DAC).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top