mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 48 Poti's mit AVR lesen


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich soll 48 Potistellungen mit einem AVR auslesen und die Werte per 
RS232 an einen PC schicken.

Nun habe ich mir da zwei Möglichkeiten überlegt:
1. Ich lege an jedes Poti 5V Betriebsspannung und lege alle Schleifer 
auf einen Analog Multiplexer. Dann steuer ich Kanal für Kanal an den A/D 
Wandler des AVR's durch, und lese die Werte nacheinander aus.

2. Ich lege die 5V in Zeilen, und die Masse in Spalten an die Poti's. 
Alle Schleiferdirekt auf den A/D Wandler. Nun gehe ich Zeile für Zeile 
und Spalte für Spalte die matrix durch, und lese einen Wert nach dem 
anderen ein.


Meine Frage ist nun: Welche Lösung ist praktisch besser? Oder bin ich 
ganz auf dem Holzweg?

Danke schonmal für eure Hilfe

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der avr hat ja z.B. 8 a/d eingänge,
da würden 6 weitere ausgangspins reichen um die spalten zu schalten, 
oder?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre auch möglich.

Aber generell lieber die Zeilen/Spalten-Methode statt die Analogwerte 
umzuschalten?

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von der Zeilen/Spalten-Methode bin ich noch nicht überzeugt. Denn es 
müssen ja alle Vcc- und GND-Pins aller inaktiven Potis potentialfrei 
sein, ansonsten ist der Spannungsteiler des aktiven Potis ja belastet.

MfG

Autor: Tamron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie genau soll das denn werden?

Autor: Seppl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Je weniger Analog-Schalter im Meßkreis sind, desto besser!
Bitte an die On/Off-Widerstände der Analogschalter denken, könnten,
je nach Poti-Werten, die Messung beeinflussen.

Die Bedenken von Troll Blaubeer teile ich.

MfG

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Potis sind wirklich nur da, um die Werte in den AVR einzulesen.
Wäre also auch möglich die 5V mit einem Tristate Baustein auf die Potis 
zu geben. Weiß aber nicht ob es bei der Masse auch geht?

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Weiß aber nicht ob es bei der Masse auch geht?

Es geht auch bei der Masse. Ich bezweifle lediglich, dass es in einer 
einfachen Matrix (z.B. 6 Zeilen, 8 Spalten, 1 ADC) geht.


MfG

Autor: Tamron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Troll Blaubär

Wenn Du die Potis mit Dioden entkoppelst, dann geht es schon. Natürlich 
lassen sich dann die Potistellungen nur sehr ungenau ermitteln. Wenn das 
aber egal ist, dann kann es so gemacht werden.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der CMOS 4000 Serie findet man auch Analogschalter bzw. 
-multiplexer.

Potis selbst analog schalten führt zu Ungenauigkeiten bei den GND und 5V 
Potenzialen. Eine Entkopplung mit Dioden nutzt nichts mehr, denn 
Spannungsdifferenzen >0,5V auftreten.


Da bei einer Potimatrix immer mehrere Potis an einer senkrechten bzw 
waagerechten Leitung liegen, ist auch der verbundene Abgriff durch die 
Parallelschaltung von Teilen der einseitig verbundenen Potis zusätzlich 
belastet. => unbrauchbar.

Bernd

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man die Potis als einstellbaren Widerstand verwendet (Schleifer und 
ein Bahnanschluss verbunden) und den eigentlichen Spannungsteiler mit 
einem externen Widerstand realisiert, langt es, mit einem 
tri-state-Treiber die Potis auf VCC oder Z zu legen.

Man bräuchte dafür: 48 Potis, 1 Widerstand, 6 8-Bit-Tristate-Treiber 
oder -Schieberegister oder µC-Port-Pins oder was auch immer, 1 
ADC-Eingang.

Im Extremfall kann man so alle 48 Potis nacheinander messen, wenn alle 
miteinander verbunden sind.

Die Genauigkeit ist zwar nicht mehr perfekt, aber hängt von der 
Anwendungen und von dem Geld ab, die das Ganze kosten darf.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Analog-Multiplexer zu ADC sind unbelastet. Ggf. mehrere Multiplexer 
hintereinender schalten.

bernd

