Guten Morgen erst einmal,
zu erst einmal was ich vorhabe:
Ich will mit einem ATTINY44 eine Spannung (ADC) messen und diese dann
über UART an die RS-232 meines PCs senden. Der ATTiny soll über eine 5V
Spannung von meinem PC Netzteil versorgt werden (rotes Kabel) und
natürlich Masse auch am Netzteil (schwarzes Kabel).
Die Kommunikation wollte ich mittels One Wire Bus realisieren.
Ich habe bis jetzt vor, dass sich der ATTiny als DS1820 ausgibt und die
Spannung quasi als Temperatur übermittelt (Ist letztendlich ja nur eine
Interpretation der Werte).
Das wollte ich machen, da ich gleichzeitig noch 3 DS 18S20 auch per
RS-232 anbinden will, nach dieser Beschreibung:
http://lena.franken.de/hardware/temperaturmessung.html
Schaltbild: http://lena.franken.de/hardware/schaltung_925_525.gif
Die DS18S20 lassen sich parallel betreiben und wenn der ATTiny das selbe
Protokoll spricht, sollte dies mit ihm ja auch gehen.
Ich habe nun schon einiges darüber gelesen und habe nun noch folgende
Frage, da ich auf diesen Artikel gestoßen bin:
ht-tp://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Selbstb
au
Schaltbild:
http://www.mikrocontroller.net/wikifiles/f/f6/Mega8_Tutorial.png
Eigentlich dachte ich, es würde reichen, den ATTiny direkt mit der 5V
Leitung meines Netzteiles zu betreiben, allerdings ist in dem Schaltbild
noch vieles mehr (Kondensator, Widerstände, usw).
Ist dies letztlich nötig oder übersehe ich da irgendetwas?
Benutzen wollte ich Debian mit avrdude, digitemp und folgender Hardware:
http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-USB-ISP/3/index.html?ARTICLE=110344http://www.reichelt.de/Atmel-Attiny-AVRs/ATTINY-44-20-SSU/3//index.html?ARTICLE=69199
Vielen Dank schon einmal für das Lesen
Simon
Simon schrieb:> http://www.mikrocontroller.net/wikifiles/f/f6/Mega8_Tutorial.png>> Eigentlich dachte ich, es würde reichen, den ATTiny direkt mit der 5V> Leitung meines Netzteiles zu betreiben, allerdings ist in dem Schaltbild> noch vieles mehr (Kondensator, Widerstände, usw).>> Ist dies letztlich nötig oder übersehe ich da irgendetwas?
Das sind vier Kondensatoren und ein Widerstand. Drei der Kondensatoren
dienen als Abblock-Kondensatoren. Auf diese sollte man nicht verzichten.
Der vierte dient zusammen mit dem Widerstand als Resetschaltung. Darauf
kann man gut verzichten, wenn man nicht mit extrem langsam ansteigender
Versorgungsspannung rechnet.
Das letzte verbleibende Bauelement ist ein Quarzoszillator. Der ist die
Taktqelle für den Tiny. Wenn man einen quarzgenauen Takt braucht, kann
man auf den nicht verzichten, ihn höchsten durch einen Quarz und noch
zwei zusätzliche Kondensatoren ersetzen. Wenn hingegen der interne
RC-Generator des ATiny genau genug für die gewünschte Anwendung ist,
kann man ihn weglassen.
Vom Konzept her könnte das sicherlich klappen, aber das Protokoll des
DS1820 nachahmen bedeutet schon allerhand Aufwand.
Du solltest dein Ziel verfolgen:
Du möchtest 3 Temperatuen und eine Spannung per RS-232 übertragen.
Kein Problem, klemm die DS1820 an den Tiny44. Dieser misst die
Temperaturen und eine Spannung und sendet die Daten schön aufbereitet an
den PC (per serieller Schnittstelle)
Dann funktioniert das auch am USB-Serial-Wandler.
Das Projekt wäre in 2 Stunden duchgewunken. Das Protokoll des DS1820
nachbilden würde ich mit wesendlich mehr Aufwand veranschlagen.
18x20 sprechen 1wire. Die lassen sich mit der verlinkten Schaltung zwar
an einer PC-Seriell-Schnittstelle betreiben. Aber ein MC als 1w-Slave,
das geht nicht.
Brauchts aber auch nicht, denn der könnte ja Seriell an den PC und dann
selbst die 1w abfragen. Tiny44 hat aber keine HW UART, d.h. es wird
tricky.
c-hater schrieb:> Der vierte dient zusammen mit dem Widerstand als Resetschaltung. Darauf> kann man gut verzichten, wenn man nicht mit extrem langsam ansteigender> Versorgungsspannung rechnet.
Und selbst dann geht es ohne. Alle modernen Tinys haben einen BOD und
halten den Controller auch beim langsam ansteigener Spannung solange
sauber im Reset bis die Spannung ok ist.
gruß cyblord
Hi
>Wenn Tiny, dann Attiny2313, mit UART
Er braucht aber einen ADC. Dann lieber einen ATtiny1634. Hat ADC und
sogar zwei richtige USARTs. Allerdings nur in 20-pad QFN/MLF und 20-pin
SOIC.
MfG Spess
Ich habe hier mal mein erstes Testprogramm für den ATMega8 geschrieben.
Die Spannung wird gelesen an PC0 (ADC0).
Gesendet wird an (TXD) PD1. (Kann man auch nicht verstellen, zumindest
habe ich keine Möglichkeit gefunden)
Zum Vergleichen habe ich die interne Referenzspannung gewählt.
Diese Spannung dient doch lediglich zum Vergleichen, oder?
D.h. wenn ich weiß, ich will zwischen 0,9 und 1,4V messen, ist eine
Referenzspannung von 1,5V sinnvoll. Wie ist die Ausgabe dann zu werten,
ist die Ausgabe dann quasi in Bezug zur Referenzspannung zu werten? Also
dann Ausgabe multipliziert mit der Referenzspannung ergibt meine
gemessene Spannung?
Das Programm sollte immer, wenn ein neuer (geändert, nicht neue Messung)
Wert in ADC steht diese an den PC senden. Ich weiß, dass der
übliche/bessere Weg über Interrupthandling geht, allerdings dachte ich,
ist es so zum ersten antesten einfacher.
Getestet habe ich das Programm noch nicht, habe ja noch keine Hardware
da, aber ich dachte, wenn da mal jemand drüber schauen kann, wäre das
nett.
Im Prinzip muss ich dann ja nur diese 2 Schaltbilder vereinen:
http://www.mikrocontroller.net/wikifiles/e/ee/AVR-RS232.pnghttp://www.mikrocontroller.net/wikifiles/f/f6/Mega8_Tutorial.png
Ich habe nun schon öfter "Sockel" auf Bildern gesehen, in welche die µC
hinein gesteckt werden, jedoch habe ich soetwas in keinem Shop gefunden,
wie heißen die den, dass ich da mal gezielt suchen kann?
Die Frage mit den zwei Pfeilen steht noch.
Grüße