Hey Maik,
Oh je, wenn sich die Seiten soooo langsam bei Dir aufbauen, werde ich mal versuchen, mich auf 10 nicht allzu lange Sätze zu beschränken
Das geht doch auch ohne spezielle und teure Testboards! Ich entwickle und teste eigentlich alle meine Mikrocontroller-Anwendungen auf einem ganz normalen Labor-Steckboard. Das erspart einem unangenehme Überraschungen, und für etwa 10 Euro bist Du dabei:Da ich die Bauteile erst in der Praxis testen kann (habe kein geeignetes Testboard zur Verfügung), würde ich gern im Vorfeld einen Fehler vermeiden.
http://www.pollin.de/shop/dt/NDI4OTg...teckboard.html
http://www.pollin.de/shop/dt/Mjk5ODg...65_teilig.html
Die Verdrahtung ist genau wie Du es beschrieben hast:
Der als Clock definierte Anschluss des Controllers geht bei allen 3 Potis auf Pin 2 (SCK), Ss des Controllers geht dementsprechend dreimal auf Pin 1 (CS), nur Dout wird "durchgeschleift", d.h. beim ersten Poti bei Pin 3 rein (SI für "Serial In"), bei Pin 13 wieder raus (SO für "Serial Out") und von dort in´s zweite Poti usw. Im Datenblatt ist auf Seite 20 genau dieser Aufbau skizziert.
Nun muss man noch wissen, dass man dem MCP42010 immer zwei Bytes senden muss, um eine Einstellung vorzunehmen: Ein sogenanntes Kommandobyte und ein Datenbyte. Das Kommandobyte sagt dem Chip, was man von ihm will (z.B. Poti 1 einstellen, Poti 2 einstellen o.Ä.), und das Datenbyte entspricht dann dem einzustellenden Wert.
Beim Kommandobyte sind nur die Bits 5, 4, 1 und 0 von Bedeutung. Mit den Bits 5 und 4 wird festgelegt, ob entweder ein neuer Wert eingestellt werden soll (Bit 5 = 0, Bit 4 = 1), oder das Poti "abgeschaltet" werden soll (Shutdown-Modus: Bit 5 = 1, Bit 4 = 0). Mit den Bits 1 und 0 sagst Du dem Controller, welches der beiden Potis denn gemeint ist. Für Poti 1: Bit 1 = 0, Bit 0 = 1, für Poti 2: Bit 1 = 1, Bit 0 = 0, für beide Potis: Bit 1 = 1, Bit 0 = 1.
Wenn Du also z.B. einen neuen Wert für Poti 1 senden willst, muss das Kommando-Byte &b00010001 sein.
Da Du ja wahrscheinlich den Shutdown-Modus nicht brauchst, sondern den Potis i.d.R. immer nur aktuelle Werte zuweisen wirst, dürftest Du mit den drei Kommandobytes &b00010001 (neuer Wert für Poti 1), &b00010010 (neuer Wert für Poti 2) und &b00010011 (neuer Wert für Potis 1+2) auskommen.
Und nach dem Kommandobyte folgt dann gleich das Datenbyte, mit dem die eigentliche Einstellung des ausgewählten Potis erfolgt.
So, nachdem ich nun das halbe Datenblatt auf deutsch übersetzt habe, noch zwei Beispiele, dass es vollständig klar wird:
Poti 1 soll auf die Mittelstellung (128ste von 255 Stufen) gebracht werden:
Und wenn Du beide Potis auf 90% stellen willst (229ste von 255 Stufen) ginge das so:Code:Dim A(2) as Byte A(1)=&b00010001 A(2)=128 Spiout A(1), 2
Und wenn Du drei Chips hintereinanderhängst, musst Du die Prozedur verdreifachen:Code:Dim A(2) as Byte A(1)=&b00010011 A(2)=229 Spiout A(1), 2
A(1) = Kommandobyte für Chip Nr. 3
A(2) = Datenbyte für Chip Nr. 3
A(3) = Kommandobyte für Chip Nr. 2
A(4) = Datenbyte für Chip Nr. 2
A(5) = Kommandobyte für Chip Nr. 1
A(6) = Datenbyte für Chip Nr. 1
Spiout A(1), 6
Ich würde das ganze mal auf einem Steckboard aufbauen und mich mit ein bisschen Code & ´nem Ohm-Meter vertraut mit der Materie machen. Und das Datenblatt runterladen & lesen![]()
Lesezeichen