mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik tiny26 adc nur 6 bit?


Autor: Christoph Stein (155christo)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag

Der adc bei meinem tiny26 spinnt. Lade ich das beiliegende Programm und 
verändere über ein 10K Poti (Enden an Vcc und GND ; Mitte am µC) an 
adc(1) langsam die Spannung gibt der µC per SoftUART nur jeden 16ten 
Wert aus. (Statt 10bit Auflösung also nur 6bit.)

Ein Ausschnitt am Terminal sieht z.B. so aus:

ADC :     94    1    350
ADC :     94    1    350
ADC :     110    1    366
ADC :     110    1    366
ADC :     110    1    366
ADC :     126    1    382
ADC :     126    1    382
ADC :     126    1    382
ADC :     142    1    398
ADC :     142    1    398
ADC :     158    1    414
ADC :     158    1    414
ADC :     158    1    414
ADC :     174    1    430
ADC :     174    1    430
ADC :     190    1    446
ADC :     190    1    446

Ich habe also 16 Digit Sprünge. (Ich lese aus Neugierde ADCL und ADCH 
getrennt aus und zusätzlich per = Getadc(1) das Gesamtresultat, siehe 
Software.)

Am µC habe ich Vcc und Avcc auf +5V, beide GND auf Masse, am Aref 100nF 
nach GND und an Pb6 über 470R und GND eine Verbindung zum PC)

Woran liegt es? Mache ich da was falsch oder ist der µC kaputt?

Danke fürs Lesen. Wer kann helfen?

Christoph

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph Stein wrote:
> (Ich lese aus Neugierde ADCL und ADCH
> getrennt aus und zusätzlich per = Getadc(1) das Gesamtresultat, siehe
> Software.)
Liest Du ADCL und ADCH auch in der richtigen Reihenfolge aus (erst 
Low-Byte, dann High-Byte)? Wenn nicht, dann kommt auf jeden Fall Murks 
raus!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja tut er, soweit ich Basic verstehe...