Autor: kurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie weit räumlich getrennt sind denn all diese Potis?

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt mal versucht Maik's Idee in eine Schaltung zu wandeln 
(verwende dabei die acht A/D wandler des AVR's)

@kurz: ca 2cm entfernt, in einer 8x6 Matrix

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu sehr ins Detail würde ich hier gar nicht gehen, denn dieser Satz:

> Ich soll 48 Potistellungen mit einem AVR auslesen und die Werte per
      ^^^^
> RS232 an einen PC schicken.

suggeriert mir, dass hier wieder mal jemand ganz clever seine 
Hausaufgaben delegieren will.

MfG

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Troll Blaubär schrieb:

> suggeriert mir, dass hier wieder mal jemand ganz clever seine
> Hausaufgaben delegieren will.

Seh ich nicht so.
Auf die Fragestellung folgten 2 Möglichkeiten, die er sich überlegt hat.

Er delegiert also nicht die Arbeit, sondern er frägt andere um ihre 
Meinung zu diesem Thema.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gab es nicht auch 16kanalige Analogmultiplexer?
Davor drei Stück vor den ADC-Multiplexer des AVR und gut is..
lt. NXP-Seite ist es ein Baustein mit Endung 4067 (z.B. 74HCT4067).
Komischerweise gibt es die nur noch als SMD...

Autor: Peter F. (piet)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Vielleicht hab ich das Problem falsch verstanden, oder etwas bei meiner 
Lösung übersehen...
Es geht doch nur darum Potis als eingabeinstrumente zu nutzen und diese 
Werte an den PC zu senden, warum nicht einfach eine Matrix?

Den Spannungsverlust über die Dioden müsste man nur beachten, so komme 
ich auf verdammt viele Potis die sich so auslesen lassen würden...

Mfg,
Peter

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch 16 Polige Multiplexer. Die sind aber oft recht teuer. Für 
48 Kanäle reichen auch 6 8 Kanal Multipexer und dann 6 AD Eingänge. 
Selbst bei den billigen Typen wie 4051 oder 74hc4051 sind die Fehler 
durch die Multiplexer klein.

Autor: Markus ---- (mrmccrash)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternativ geht auch 6x der schon etwas angegraute 4051. Den habe ich 
zumindest in meinem MIDI-Controller verbaut. Der ist auch in DIL 
erhältlich und für den genannten Zweck ausreichend. Mehr als 7-8 Bit 
Auflösung sind für ein einfaches Drehpoti IMHO nicht nötig, da stört 
auch ein eventuelles Rauschen der letzten 2 Bit nicht...

_.-=: MFG :=-._

Autor: Markus ---- (mrmccrash)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter F. schrieb:
> Hallo!
> Vielleicht hab ich das Problem falsch verstanden, oder etwas bei meiner
> Lösung übersehen...
> Es geht doch nur darum Potis als eingabeinstrumente zu nutzen und diese
> Werte an den PC zu senden, warum nicht einfach eine Matrix?
>
> Den Spannungsverlust über die Dioden müsste man nur beachten, so komme
> ich auf verdammt viele Potis die sich so auslesen lassen würden...
>
> Mfg,
> Peter

Das Problem ist, dass das erste Viertel des Regelwegs hinter der Diode 
verschwindet. Besser wäre es, dann noch eine Zweite Diode in 
Durchflussrichtung gegen Masse zu schalten, damit man am Potianfang den 
Offset von 0,7V hat. Dann hast du allerdings 14% der ADC-Auflösung 
verschenkt...

Ausserdem haben Dioden noch eine Kapazität, die sich beim Umschalten 
bemerkbar machen könnte.

_.-=: MFG :=-._

Autor: -_-_-_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine andere Methode währe einfach Schieberegister zu verwenden.
Damit kann man ein Poti nach dem anderen mit Spannung versorgen und über 
einen ADC Eingang auswerten.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du das näher erläutern?
evtl. mit Schaltplan.

Autor: Langsamdenker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist so schlimm daran, einfach mal sechs Stück 4051 zu verbauen und 
den Forumsserver wieder in den Idlezustand zu versetzen? Ich meine, man 
kann ein Thema verkomplizieren, man muss es aber nicht. Dioden, dass ich 
nicht lache!

Autor: Peter F. (piet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Langsamdenker schrieb:
> Was ist so schlimm daran, einfach mal sechs Stück 4051 zu verbauen und
> den Forumsserver wieder in den Idlezustand zu versetzen? Ich meine, man
> kann ein Thema verkomplizieren, man muss es aber nicht. Dioden, dass ich
> nicht lache!

Schlechter Troll Versuch...

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael schrieb:
> Ich hab jetzt mal versucht Maik's Idee in eine Schaltung zu wandeln
> (verwende dabei die acht A/D wandler des AVR's)
>
> @kurz: ca 2cm entfernt, in einer 8x6 Matrix

Genau so habe ich mir das vorgestellt, schön :)

Das einzig unschöne an der Lösung ist, dass man einen nicht so ganz 
schönen Zusammenhang zwischen gemessener Spannung und Poti-Stellung hat. 
Aber die Microcontroller können rechnen und die Spannungsteilerformel 
umzustellen ist kein Kunstwerk.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey!

Ich werd mal versuchen das Problem mit Maik's Ansatz zu lösen.

Scheint mir erstmal der einfachste und billigste Weg zu sein.

Bei der Diodenlösung stört mich vorallem der Spannungsabfall von 0,7V.

Danke an Alle!

Autor: Langsamdenker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Schlechter Troll Versuch...
So ist es, aber ein ernst gemeinter Vorschlag.

Wenn die Potis gegen einen Widerstand gemessen werden, geht die 
Linearität flöten, es sollte zumindest ausgesprochen werden.

Wenn die Potis als Spannungsteiler arbeiten und per Analogmultiplexer 
abgetastet werden, bleibt der lineare Zusammenhang erhalten. In 
Anbetracht der hohen Zahl von Potis, spielen ein paar ICs mehr von den 
Kosten her betrachtet eine untergordnete Rolle.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor du es machst, poste einen Schaltplan, dann sage ich dir, was da 
falsch ist.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wär's mit folgender Idee:

Das Poti in Reihe zu einem Kondensator. Poti am anderen Ende an 5V, 
Kondensator an 0V. Ein IO-Pin des AVR in der Mitte.

Zuerst wird das Pin als Ausgang geschaltet und auf Masse gezogen. 
Dadurch entlädt sich der Kondensator. Dann wird das Pin als Eingang 
geschaltet. Der Kondensator lädt sich in Abhängigkeit vom Widerstand. 
Nun misst man die Zeit, bis am Pin eine 1 erkannt wird.

Ob das überhaupt funktionieren kann und wie genau das dann ist, weiß ich 
nicht. Hat das mal jemand ausprobiert?

    ^ +5V
    |
    |
  +---+
  |   | R
  |   |
  +---+
    |
    |------ ADC
    |
  ----- C
  -----
    |
    |
   --- 0V

Autor: Dummi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alter Hut so arbeite(te)n Standard Analog Joysticks am PC.

Autor: M. B. (freiberger77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy,
ich habe mal einen CMOS-Schaltkreis gesehen, mit dem man mehrere Analoge 
Spannungen auf einen Ausgang multiplexen kann.
Müßte mal suchen, welcher das war.
Ich glaube, man konnte 8 Signale ansteuern.
Das Ding sollte aber in jedem CMOS-Taschenbuch stehen.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael (Gast):
Deine Lösung von 16:54Uhr taugt nichts. Der Grund ist, daß 
Ausgleichsströme zwischen den Potis über die gemeinsamen 
Zusammenführungen an den ADC-Eingängen fließen und sich dadurch die 
Potis gegenseitig beeinflussen.

Die Lösung von Peter F. (piet) von 17:40Uhr ist ebenfalls unbrauchbar. 
Nicht nur wegen der Schwellspannung der Dioden, Dioden haben auch eine 
Temperaturdrift, weswegen sie als Temperatursensor geeignet sind.

Wie STK500-Besitzer schon um 17:18 Uhr anmerkte, ist die einfachste 
Lösung in der Tat Analogmultiplexer vom Typ CD4067, den gibt es übrigens 
auch als DIL, kosten bei Reichelt 43 Cent das Stück.
http://focus.ti.com/docs/prod/folders/print/cd4067b.html
http://www.reichelt.de/?ACTION=3;ARTICLE=12620;PROVID=2402

Bahnanschlüsse an V+ und Masse, Schleifer einzeln an die 
Multiplexereingänge. Übrigens, eigene Versuche mit Analogschaltern 
ergaben bei dem typisch sehr hohen Eingangswiderstand der ADC-Eingänge 
einen extrem geringen Einfluß auf den Meßwert,  < +- 1 Digit bei einem 
12-Bit-Wandler. Ein AVR hat aber nur 10Bit. Sprich, keine Beeinflussung 
durch den Multiplexer.

Gruß
Jadeclaw.

Autor: Markus ---- (mrmccrash)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@freiberger:

wurde doch schon genannt:

4051 8:1 Mux
4052 2x 4:1 Mux
4053 3x 2:1 Mux

4067 16:1 Mux

_.-=: MFG :=-._

Autor: Malte __ (malte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spricht was dagegen, einfach 5 attiny26 zu nehmen? Jeder hat 10 nutzbare 
Analogeingänge und kostet gerade mal 1,10Euro. Dann alle per SPI 
verbinden. Ein Attiny müsste noch gegen einen Mega16 ausgetauscht werden 
und dient dann als Master.

Autor: Tamron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder nimm einfach vier PIC18F4221 und sende Deine Daten über eine 
RS485-Schnittstelle (kostet das Gleiche wie RS232). Dadurch kannst Du 
auf den Master und die SPI-Leitungen verzichten.

Wofür soll das Ganze eigentlich gebraucht werden?

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>RS485-Schnittstelle (kostet das Gleiche wie RS232).

Das bezweifle ich mal stark. 2Wire-RS485 mit mehreren Mastern erfordert 
mehr Software-Aufwand, als eine SPI, die man "einfach hintereinander" 
hängt.
Mag sein, dass der PIC das einfacher unterstützt als ein AVR, aber 
mancher fest PICs nicht mal mit der Kneifzange an...

Autor: Anselm 68 (anselm68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würd die über i²c verbinden ;)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe die Abneigung gegen Multiplexer nicht.
Die 4051 sind spottbillig und exzellent für diesen Einsatz geeignet.

Einfach 6 * 4051 und über 10 Leitungen ran an den MC (A,B,C,6*En,analog 
Out).


Peter

Autor: Tamron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das bezweifle ich mal stark. 2Wire-RS485 mit mehreren Mastern erfordert
> mehr Software-Aufwand, als eine SPI, die man "einfach hintereinander"
> hängt.

Nein!

> aber mancher fest PICs nicht mal mit der Kneifzange an...

Ist auch so OK. Wir leben in einem freien Land, wo sich jeder nach 
eigenem Ermessen selbst soviel blockieren kann wie er möchte.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Widerstände oder gar nichtlineare und temperaturabhängige Bauteile wie 
Dioden oder Mosfets haben in den Zuleitungen nichts zu suchen. Wenn ich 
das Ersatzschaltbild der Ananlogeingabe mal ansehe, dann ist klar wohin 
irgendwelche Multiplexer gehören:
  +5V
  o
  |
  -  z.B. 10k
 | |              uC-Pin
 | |<-------------o----.
 | |                   |
  -                    -
  |                   | |
  |                   | |  Rin z.B. 1 M
  |                   | |
 ---                   -
                       |
                      ---

Jeder Widerstand, der in den Zuleitungen des Potis sitzt, verändert die 
Messung signifikant. 1% Fehler erhält man schon mit einem 
Serienwiderstand von 100 Ohm:
  +5V
  o
  |
  |
   / Schalter z.B. Fet 100 Ohm
  |
  |
  -  z.B. 10k
 | |              uC-Pin
 | |<-------------o----.
 | |                   |
  -                    -
  |                   | |
  |                   | |  Rin z.B. 1 M
  |                   | |
 ---                   -
                       |
                      ---
Mit Dioden in diesem Zweig wird das garantiert nicht besser...


Ist der Mux mit seinen 100 Ohm im Schleiferzweig, dann sind das nur noch 
0,01% Fehler
  +5V
  o
  |
  |
  -  z.B. 10k
 | |              uC-Pin
 | |<---------.  ---o----.
 | |           \         |
  -       Schalter       -
  |    z.B. Fet 100 Ohm | |  Rin z.B. 1 M
  |                     | |
  |                     | |
 ---                     -
                         |
                        ---

EDIT:
Also genau so, wie Peter es schon geschrieben hat:
>> Die 4051 sind spottbillig und exzellent für diesen Einsatz geeignet.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tamron schrieb:
> Oder nimm einfach vier PIC18F4221 und sende Deine Daten über eine
> RS485-Schnittstelle (kostet das Gleiche wie RS232).

Nö, kostet extrem mehr.
PCs haben ja keine RS485 und USB-RS485 Umsetzer sind richtig teuer.

Und ne Platz- und Preisersparnis hat man bei 4* 40-pinner PIC gegenüber 
5* 20-Pinner AVR auch nicht.

Aber wie gesagt, 6* 16-pinner MUX ist am einfachsten und billigsten.


Peter

Autor: Tamron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> PCs haben ja keine RS485 und USB-RS485 Umsetzer sind richtig teuer.

Quatsch: PCs haben auch keine RS232-Schnittstelle mehr. Ein Umsetzer
USB <-> RS485 kostet ähnlich viel wie ein Umsetzer USB <-> RS232

> Und ne Platz- und Preisersparnis hat man bei 4* 40-pinner PIC gegenüber
> 5* 20-Pinner AVR auch nicht.

War auch nie die Rede von. Beide Lösungen sind in diesen Beziehungen 
etwa gleich. Dafür brauch ich aber nur eine Software, die bei allen vier 
PICs identisch ist. Man spart die Unterscheidung zwischen Master und 
Slave.

Im übrigen sind pro PIC nur 14 nicht angeschlossen, da folgende 
Leitungen benötigt werden:

12 Analogeingänge: 12 Leitungen
RS485: 3 Leitungen
Spannungsversorgung: 4 Leitungen
Quarz: 2 Leitungen
Reset/Programmierung: 3 Leitungen
Adresse: 2 Leitungen

Zudem kommt man mit sehr wenigen externen Komponenten aus, was das 
Layout einfacher werden läßt.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tamron schrieb:
> Quatsch: PCs haben auch keine RS232-Schnittstelle mehr. Ein Umsetzer
> USB <-> RS485 kostet ähnlich viel wie ein Umsetzer USB <-> RS232

Hast Du mal nen Link für nen USB-RS485 Umsetzer für 4,80€?

Ich habe nur welche für >70,-€ gefunden.


Peter

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein Umsetzer USB <-> RS485 kostet ähnlich viel wie ein
> Umsetzer USB <-> RS232
Wo?

Autor: Johnny B. (johnnyb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll denn das ganze werden wenn es fertig ist?
Willst Du ein "pseudo digitales" Mischpult bauen?

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Ich verstehe die Abneigung gegen Multiplexer nicht.
> Die 4051 sind spottbillig und exzellent für diesen Einsatz geeignet.
>
> Einfach 6 * 4051 und über 10 Leitungen ran an den MC (A,B,C,6*En,analog
> Out).

Hallo,

verstehe ich auch nicht, aber es möchte hier halt jeder nicht nur seinen 
Senf, sondern möglichst einen besonders exotischen Senf dazugeben.

Abgesehen davon sind garkeine 6 ADC-Eingänge nötig, wie hier jemand 
geschrieben hat, da die 4051 einen Enable haben, man kann sie 
zusammenhängen und nur den aktuellen durchschalten - verwende ich seit 
etwa 20 Jahren so, höchstens mit pingleichen MAX-ICs, die bessere Werte 
haben. Es wurde einfach seither nicht geeigneteres erfunden.

Aber natürlich könnte man die 48 Drehknöpfe auch mit einer Kamera 
erfassen... spinnt schön weiter, Profis lösen bloss Probleme, das ist 
langweilig.

Gruss Reinhard

Autor: Tamron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hast Du mal nen Link

Ebay-Artikel Nr. 250491476588

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Hast Du mal nen Link

>http://cgi.ebay.de/USB-auf-RS485-Serial-9-Pin-Konv...

Kann ich mir (hier in der Firma nicht angucken).
Für 4Euro80 bekommt man wirklich funktionstüchtige USB-RS232-Wandler.
Wobei FTDI-Chips RS485 (nativ?) unterstützen...
Allerdings erfordert RS485 schon mehr auf Aufwand auf der 
Controller-Seite.
SPI erfordet, dass die Slaves auch wirklich sinnvolle Daten liefern, 
wenn sie angewählt wurden (Rückmeldung an den Meister fehlt meist).
Wenn man lustig ist, hängt man alle Sklaven hintereinander und braucht 
dann nur so ca. 5 Leitungen...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs denn einfach mit 8 AD Kanälen im multiplexed Betrieb? Nicht so 
wie oben mit 6 Multiplex Leitungen, sondern mit 12. Also es wird bei der 
jeweils aktiven Reihe immer die Positive und die Negative 
Spannungsversorgung angeschaltet, bzw. bei den nicht aktiven Reihen 
beides weggenommen. So beeinflusse sich die Potis nicht. Da müsste doch 
ein Mega8 reichen (im TQFP Package). Vorteil: Trotz der vielen Leitungen 
ist das Layout auf einer Platine einfach ausführbar. Wenn die Potis 
hochohmig genug sind, braucht man nicht mal Treibertransistoren oben und 
unten, sondern kann direkt aus einem Port speisen.
Bei anderen Packages (Nur 6 A/D Wandler) nimmt man halt 16 
Multiplexleitungen, also zwei ganze Ports. Allerdings hat der Mega8 dann 
nicht mehr genug Pins. Da ist dann Mega16 angesagt.

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon Kü. schrieb:

> So beeinflusse sich die Potis nicht.

Das sehe ich anders. Die Schleifer der nicht adressierten Gruppen haben 
ja Widerstandsverbindung zu deren Plus- und Minus-Schienen. Dies sorgt 
für Querströme, auch wenn die "Schienen" in der Luft hängen. Diese 
Querströme belasten und verfälschen die Spannungsteiler der Potis.

Sinnvoll bleibt also nur die MUX-Variante. Du kannst Dich drehen wie Du 
willst, der Arsch bleibt immer hinten... ;-)

MfG

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Hast Du mal nen Link

>http://cgi.ebay.de/USB-auf-RS485-Serial-9-Pin-Konv...

Jetzt habe ich ihn mir angeguckt, um festzustellen, dass das eine 
wahnsinnge Erweiterung eines USB-RS232-Wandlers handelt, der auch 
wirklich gut dokumentiert ist.
Da der Händler mehr Wert auf eine saubere Bewertungsstatistik legt, als 
auf das beschreiben des Artikels, sehe ich gar keine Probleme, den zu 
kaufen.
Ein RS485-Wandler von Meilhaus o.dergl. dürfte dagegen Dreck sein.
Wer Ironie findet, darf sie behalten.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Troll Blaubär schrieb:
> Sinnvoll bleibt also nur die MUX-Variante. Du kannst Dich drehen wie Du
> willst, der Arsch bleibt immer hinten... ;-)

Mist, da ist was dran ;)

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich seh' das wie Simon K.

3 Stück 4067, mit denen 48x den Konstantstrom (1mA) schalten, mit 
weiteren 3 Stück parallel die Spannung messen. So spielt der Widerstand 
der Analogschalter keine Rolle und die Messung wird genau. Eine Referenz 
zum Auto-Kalibrieren ist auch nicht schlecht.

Ich messe so pt1000 - Temperaturfühler mit einer ausreichend großen 
Genauigkeit ein.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>3 Stück 4067, mit denen 48x den Konstantstrom (1mA) schalten,...

Wozu Konstantstrom? Entweder VCC oder gepufferte Referenzspannung an 
Referenzspannungseingang und Potis.

MfG Spess

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>>3 Stück 4067, mit denen 48x den Konstantstrom (1mA) schalten,...
>
> Wozu Konstantstrom? Entweder VCC oder gepufferte Referenzspannung an
> Referenzspannungseingang und Potis.
>
> MfG Spess

Ich dachte an eventuelle Leitungslängen, die den Widerstand verändern 
könnten. Bei kurzen Leitungen und/oder hohen Widerstandswerten spielt 
das natürlich weniger eine Rolle.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Bei der Diodenlösung stört mich vorallem der Spannungsabfall von 0,7V.

Du musst keine Dioden nehmen, nimm Widerstände, sagen wir 47k.

Die Potis müssen dagegen niederohmig sein, sagen wir 1k.

Dann baust du 6 Reihen von je 8 parallelen Potis an 6 Ausgänge des AVR 
und 8 Analogeingänge.

Dann wird je ein Ausgang auf +5V gelegt und gemessen. Es ist der 
Durchschnittswert der 6 Potis, aber mit Gewichtung.
Wenn du alle 6 Potis einer Reihe nacheinander an +5V gelegt hast, und 
gegen die anderen 5, die auf 0V lagen, gemessen hast, kannst du die 
unbeeinflusste Potistellung rückrechnen.
Du verlierst 3 bits, statt 1024 bekommst du also nur 128 aufzulösende 
Potistellungen, aber linear über den vollen Bereich, keine verlorenen 
Stellen.

Aber wenn dir das reicht, ist das sicher eine preiswerte Lösung, eben 
Intelligenz im Programm gegen Hardwareeinsparung.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde die Lösung von Simon K. um 13:34 gut.
Mit einem Portpaar werden jeweils 8 Potis mit VCC und GND versorgt
und über die 8 AD-Kanäle gemessen. Danach wird das Portpaar hochohmig
geschaltet. Dies wird mit den 5 weiteren Portpaaren und 40 Potis
wiederholt. Die Beeinflussung der in der Luft hängenden Potis lässt sich
mit dem Leckstrom eines auf Eingang geschalteten Portpins berechnen.
Nehmen wir +-1uA laut Datenblatt an, so ergibt sich ein worst case von
2uA pro Poti, also 10ua insgesamt.
Durch eine Metallplatte und Kunststoffknöpfe ist der ESD-Schutz
gewährleistet.

Autor: Bluebunny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael

Bist du dir sicher das du die Werte von 48 Potis auslesen sollst, und 
nicht 48 verschiedene Stellungen von einem Poti?

Bluebunny

Autor: Praktiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht will er die Position der Potis tracken und nicht die 
Stellung: "Hilfe! Meine Potis sind weg!"

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Allerseits

Ich würde einfach die Matrix-Methode verwenden!
Man müsste nur sowohl die Betriebsspannung als auch die Masse an die 
Potis über die I/O-Pins schalten. Werden die zwei Pins auf Eingang 
umgeschaltet, so sind sie sehr hochohmig. Das heißt die acht Potis, die 
Alle parallel geschaltet sind (deren schleifer an den acht a/d-Eingängen 
angeschlossen sind) hängen sozusagen in der Luft, und beeinflussen die 
anderen Spalten somit kaum.

Ich hoffe, ich konnte dir damit helfen Michael.

MfG

Autor: Markus ---- (mrmccrash)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann aber brauchst du für jedes Poti 2 Separate Portpins. Ansonsten hast 
du über die HiZ-geschaltenen +/- Leitungen an den Potis 
unkontrollierbare Ausgleichströme zu anderen Potis, die sich einen oder 
mehrere Anschlüsse teilen!

_.-=: MFG :=-._

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das man 12 statt 6 I/O-Pins hier braucht, ist mir schon klar.

Kannst du mir Bitte sagen, welche Ausgleichsströme und Anschlüsse du 
meinst.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valentin schrieb:
> Das man 12 statt 6 I/O-Pins hier braucht, ist mir schon klar.
>
> Kannst du mir Bitte sagen, welche Ausgleichsströme und Anschlüsse du
> meinst.

Was passiert, wenn Du 2 Potis (in unterschedlichen Schleiferpositionen) 
mit Anfang und Ende parallel schaltest und an beide Schleifer 
unterschiedliche Potentiale (also eine Spannung) anlegst?

Und was passiert, wenn es mehr werden? Zeichne es Dir doch einfach mal 
auf und rechne es nach...

...

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe auch sowas schon gemacht, ein Midi Mischpult für 8 Kanäle, macht
auch 48 Potis, nur hatte ich auch die Specs, daß für jeden Kanal auch
einen Schalter zu detektieren war, sowie 30 Leds, also hatte ich Dioden 
im GND Segment.

Autor: Markus ---- (mrmccrash)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@valentin:

Hier ein Beispiel:

P1 ist auf High, P2 Low, P3/4 Hi-Z

wenn nun R1 gelesen wird, steht dessen Spannung über die Potis R3/4 auch 
an dem Signal von R2 an - besonders kritisch, wenn R3/4 z.B. sich am 
Endanschlag befinden!

Du kannst damit ziemlich Zielsicher einen Kurzschluss fabrizieren...

_.-=: MFG :=-._

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, da muss ich dir Recht geben, und Danke für den Beispiel.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.