mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom, Adc am Attiny85


Autor: Herr Umbrarum (mxvalentine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab folgendes vor, am PB 3 eine Spannung einlesen (0-5V) am PB 4 eine 
LED einschalten wenn PB 3  > 2.5 V, und das alles in Bascom (hab gerade 
erst Anfangen also bin noch in der Grundlagenforschung).
Programm sieht bis jetzt so aus, funktioniert allerdings nicht, hat 
jemand eine Idee was ich falsch mache? :( Led leuchtet einfach 
immmer......

$regfile = Attiny85.dat
Config Pinb.4 = Output

Dim W As Word
Config Adc = Single , Prescaler = Auto
Start Adc

Do
W = Getadc(3)
If W > 500 Then
Portb.4 = 1
Else
Portb.4 = 0
End If

Loop
End

Danke für die Hilfe und Grüße

Autor: 1st (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert es denn im BASCOM-Simulator?
Wenn ja, dann Hardware überprüfen.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Config-Fehler? Schau Dir mal im Datenblatt den Unterschied zwischen 
Portb, Pinb und Ddrb an.

Ich nutze Config nicht zum Initialisieren von Portpins, das mach' ich 
direkt, so wie in ASM. Daher kann ich mich auch irren.

MfG

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*$regfile = Attiny85.dat* ohne Anführungszeichen ist falsch. In dieser 
Form wird es ignoriert und der per Options eingestellte Chip verwendet. 
Wenn das nun ein anderer ist, wird für den tatsächlichen Chip 
unpassender Code produziert.

Autor: Herr Umbrarum (mxvalentine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal für die Antworten, aber die Fehler kann ich ausschlißen:

-unter Optionen ist auch der Attiny85 eingestellt
-die Konfi von Pinb.4 muss auch richtig sein, da in einem anderen 
Programm er einwandfrei angesteuert wird
-die Hardware ist auch fehlerfrei, bzw hat so funktioniert in jedem 
zuvor geschriebenen Programm, lediglich ein 0-5V Signal ist 
hinzugekommen, und das sind auch wirklich 0-5V ich hab ein Messgerät 
dran...


weiß vielleicht jemand wo der Fehler ist?
oder würdet ihr das Programm anders schreiben?



Liebe Grüße

Autor: Herr Umbrarum (mxvalentine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte irgendwer :D

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zunächst hat MWS Recht: Die Anführungsstriche müssen da sein:
$regfile = "Attiny85.dat"
sonst läßt es sich gar nicht kompilieren.

In der Simulation läuft das Programm aber. (Ich habe keinen Attiny85
zu Testen in Natura hier)

MfG Paul

Autor: Paul Baumann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Da ist noch ein Bild von der Simulation.
MfG Paul

Autor: Herr Umbrarum (mxvalentine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Paul,

als bei mir funktioniert es nicht, was hast du anders gemacht? O.o

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Angabe für Uref fehlt.

Autor: Herr Umbrarum (mxvalentine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja hab ich probiert, welche muss ich denn nehmen wenn ich einfach mit 
der Eingangsspannung vergleichen will?
 mit avcc geht es nicht :(

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht doch ohne Uref.

So geht es:

$regfile = "Attiny85.dat"
Config Pinb.4 = Output

Dim W As Word

Config Adc = Single , Prescaler = Auto
Start Adc

Do
W = Getadc(3)
If W > 500 Then
Portb.4 = 1
Else
Portb.4 = 0
End If

Loop
End

Autor: Herr Umbrarum (mxvalentine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm nein nicht so richtig, die Led wird zwar heller und dunkler aber 
nicht bei ca 2.5 Volt, sondern bei 1.25 ca, warum ist das so?
und warum geht die Led nicht ganz aus?

Liebe Grüße

Autor: Anselm 68 (anselm68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die LED auch mit einem Serienwiderstand versehen?
Irgendwas ab 270 Ohm

Config Adc = Single , Prescaler = Auto , aref = vcc <- sowas fehlt
sonst nimmt er vielleicht die interne Referenz..

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.