Wer hilft: USB-Datenlogger mit ATmega8U2/4/8 (ggf. auf Arduino MEGA 2560)

volker-frankfurt

Neues Mitglied
10. Apr. 2011
4
0
0
75
Sprachen
Wer hat Erfahrung wie man den digitalen Datenstrom eines Sensors mit Hilfe eines geeigneten AVR-Controllers fortlaufend (via USB) an einen PC übergibt und dort lückenlos auf der Festplatte archiviert. Der Sensor erzeugt pro Sekunde 10 000 Datenworte mit je 8 bit Länge (auf einem 8 bit breiten Bus mit 10 kHz Clocksignal). Also sind (netto) 80 kBaud über die USB-Schnittstelle zu transportieren.

Es besteht auch die Möglichkeit, das ursprüngliche Signal Sensors als Frequenz im Bereich von 500 bis 1000 kHz auf einen 8 bit Zähler des AVR zu geben und diesen alle 100 Mikrosekunden auszulesen.

Die Latenzzeit ist unkritisch, so dass die Daten im AVR zunächst in einem FIFO-RAM gesammelt werden könnten, um sie dann in größeren Intervallen (paketweise) vom PC via USB „abzufragen“. Auch auf der Ebene des PC sind viele Fragen bezüglich der am besten geeigneten Treibersoftware zu klären, denn der Datentransfer soll auch auf Subnotebooks in allen gängigen Windows-Versionen klaglos funktionieren.

Ich selbst bin Analogentwickler und habe keinerlei Erfahrung mit den AVR Controllern. Eine fundierte Einarbeitung in die Welt der Controller lohnt sich für mich nicht, denn ich bin nur selten mit derart „weitreichenden“ Projekten konfrontiert. Daher suche ich gute fachliche Unterstützung bei der Lösung der oben skizzierten Aufgabe – idealerweise aus der Region Rhein-Main. Bei tatkräftigem Einsatz kann auch ein Honorar vereinbart werden.

Für weitere Fragen stehe ich gerne per Email oder Telefon zur Verfügung.

volker-frankfurt
 
Hi
Nun, da du von vornherein die Einarbeitung in die Programmierung eines µC's ablehnst, wirst du wohl oder übel dir einen Programmierer anheuern müssen. Wir helfen zwar gern, aber so nach dem Motto, "mir ist das zu schwer, macht ihr das mal. Na ja, ein bisschen Lohn liegt vielleicht auch nich drin" ist nicht grad motivierend.....
Aber wie auch immer, es findet sich sicherlich ein hilfreicher Mensch.:cool:
Gruß oldmax
 
Hi Volker,

Hi
Nun, da du von vornherein die Einarbeitung in die Programmierung eines µC's ablehnst, wirst du wohl oder übel dir einen Programmierer anheuern müssen. Wir helfen zwar gern, aber so nach dem Motto, "mir ist das zu schwer, macht ihr das mal. Na ja, ein bisschen Lohn liegt vielleicht auch nich drin" ist nicht grad motivierend.....
Das ist wohl das Hauptproblem weil hier eigentlich alle mehr oder weniger hobbymäßig programmieren.

Wie würde das denn im Garantiefall aussehen ? Oder wenn derjenige keine Zeit oder Lust hat das Programm weiter zu betreuen ?

Zu USB ... 80kBaud sind kein Thema. Das gehtüsogar noch über ne normale Serielle ;)

Gruß
Dino
 
Hallo oldmax,

Es ist ja nicht so, dass ich die Einarbeitung ins Programmieren grundsätzlich ablehne. Meine Aufgabenschwerpunkt liegt z.Z. darin den analogen Teil des Sensors zu entwickeln. Und der ist nicht trivial: Da sind Stöme von 10 hoch -12 Ampere zu messen. Da kannst du fast schon die vorbeischwimmenden Elektronen einzeln mitzählen. Mein Problem mit den Controllern liegt eher darin, dass ich derzeit mangels Erfahrung noch nicht mal in der Lage bin ein vernünftiges Pflichtenheft vorzulegen. Meine Idee war nun die, mal zu sehen, ob es versierte Amateure gibt, die für mein Problem einen Lösungsweg sehen. Ich will ja auch nichts geschenkt haben - der "Anbieter" soll mir einfach vorab agen, welches Honorar sein "guter Rat" zur Folge hat.
 
