www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik kleinster AVR mit ADC u. UART


Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,

ist der "kleinste" AVR mit ADC und UART wirklich der Mega48 ?

Beim Tiny25 fehlt der UART , beim Tiny2313 die ADCs ...

Gruss
A. Arndt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wo ist das Problem?

Nimm ne SW-UART, dann sparste auch noch den MAX232 ein.

Nur Senden geht in SW bis etwa 460800 Baud.


Peter

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... sparste auch noch den MAX232 ein ...

Was haben SW-UART und HW-UART damit zu tun?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siegfried wrote:
> ... sparste auch noch den MAX232 ein ...
>
> Was haben SW-UART und HW-UART damit zu tun?

Man kann beim SW UART das Signal invertieren, so dass es direkt als 
RS232 Signal funktioniert.


@ A. Arndt

Ja, es ist wirklich der mega48.
Aber der hat wiederum keinen freien 8bit Port wenn man einen UART 
braucht.

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt K. (benedikt)

Die RS232-Pegel sind ab +/- 3  Volt definiert. Es kann funktionieren. 
Muß aber nicht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siegfried wrote:
> Die RS232-Pegel sind ab +/- 3  Volt definiert. Es kann funktionieren.

Ein MAX232-Receiver hat z.B. gültige Eingangspegel von +0,8V/+2,4V.


> Muß aber nicht.

Da muß man aber schon uralte RS-232 Chips aus der Mottenkiste ausgraben.


Empfängerseitig setzt man nen Widerstand und 2 Dioden vor den AVR, um 
die Pegel zu begrenzen oder nur den Widerstand und läßt die internen 
Schutzdioden begrenzen.


Peter

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe noch immer nicht wieso ich mir bei einem SW-UART den MAX232 
sparen kann.

Wenn der mit dem PC reden will dann muss der MAX232 sein!

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Dannegger (peda)

Der Hinweis auf die Mottenkiste ist nicht hilfreich. Bei mir im Bestand 
gibt es eine Reihe von Geräten, mit denen es ohne MAX232 o. ä. auf der 
Gegenseite nicht funktioniert.

Es bleibt dabei: die Schaltung kann - muß aber nicht - funktionieren.

Autor: Lluki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann mit dem USI (universal serial interface) des Attiny25 ein Uart 
bauen.
http://www.atmel.ru/Disks/AVR%20Technical%20Librar...

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich brauche aber kein RS232, nur Uart.

Also, ich habe in meinem Regenwassertank einen 
Reed-Magnet-Füllstandsensor.

Installationsrohr mit Reedkontakten alle 5cm vergossen und ein Schwimmer 
mit vielen Magneten drumrum.

Je nach Höhe (Füllstand) wird ein Sensor betätigt und über eine 
Widerstanddekade eine Spannung auf den AD-Port gegeben.

Diesen AD-Wert möchte über den UART an einen 2. AVR senden (ca. 10m 
entfernt), der diesen Wert dann anzeigt und weitere Operation 
durchführt,  z.B. Min.-Maxwert Alarm usw.

Der 1. Mess-AVR sitzt nun im Tank in einem IP-67-Gehäuse, aber da ist 
nicht viel Platz.

Software-UART wäre natürlich eine Alternative, muss nur zuverlässig 
sein, sonst evtl. Pumpe an o.ä.

Gruss
A. Arndt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. Arndt wrote:

> Software-UART wäre natürlich eine Alternative, muss nur zuverlässig
> sein, sonst evtl. Pumpe an o.ä.

Generell muß eine zuverlässige UART immer mit Quarz betrieben werden.

Die SW-UART ist exakt 100% so zuverlässig, wie ne HW-UART.

Allerdings können ja Störungen auf die Leitung einkoppeln, es empfielt 
sich daher ein Protokoll zu verwenden.

Und der ADC sollte auch mehrmals ausgelesen werden, ehe man dem Wert 
vertraut.