Autor: Christoph Stein (155christo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes M. wrote:

> Liest Du ADCL und ADCH auch in der richtigen Reihenfolge aus (erst
> Low-Byte, dann High-Byte)? Wenn nicht, dann kommt auf jeden Fall Murks
> raus!

In dieser Reihenfolge:

  C = Getadc(1)

  A = Adcl
  B = Adch

(Siehe tiny26_adc_01.bas)

Christoph

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber ne Datei eines Formats, das ich nicht direkt öffnen kann, 
ignoriere ich aus Prinzip!

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes M. wrote:
> Sorry, aber ne Datei eines Formats, das ich nicht direkt öffnen kann,
> ignoriere ich aus Prinzip!

Du kannst die Datei direkt öffnen. Sie wird als Text angezeigt. Aber 
wenn du sooooo misstrauisch bist....
$regfile = "attiny26.dat"
$crystal = 1000000

Config Adc = Single , Prescaler = Auto ,

Dim A As Byte
Dim B As Byte
Dim C As Word

Open "COMB.6:9600,8,N,1,Inverted" For Output As #1

Waitms 500

Print #1 , "HALLO"


Do

  Start Adc

  Waitms 100

  C = Getadc(1)

  A = Adcl
  B = Adch

  Stop Adc

  Waitms 100

  Print #1 , "ADC : " ; "    " ; A ; "    " ; B ; "    " ; C

  Waitms 500

Loop

End

Gruß,
Magnetus

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magnus Müller wrote:
> Johannes M. wrote:
>> Sorry, aber ne Datei eines Formats, das ich nicht direkt öffnen kann,
>> ignoriere ich aus Prinzip!
>
> Du kannst die Datei direkt öffnen. Sie wird als Text angezeigt. Aber
> wenn du sooooo misstrauisch bist....
Nein, ich kann sie nicht direkt öffnen. Wenn das ginge, dann hätte ich 
es auch getan! Ich kann sie nur auf meiner Festplatte speichern und 
dann öffnen, was ich aber nicht mache...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ATTiny26 kann definitiv 10 Bit wandeln:

Beitrag "ADC mit Multiplexanzeige"


Ob nun die speziellen Funktionen und Parameter des Bascom richtig 
verwendet werden und den richtigen Code erzeugen, kann ich nicht 
erkennen (hab kein Bascom).


Ich lese immer das Datenblatt und steuere dann die Peripherie direkt an 
ohne irgendwelche Blackboxes und Wizards.


Peter

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du weißt aber, dass die erste Wandlung nach dem Einschalten des ADC 
i.d.R. Müll liefert? Wenn Du jedes Mal den ADC komplett neu startest 
(und ich vermute mal, dass "Start Adc" genau das macht, nämlich das 
ADEN-Bit setzt; ansonsten macht ja auch "Stop Adc" wenig Sinn), dann 
kannst Du die erste Wandlung getrost wegschmeißen. Ich kenn mich mit 
Bascom nicht sonderlich aus, aber ich vermute, dass die Funktion Getadc 
bereits die Wandlung startet. Den ADC jedes mal danach komplett 
auszuschalten und dann vor der Wandlung wieder einzuschalten, ist aus 
o.g. Gründen völliger Unsinn.

Autor: Oops (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Johannes M.

>> Du kannst die Datei direkt öffnen. Sie wird als Text angezeigt. Aber
>> wenn du sooooo misstrauisch bist....
>Nein, ich kann sie nicht direkt öffnen. Wenn das ginge, dann hätte ich
>es auch getan! Ich kann sie nur auf meiner Festplatte speichern und
>dann öffnen, was ich aber nicht mache...

Dann solltest Du die Datei garnicht anklicken. Was meinst Du denn was 
passiert, wenn Du Sie anklickst. Sie wird auch auf der Festplatte 
gespeichert.

Gruss
Oops

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oops wrote:
> Dann solltest Du die Datei garnicht anklicken. Was meinst Du denn was
> passiert, wenn Du Sie anklickst. Sie wird auch auf der Festplatte
> gespeichert.
Und wieder einer, der nicht kapiert, worum es geht! Es geht mir nicht 
darum, irgendwas zu speichern oder nicht, sondern darum, dass es 
Dateiformate gibt, die ohne großartiges Rumfuddeln durch einfaches 
Anklicken im Browserfenster geöffnet werden können.

Das geht mit .txt-, .asm- und .c-Dateien reibungslos (wobei letztere 
mittlerweile auch direkt als formatierter Code verfügbar sind). 
.bas-Dateien gehören anscheinend nicht (oder nicht in allen Browsern) 
zum erlauchten Kreis...

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[off topic]
Mich persönlich nervt es am meisten, wenn Schaltpläne und Layouts als 
.sch und .brd geposted werden.
[/off topic]

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ magnetus

mich stört das eigentlich nicht, bei Fragen etc. kommt das eh nur 
äußerst selten vor. Und bei Projekten kann jeder machen, was er für 
richtig hält. Wobei ich dort ein zusätzliches PNG für sinnvoll halte.

Gruß Jörg

Autor: Oops (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Dann solltest Du die Datei garnicht anklicken. Was meinst Du denn was
>> passiert, wenn Du Sie anklickst. Sie wird auch auf der Festplatte
>> gespeichert.
>Und wieder einer, der nicht kapiert, worum es geht! Es geht mir nicht
>darum, irgendwas zu speichern oder nicht, sondern darum, dass es
>Dateiformate gibt, die ohne großartiges Rumfuddeln durch einfaches
>Anklicken im Browserfenster geöffnet werden können.

Und wieder einer der nicht schreibt was er meint.

Gruss
Oops

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würde mal ADIF auswerten statt 100mSek zu warten. Könnte es sein das 
du mittels Kondensator das Analoge Signal zu stark dämpfst und es 
deshalb in Verbindung mit der 100mSek Pause zu diesem Anstieg oder 
Abfall von 16 kommt?

Probier mal folgendes
1. Ein 1k Poti statt des 10k Potis nehmen oder den Kondensator gegen ein 
kleineres Model austauschen z.B. Kerko 100nF
2. Das ADIF auswerten so erreichst du höhere Sempleraten als 10 Hz und 
hattest dadurch auch die Chance irgendetwas zw. den 16 Werten zu messen. 
Zusammen mit den weiteren 500mSek kommst du ja nicht mal auf 0,5 
Wandlungen pro Sekunde, deshalb denke ich auch das du da nen riesen Elko 
zum dämpfen drinhast der fehl am Platz ist

Autor: Christoph Stein (155christo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem hat sich erledigt.

Ich habe den tiny26 gegen einen mega8 getauscht, den ich noch in der 
Kiste zu liegen hatte, sonst aber nichts geändert und es funktioniert 
reibungslos. Offenbar hat der tiny26 tatsächlich einen Schuß.

Danke fürs Lesen

Grüsse

Christoph

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.