Forum: Mikrocontroller und Digitale Elektronik Datenlogger aufbauen..Tips?


von Boris D. (Gast)


Lesenswert?

Hallo,

es soll ein Datenlogger konstruiert werden und folgende Kriterien
sollte die Hardware erfüllen:

- min.8 Analogeingänge mit 8bit-Auflösung
- Speicherplatz für eine Woche bei einer Abtastrate von 2Hz,macht
ca10MB
- nach Möglichkeit eine USB-Schnittstelle für den PC
- Ansteuerung eines Displays zur permanenten Anzeige der Aktuallwerte
- In C++ oder noch besser mit Visual C++ zu programmieren

Welche Bausteine würde der Fachmann vorschlagen? Oder bin ich mit einem
µC total auf dem Holzweg?

Vielen Dank

Boris

von Tobi (Gast)


Lesenswert?

mit einem uC sollte das machbar sein. viele haben schon passende ADC
integriert, die deinen ansprüchen genügen. zum speichern könnte man z.b
eine mmc nehmen. für die usb schnittstelle wäre ein ftdi chip am
einfachsten. programmieren in C ist kein problem, c++ ist auf uC meist
etwas oversized. (visual c++ ist ms eigenname, ich denk nicht, dass ms
c compiler für uC (ausser für pda's) anbietet)

von mthomas (Gast)


Lesenswert?

mit µC nur dann auf den Holzweg, wenn eh ein "richtiger PC" vor Ort
ist, der staendig eingeschaltet ist. Dann "tut's" wahrscheinlich
eher eine relativ guenstige Messaufnehmerbox z.B. eine von Meilhaus mit
USB.
Ansonsonsten:
- (fast beliebiger) µC, am Besten mit integriertem AD-Wandler (z.B.
ATmega8/ATmega16)
- MM-Karte (MMC/SD), CF-Karte oder Dataflash als Speicher
- Standard Text-Display (z.B. 20 Zeichen *4 Zeilen)
- entweder uC mit integriertem USB-Kontroller oder ein USB-Chip von FT
"zwischen" µC und USB-Buchse
Mit Visual C++ kommt man auf einem uC nicht wirklich weiter. Eher auf
C++ verzichten und in "reinem" C mit einem zum gewaehlten uC
passenden Compiler entwickeln. Visual C++ kann man dann als
Entwicklungsumgebung nutzen und den entspechenden Compiler einbinden.
HTH, Martin

von Boris D. (Gast)


Lesenswert?

Aber vielleicht gibt es ein Add-on, das jemand geschrieben hat um visual
c++ zu µC-Programmierung zu benutzen.
Bevor ich mit C anfange, versuche ich es lieber mit delphi bzw. Pascal,
die kenne ich schon. Bei C und C++ bin ich blutiger Anfänger.

Frage ein ftdi chip ist das ein Hersteller oder eine µC-Art?

Gruß

Boris

von Boris D. (Gast)


Lesenswert?

@mthomas:

der PC dient nur gelegentlich zum Absaugen der Meßdaten und für
Präsentationszwecke. Den letzten Satz deines Beitrages verstehe ich
nicht ( stehe sicher mit zwei Füßen auf dem Schlauch ) Kannst du mir es
nochmal erklären?

@all:
Am liebsten wäre mir eine Lösung mit allen notwendigen Schnittstellen
on chip. Leider habe ich keinen blassen Schimmer welchen ich nehmen
sollte. Hier wäre ich für HIlfen sehr dankbar.

von raoul (Gast)


Lesenswert?

das mit dem USB ist vllt auch ein bisschen zu umständlich (sorry, aber
es ließt sich heraus, das du "keinen blassen Schimmer" hast :))

nimm doch lieber eine serielle schnittstelle. die ist sicher viel
einfacher auszulesen, und auch leichter mit dem mc zu verwirklichen!

mfg

von mthomas (Gast)


Lesenswert?

ftdi ft232 ist ein ziemliche "transparentes" teil, um den IC zu
verwenden, reicht auch "blasser Schimmer", uC-seitig genau nach
Beispielschaltung aus der FTDI Dokumentation an den uC-Uart und
PC-seitig den FTDI-Treiber installieren, der seinerseit eine virtuelle
COM-Schnittstelle bereitstellt.
Boris: mit dem "letzen Satz" ist genau das vermutete gemeint. Der
jemand ist Pascal Stang (google: procyon avr lib), er beschreibt, wie
man die Visual C++ Entwicklungsumgebung ("den Editor") mit den
avr-gcc Tools nutzt.

von Boris D. (Gast)


Lesenswert?

@raoul:

gerne würde ich die rs232 verwenden,nur leider besitzt das Notebook
keine mehr. Und die RS232-USB-Adapter sind nicht nach meinem Geschmack.
Ich denke damit handel ich mir mehr Arbeit ein als die reine
USB-Variante machen wird.

Aber wie gesagt, ich brauche Input und bin für alle Ideen offen.

@all: welchen µC verwendet ihr? Es wäre sicher sinnvoll ein weit
verbreitete Modellvariante zu nutzen. So hätte ich auch viele
kompetente Ansprechpartner. Macht mir doch mal Vorschläge für eine
komplette Entwicklungs-Plattform, von Chip über Entwicklungsboard, LCD,
Schnittstellenbausteine ( falls notwendig ), Speichermedien bis hin zur
Programmiersprache incl. Compiler.

Boris

von Boris D. (Gast)


Lesenswert?

da fällt mir ein, ich besitze einen GNU C++ - Compiler. Habe den noch
nie installiert, keine Ahnung ob man den für meine Zwecke nutzen kann.
Was sagt ihr?

Gruß

Boris

von mthomas (Gast)


Lesenswert?

mal die muehe gemacht: den gemachten vorschlaegen etwas nachzugehen? die
"1e5" threads, welche die suche ueber dieses forum fuer usb oder
(daten)logger auswirft zu lesen? auf den gnu seiten mal zu schauen, was
der "gnu c++ compiler" ist (insbesondere welche zielplattformen wie
unterstuetzt werden)?

von Boris D. (Gast)


Lesenswert?

Versuch Nr.:1.5Mio: (mein PC streikt!! )


Nach allen Recherchen, bin ich geneigt einen amtel µC zu verwenden.
Leider bin ich nicht ganz hinter die Vor- und Nachteile zwischen
Atmega16 und Atmega128 gestiegen.

Die Entwicklungsplatine mit USB finde ich sehr interessant, ich frage
mich, ob man einen USB-Stick als Speichermedium benutzen
kann.Flash_Speicher haben doch eine begrenzte Anzahl Schreibzyklen,oder
nicht?!

Leider ist diese AVR-Entwicklungsplatine nur für den Atmega16?! Es
sollte doch relativ problemlos damit ein USB-Betrieb sowohl zum
Programmieren als auch zum eigentlichen Aufgabeneinsatz möglich sein?!
Gibt es für den 128er eine ähnliche Platine?

Auch habe ich irgendwo aufgeschnappt, daß der Atmega16 nur drei
Adress-Bits hat, damit kann ich unmöglich 10MB(da nur 256 Adressen)
adressieren. Oder habe ich da etwas falsch verstanden?

Mein GNU C++ -Compiler: Was meinst du mit Zielplattform? Die µCs, die
evtl. angesprochen werden können? Da muß ich leider sagen, daß ich mich
noch nicht weiter damit beschäftigt habe, aber meines Wissens handelt es
sich hier mehr oder weniger um ein alternatives Produkt zu Visual C++.
Will sagen damit läßt sich wohl nur ein PC programmieren. Warum habe
ich gerade das Gefühl ziemlich wirres Zeug zu schreiben?! Ich brauche
noch mehr Input.

Übrigens unter Datenlogger habe ich nichts ausfindig machen können,
allerdings bin ich von den Suchfunktionen nicht so begeistert, da mein
Rechenknecht ständig hängen bleibt.

Gruß

Boris

P.S.: Deshalb möchte ich mein Notebook zum Programmieren benutzen,
dieses läuft stabil und wird nie in Kontakt mit dem Internet kommen.

von Tobi (Gast)


Lesenswert?

"Leider bin ich nicht ganz hinter die Vor- und Nachteile zwischen
Atmega16 und Atmega128 gestiegen."

der mega128 ist grösser und hat mehr speicher. genau details zu den
funktionen gibts hier:
http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC

"ich frage mich, ob man einen USB-Stick als Speichermedium benutzen
kann"

nein, nicht so ohne weiteres, da der usb stick einen usb host braucht,
den kaum ein uC onboard hat.

"Flash_Speicher haben doch eine begrenzte Anzahl Schreibzyklen,oder
nicht"

ja, das ist richtig. nimm eine speicherkarte, die kannst du, falls sie
wirklich mal platt sein sollte austauschen. aber bei einmal alle 1-2
wochen beschreiben dürfte das einige viele jahre dauern

"Auch habe ich irgendwo aufgeschnappt, daß der Atmega16 nur drei
Adress-Bits hat, damit kann ich unmöglich 10MB"

drei adressbits? die 10mb wirst du extern speichern können. bei
speicher mit paralleler ansteuerung kannst du alle ports als adressbus
nehmen und bei serieller ansteuerung (z.b bei mmc) brauchst du sowieso
nur ein paar pins

von Boris D. (Gast)


Lesenswert?

Gibt es denn eine USB-Entwicklungplatine für den Atmega128? Dann wäre
meine Entscheidung schon gefallen.

Kommen wir nun zum Programmieren, wenn ich nun in C++ programmieren
möchte, welche Software bietet sich da an? Oder bin ich mit dem µC an C
gebunden?

Gruß
Boris

von Tobi (Gast)


Lesenswert?

für die avr's gibts den gcc compiler, der natürlich dann auch c und c++
kann. einige c++ sprachelemete (z.b klassen o.ö) erzeugen aber einen
sehr grossen verwaltungsoverhead, der für einen 8bit controller mit
begrenztem speicher schnell zu viel werden kann. vondaher ist c wohl
besser geeignet und bei lowlevel anwendungen, was bei uC eigentlich
immer der fall ist, kommt man meist sowieso mit dem c befehlssatz aus

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.