Forum: Mikrocontroller und Digitale Elektronik digitales poti ansteuern


von Helmut G. (gowea)


Lesenswert?

hallo leute!
nachdem ich mein adc problem unter Hilfe von euch gelöst habe danke
hab ich ein neues problem!!

aufgabenstellung: ich soll ein digitales poti so ansteuern, dass bei
jedem tastendruck (zB mit taster auf stk500) sich der widerstandswert
des potis verändert (bei logisch 1 bei poti ändert sich nichts, ist so
definiert von hersteller; bei anlegen von 0 erhöht sich der
widerstandswert um eine stufe)

hat jemand mal schon so ein programm geschrieben, oder eine gute idee
wie ich das realisieren kann?

danke schon mal im vorraus

von TravelRec. (Gast)


Lesenswert?

Mal ganz davon abgesehen, daß Du in der Lage sein solltest, einen
Poetpin von 1 auf 0 wechseln zu lassen, kannst Du uns ja verraten, in
welcher Programmiersprache und mit welchem Prozessor das gemacht werden
soll?

von Helmut G. (gowea)


Lesenswert?

ich sollte natürlich in der lage sein so etwas simples zu machen.

gemacht sollte es werden mit c und einem ATmega16

da ich mit der c-programmiersprache noch nicht so bewandert bin, hab
ich noch nicht viel plan von der ganzen sache!!

mfg

von Manos (Gast)


Lesenswert?

Da Du bisher nicht darauf eingegangen bist wie das digitale Poti
angebunden ist (Seriell, I2C, SPI, Parallel) würde ich allgemein mal
sagen, dass Du
- eine entprellte Tastaturabfrage benötigst
- welche eine Variable/Register incrementiert
- und diese Variable/Register dann an den Poti schickt

von Helmut G. (gowea)


Lesenswert?

ich hab mir gedacht, das ich das poti einfach über einen pin zB von port
c an den atmega16 anschließe...

ich muss ja einfach nur den steuereingang vom poti von 1 auf 0 ziehen
und schon erhöht sich der widerstandswert um einen schritt.

kann ich das so machen??

von Günther Schmidt (Gast)


Lesenswert?

Welches Poti meinst du denn???

Wenn das Datenblatt es sagt, kannst du es so machen.

Günther

von TravelRec. (Gast)


Lesenswert?

Genau so. Wenn Du jetzt noch weißt, welches DigiPoti Du nehmen willst,
könnte man sich noch spezieller dazu äußern. Ich denke nämlich nicht,
daß das Poti nur einen einzigen Steuerpin hat, oder?

von Helmut G. (gowea)


Lesenswert?

Digitales Potentiometer:
DS 1809Z-010

Der Widerstandsbereich von 10kOhm wird in 100 gleich große Schritte
unterteilt, hierbei sind Anfangs und Endpunkt bereits inkludiert. Die
Schrittweise des Potentiometers liegt also bei 100Ohm.
Die Steuereingänge UC und DC verändern die
„Schleiferposition“.
UC erhöht die Position in Richtung Maximalwert (RH), DC verringert die
Position in Richtung Minimalwert (RL). Die beiden Eingänge sind intern
mit einem 100kOhm Widerstand zur Versorgung geschaltet. Soll nun die
Schleiferposition verändert werden muss der der dazu vorgesehene
Eingang gegen Masse geschaltet werden.
Eine HIGH-LOW Folge wird als Beginn der Eingangsaktivität gewertet.
Ein Einzelpuls wird im Bereich von 1ms bis 500ms gewertet, der
Minimalabstand aufeinander folgender einzelner Pulse beträgt 1ms.
Sollte der Eingang länger als 500ms getastet bleiben wird das Signal
als kontinuierlicher Puls wahrgenommen (push and hold).

von TravelRec. (Gast)


Lesenswert?

Na das sagt doch alles. Du mußt also 2 Pins an den Controller schalten
und hast auch noch eine Sonderfunktion, außerdem mußt Du die
Steuereingänge gegeneinander verriegeln. Einen Timer solltest Du
benutzen, um die Intervallspezifikationen erfüllen zu können. Dann die
oben erwähnte Tasterentprellung und dann ist´s gut. Andere Frage: was
soll denn das Poti steuern? Vielleicht könnte der Controller ja dabei
noch Regelaufgaben lösen (mit seinem A/D zum Beispiel)?

von Helmut G. (gowea)


Lesenswert?

Die Potis steuern zB die Offsetspannung an einem Sensor-Messverstärker

Fortlaufend ist gefordert, dass die Kennlinie am Ausgang des
Verstärkers in eine Spannung umgewandelt wird (mit Lastwiderstand) und
das diese Spannung in den ADC geschickt wird. Abhängig vom
Spannungs-Wert sollen dann verschieden die LEDs lechten zB. wenn
Eingangsspannung zwischen 0-0.5 Volt --> 1des LED leuchten; wenn
Eingangsspannung zwischen 0.5-1 Volt --> 2des LED leuchten;...

Zu oben: Für was brauch ich einen Timer, ich kann doch so oft auf die
Taste drücken, bis der Wert erreicht ist?! (Mehr braucht es nicht zu
können)

mfg

von TravelRec. (Gast)


Lesenswert?

>>Für was brauch ich einen Timer, ich kann doch so oft auf die
Taste drücken, bis der Wert erreicht ist?! (Mehr braucht es nicht zu
können)

Dann kannste die Tasten ja gleich an´s Poti benzeln und mußt den
Controller damit nicht nerven....

Nein, es ging darum, ein sauberes Programm zu entwerfen, welches die
Spezis des Potis eben genau erfüllt, dazu (und zum Entprellen der
Tasten) böte sich ein Timer an, da man damit recht komfortabel mehrere
Aufgaben lösen kann.

von Helmut G. (gowea)


Angehängte Dateien:

Lesenswert?

hi leute, schaut euch bitte mal mein werk an...
kann das funktionieren??

lg helli

von Helmut G. (gowea)


Lesenswert?

also, der untere teil gehört nich mehr dazu!!!

von Simon K. (simon) Benutzerseite


Lesenswert?

Das, was du als Funktion beschreibst, ist keine. Sie wird doch garnicht
aufgerufen. Außerdem: Da fehlt eine main () Funktion

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
Noch kein Account? Hier anmelden.