Forum: Mikrocontroller und Digitale Elektronik 5 bit AD Wandler mit ATtiny13


von Nitram L. (nitram)


Lesenswert?

Hallo Forum,
mit der Programmierung habe ich es nicht so. Ich bin eher in der 
analogen
Welt zu Hause. Allerdings stehe ich vor einem Problem, das förmlich nach 
einem AVR schreit.

Zur Ausgangssituation:
Ich habe ein analoges Signal, das sich in 250mV Schritten ändern kann.
Am Ausgang der BlackBox kann man folgende Spannungen messen:

0,000V
0,250V
0,500V
0,750V
1,000V
1,250V
...

Ich möchte jetzt dieses Spannungen wieder "digitalisieren".
Dazu habe ich mich unter den AVR umgeschaut und mir ist der ATtiny13
ins Auge gefallen. Der hat 6 IO - genau was ich brauche.
1 analoger Eingang und 5 digitale Ausgänge....

Was soll das Programm machen? Für Leute die es können bestimmt keine 
unlösbare Aufgabe - eine 5 bit AD Wandlung...
Aus dem Eingangssignal soll entsprechend das Bitmuster gebildet werden:
0,000V => 00000
0,250V => 00001
0,500V => 00010
0,750V => 00011
1,000V => 00100
1,250V => 00101
...
7,500V => 11110
7,750V => 11111

Das das Eingangssignal 0-10V an den Eingangsbereich des AVR angepasst 
werden muss ist mir klar und auch nicht das Problem. Vielmehr das 
Programm für den AVR.
Die Ausgänge sollten nach Möglichkeit nicht ständig flattern, sondern 
vielmehr erst dann wenn das Signal stabil anliegt.
Zum Thema "Wie schnell ändert sich das Eingangssignal?"
Nur maximal einmal pro Sekunde nimmt das analoge Signal einen neuen 
Pegel an...


Ich suche jetzt nicht den Ratschlag "arbeite dich ein" vielmehr jemanden
der mir das Programm schreibt. Einfach nur aus Hilfsbereitschaft.

nitraM

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Nur mal so aus Neugier, was machst du denn mit dem Output? Als digitalen 
Input wirst du ihn vermutlich nicht verwenden wollen, weil dir eine 
Clock-Leitung fehlt...

von Alex S. (thor368)


Lesenswert?

Tach Martin,

ein tiny13 ist möglich aber ein bischen krampfig zu programmieren. Ein 
tiny24 ist kaum teurer und wirklich entspannter in der Handhabung.

Versteht mich jetzt nicht falsch ich schreibe dir das Programm gerne. 
Aber ohne ein bischen Hintergundwissen wirst du mit µC nicht warm 
werden. Das geht mit dem programer los und hört beim debugging auf.

Thor

von assembler (Gast)


Lesenswert?

Alex S. schrieb:
> krampfig zu programmieren

aber nicht bei einem 20 zeiler in assembler

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Alex S. schrieb:
> ein tiny13 ist möglich aber ein bischen krampfig zu programmieren.

Ich würd auch den ATtiny13A nehmen, der normale 13 ist überholt. Aber 
was meinst du mit "krampfig"?

> Ein
> tiny24 ist kaum teurer und wirklich entspannter in der Handhabung.

Das mit dem Preis stimmt, aber was meinst du mit "entspannter"?

von spess53 (Gast)


Lesenswert?

Hi

>aber nicht bei einem 20 zeiler in assembler

33.

>Ich würd auch den ATtiny13A nehmen, der normale 13 ist überholt. Aber
>was meinst du mit "krampfig"?

Weil für die Anwendung der RESET-Pin weggefust werden muss.

MfG Spess

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

spess53 schrieb:
> Weil für die Anwendung der RESET-Pin weggefust werden muss.

Ah, jetzt ja, du hast Recht. Dann lieber ein paar Cent mehr für ein paar 
extra Pins.

von spess53 (Gast)


Lesenswert?

Hi

>Ah, jetzt ja, du hast Recht. Dann lieber ein paar Cent mehr für ein paar
>extra Pins.

Mit dem richtigen Equipment kein wirkliches Problem.

MfG Spess

von Frank K. (fchk)


Lesenswert?

Martin L. schrieb:
> Hallo Forum,
> mit der Programmierung habe ich es nicht so. Ich bin eher in der
> analogen
> Welt zu Hause. Allerdings stehe ich vor einem Problem, das förmlich nach
> einem AVR schreit.

Sehe ich nicht so. Wird das ein Einzelstück? Wenn ja, wirst Du mit einem 
TLC0820A oder AD7819 oder irgendeinem anderen Standalone-ADC wohl besser 
zurechtkommen. Der funktioniert auch ohne Microcontroller, und Du 
brauchst niemandem gute Worte für einen vorprogrammierten AVR oder PIC 
geben.

fchk

von Nitram L. (nitram)


Lesenswert?

Hallo,
vielen Dank für den Tipp mit dem AD7819 - ich werde mir den mal genauer 
ansehen. Allerdings habe ich schon mal versucht ihn bei den "Standard 
Versendern" zu finden. Leider ohne Erfolg...

Kennt jemand noch weitere Standalone ADC???
Geschwindigkeit spielt keine Rolle, da ich nur 5 Bit brauche muss es 
auch kein "Monster" sein, idealerweise auch für "kleines" Geld...

Vielen Dank!
nitraM

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin L. schrieb:
> Aus dem Eingangssignal soll entsprechend das Bitmuster gebildet werden:
> 0,000V => 00000
> 0,250V => 00001
> :
> 7,500V => 11110
> 7,750V => 11111
Mit 5 Bit auf knapp 1/10 Promille genau? Muss bei 0,249V garantiert 
noch 00000 herauskommen, bei 0,250V aber sicher 00001? Und das 
zuverlässig linear hoch bis 7,749V und 7,750V?

Ein Tipp für die Zukunft: lass die 3. (und auch die 2.) Nachkommastelle 
weg wo sie keinen Sinn mehr macht, oder mit vertretbarem Aufwand für 
dich nicht mehr realisierbar ist...

von Nitram L. (nitram)


Lesenswert?

Hi Lothar,
vielen Dank für diesen überflüssigen Beitrag.


nitraM

von mitleser (Gast)


Lesenswert?

>vielen Dank für diesen überflüssigen Beitrag.

Hast du eigendlich verstanden was Lothar geschrieben hat?

von Peter D. (peda)


Lesenswert?

Martin L. schrieb:
> Die Ausgänge sollten nach Möglichkeit nicht ständig flattern, sondern
> vielmehr erst dann wenn das Signal stabil anliegt.

Das wirst Du mit einem einfachen ADC aber nicht schaffen.

In einen MC könnte man natürlich ne Menge einprogrammieren, z.B.:
1. eine Hysterese programmieren.
2. den Wert erst übernehmen, wenn 100ms der gleiche Wert anliegt.
3. den Eingang kalibrieren und im EEPROM abspeichern.

Interessant wäre aber schon, was Du mit den 5 Bits machen willst.


Peter

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin L. schrieb:
> Hi Lothar,
> vielen Dank für diesen überflüssigen Beitrag.
Keine Ursache, wenns geholfen hat...

Du hast aber offenbar nicht erkannt, worauf es mir angekommen ist. Meine 
Frage lautete:
Was willst du eigentlich machen?
Weißt du selber, welche Toleranzen du dir gönnen darfst?

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.