Hallo! Ich suche nach einer einfachen Möglichkeit, eine Motordrehzahlsteuerung über einen Mikrocontroller (ESP32 wäre praktisch) zu steuern, aber auch weiterhin über das original Potentiometer. Der Motor steht still, wenn das Poti auf 5k Ohm steht (Mittelstellung), 0 Ohm und 10k Ohm entspricht Vor- und rückwärts. Das Poti ist vermutlich als Spannungsteiler angeschlossen und ein Mikrocontroller (ATTINY85, Wischer vom Poti ist an einem Analog-Input, 0-5V) misst die Spannung und regelt den Motor entsprechend. Nun würde ich gerne eine Schaltung erstellen die wie eine Weiche funktioniert. Ist mein eigener Mikrocontroller ausgeschaltet oder sendet kein Signal, dann soll das Potentiometer durchgeleitet werden. Ist der Mikrocontroller eingeschaltet und sendet ein Signal, dann soll stattdessen dieses durchgeleitet werden. Ich habe leider wenig Ahnung von Elektrotechnik – wie man sicher schon heraushören kann – daher wäre ich sehr dankbar über ein paar Denkanstöße, Ideen oder Begriffe die ich gut googeln kann :) Habe selbst schon mal gesucht und bin dabei auf Analogschalter gestoßen. Ich weiß nur nicht, ob das eine 'gute' Lösung ist bzw. ob sie überhaupt funktioniert... Ein weiteres Problem wird die unterschiedliche Spannung zwischen ESP32 und ATTINY85 sein. Wenn ich den integrierten DAC vom ESP32 verwenden möchte, dann muss ich vermutlich das Signal von 3.3V auf 5V verstärken? Oder lieber ein Digitalpotentiometer verwenden? Danke! Viele Grüße Tom
Wenn es so ist, dass die Motorsteuerung eine analoge Spannung zwischen 0V und 5V benötigt, dann kann man das gut mit einem Analogschalter lösen. Und du vermutest auch richtig, dass das DAC-Ausgangssignal nicht mehr als 3.3V haben wird. Es ist also ein Verstärker notwendig. Dazu kann man einen R2R Operationsverstärker nehmen, der als nicht invertierender Verstärker beschaltet wird mit v = 5/3.3 und natürlich mit 5V betrieben werden muss. Hier findest du unter b) die Schaltung: https://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen#Grundbeschaltung_mit_Berechnung Ebenso mit 5V muss der Analogschalter versorgt werden. Ein CD4066 hat z.B. vier Schalter im Gehäuse. Du musst zwei mit den Controleingängen betreiben, die jeweils gegenphasig angesteuert werden. Einen in Reihe zum OPA, einen in Reihe zum Poti-Schleifer.
Tom M. schrieb: > Das Poti ist vermutlich > als Spannungsteiler angeschlossen Für eine brauchbare Lösung müsste man das schon genau wissen. Wird dagegen der Widerstand gemessen, wird das schwieriger, weil ein Prozessor nicht ohne weiteres einen Widerstand simulieren kann. Und man muss auch wissen, welche Spannungen am Poti anliegen (können), sonst kann man die vorhandene Steuerung beschädigen. Georg
Tom M. schrieb: > Nun würde ich gerne eine Schaltung erstellen die wie eine Weiche > funktioniert. Ist mein eigener Mikrocontroller ausgeschaltet oder sendet > kein Signal, dann soll das Potentiometer durchgeleitet werden. Ist der > Mikrocontroller eingeschaltet und sendet ein Signal, dann soll > stattdessen dieses durchgeleitet werden. Meinst du nicht, dass es einfacher wäre, per Software zwischen berechneten Werten aus deinem µC und Potiwerten umzustellen? Dann kämest du mit einem Widerstand und einem Kondensator aus.
Ganz andere Idee: Es gibt Potis, die Du per Hand drehen kannst, die aber auch per Motor gedreht werden können. Werden bei Mischpulten etc eingesetzt. Kurzes Googeln ergibt: https://www.amazon.de/stereo-RK16812MG-Dreh-Poti-10KBx2-linear/dp/B00SLQT092 fchk
HildeK schrieb: > Wenn es so ist, dass die Motorsteuerung eine analoge Spannung zwischen > 0V und 5V benötigt, dann kann man das gut mit einem Analogschalter > lösen. ... Super, vielen Dank! Das hilft mir schon enorm weiter. Ich werde die Begriffe mal nachschlagen und hoffen das ich alles verstehe. Ob es wirklich 0-5V sind, werde ich mal messen. Ich werde mal versuchen eine Schaltung mit den von Dir genannten Bauteilen aufzuzeichnen schwitz. Georg schrieb: > Für eine brauchbare Lösung müsste man das schon genau wissen. Wird > dagegen der Widerstand gemessen, wird das schwieriger, weil ein > Prozessor nicht ohne weiteres einen Widerstand simulieren kann. Und man > muss auch wissen, welche Spannungen am Poti anliegen (können), sonst > kann man die vorhandene Steuerung beschädigen. Kann ich das mit einem einfachen Multimeter herausfinden, ohne etwas kaputtzumachen? Ich muss dafür das Kabel, welches am Wischer des Potis angelötet ist, entlöten und dann das Multimeter im Spannungsmessmodus dazwischen hängen. Dann den Poti regeln und schauen ob 0-5V gemessen wird. Richtig? Wolfgang schrieb: > Meinst du nicht, dass es einfacher wäre, per Software zwischen > berechneten Werten aus deinem µC und Potiwerten umzustellen? > > Dann kämest du mit einem Widerstand und einem Kondensator aus. Das war meine allererste Idee. Aber es wäre schön, wenn mein Mikrocontroller nur eine Art sekundäres System ist. Angenommen der ESP32 hängt in einer Reboot-Schleife (warum auch immer), könnte man so noch mit dem Potentiometer steuern, weil der Analogschalter nicht geschaltet ist, oder?
Frank K. schrieb: > Es gibt Potis, die Du per Hand drehen kannst, die aber auch per Motor > gedreht werden können. Werden bei Mischpulten etc eingesetzt. Danke, die hatte ich auch schon entdeckt. Ist natürlich schön einfach und man greift nicht in fremde Elektronik ein. Aber das Potentiometer ist an einer Stellstange befestigt, welche ein Eigengewicht hat und zusätzlich auch Reibungswiderstand. Danke trotzdem!
Tom M. schrieb: > Ich werde die Begriffe mal nachschlagen und hoffen das ich alles verstehe. > Ob es wirklich 0-5V sind, werde ich mal messen. Es kann durchaus sein, dass das Poti Bestandteil einer Brückenschaltung ist und nicht die Spannung, sondern das Teilerverhältnis die Steuergröße ist. Das solltest du dann auch bei deiner Ansteuerung berücksichtigen, indem du die ebenfalls ratiometrisch machst. Sonst kann es passieren, dass der Motor losläuft, weil dein Versorgungsspannung etwas wegdriftet. Prüfe insbesondere wie groß der Totbereich um die Ruheposition (2.5V?) ist.
Zeige mal das Programm vom Motorcontroller (ATTINY85). Dann ergibt sich vielleicht eine viel einfachere Lösung!
Route_66 H. schrieb: > Zeige mal das Programm vom Motorcontroller (ATTINY85). > Dann ergibt sich vielleicht eine viel einfachere Lösung! Das Programm kenne ich leider nicht, und ich vermute es lässt sich auch nicht so leicht auslesen und dekompilieren, oder (fuse bits)? Und falls es klappt, wäre ASM die nächste Hürde.
Tom M. schrieb: > Das Programm kenne ich leider nicht, und ich vermute es lässt sich auch > nicht so leicht auslesen und dekompilieren, Dann mach doch einfach ein neues Programm! Wenn Du dir schon zutraust, einen ESP32 mit Deinem Wunschprogramm auszustatten, sollte der Rest im Tiny85 doch ein Klacks sein...
Tom M. schrieb: > Kann ich das mit einem einfachen Multimeter herausfinden, ohne etwas > kaputtzumachen? Ich muss dafür das Kabel, welches am Wischer des Potis > angelötet ist, entlöten und dann das Multimeter im Spannungsmessmodus > dazwischen hängen. Dann den Poti regeln und schauen ob 0-5V gemessen > wird. Richtig? Nein, falsch. Du kannst zwar die Spannung am Potischleifer gegen GND im eingebauten Zustand messen. Aber damit lässt sich noch keine Aussage treffen, ob der µC einen Widerstand bestimmt oder einfach die Spannung misst. Und so, wie du es oben beschrieben hast, wirst du je nach Potistellung zwischen 0 und 5V messen. Aber es wäre schon mal ein Hinweis. Diese Wahrscheinlichkeit ist sehr groß, dass der Tiny85 nur mit seinem ADC den Wert zwischen 0 und 5V bestimmt, auch weil das nur minimalen Aufwand in HW und SW erfordert. Man könnte den Poti-'Wischer' ablöten und dann z.B. über 1kΩ eine externe Spannung auf den Eingang einspeisen und diese zwischen 0V und 5V verändern. Wenn sich das genauso verhält wie beim Drehen am Poti, dann hast du gewonnen. Aber ohne die Schaltung zu kennen, kann ich dir nicht garantieren, dass dabei nichts kaputt geht. Kannst du den Teil anschauen (ev. fotografieren), auf dem der Potianschluss und der Tiny sitzt oder noch besser, aus dem Layout eine Schaltplanskizze erstellen?
HildeK schrieb: > Kannst du den Teil anschauen (ev. fotografieren), auf dem der > Potianschluss und der Tiny sitzt oder noch besser, aus dem Layout eine > Schaltplanskizze erstellen? Es sieht aber so aus, als wäre der Potischleifer direkt am Pin 8 vom ATTINY angeschlossen. Wie die anderen beiden Pole vom Poti angeschlossen sind, ist schwer zu erkennen. Könnte das vielleicht eine GND- und VCC-Plane sein? Jedenfalls messe ich jeweils 0 Ohm zwischen den vermuteten/markierten Anschlüssen (falls das etwas hilft).
Ich habe gerade noch mal genau geschaut. Es handelt sich nicht um einen ATTINY85, sondern um einen ATTINY84A SSU.
Tom M. schrieb: > Könnte das vielleicht eine GND- und > VCC-Plane sein? Wenn das so ist, dann müsste der Abgriff des Potis sich beim Durchdrehen von GND bis VCC ändern - das kann man ja nachmessen. Ist das so, so lässt sich leicht stattdessen eine externe Spannung einspeisen. Georg
Georg schrieb: > Ist das so, so > lässt sich leicht stattdessen eine externe Spannung einspeisen. das kann man ja mit einem Labornetzteil (oder Batterie) probieren.
Dirk B. schrieb: > Georg schrieb: >> Ist das so, so >> lässt sich leicht stattdessen eine externe Spannung einspeisen. > > das kann man ja mit einem Labornetzteil (oder Batterie) probieren. Aber aufpassen, dass man nicht einspeist, wenn der µC noch nicht versorgt ist. Sonst kann er kaputt gehen. Also zur Sicherheit besser einen Längswiderstand einbauen, Größenordnung einige kΩ.
Georg schrieb: > Wenn das so ist, dann müsste der Abgriff des Potis sich beim Durchdrehen > von GND bis VCC ändern - das kann man ja nachmessen. Ist das so, so > lässt sich leicht stattdessen eine externe Spannung einspeisen. > > Georg Vielen Dank. Habe jetzt mal gemessen, Boardspannung ist tatsächlich 5V. Und je nach Potistellung messe ich eine Spannung von 0-5V am Abgriff/Schleifer.
Tom M. schrieb: > Es sieht aber so aus, als wäre der Potischleifer direkt am Pin 8 vom > ATTINY angeschlossen. Gut, und das ist der ADC5-Eingang. Also genau so wie vermutet, der misst die Spannung am Poti und bestimmt daraus die Motordrehzahl. Das hätte ich auch so gemacht. Wie schon andere vorgeschlagen haben: man kann zum Test am Mittelabgriff einfach eine Spannung zwischen 0 und 5V anlegen. Das Poti kann dran bleiben, wenn du es auf Mittelstellung bringst - besser wäre aber ablöten. Die Spannung über 1k einspeisen, so dass bei (leichter) Fehlbedienung nichts kaputt geht. Wenn sich dann über die Spannungsänderung die Motordrehzahl genau so einstellen lässt, dann funktioniert das mit dem DAC und einem kleinen OPA als Verstärker von 3.3V auf 5V. Tom M. schrieb: > Jedenfalls messe ich jeweils 0 Ohm zwischen den > vermuteten/markierten Anschlüssen (falls das etwas hilft). Ob über Plane oder Innenlagen ist egal. Wenn diese Punkte niederohmig mit Pin 1 und 14 verbunden sind, dann sind das ganz klar VCC und GND des Tiny84. Passt also alles. Besonders geschickt wäre der TMUX1136 von TI, die Frage ist, wo man den bekommt.
HildeK schrieb: > Das Poti kann dran > bleiben, wenn du es auf Mittelstellung bringst - besser wäre aber > ablöten. Okay, ich habe eine Batterie (hat noch 2,7V), ein 10K Drehpoti und einen 2K Ohm Widerstand wie auf dem Bild angeschlossen. Ich würde dafür den Schleifer-Pol ablöten und dafür das grüne Kabel am ADC5-Eingang anschließen. Das blaue Kabel, den Minuspol der Batterie, würde ich an einen beliebigen Ground-Kontakt vom Board anschließen. Kann ich das so zum testen benutzen? Ich habe ein wenig Angst das der Motor sich unkontrolliert Dreht, weil der Zustand des ADC5-Eingangs doch kurzzeitig schwebend sein könnte. Kann das passieren?
Tom M. schrieb: > Okay, ich habe eine Batterie (hat noch 2,7V), ein 10K Drehpoti und einen > 2K Ohm Widerstand wie auf dem Bild angeschlossen. Ich würde dafür den > Schleifer-Pol ablöten und dafür das grüne Kabel am ADC5-Eingang > anschließen. Das blaue Kabel, den Minuspol der Batterie, würde ich an > einen beliebigen Ground-Kontakt vom Board anschließen. > > Kann ich das so zum testen benutzen? Das bringt ja keine Erkenntnis. Ich glaube, das kann man sich tatsächlich sparen, weil es ja kaum was anderes ist als das Poti, das bereits verbaut ist. Den GND-Pol muss man bei jedem Test anschließen. Tom M. schrieb: > Ich habe ein wenig Angst das der Motor sich unkontrolliert Dreht, weil > der Zustand des ADC5-Eingangs doch kurzzeitig schwebend sein könnte. > Kann das passieren? Ja, ist leicht möglich. Wie ich oben schon mal schrieb: Poti drin lassen und auf Mittelstellung (Motor aus), dann hat sich das erledigt. Du brauchst rund 2.5V, damit der Motor steht. Alternativ: wenn du das Poti abklemmst, nimm zwei gleiche Widerstände als Spannungsteiler und schalte sie als Potiersatz, z.B 2x22k. Damit hast du bei offenem Eingang die 2.5V und damit die Ruhestellung. Wenn du jetzt mit einem Netzteil oder einer, zwei oder drei AA-Zellen eine Spannung anlegst (über 1k zur Sicherheit!), muss der Motor entsprechend drehen.
HildeK schrieb: > Ja, ist leicht möglich. Wie ich oben schon mal schrieb: Poti drin lassen > und auf Mittelstellung (Motor aus), dann hat sich das erledigt. Du > brauchst rund 2.5V, damit der Motor steht. Alternativ: wenn du das Poti > abklemmst, nimm zwei gleiche Widerstände als Spannungsteiler und schalte > sie als Potiersatz, z.B 2x22k. Damit hast du bei offenem Eingang die > 2.5V und damit die Ruhestellung. Wenn du jetzt mit einem Netzteil oder > einer, zwei oder drei AA-Zellen eine Spannung anlegst (über 1k zur > Sicherheit!), muss der Motor entsprechend drehen. Super, das werde ich morgen oder übermorgen ausprobieren und berichte dann! Das ganze ist eher ein Freizeitprojekt und unter der Woche habe ich leider nicht allzu viel Zeit :( Vielen Dank nochmal an Euch alle!
HildeK schrieb: > Ein CD4066 hat z.B. vier Schalter im Gehäuse. Du musst zwei mit den > Controleingängen betreiben, die jeweils gegenphasig angesteuert werden. > Einen in Reihe zum OPA, einen in Reihe zum Poti-Schleifer. Hi, könntest Du mir erklären, was gegenphasiges Ansteuern bedeutet, wofür ich es benötige und wie ich das praktisch umsetzen kann? Ich hatte inzwischen etwas Zeit um einen Schaltplan zu zeichnen. Anstatt eines CD4066 habe ich allerdings einen anderen Analogschalter gewählt (NLAS4684, Wechsler, SPDT). Ist das eine gute Wahl und würde damit das gegenphasige ansteuern entfallen? Anbei der Schaltplan. Viele Grüße
Ich denke der NLAS4684 könnte das leisten, das gegenphasige Schalten des 4066 entfällt dann natürlich. Ist allerdings nicht ganz einfach zu beschaffen, Mouser hat ihn aber z.B. Der Schalter macht allerdings ein "Break Before Make", d.h. der Ausgang des Schalters (also auch der Eingang des Motor-Controllers) "schwebt" ganz kurz. Das aber nur für max. 15ns. Das könntest Du allerdings mit einem Tiefpass am Ausgang noch verhindern (Tiefpass == Widerstand in Reihe und dahinter Kondensator nach Masse).
:
Bearbeitet durch User
Markus M. schrieb: > Ich denke der NLAS4684 könnte das leisten, das gegenphasige Schalten des > 4066 entfällt dann natürlich. Ist allerdings nicht ganz einfach zu > beschaffen, Mouser hat ihn aber z.B. Hi, ich habe ihn für 5€ inkl. Versand bei eBay gefunden. Werde noch mal nach einer günstigeren Alternative suchen. Im Prinzip sollte ja jeder SPDT Analogschalter funktionieren, richtig? Welche Eigenschaften sind noch wichtig? Low On-Resistance, low leakage current? Markus M. schrieb: > Der Schalter macht allerdings ein "Break Before Make", d.h. der Ausgang > des Schalters (also auch der Eingang des Motor-Controllers) "schwebt" > ganz kurz. Das aber nur für max. 15ns. Das könntest Du allerdings mit > einem Tiefpass am Ausgang noch verhindern (Tiefpass == Widerstand in > Reihe und dahinter Kondensator nach Masse). Das hatte ich auch schon vermutet. Die Software der Motorsteuerung lässt den Motor aber weich An- und Auslaufen. Ich vermute das dadurch das kurze Schweben wenig Einfluss hat.
Ja, das sollte dann wohl i.O. sein. Also die wichtigen Eigenschaften des Analogschalters sind eigentlich nur dass Vcc 5V sein muss und er Spannungen zwischen 0V und Vcc schalten kann. Der Widerstand ist eher sekundär, da der Strom ziemlich klein sein dürfte. Du könntest z.B. auch was von TI nehmen, gibt es auch bei Conrad: TS5A3157 Ist aber SMD (SOT-23-6). Gibt es auch bei eBay, aber durch die Versandkosten einfach ähnlich teuer.
Tom M. schrieb: > könntest Du mir erklären, was gegenphasiges Ansteuern bedeutet, wofür > ich es benötige und wie ich das praktisch umsetzen kann? Das gilt nur für Schalter, die nur Ein/Aus können. Du musst einen einschalten und gleichzeitig den anderen Aus. Man braucht dafür entweder 2 Controller-Pins oder muss einen Schalter mit einem Inverter ansteuern. > Ich hatte inzwischen etwas Zeit um einen Schaltplan zu zeichnen. Anstatt > eines CD4066 habe ich allerdings einen anderen Analogschalter gewählt > (NLAS4684, Wechsler, SPDT). Ist das eine gute Wahl und würde damit das > gegenphasige ansteuern entfallen? Ja, damit entfällt das. Tom M. schrieb: > Low On-Resistance, low leakage current? Beides dürfte nicht besonders wichtig sein. Der Quellwiderstand des Potis ist maximal 5kΩ (in Mittelstellung) und dein OPA-Ausgang ist ja ganz niederohmig. Damit fallen Probleme wegen Leakage Current weg und besonders niederohmig muss der Schalter auch nicht sein, den der ADC am Tiny ist ja hochohmig. Was ich noch tun würde: einen Widerstand, z.B. 470R oder 1k, vor den Eingang C2 in Reihe zum Tiny legen als kleinen Schutz. Dann kannst du am AD-Eingang auch 10n nach GND zum Halten während der Umschaltzeit hinzufügen. Sollte so zum Erfolg führen ...
Wenn Du einen vernünftigen GND-Bezug herstellen kannst: Wie wäre es mit einem Digitalpotentiometer und einem Multiplexer? Wenn es noch sicherer werden soll mit einem Relais, welches "noch" sicherer umschaltet bzw. beim Ausfall der Versorgung, eine definierte Lage einnimmt.
Markus M. schrieb: > Also die wichtigen Eigenschaften des Analogschalters sind eigentlich nur > dass Vcc 5V sein muss und er Spannungen zwischen 0V und Vcc schalten > kann. > > Der Widerstand ist eher sekundär, da der Strom ziemlich klein sein > dürfte. > > Du könntest z.B. auch was von TI nehmen, gibt es auch bei Conrad: > > TS5A3157 Ah okay, ich dachte schon, dass der Umschalter nicht ganz "dicht" schaltet/schließt :D Super, dann würde sich ja ein Ausflug zum Conrad lohnen. Da würde ich auch gleich einen OPA und den Kondensator kaufen! HildeK schrieb: > Das gilt nur für Schalter, die nur Ein/Aus können. Du musst einen > einschalten und gleichzeitig den anderen Aus. Man braucht dafür entweder > 2 Controller-Pins oder muss einen Schalter mit einem Inverter ansteuern. Ah, vielen Dank für die Klarstellung! Das ganze mit nur einem Pin zu steuern ist natürlich schöner :) HildeK schrieb: > Was ich noch tun würde: einen Widerstand, z.B. 470R oder 1k, vor den > Eingang C2 in Reihe zum Tiny legen als kleinen Schutz. Dann kannst du am > AD-Eingang auch 10n nach GND zum Halten während der Umschaltzeit > hinzufügen. Tausend Dank, ich werde die Schaltung später mal aktualisieren und hier posten!
Markus M. schrieb: > Du könntest z.B. auch was von TI nehmen, gibt es auch bei Conrad: > > TS5A3157 > > Ist aber SMD (SOT-23-6). Gibt es auch bei eBay, aber durch die > Versandkosten einfach ähnlich teuer. SO8 habe ich schon gelötet, aber SOT23 ist noch etwas kleiner, oder? Aber das wird schon, einen kleinen Lötkoblben mit feiner Spitze habe ich zumindest. Habe sowieso gerade gelesen, NLAS4684's größte Bauform ist MICRO10 (MSOP?), das kann ich glaube vergessen :D Dann lieber den TS5A3157, den ich aber bei Conrad nicht gefunden habe. Bei eBay finde ich ihn. Er ist sogar günstiger als der NLAS4684. Sebastian S. schrieb: > Wenn Du einen vernünftigen GND-Bezug herstellen kannst: > Wie wäre es mit einem Digitalpotentiometer und einem Multiplexer? Sorry, bin Anfänger. Digitalpoti damit ich keinen DAC und OPA benutzen muss? Worin unterscheidet sich Multiplexer und Analogschalter? Sebastian S. schrieb: > Wenn es noch sicherer werden soll mit einem Relais, welches "noch" > sicherer umschaltet bzw. beim Ausfall der Versorgung, eine definierte > Lage einnimmt. Also wenn die Stromversorgung ausfällt, dann steht der Motor sowieso still, es hängt alles an der selben Batterie. Oder was meinst du? Es könnte passieren das meine Software nicht funktioniert, oder der ESP32 in einer Reboot-Schleife hängt. In diesem fall würde ich den ESP32 einfach ausschalten (An-Aus-Schalter), wodurch das HIGH Signal ja nicht mehr am Analogschalter anliegt. Dadurch sollte die manuelle Steuerung (Drehpoti) ja wieder aktiviert werden, oder? (s. Schaltung) HildeK schrieb: > Eingang C2 in Reihe zum Tiny legen als kleinen Schutz. Dann kannst du am > AD-Eingang auch 10n nach GND zum Halten während der Umschaltzeit > hinzufügen. > > Sollte so zum Erfolg führen ... Ist das so richtig oder ist der Kondensator an der falschen Stelle? (s. Bild) So ganz versteh ich es nicht, muss ich gestehen :D
Tom M. schrieb: > Ist das so richtig oder ist der Kondensator an der falschen Stelle? (s. > Bild) Ja, so hatte ich das gemeint. > So ganz versteh ich es nicht, muss ich gestehen :D Wenn dein Schalter für einige ms keinen Kontakt mit einem der beiden Eingänge hat, so hält der Kondensator die zuletzt anliegende Spannung über diese kurze Zeit. Der Widerstand soll verhindern, wenn z.B. das Poti auf 0V steht und dann auf den OPA umgeschaltet wird, der 5V ausgibt, dass dann der Ladestrom dieses Kondensators den OPA zu sehr belastet. Außerdem mögen OPAs keine kapazitiven Lasten: sie neigen dann zum Schwingen. Der 1k kann auch kleiner sein, je nach dem max. Ausgangsstrom des OPA.
Ein externer Pull-up/down Widerstand beim Schalteingang wäre noch sinnvoll, damit ein sicherer Zustand erreicht wird, wenn der Mikrocontroller nicht angeschlossen ist.
HildeK schrieb: > Wenn dein Schalter für einige ms keinen Kontakt mit einem der beiden > Eingänge hat, so hält der Kondensator die zuletzt anliegende Spannung > über diese kurze Zeit. > Der Widerstand soll verhindern, wenn z.B. das Poti auf 0V steht und dann > auf den OPA umgeschaltet wird, der 5V ausgibt, dass dann der Ladestrom > dieses Kondensators den OPA zu sehr belastet. Außerdem mögen OPAs keine > kapazitiven Lasten: sie neigen dann zum Schwingen. Ahhh, das ist der Tiefpassfiler von dem Markus M. ja schon gesprochen hatte! Danke für die doppelte/dreifache, aufühliche Erklärung, hat mir geholfen... > Der 1k kann auch kleiner sein, je nach dem max. Ausgangsstrom des OPA. Ich google morgen mal lieber wie dieser Wert berechnet wird und nerve euch nicht damit :D Muss ja irgendwie im Verhältnis zum max. Ausgangsstrom des ESP3 (ich glaube 12mA) und OPA stehen. Ansonsten nehmen ich den 470k Ohm den du vorgeschlagen hast.
Tom M. schrieb: > Muss ja irgendwie im Verhältnis zum max. Ausgangsstrom des ESP3 (ich > glaube 12mA) und OPA stehen. Ansonsten nehmen ich den 470k Ohm den du > vorgeschlagen hast. Nicht ganz. Meine Betrachtung ging nur dahin, dass wenn die 10n 0V haben - weil das Poti am linken Anschlag stand - und der OPA 5V am Ausgang hat und man dann umschaltet von Poti auf den OPA, dann fließt ein Strom aus dem OPA mit dem Anfangswert 5V 1k oder 5V 470R (nicht 470k, das ist zu hoch!) Dieser Strom muss vom OPA geliefert werden können ohne ihn zu überlasten. Man muss also im Datenblatt schauen, was der OPA treiben kann/darf. Mit dem ESP hat das nichts zu tun, der treibt ja nur den sehr hochohmigen OPA-Eingang.
HildeK schrieb: > Nicht ganz. > Meine Betrachtung ging nur dahin, dass wenn die 10n 0V haben - weil das > Poti am linken Anschlag stand - und der OPA 5V am Ausgang hat und man > dann umschaltet von Poti auf den OPA, dann fließt ein Strom aus dem OPA > mit dem Anfangswert 5V 1k oder 5V 470R (nicht 470k, das ist zu > hoch!) Dieser Strom muss vom OPA geliefert werden können ohne ihn zu > überlasten. Man muss also im Datenblatt schauen, was der OPA treiben > kann/darf. > Mit dem ESP hat das nichts zu tun, der treibt ja nur den sehr > hochohmigen OPA-Eingang. Hi, sorry für die lange Pause.. Ich habe inzwischen mal geschaut welchen OPA ich bei Conrad kaufen kann. Würde der z.B. der TS922IDT von den Daten her passen? Im Datenblatt habe ich max. Stromausgang 80 mA entdeckt, ist das der Wert den wir suchen? Außerdem R2R und Versorgungsspannung 2,7-12V. Also passt ein 470R doch, oder lieber kleiner? Dirk B. schrieb: > Ein externer Pull-up/down Widerstand beim Schalteingang wäre noch > sinnvoll, damit ein sicherer Zustand erreicht wird, wenn der > Mikrocontroller nicht angeschlossen ist. Oh, vielen Dank! Habe einen eingezeichnet, hoffentlich an der richtigen Stelle, beim Wert war ich mir wieder nicht sicher. Der Analogschalter würde der TS5A3157DBVR bleiben. Habe die IC-Namen im Schaltplan aktualisiert, die fehlende Versorgungsspannung des Analogschalters hinzugefügt und auch noch einen "bypass capacitor" eingebaut (wurde so im Datenblatt empfohlen). Findet ihr noch weitere Fehler in der Schaltung? Außerdem: stimmt es, dass selbst ein R2R OPA keine vollen 5V erreichen wird (also nicht 100% der Betriebsspannung), sondern nur annähernd? Schönen Abend noch!
Tom M. schrieb: > Würde der z.B. der TS922IDT von den Daten her passen? Ja. Der gehört schon zu den besseren (Rauschen, Bandbreite), was du nicht zwingend brauchst, aber schaden tut es nicht. Auch der Analogschalter erscheint sehr geeignet. > Also passt ein 470R doch, oder lieber kleiner? Ja, der passt. Der Wert ist nicht so kritisch, aber kleiner heißt halt mehr Stromverbrauch, das muss nicht sein. Unter Umständen kann man den auch 1k oder 10k wählen, das hängt aber von der nicht ganz zuverlässig bekannten Beschaltung des Tiny ab (vielleicht ist auf der Unterseite noch was). Tom M. schrieb: > Habe einen eingezeichnet, hoffentlich an der richtigen > Stelle, beim Wert war ich mir wieder nicht sicher. Die Stelle ist richtig. Ich würde eher auf 10k gehen. Tom M. schrieb: > Der Analogschalter würde der TS5A3157DBVR bleiben. Habe die IC-Namen im > Schaltplan aktualisiert, die fehlende Versorgungsspannung des > Analogschalters hinzugefügt und auch noch einen "bypass capacitor" > eingebaut (wurde so im Datenblatt empfohlen). > Findet ihr noch weitere Fehler in der Schaltung? Über Bypass hatten wir noch gar nicht geredet. Der ist natürlich immer notwendig, auch an dem OPA sollte einer sein. > Außerdem: stimmt es, dass selbst ein R2R OPA keine vollen 5V erreichen > wird (also nicht 100% der Betriebsspannung), sondern nur annähernd? Ja, das stimmt und auch keine exakten 0V. Du wirst keinen finden, der das erreicht. Laut Datenblatt vom TS922 wird garantiert, dass sich der Ausgang im Bereich 50mV ... 4.9V bewegen kann, bei ≥10k Last und über den ganzen Temperaturbereich. Tatsächlich wird das bei deiner hochohmigen Last sogar ein wenig besser sein. Wenn du 0.00V bzw. 5.00V brauchst, dann musst du ihn mit etwas mehr als 5V versorgen und ebenso mit einer kleinen negativen Spannung. Bist du auf die fehlenden max. 100mV oben bzw. 50mV unten angewiesen? Noch was: ich kenne den ESP32 nicht, was macht dessen DAC-Ausgang im Reset-Zustand bzw. bevor er konfiguriert wird? Wenn er dabei hochohmig sein sollte, dann würde ich noch je einen PU und PD an diesen Ausgang machen, so dass er dann auf die Mitte gezogen wird. Als PU und PD können da 100k zum Einsatz kommen. Insgesamt sieht es aber gut aus!
HildeK schrieb: > Ja, das stimmt und auch keine exakten 0V. Du wirst keinen finden, der > das erreicht. > Laut Datenblatt vom TS922 wird garantiert, dass sich der Ausgang im > Bereich 50mV ... 4.9V bewegen kann, bei ≥10k Last und über den ganzen > Temperaturbereich. Tatsächlich wird das bei deiner hochohmigen Last > sogar ein wenig besser sein. > Wenn du 0.00V bzw. 5.00V brauchst, dann musst du ihn mit etwas mehr als > 5V versorgen und ebenso mit einer kleinen negativen Spannung. Bist du > auf die fehlenden max. 100mV oben bzw. 50mV unten angewiesen? Naja, wäre schon schön wenn der Motor auch seine volle Drehzahl erreichen kann, sehr wichtig wäre es aber nicht. Jetzt wo wir die Schaltung/Motorsteuerung aber besser verstehen, würde ein Digitalpotentiometer nicht mehr Sinn ergeben? Wie ich gerade gelesen habe, hat der DAC vom ESP32 hat auch nur 8 Bit und der ADC vom ATTINY hat 10 Bit. Wäre es nicht sinvoller, ein 10 Bit Digipoti zu benutzen, den OPA einzusparen und damit auch die Auflösung besser zu treffen? Dadurch könnte man die Schaltung bei bedarf auch mit Mikrocontrollern ohne integriertem DAC und anderer VCC steuern, oder? Dies hatte ja auch schon Sebastian S. im Thread vorgeschlagen. Was meinst Du? > Noch was: ich kenne den ESP32 nicht, was macht dessen DAC-Ausgang im > Reset-Zustand bzw. bevor er konfiguriert wird? > Wenn er dabei hochohmig sein sollte, dann würde ich noch je einen PU und > PD an diesen Ausgang machen, so dass er dann auf die Mitte gezogen wird. > Als PU und PD können da 100k zum Einsatz kommen. Gute Frage, habe noch nicht mit dem DAC des ESP32 gearbeitet. Laut Datenblatt sind die beiden möglichen DAC Pins beim und nach Reset, sowie die meisten anderen Pins "oe=0, ie=0" (out- und input enabled = 0, https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf, Seite 50). Der Ausgang sollte also schweben. Viele Grüße Tom
Tom M. schrieb: > Jetzt wo wir die > Schaltung/Motorsteuerung aber besser verstehen, würde ein > Digitalpotentiometer nicht mehr Sinn ergeben? Kann sein, dazu kann ich aber nichts sagen. Ich habe noch nie eines verwendet und erst recht nicht vermessen. Zumindest geht in jede Variante auch die Stabilität und Genauigkeit der Betriebsspannung und der Komponenten ein. Um die 1-2% Rest nach VCC bzw. GND relevant werden zu lassen, müssen die Versorgung des DAC und des OPA ja auch eine kleinere Toleranz haben - was bereits eine Herausforderung ist. Auch die Widerstände am OPA zur Verstärkungseinstellung wären dann mit 0.1% zu wählen. Zudem, würdest du merken, wenn der Motor nur 98% seiner Maximaldrehzahl erreicht?
HildeK schrieb: > Kann sein, dazu kann ich aber nichts sagen. Ich habe noch nie eines > verwendet und erst recht nicht vermessen. > > Zumindest geht in jede Variante auch die Stabilität und Genauigkeit der > Betriebsspannung und der Komponenten ein. Um die 1-2% Rest nach VCC bzw. > GND relevant werden zu lassen, müssen die Versorgung des DAC und des OPA > ja auch eine kleinere Toleranz haben - was bereits eine Herausforderung > ist. Auch die Widerstände am OPA zur Verstärkungseinstellung wären dann > mit 0.1% zu wählen. > Zudem, würdest du merken, wenn der Motor nur 98% seiner Maximaldrehzahl > erreicht? Wahrscheinlich würde ich es nicht merken. Hauptsächlich habe ich den Digitalpoti vorgeschlagen, weil man dann unabhängiger vom treibenden Mikrocontroller ist, man keinen OPA und DAC braucht. Mir war außerdem nicht klar, das der DAC nur 8 Bit kann, sorry. Also jeweils 128 Stufen in jede Fahrtrichtung. Der ADC vom ATTINY hingegen hat 10 Bit, also 512 Stufen in jede Richtung - das ist ein großer Unterschied. Ein 'feines' steuern der Geschwindigkeit ist mir wichtiger als das Erreichen der Maximalgeschwindigkeit.
Wenn der ESP doch sowieso entscheidet, ob Poti oder ESP die Steuerspannung bestimmen, dann kann ich doch das Poti direkt an den ESP packen und der erzeugt dann per gefilterter PWM die Spannung fuer den Tiny und entscheidet, woher der (Soll-)Wert kommt. Wenn die Tiny-SW von jemandem mit etwas Grips entwickelt wurde, dann wird sie um den Nullpunkt (=halbe Spannung) ja wohl einen gewissen 'toten Bereich' haben. Das sollte fuer die PWM Loesung von Vorteil sein. Ist aber nur mein ganz eigener Loesungsansatz...
Fragezeichen schrieb: > Wenn der ESP doch sowieso entscheidet, ob Poti oder ESP die > Steuerspannung bestimmen, dann kann ich doch das Poti direkt an den ESP > packen und der erzeugt dann per gefilterter PWM die Spannung fuer den > Tiny und entscheidet, woher der (Soll-)Wert kommt. > Wenn die Tiny-SW von jemandem mit etwas Grips entwickelt wurde, dann > wird sie um den Nullpunkt (=halbe Spannung) ja wohl einen gewissen > 'toten Bereich' haben. > Das sollte fuer die PWM Loesung von Vorteil sein. > > Ist aber nur mein ganz eigener Loesungsansatz... Hi, das hat Wolfgang in Beitrag #4 auch schon vorgeschlagen. Die Schaltung soll aber nur als Weiche fungieren. Es soll unabhängig sein. Wenn der µC nicht angeschlossen ist, oder kein Signal zum Übernehmen der Steuerung ausgegeben wird, dann soll das normale Poti wie gewohnt funktionieren. Danke trotzdem für den Vorschlag. Vielleicht sollte ich die letzte gepostete Schaltung einfach mit einem 10 Bit DAC ausstatten. Oder ein Digitalpoti (z.B. MAX5481?)..
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.