Forum: Mikrocontroller und Digitale Elektronik Atmega32 als Logger für 1 Kanal


von Basti B. (donoka)


Lesenswert?

Hallo!

ich habe mir von Pollin das AVR NET IO Board geholt und möchte nun mit 
einem ADC Kanal eine Spannung messen und über RS232 kontinuierlich in 
eine Textdatei Werte schreiben. Da die Pollin Software nicht gerade sooo 
mächtig ist, wollte ich mir ein eigenes Programm schreiben. Leider bin 
ich noch absoluter Newbiee in der Richtung C-Programmierung, habe bis 
jetzt viel mit LabVIEW gemacht, was sich in eine ganz andere Richtung 
bewegt.

In der Pollin Software wird nahezu das gemacht, was ich möchte, aber da 
ich noch auf dem Board Dinge berechnen möchte und die Auflösung 
niedriger als 1 Sekunde setzten möchte, reicht es nicht aus.
Ich habe bereits ein bisschen gelesen und recherchiert, aber wollte 
trotzdem fragen, ob evtl. jemand eine ähnliche Routine wie die Pollin 
Software in C geschrieben hat, sodass ich an dieser weiterarbeiten kann 
und bei Interesse auch hier im Thread Neugierige auf dem Laufenden 
halten kann.

Vielen Dank schon mal im Voraus!
Viele Grüße
basti

von gadgaet (Gast)


Lesenswert?

Muss es in C sein? Ich hab zwar das Net-IO-Board von Pollin nicht (und 
kenne die Software auch nicht), aber wenn du eine einfache Software zum 
Schreiben der Daten in eine Textdatei erstellen willst, würd eich dir C# 
ans Herz legen. Der Zugriff auf die serielle Schnittstelle ist damit 
sehr einfach, das Schreiben in eine Datei auch.

von Basti B. (donoka)


Lesenswert?

Hallo gadgaet,

danke für deine Antwort. Du meinst mit C# kann ich genauso eine hex für 
meinen µC erstellen und diese dann auf ihm laufen lassen? Hast du in der 
Richtung schon Beispiele, ansonsten mache ich mich mal schlau.

greets

von Vlad T. (vlad_tepesch)


Lesenswert?

also c# fürn mega halt ich für ein Gerücht, lass mich aber mit Links und 
Quellen gerne eines besseren belehren.

von Gerald D. (saleru)


Lesenswert?

Er meinte vermutlich C# für den Client am Rechner der von der Seriellen 
liest und der dann das Dateischreiben übernimmt anstatt der 
Pollinsoftware.

Fürn µC selbst um jetzt was vom ADC zu lesen und über die Serielle zu 
übertragen kann man C# nicht verwenden. Da wäre dann C oder ASM 
angesagt.

Ist es denn zwingend erforderlich die Kompatibilität mit der 
Pollinsoftware aufrecht zu erhalten also die Daten dann dort auszugeben 
? Aber bevor ich da jez an blödsinn rede werd ich mal schaun was genau 
Pollin überhaupt macht ;)

von Basti B. (donoka)


Lesenswert?

Hallo!

Danke Gerald, du hast es auf den Punkt gebracht, jetzt verstehe ich das 
ganze auch gleich viel besser. Nein, es ist nicht das Ziel die Pollin 
Software aufrechtzuerhalten, dafür gäbe es ja auch andere Programme (wie 
zum Beispiele PureBasic, etc.).
Mein Ziel ist es den µC komplett neu zu bespielen, ohne dass ich einen 
PC benutze, der das ganze regelt, sonderen lediglich ein Netzlaufwerk, 
auf dem die Daten gespeichert werden oder zur Not ein PC mit einer 
seriellen Schnittstelle.
Ich hoffe, ich habe damit alle Verwirrung aus der Diskussion genommen 
:-)
gruß

von Gerald D. (saleru)


Lesenswert?

Gerald D. schrieb:
> Ist es denn zwingend erforderlich die Kompatibilität mit der
> Pollinsoftware aufrecht zu erhalten also die Daten dann dort auszugeben
> ? Aber bevor ich da jez an blödsinn rede werd ich mal schaun was genau
> Pollin überhaupt macht ;)

Ahlso ich hab mir das Board jez mal angesehen! Das teil is ja eigentlich 
ziemlich supi :)

Ahlso wenn du ohne der Pollinsoftware was machen möchtest hier mal ein 
Paar Eckdaten die ich einfach mal so empfehlen würde.

- Besorge dir AVR Studio 4 und den avrgcc und installier das mal 
(anleitung gibts hier auf µC.net)

- Such in dem avrgcc tutorial auf dieser seite den beispielcode für 
auswerten vom ADC und für die übertragung mittels USART (serielle 
Schnittselle).

- Für etwaige Pinbelegungen / Taktraten hilft das Datenblatt des 
Pollinboards oder des ATMEGA32.

Zum auslesen der Seriellen schnittstelle unter Windows würde ich dir wie 
einer der Vorredner C# empfehlen. Da kannst du ganz einfach drauf 
zugreifen und das gelesene in eine Datei schreiben.

Mit wirklichem Code kann ich dir leider nicht dienen, denn ich entwickle 
vorwiegend was für die atmega8 chips (+nachfolger) und die haben ne 
andre pinbelegung und bei deinem gschichtal würde der code dann nicht 
kompilieren weil die falschen pins benutzt würden also bist mit dem code 
im avr tutorial auf der seite hier sehr gut beraten.

Eine Lösung wo das ganze im netzwerk hängt und selbstständig auf ein 
netzlaufwerk daten schreibt würde ich persönlich für viel zu kompliziert 
halten aber ich weis ja nicht wie weit pollin dafür bibliotheken 
mitliefert.

von gadgaet (Gast)


Lesenswert?

>Er meinte vermutlich C# für den Client am Rechner der von der Seriellen
>liest und der dann das Dateischreiben übernimmt anstatt der
>Pollinsoftware.

Jap, genau so war's gemeint.

von Basti B. (donoka)


Lesenswert?

> - Besorge dir AVR Studio 4 und den avrgcc und installier das mal
> (anleitung gibts hier auf µC.net)
>
> - Such in dem avrgcc tutorial auf dieser seite den beispielcode für
> auswerten vom ADC und für die übertragung mittels USART (serielle
> Schnittselle).
>
> - Für etwaige Pinbelegungen / Taktraten hilft das Datenblatt des
> Pollinboards oder des ATMEGA32.

Alles klar thx, dem werde ich mich mal widmen und in die Tiefen des 
Programmierens einsteigen...

greets

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.