-
        

Ergebnis 1 bis 4 von 4

Thema: Wie Potentiometer richtig benutzen?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.04.2014
    Beiträge
    27

    Wie Potentiometer richtig benutzen?

    Anzeige

    Hey Leute.
    Nach den ersten Spielereien mit blinkenden LEDs und einem eigenständig erstellten Ampelprogramm wollte ich jetzt mal die Potis nutzen. Allerdings komme ich gerade nicht weiter und bin ratlos... In meiner Schaltung ändert sich rein gar nichts durch Betätigung des Poti1.
    (Diese Frage habe ich bereits "Noob will in Microcontrollerprogrammierung + Roboterbau einsteigen - Anfängerfragen" gepostet, allerdings scheint da niemand reinzugucken und ich habe bisher keine Hilfe bekommen - hoffe mit einem neuem Thread hierfür sehen es mehr Member. Sry für den Doppelpost, aber ich habe viel gelesen und gesucht und komme einfach nich weiter).

    Hier mein Board (myAVR light):
    Klicke auf die Grafik für eine größere Ansicht

Name:	myavr-board-light.jpg
Hits:	11
Größe:	122,5 KB
ID:	28099

    Ich habe Pot.1 an PortD.2 angeschlossen. Nach meinen Recherchen muss man nun dem µC sagen, dass er an PortD.2 die Spannung abgreifen soll. Dies geschieht mit dem Befehl "Getadc([Zahl])". [Zahl] ist dabei der entsprechende Port. Laut Datenblatt unterstützt das verwendete Board ADC-Abgriffe an den Ports 1-7. Ich vermute, dass damit die Zahl der Durchnummerierung der Ports gemeint ist - PortD.2 ist dann Laut Datenblatt Port 1, also heißt der Befehl bei mir: "Getadc(1)" - soweit richtig?

    Hier ist mein Beispielprogramm, das die drei LEDs durchlaufen lassen soll, wobei man mit dem Poti1 die Leuchtdauer (also die Geschwindigkeit des LED-Durchlaufs) einstellen können sollte:

    ' BASCOM-Programm
    ' Stefan Hoffmann 2009
    ' Poti-Spannungsteiler an ADC1 5V -- Poti -- Masse
    'Poti z.B. 47k
    ' oder
    ' LDR-Spanungsteiler an ADC1 5V -- LDR --+-- 10k -- Masse
    '
    '
    ' In: B.2: Poti-Mittelabgriff
    ' oder LDR-Spannungsteiler an ADC1

    ' Out: LED C.4 (rot) hoch
    ' Led C.2 (grün) Mittel
    ' LED C.3 (gelb)niedrig
    '
    $regfile = "m8adef.dat"
    $crystal = 1200000

    Config Portd.2 = Input 'Poti/LDR

    Config Portc.4 = Output 'LED rot
    Config Portc.2 = Output 'LED gruen
    Config Portc.3 = Output 'LED gelb

    Ledrot Alias Portc.4
    Ledgruen Alias Portc.2
    Ledgelb Alias Portc.3

    Dim Analogwandler As Integer 'Variable zur Aufnahme des Wertes vom Analogwandler

    Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Analogwandler definieren
    'Start Adc 'AD-Wandler starten (nach Config automatisch)

    Do
    Analogwandler = Getadc(1) 'AD-Wandler einlesen. Werte zwischen 0 und 1023
    Analogwandler = Analogwandler
    Ledrot = 0
    Ledgruen = 0
    Ledgelb = 1
    Waitms Analogwandler
    Ledrot = 0
    Ledgruen = 1
    Ledgelb = 0
    Waitms Analogwandler
    Ledrot = 1
    Ledgruen = 0
    Ledgelb = 0
    Waitms Analogwandler
    Loop
    End
    Bei mir bleibt die Durchlaufgeschwindigkeit aber immer gleich. Es ändert sich nichts durch drehen an dem Poti1.
    Noch eine Frage dazu: Wozu ist auf dem Board der Anschluss AREF? Der muss doch auch etwas mit dem Poti zu tun haben???

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Zitat Zitat von derSpinner Beitrag anzeigen
    Ich habe Pot.1 an PortD.2 angeschlossen. Nach meinen Recherchen muss man nun dem µC sagen, dass er an PortD.2 die Spannung abgreifen soll. Dies geschieht mit dem Befehl "Getadc([Zahl])". [Zahl] ist dabei der entsprechende Port.
    Falsch. "Zahl" ist der ADC-Kanal. In Bascom Hilfe zu GETADC. Den Portpin findet man im Datenblatt bei Pin Configurations als ADC0, ADC1,...
    Beim ATMega8a befinden sich die ADC Kanäle auf PORTC.

    Das Poti hat noch zwei weitere Anschlüsse. Wo sind die angeschlossen. Zum Abgriff in Richtung ADC-Pin kann man noch einen zB. 510 Ohm widerstand in Reihe legen, um unabsichtliche Kurzschlüsse durch fehlerhafte INPUT/OUTPUT Konfiguration zu vermeiden. Welchen Widerstandswert hat das Poti?

    Laut Datenblatt unterstützt das verwendete Board ADC-Abgriffe an den Ports 1-7. Ich vermute, dass damit die Zahl der Durchnummerierung der Ports gemeint ist - PortD.2 ist dann Laut Datenblatt Port 1, also heißt der Befehl bei mir: "Getadc(1)" - soweit richtig?
    Ins Datenblatt und Stromlauf zum Board schauen.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    510
    Hi,

    laut http://www.atmel.com/images/atmel-24..._datasheet.pdf
    auf Seite 2 liegt der ADC 1 auf Port C 1 also Pin 24.
    evtl hast Du nur den falschen Pin erwischt.
    Ich verwende START ADC, und würde es auch drin lassen. Stört ja nicht.

    vielleicht wird es deutlicher ob deine Schaltung funktioniert, wenn Du anstatt die waitms durch den Wert des ADC zu erhöhen/zu verringern eher eine if-Abfrage verwendest.
    pseudo-code
    Code:
    if analogwandler <500 then
    ledgruen = 1
    ledgelb = 0
    ledrot = 0
    else if analogwandler >500 then
    ledgruen = 0
    ledgeld = 1
    ledrot=0
    endif
    .....
    hier ein gutes beispiel für ADC
    http://halvar.at/elektronik/kleiner_...dc_mit_getadc/

    Grüße
    Crypi

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    15.04.2014
    Beiträge
    27
    Alles klaro! Vielen Dank euch beiden. Jetzt bin ich endlich dahintergestiegen!
    Wenn man es weiß ist das völlig logisch und klar :-D
    Steht ja auch in der Bedienungsanweisung, dass die Ports C0 bis C5 die ADC0 bis ADC5 abgreifen! *vor die Stirn hau*
    Habe jetzt den richtigen Port angeschlossen und im Programmcode die Portzuweisung geändert und nun läuft alles! Perfekt^^

Ähnliche Themen

  1. Wie reicht ein Potentiometer nicht aus?
    Von ock92 im Forum Motoren
    Antworten: 9
    Letzter Beitrag: 28.08.2013, 16:56
  2. Wie Potentiometer an Velleman-Board anschließen?
    Von Xelessar im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 11.09.2012, 15:21
  3. Relais benutzen, aber wie?
    Von Testus2K im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 14.09.2007, 15:48
  4. Potentiometer mit Microcontroller auswerten, wie?
    Von Robo-Fan im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 7
    Letzter Beitrag: 13.08.2007, 21:06
  5. Wie Groß muss das Potentiometer sein?
    Von the_Ghost666 im Forum Elektronik
    Antworten: 16
    Letzter Beitrag: 26.08.2005, 20:46

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •