Noch mal kurz: Die Heizung ist in deinem Fall dein Digitalpoti. Irgendwo muss die Spannung ja abfallen, wenn du langsamer fahren willst.
Werbung
Noch mal kurz: Die Heizung ist in deinem Fall dein Digitalpoti. Irgendwo muss die Spannung ja abfallen, wenn du langsamer fahren willst.
Hallo,
Fragen ohne Ende, möchte ja was dazu lernen.
Benötige eine Erklärung warum dies nicht linear ist und somit zu extreme Verluste führt.
Der Verwendete IC hat (10 k Ohm gesamt) werden durch int. Multiplexer pro Schritt ca. 40 Ohm gegen GNC zugeschalten
(„Schleifer" = Ausgang) Wo liegt mein Denkfehler wo die Verluste herkommen sollen denn bei 5 Volt und diesem Widerstand können doch nur max. 0.5 mA fließen???
Trotz alledem hier mein Testcode in Bascom.
' Achtung: nicht mehr aktuell und nicht noch mal getestet
Für ein I²C Digitalpoti DS1803-10 erst wird Poti1 „hochgedreht“ dann Poti 2 und zum Schluss beide als Tandem zurück drehen.
'*********** war mein erster Test mit disen IC's *****************************
'* *
'* ist die Poti-Demo zum kennen lernen wie die 2 Potis angesprochen werden. *
'* für Test alle Werte auf Terminal ausgeben *
'* *
'************************************************* ****************************
'!!!! Regfile natürlich anpassen !!!!
$regfile "m32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 32
$framesize = 40
$baud = 19200
'gibt den Erstellungszeitpunkt im europäischen Format DD-MM-YY hh:nn:ss aus
Print "Erstellt am " ; Version(1)
Waitms 100
'+++ Ist Hardware Variante +++
$lib "i2c_twi.lbx"
Config Twi = 100000 'Bus-Takt = 100kHz
'+++++++++++++++++++++++
'**** Variablen für IC-Poti ****
Dim Poti0 As Byte 'ist Daten Variable Poti0
Dim Poti1 As Byte 'ist Daten Variable Poti1
Dim Potix As Byte 'ist Daten Variable tandem Poti
Dim W0 As Single 'Echtwert
Dim W1 As Single 'Echtwert
Do
For Poti0 = 0 To 255 'Poti0 = Zähler. Später durch Ereignis ersetzen
I2cstart
I2cwbyte &B01010000 'control-byte(=IC "Addr"für schreiben)
I2cwbyte &B10101001 'ist Poti0
I2cwbyte Poti0 'Byte-Wert schreiben
I2cstop 'Bus frei geben
'ab hier Umrechnung in Volt
'abgleichen da ein Transistor npn als Stromtreiber nachgeschaltet ist.
W0 = 0.018 * Poti0
Print "Volt-P0 = " ; W0
Next
'zweites Poti
For Poti1 = 0 To 255 'Poti1 = Zähler. Später durch Ereignis ersetzen
I2cstart
I2cwbyte &B01010000 'control-byte
'hier kommt der Unterschied
I2cwbyte &B10101010 'ist Poti1
I2cwbyte Poti1 'Byte-Wert schreiben
I2cstop
'ab hier Umrechnung in Volt
W1 = 0.018 * Poti1 'abgleichen
Print "Volt-P1 = " ; W1
Next
'beide Potis gleichzeitig abregeln
Print "beide Potis gleichzeitig abregeln"
For Potix = 255 To 0 Step -1 'Potix = Zähler. Später durch Ereignis ersetzen
I2cstart
I2cwbyte &B01010000 'control-byte
'hier kommt der Unterschied
I2cwbyte &B10101111 'Potix = Poti0 und Poti1= Tandempoti
I2cwbyte Potix 'zu schreibende Werte
I2cstop
W0 = 0.018 * Potix 'Nur Test
W1 = 0.018 * Potix
Print "Poti0 " ; W0 ;
Print " Poti1 " ; W1
Next
Wait 5
Loop
'********* End Test *********
- - - Aktualisiert - - -
Hallo ich bin’s noch mal,
habe mal auf der Schnelle ein kleines Projekt aufgebaut und den I²C Digital ein MOSFET statt Transistor als Stromtreiber nachgeschaltet. Bitte beachten die Spannung ist führend Strom liefert in Abhängigkeit der Spannung der MOSFET.
Als Verbraucher ein 12 Lüfter 6 Watt.
Ergebnis er läuft sehr sauber an und dreht auch sauber Hoch/Herunter und nichts wird warm . Somit bin ich mich fast sicher, wenn keine Leistung „verbraten“ wird, ist alles OK
Wenn der Verbraucher nur so viel Spannung bekommt und somit nur soviel Strom ziehen kann ist es doch Optimal
Oder nicht ??
.
Mit freundlichen Grüßen
fredred
@fredred
Mich würde interessieren ob du das mit dem Digipot schon mal praktisch gemacht hast. Ich kann mir das nicht so recht vorstellen.
Wenn ich das Datenblatt den DS1803 richtig gelesen habe, dann ist der Wiper-Current max. 1mA (das 1MA im Datenblatt ignoriere ich mal).
Wie willst du damit einen Motor ansteuern?
fredred hat schon noch geschireiben, dass hinter dem Digipoti ein Transistor kommt. Allerdings ist hier die Schaltung nicht ganz klar.
Bei dem Transistor müsste es sich für genügend Stromverstärkung vermutlich um einen Darlington handeln. Bedingt sinnvoll wäre da der Emitterfolger, um eine Definierte Spannung zu erhalten, auch wenn die Spannung dann maximal etwa 3,5 V (bei 5 V für den Digital Poti) erreichen kann. Den Transistor in Emitterschaltung würde in Grenzen gehen, erlaubt aber keine vernünftige Regelung der Geshwindigkeit sondern allen falls eine eher schlechte Einstellung des Stromes - an / Aus geht da ganz gut, aber das geht auch per Digitalem Port.
Mit dem MOSFET wird es ganz komisch - ein MOSFET mit sehr kleiner Schwellspannung könnte ggf. noch als Sourcefolger gehen - mit normalen MOSFETs verliert man da aber viel zu viel. Einfach nur mit Steuerung über die gate Spannung gibt es eine begrenzt variable Strombegrenzung - eher schelcht zur Motorregelung. Es sein denn man hat so viel Störungen drauf, dass man unbeabsichtigt damit eine analog angesteuerte PWM Schaltung mit 50 oder 100 Hz bekommt.
Guten Tag,
zur Frage wie die Motoren in dem erwähnten Projekt (Track) direkt gespeist werden muss ich erst mal passen.
Meine Vorgabe war nur eine Spannung von min 0,5 Volt bis max 5 Volt und wichtig bis max 100 mA und Spannung in kleinen Schritten zu Verfügung zu stellen.
Da Ihr mich nun richtig gefordert habt, werde ich den Modellbauer(kein Elektroniker) bitten mich mal die genauen Daten der Antriebe mitzuteilen.
Zum Stromtreiber für Digitalpoti kann ich folgendes Sagen.
Am „Schleifer“ ein 47k auf Basis eins BC546 Transistor in Kollektorschaltung, somit Ausgang am Emitter.
(Wie wollen ja nur eine Stromverstärkung)
Auf die Frage Vor- oder Rückwährst, wird eine sogenannte Wendeschützschaltung mit Miniaturrelais verwendet.
Mit freundlichen Grüßen
fredred
Damit wirst du aber nicht auf die 100mA kommen. 47k sind 0,1mA Basisstrom, selbst bei einer Verstärkung von optimistischen 200 würden das nur 20mA ergeben. Die maximal erreichbare Spannung ist ca. 4,2 V. Probiere das mal auf einem Steckbrett aus, zum testen geht ja ein normales Poti.
Hallo Hubert.G
Dein Rechenbeispiel ist völlig korrekt aber wir diskutieren hier nicht um ein fertiges Projekt.
Mit der Transistorbeschreibung wollte ich doch nur erklären wie der IC nicht überlastet wird.
In Echthardware folgt natürlich noch ein ULN 2803l Leistungstreiber usw.
Mit meiner Teilname an diesem Thema wollte ich doch nur meine Variante darlegen.
Einige Anfragen im RC- Bereich(hab damit keine Erfahrung) Ports reichen nicht usw.
Konnte ich nur empfehlen benutzt den I²C , habe vielen Beispiele in Bascom erstellt.
Leider nicht in diesem Forum.
Somit noch mal vielen Dank und verbleibe in Freundschaft
fredred
Hallo fredred,
OK, bei 5V und 0.1A komme ich auf .5W, da wirds noch nicht so richtig warm!
Also, nehmen wir mal an Stelle des Motors einen Widerstand, mit Motor wirds nicht linear und eine riesen Rechnerrei![]()
Gegeben 5V und Rl= 50 Ohm.
1. Last direkt an 5V, es fliessen 0.1A und in der Last ist P = 0.5W
2. Geschaltet über einen Transistor:
Am Transistor fallen, im Idealfall 0.2V ab, an der Last liegen also 4.8V an:
= 96mA durch die Last P = 0.4608W
= 96mA durch den Transistor, Verlsute im Transistor P=0.0192W
3. Nur 2.5V an der Last:
= 50mA durch den Zweig.
Die Last und der Transistor tragen je 0.125W
Die Energieaufnahme aus dem Netzteil beträgt also 0.25W obwohl in der Last nur 0.125W verwendet werden.
4. PWM.
Da haben wir den Fall wie unter 2., aber der Transistor ist nur zeitweise angeschaltet.
Um jetzt wieder die 0.125W an der Last zu haben, beträgt das Tastverhältnis 1:2.6864
Die Verluste im Transistor betragen dann 0.00520W.
Die Leistungsaufnahme der Schaltung liegt also bei 0.130W, was einiges weniger als die 0.25W unter 3. sind.
Der mittlere Strom beträgt dabei 26mA.
Mit PWM kannst du also die Last fast doppelt so lange mit 0.125W an einem Akku betreiben, wie mit der linearen Lösung.
Wenn du jetzt das Ganze noch für andere Zwischenwerte berechnest, siehst du, dass das für die Poti-Lösung nicht linear ist.
Wenn fast nur Vollgas gefahren wird, hast du praktische keinen Unterschied zwischen Poit und PWM. Bei hauptsächlichem Betrien bei Teillast, sieht die Rechnung dann anders aus.
Das war jetzt für eine Ohmsche Last.
Bei einem Motor sieht das noch etwas besser aus.
Damit sich der Motor dreht, ist nicht der Strom ausschlaggebend, sondern das Magnetfeld, welches durch den Strom erzeugt wird!
Bei Induktivitäten ist es nun aber so, dass sich das Magnetfeld nur langsam aufbauen kann. Ebenso, verschwindet es nicht sofort wieder, wenn der Strom abgeschaltet wird, sondern muss sich erst wieder abbauen. Wie schnell sich das Magnetfeld auf und abbauen kann, entspricht der Induktivität.
Beim Abbauen des Magnetfeldes, treibt dieses aber den Motor weiterhin an.
Somit kann man praktisch das Tastverhältnis noch etwas grösser wahlen, also die Stromaufnahme noch etwas verringern, ohne die mechanische Leistung an der Motorenwelle zu verkleinern. Wie viel da dann drin ist, hängt von der Bauart des Motors ab.
Was die Verlustwärme angeht, kann man das bei 100mA max noch vernachlässigen. Wenn der Motor aber 1A oder noch mehr aufnimmt, sieht es dann ganz anders aus!
MfG Peter(TOO)
Hallo Peter(TOO),
erst mal Vielen Dank für Deine aufwendige und lehrreiche Beschreibung.
Na klar liegen zwischen ohmschen und induktive Lasten Welten.
Mein Nachteil ist, dass ich das erwähnte Modelfahrzeug nicht kenne und nur nach Vorgaben eine kleine Platine erstellt habe.
Der gewünschte Einbau des IC ULN2803 sollte vielleicht nur als Pegelanpassung dienen. (Wendeschützschaltung oder was auch immer)
Leider habe ich den Code nicht mehr, den ich auf den Controller „gebrannt“ habe, ist schon ein paar Jahre her.
Wichtig war für mich, er war sehr zufrieden mit Hard- Software.
Im nachhinein stellt sich mich nun die Frage, warum wollte er unbedingt zum fahren erst mal 3 sehr kurze Volllastimpulse dann erst fahren.
Mein Versuch den Modelbauer zu erreichen war bis Dato erfolglos. Bleibe aber dran.
Macht mich nun ganz wuuuschig was er für eine Motorsteuerung hat.
Nun bedanke mich für alle Hinweise und muss feststellen wenn man nicht selbst ein fertiges Projekt
erstellt, sondern nur eine kleine zuarbeite zum Projekt geliefert hat , sollte keine voreilige Meinung
ob Gut oder Nicht geäußert werden.
Die Praxis ist endscheidend nicht die Theorie wir sind doch keine Politiker!
Ich wünsche, Glück und Erfolg für das Jahr 2014
Mit freundlichen Grüßen
fredred
Lesezeichen