Hi Volker,


Das ist wohl das Hauptproblem weil hier eigentlich alle mehr oder weniger hobbymäßig programmieren.

Wie würde das denn im Garantiefall aussehen ? Oder wenn derjenige keine Zeit oder Lust hat das Programm weiter zu betreuen ?

Zu USB ... 80kBaud sind kein Thema. Das gehtüsogar noch über ne normale Serielle ;)

Gruß
Dino


Hallo dino03,

ich kenne die von dir angesprochen Punkte zum Thema Qualität und Zuverlässigkeit. Denn ich war 20 Jahre lang Geschäftsführer eines High-Tech-Unternehmens. Dort habe ich sehr intensiv - und mit besten Resultaten - talentierte Schüler und Studenten an anspruchsvolle Entwicklungsaufgaben gesetzt. Für die Qualität der abgelieferter Arbeit muss ich in solchen Fällen immer selbst meinen Kopf hinhalten. Das ist oft auch eine Frage der Menschenkenntnis - ich bin ein "elder statesman" (Jahrgang 1949).

Und nun kurz zu deinem Kommentar bezüglich der Übertragungsgeschwindigkeit: Ich habe die bei mir anliegende Aufgabe bereits bei einem halbend Dutzend Ingenieurbüros (Vollprofis) angefragt. Die haben alle ein "großes Ding" aus meiner Geschwindigkeitsvorgabe gemacht und wollen ein "Riesenprojekt" dazu aufsetzen - wahrscheinlich habe die derzeit alle Auftragsflaute.

Vielleicht kannst du jetzt meine Intention, mal in diesem Forum bei "cleveren Amateuren" anzufragen, besser verstehen.

Viele Grüße von

Volker
 
Hallo zusammen,

ich weiß ja nicht wie die Sensorwerte in den Mikrocontroller kommen sollen, aber die USB-Anbindung könnte man auch mit einer USB-UART-Bridge (z.B. CP2102) realisieren, so dass man praktisch jeden AVR mit USART verwenden kann.

Die Mikrocontrollermodule MEGA128-USB und Xmega-A1-USB nutzen zum Beispiel diese USB-USART-Bridge. Bei den Modulen ist eine Übertragungsrate bis 250kBit/s möglich.

Hier mal ein Beispiel wie es aussieht, wenn man einen Sinus aus einer Flashtabelle mit 1024 Stützstellen und 12bit Auflösung überträgt und grafisch darstellt (Xmega-A1-USB, hatte ich mal zum Testen programmiert).

[video=youtube;dK3_dgxTSfw]http://www.youtube.com/watch?v=dK3_dgxTSfw[/video]

Und hier eine Übertragung von Werten des ADC vom Xmega-A1-USB, ebenfalls 1024 Werte je 12Bit. Ich hatte hier mal testweise meinen Finger am ADC pin als Funktionsgenerator genutzt, ist also nicht kalibriert ;)

[video=youtube;QRpZKNRCQHw]http://www.youtube.com/watch?v=QRpZKNRCQHw[/video]

Ich muss hier noch dazu sagen, dass die Übertragung via direktem USB Treiber abläuft, nicht über den virtuellen COM Port VCP, bezüglich der Übertragungsrate ist das aber auch möglich, man muss eben "nur" auf der PC Seite die COM Schnittstelle nutzen.



Grüße,
Dirk
 
Hi Volker,

