Modul 84_MCP4XXXX, Digitalpotentiometer Raspberry Pi SPI

Begonnen von crispyduck, 07 Dezember 2017, 21:35:26

Vorheriges Thema - Nächstes Thema

crispyduck

Hi,

da ich einen Leistungssteller/Dimmer habe der mit einem Potentiometer angesteuert wird, habe ich mir ein Modul geschrieben um einen MCP4XXXX Digital Potentiometer über den SPI bus der Raspberry zu steuern.

Eventuell kann es ja einmal wer brauchen.

Lg,
crispyduck



MCPX4XXXX
This modul allows controlling a MCP4XXXX digital potentiometer on a Raspberry Pi using SPI.
This Module requires wiringPi and the CPAN distribution RPi::DigiPot::MCP4XXXX.

As the MCP4XXXX powers up with the potentiometer wiper in midscsle, the Module sets it to the last reading, or 0 (shutdown)

Define

define <name> MCP4XXXX <model> <cs_pin> <channel>

<model>
1 for MCP41XXX and 2 for MCP42XXX

<cs_pin>
the Raspberry GPIO BCM pin number connected to the MCP4XXXX CS pin. (can be different pins than CE0 and CE1)

<channel>
the SPI bus channel

Examples:
define poti MCP4XXXX 2 8 1

Set

set <name> <pot> <value>

<pot>
pot1 or pot2 (MCP42XXXX only)

<value>
value in % (0-100)

Examples:
set poti pot1 30

Attributes

clockSpeed_MHz
SPI clock speed, default is 1

minCorrectionPot1
correction of the minimum Potentiometer value in % (1-99)

maxCorrectionPot1
correction of the maximum Potentiometer value in % (1-99)

Only valid for MCP42XXX:

minCorrectionPot2
correction of the minimum Potentiometer value in % (1-99)

maxCorrectionPot2
correction of the maximum Potentiometer value in % (1-99)

SoundMind

Hallo crispyduck,

vielen Dank für das Modul!

Bei mir kommt immer die Meldung "Cannot load module MCP4XXXX" obwohl ich WiringPi und RPi::DigiPot::MCP4XXXX installiert habe. Hast Du noch einen Tipp?

Schöne Grüße

crispyduck

Hallo,

ist schon eine Weile her, muss mal nachsehen ob eventuell noch irgendetwas benötigt wird. Aber wenn RPi::DigiPot::MCP4XXXX sollten auch alle Abhängigkeiten mit installiert sein.

Steht noch etwas im Logfile?

Lg
crispyduck

SoundMind

So, jetzt hat es funktioniert. Ich musste die WiringPi::API noch extra installieren. Ich dachte das wäre schon mit WiringPi geschehen. Auf jeden Fall lässt sich das Modul jetzt einbinden und scheint zu funktionieren. Ich muss mir jetzt noch einen MCP4132 besorgen und damit testen. Ich berichte dann noch.

crispyduck

Super, freut mich zu hören!

Darf ich fragen wozu du es einsetzen willst?

Ich habe es jetzt seit Oktober letztes Jahr im Einsatz, und steuere damit im Sekundentakt einen Thyristorsteller an, um immer genau meinen PV Überschuss mit einem Heizstab in WW umzusetzen.

Lg
Crispyduck

SoundMind

#5
Ja, natürlich!

Ich will das nutzen um ein Kugelhahnventil, welches ich direkt nach der Wasseruhr installiert habe, steuern zu können. Das lässt sich mit einer Spannung von 0 bis 10 V stufenlos einstellen. In Verbindung mit einem Wasserzähler (S0 und WaterCalculator) und der Prescence Funktion will ich bei Verdacht auf unkontrolliert fließendes Wasser den Kugelhahn langsam zudrehen.

Ich habe mir dazu einen MCP4152 besorgt, diesen aber leider noch nicht zum Laufen gebracht. Es scheint alles richtig zu laufen, nur der Widerstandswert ändert sich einfach nicht.

Die Idee damit einen variablen elektrischen Verbraucher für die PV-Anlage zu steuern finde ich aber auch super. Mit den steuerbaren Potis sollte darüber hinaus noch eine Menge möglich sein...