Peter

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A. Arndt (Gast)


>Installationsrohr mit Reedkontakten alle 5cm vergossen und ein Schwimmer
>mit vielen Magneten drumrum.

>Je nach Höhe (Füllstand) wird ein Sensor betätigt und über eine
>Widerstanddekade eine Spannung auf den AD-Port gegeben.

Das kann man auch ohne ADC auslesen. Entweder per IOs, ggf, mit 
Schieberegister aufbohren, oder per Low COst ADC, siehe Atmel Appliction 
Notes.

>Diesen AD-Wert möchte über den UART an einen 2. AVR senden (ca. 10m
>entfernt), der diesen Wert dann anzeigt und weitere Operation
>durchführt,  z.B. Min.-Maxwert Alarm usw.

Das kann man problemlos nahezu beliebig langsam laufen lassen, z.B. mit 
300 Baud und weniger. Und wenn es ganz einfach und dennoch solide sein 
dsol, dann codiert man die Bits über die Pulsbreite.

10ms ->0
20ms ->1

Pulsperiode 40ms oder mehr

Damit kann man einen Soft-UART mit internem RC-Oszillator betreiben ud 
es ist dennoch sicher.

>Der 1. Mess-AVR sitzt nun im Tank in einem IP-67-Gehäuse, aber da ist
>nicht viel Platz.

Für die Methode oben reicht ein 8-Piner ohne Quarz.

>Software-UART wäre natürlich eine Alternative, muss nur zuverlässig
>sein, sonst evtl. Pumpe an o.ä.

Trenne mal Soft-UART von MAX232. Das sind verschiedene Ebenen.
Bei der Länge und geschwindigkeit sollte 5V CMOS reichen, man braucht 
kein RS232 mit +/-12V.

MFG
Falk

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Dannegger (peda)

>Generell muß eine zuverlässige UART immer mit Quarz betrieben werden.

Wohl wahr ;-)

>Die SW-UART ist exakt 100% so zuverlässig, wie ne HW-UART.

Nöö, bestenfalls 99,9%. Denn ein Hardware-UART ist auf den Takt genau, 
egal was pasiert. Ein Soft-UART muss sich mit Interrupts und derem 
Timing rumschlagen. Allerdings reicht es bei richtiger Umsetzung für die 
Ansprüche von RS232.

MFG
Falk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:

> Nöö, bestenfalls 99,9%. Denn ein Hardware-UART ist auf den Takt genau,
> egal was pasiert. Ein Soft-UART muss sich mit Interrupts und derem
> Timing rumschlagen.

Da es hier nur ums Senden geht, sinds doch exakt 100%.
Das geht nämlich auch auf den Takt genau mit den OCxx-Ausgängen.
Erst wenn der Interrupt länger als eine volle Bitzeit verzögert wird, 
krachts.


Peter

P.S.:
Ich würde auch eine bitsynchronisierende Übertragung (Pulsdauer, 
Manchester usw.) nehmen, kann man dann aber nicht mehr mit der UART 
auswerten.
Spart aber den Quarz ein.

Autor: Freizeitbastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peda: Hier ist man nach Tests mit einem Keramikresonator statt Quarz 
zufrieden:

http://www.spiffie.org/kits/iduino/

Schöne Grüße

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Freizeitbastler (Gast)

>@peda: Hier ist man nach Tests mit einem Keramikresonator statt Quarz
>zufrieden:

Sicher, die haben 0,5..1% Toleranz, für RS232 ausreichend.

MFG
Falk

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, diese Klimmzüge, um mein paar Cent zu sparen.

Wenn ich 10.00/Jahr davon brauche, überleg ich mir's vielleicht auch. 
Aber für ein Einzelstück?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber für ein Einzelstück?

Nestbeschmutzer :-)
Immerhin melden sich die bekannten Schwatzbacken mit ihren klugen 
99,9%Ratschlägen.

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.