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
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)
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
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
@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.
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
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.
@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
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
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)?
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.
"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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.