Und nun kurz zu deinem Kommentar bezüglich der Übertragungsgeschwindigkeit: Ich habe die bei mir anliegende Aufgabe bereits bei einem halbend Dutzend Ingenieurbüros (Vollprofis) angefragt. Die haben alle ein "großes Ding" aus meiner Geschwindigkeitsvorgabe gemacht und wollen ein "Riesenprojekt" dazu aufsetzen - wahrscheinlich habe die derzeit alle Auftragsflaute.
dann mach ich mal einen auf klever ... aber zum programmieren fehlt mit die Zeit ... :(
für nen paar Infos reicht es aber allemal ... ;)

Also der normale COM-Port bei nem PC kann schon bis maximal 115kBit/s. Wenn man
jetzt mit 8Bit, 1 Startbit, 2 Stopbits rechnet und noch eine Bitzeit als Luft reinsetzt
dann sind das ...
115kBit / 12 => 9,58333 kChr/s (boah ... KiloCharacter pro Sekunde :rolleyes:)
Das schafft man also schon mit nem ganz popeligen MAX232-Pegelwandler an einer
RS232.

Mit nem FT232RL-USB-Wandlerbaustein kann man den UART des Controllers bestimmt
auf über 1 MBit/s hochziehen. Wenn man Spaß haben will auch über 2MBit/s. In den
Regionen war ich auch schonmal mit nem MAX232 an einem USB-Dongle :rolleyes:
Die Geschwindigkeit ist also kein Hexenwerk. Ich muß das in der nächsten Zeit nochmal
testen wie weit das hochgeht ...

Wenn die Daten dann am PC ankommen ist es am einfachsten wenn man den ganzen
Datenstrom erstmal mit nem popeligen Terminalprogramm in eine Logdatei schreiben
läßt. Wenn man es in Echtzeit braucht, dann ist natürlich auf PC-Seite auch noch
etwas Programmierarbeit gefragt.

Da muß man kein riesen Projekt draus machen. Kommt jetzt eigentlich nur drauf an wie
man den Sensor an den Atmel koppeln kann (Datenmäßig).

Gruß
Dino
 
Da muß man kein riesen Projekt draus machen. Kommt jetzt eigentlich nur drauf an wie
man den Sensor an den Atmel koppeln kann (Datenmäßig).

Gruß
Dino


Das primäre Signal des Sensors ist eine Frequenz (HC-Logic, 5V) im Bereich von 500 bis 1000 kHz. Diese kann auf einen 8-bit-Zählereingang des AVR gelegt werden. Alle 100 Mikrosekunden ist der Zähler auszulesen (und rückzusetzen). So entstehen die 10 000 Datenworte mit je 8 bit pro Sekunde, die via USB zum PC transportiert werden sollen. Dort sollen sie lediglich (lückenlos und überlappungsfrei) in einer Datei auf HDD abgelegt werden.
 
Wer hilft?

Hallo Volker,

habe gerade ein Projekt abgeschlossen, welches Sensordaten über USB an PC's sendet.
Über normale UART-Schnittstellen lassen sich mit ein bisschen "Tüftelei" bis zu 2 Mbit versenden. Beim Empfang sieht es beim ATMega natürlich etwas anders aus. Aber senden ist kein Problem!

Auf der PC-Seite kann es je nach verwendetem USB Chipsatz ebenfalls Probleme geben, wenn der Datenstrom kontinuierlich sein soll. Aber da gibt es natürlich auch ein paar nette Tricks.

Wie soll denn die Mithilfe aussehen? Ich kann Dir gerne eine komplette Interfacebaugruppe aufbauen (notfalls mit Gehäuse etc.) und auch die entsprechende Software zu ATMega und PC schreiben.
Ganz umsonst geht das natürlch nicht, aber da ich einiges an "Vorarbeit" gerade geleistet habe, sollte das für einen vernünftigen "Kaffeekassen-Fixbeitrag" machbar sein.

Falls Du intersse hast sende mir einfach eine Mail.

Ich kann Dir dann gerne einen (vernünftigen :tee:) Vorschlag zu Realisierung und Aufwand machen.

Grüsse
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)