Forum: Mikrocontroller und Digitale Elektronik Zeitnehmung mit AVR-NET-IO


von Max E. (max_e)


Lesenswert?

Hallo Leute!

Da ich zurzeit plane, eine Zeitmessung für einen Laufwettbewerb zu 
bauen, wollte ich euch fragen, ob der AVR-NET-IO für diese Anwendung 
geeignet ist.

Am Start- und Endpunkt steht je ein Grobhandtaster, mit dem die Zeit 
gestartet/gestoppt.
Danach wird das Ergebnis über die RS-232 Schnittstelle zum PC 
übertragen.

Die Zeitnehmung soll eine Genauigkeit von hundertstel Sekunden haben und 
wird vielleicht in Zukunft auf bis zu 4 Rennbahnen ausgeweitet.

Findet ihr einen NET-IO für diese Aufgabe geeignet oder könnt ihr mir 
ein anderes Board bzw. einen anderen Mikrocontroller für diese Aufgabe 
empfehlen?

Lg Max

von Stefan F. (Gast)


Lesenswert?

Max E. schrieb:
> wollte ich euch fragen, ob der AVR-NET-IO für diese Anwendung
> geeignet ist.

Vermutlich nicht. Ich nehme an, dass du das Board von Pollin meinst. Es 
kann zwar Signale erfassen, aber hat keine Funktion, diese mit 
Zeitstempeln zu versehen. Im Ethernet sind unregemäßige Verzögerungen in 
Größenordnung bis 100ms häufig und noch größere Verzögerungen sind 
sowohl möglich als auch zulässig.

Ich glaube, im Sport wird niemand mit einer so unpräzisen Zeitmessung 
glücklich.

> Danach wird das Ergebnis über die RS-232 Schnittstelle
> zum PC übertragen.

Das NET-IO Board kommuniziert über Netzwerk, nicht seriell.

Ich möchte Dir ein anderes Board vorschlagen: Arduino Nano. Das kann 
seriell (über USB) mit dem PC kommunizieren und da musst du nicht mit so 
gravierenden Verzögerungen rechnen (sondern einstellige Millisekunden).

Oder du gehst noch einen Schritt weiter und verwendest ein STM32F103C8T6 
Blue-Pill Board, das hat nämlich eine RTC On Board und könnte die 
Messungen mit Präzisen Zeitstempeln versehen, bevor sie an den PC 
übertragen werden. Ist aber nicht ganz so einfach zu programmieren. 
Siehe http://stefanfrings.de/stm32/stm32f1.html#bluepill

Falls du eine Lösung sucht, die ohne Mikrocontroller-Programmierung 
auskommt, schau Dir das Projekt mal an:
http://stefanfrings.de/serial_io/index.html
Da kannst du das fertige Programm für ein Arduino Nano Modul 
herunterladen. Ich empfehle die Version mit 57600 Baud, weil die 115200 
Baud nur mit Glück zuverlässig laufen. Wenn du billige Arduino Nano 
Klone orderst, bestelle gleich einen USBASP Programmieradapter mit, weil 
die manchmal ohne Bootloader geliefert werden.

von Max E. (max_e)


Lesenswert?

Stefanus F. schrieb:
> Vermutlich nicht. Ich nehme an, dass du das Board von Pollin meinst. Es
> kann zwar Signale erfassen, aber hat keine Funktion, diese mit
> Zeitstempeln zu versehen. Im Ethernet sind unregemäßige Verzögerungen in
> Größenordnung bis 100ms häufig und noch größere Verzögerungen sind
> sowohl möglich als auch zulässig.
>
> Ich glaube, im Sport wird niemand mit einer so unpräzisen Zeitmessung
> glücklich.
>
>> Danach wird das Ergebnis über die RS-232 Schnittstelle
>> zum PC übertragen.
>
> Das NET-IO Board kommuniziert über Netzwerk, nicht seriell.

Wäre es möglich, die Firmware von Pollin zu überschreiben und den 
ATMEGA32 als Zähler zu verwenden und die Zeit auf einem LCD anzuzeigen.

Nachdem der Stopptaster im Ziel gedrückt wurde soll nur das Endergebnis 
zum PC übermittelt werden

Lg

von Bernd N (Gast)


Lesenswert?

>> Im Ethernet sind unregemäßige Verzögerungen in
>> Größenordnung bis 100ms häufig und noch größere Verzögerungen sind
>> sowohl möglich als auch zulässig.

Das ist doch nicht der Punkt. Die Messung kann ja auf die mSec. genau 
sein, wird halt der Wert über das Netzwerk entsprechend später 
angezeigt. Ich gehe mal davon aus das die Anzeige auch gerne 100 mSec. 
verspätet anzeigen darf.

Kommt also auf dein Konzept an aber um die Frage zu beantworten... 
klares Ja.

von Stefan F. (Gast)


Lesenswert?

Max E. schrieb:
> Wäre es möglich, die Firmware von Pollin zu überschreiben und den
> ATMEGA32 als Zähler zu verwenden und die Zeit auf einem LCD anzuzeigen.

Ja, das ist prinzipiell möglich. Allerdings musst dazu lernen, den 
Mikrocontroller zu programmieren und dur musst Dir einen 
Programmieradapter besorgen.

Insgesamt ist das Board für diese Aufgabe allerdings suboptimal 
ausgestattet. Es gibt kein Display, dass man da direkt anstecken kann. 
Im Arduino Umfeld findest du so etwas aber, zum Beispiel dieses hier: 
https://www.amazon.de/Keypad-6-Tasten-LCD-Shield-16x02-Anzeige-Arduino/dp/B06XJVP5J5/ref=sr_1_30?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=arduino+mit+display&qid=1559212268&s=gateway&sr=8-30
Das kannst du auf ein Arduino UNO Board stecken.

Eventuell magst Du Dir mal das Wifi-Kit-8 Board anschauen, das ist eins 
von vielen Boards, wo ein Display bereits drauf ist und es hat eine 
praktische WLAN Schnittstelle: 
http://stefanfrings.de/esp8266/index.html#wifikit8

Ich habe verständnis, dass du für dein Pollin Board einen sinnvollen 
Anwendungszweck suchst. Aber wenn du mit der Programmierung beginnst 
wirst du merken, dass die Kosten für eine passendere Hardware im 
Vergleich zum programmieraufwand verschindend gering sind.

Außerdem bringt fertige Hardware von der Stange den Vorteil, dass sie 
erprobt ist und Programmierbeispiele verfügbar sind. Damit hast du es 
viel einfacher.

> Das ist doch nicht der Punkt. Die Messung kann ja auf die mSec.
> genau sein, wird halt der Wert über das Netzwerk entsprechend
> später angezeigt.

Wenn man den µC selber programmiert: ja. Ich hatte die Anfrage 
allerdings so verstanden, dass der TO das Polling NET-IO Board 
eigentlich mit der originalen Firmware verwenden wollte, so dass die 
Zeitmessung auf dem remote angeschlossenen PC stattfindet. Und dann 
fehlt ihm eben die Möglichkeit, die Messungen VOR der Übertragung mit 
Zeitstempeln anzureichern.

Inzwischen hat der TO allerdings wohl in Erwäung gezogen, den 
Mikrocontroller zu programmieren. Sag mal Max, wie sieht denn da deine 
Programmiererfahrung aus? Welche µC Kennst du schon und hast du schon 
einmal etwas mit Ethernet oder WLAN gemacht?

von OssiFant (Gast)


Lesenswert?


von c-hater (Gast)


Lesenswert?

Max E. schrieb:

> Da ich zurzeit plane, eine Zeitmessung für einen Laufwettbewerb zu
> bauen, wollte ich euch fragen, ob der AVR-NET-IO für diese Anwendung
> geeignet ist.

Sicher nicht mit der mitgelieferten Firmware. Mit anderer 
(Google-Futter: "Ethersex" ) aber schon. Du musst diese dann aber 
natürlich selber mit der gewünschten Funktionalität erweitern.

von c-hater (Gast)


Lesenswert?

Stefanus F. schrieb:

> Das NET-IO Board kommuniziert über Netzwerk, nicht seriell.

Falsch. Es kann beides, sogar schon mit der mitgelieferten (ziemlich 
grottigen) Firmware. Mit Ethersex-Firmware sowieso.

von c-hater (Gast)


Lesenswert?

Max E. schrieb:

> Wäre es möglich, die Firmware von Pollin zu überschreiben und den
> ATMEGA32 als Zähler zu verwenden und die Zeit auf einem LCD anzuzeigen.

Eindeutig: Ja.

von Timo N. (tnn85)


Lesenswert?

OssiFant schrieb:
> Schau mal da:
>
> https://www.ulrichradig.de/home/index.php/software/avr-webserver-software

Max schau dir mal wirklich diese Firmware von Ulrich Radig an. Ich hab 
auch ein AVR-NET-IO und diese Firmware mit offenen Quellen von Ulrich 
Radig und die ist Gold wert.

Ich verwende jedoch diese hier auf dem AVR-NET-IO (ist etwas neuer)
https://www.ulrichradig.de/home/index.php/avr/eth_m32_ex

Mit AVR Programmierung in C musst du dich allerdings auskennen.

Ich weiß jedoch nicht ob der ganze Netzwerkstack auf dem NET-IO nicht 
die Zeitmessung verlangsamt, die du noch hinzufügen musst. Eventuell den 
ganzen Webserver rausnehmen und die gemessenen Zeiten mit Zeitstempel 
dann per UDP senden.

Über Netzwerk kannst du nur die Start- und Endzeit mit Zeitstempel oder 
nur die Differenzzeit direkt zum auswertenden PC übertragen, sonst 
bringt es nichts. Über RS232 geht es natürlich auch, wobei das 
raustakten des UART-Buffers auch seine Zeit braucht. Bei 16Mhz jedoch 
nicht allzu lang.

Mit leichter Modifikation kann man das AVR-NET-IO auch dazu bringen es 
mit Arduino zu programmieren. Ich glaube aber die Änderungen ist eine 
dauerhafte.
Außerdem musst du da bei Null anfangen, wenn du Ethernet brauchst.

von Stefan F. (Gast)


Lesenswert?

>> Das NET-IO Board kommuniziert über Netzwerk, nicht seriell.

c-hater schrieb:
> Falsch.

Ich kenne das Board von früher in einer anderen Version. Deswegen glaube 
ich Dir das. Damit ist meine Aussage, dass es (ohne Softwareänderung) 
ungeeignet sei wohl auch nicht mehr richtig.

von OssiFant (Gast)


Lesenswert?

Timo N. schrieb:
> Außerdem musst du da bei Null anfangen, wenn du Ethernet brauchst.

Braucht er nicht - die serielle Kommunikation ist voll ausreichend. Ein 
Display kann mit wenig Aufwand auch angehängt werden (ist beschrieben). 
Lediglich die Zeitmessung müsste ergänzt werden. Das geht natürlich 
nicht ohne Programmier-Kenntnisse. Dort gibt es aber auch ein Forum - 
ggf. finden sich interessierte "Mitstreiter" - oder Ulrich Radig 
unterstützt selbst (mit etwas Glück und einer freundlichen Anfrage).

von Joachim B. (jar)


Lesenswert?

das tolle am AVR NET IO ist der DIL Sockel, so kann man auch mal den 
m644p oder den 1284p verwenden, viel mehr Speicher und wichtig SRAM.

Klar programmieren muss er lernen, aber dann......

Der NET IO kann auch noch optimal ergänzt werden mit RECOM R78 statt dem 
heissen 7805, den LM317 für die 3,3V macht ein RECOM R7833 mit etwas 
Leiterbahnumbau, damit entfallen notwändige Kühlkörper.

Wer mag verpasst dem auch noch einen Arduino Bootloader dann ginge sogar 
die Arduino IDE.

Aber optimal programmiert man den NET IO in AVR Studio 4.18 (mit der 
4.19 wurde ich nicht warm)

von OssiFant (Gast)


Lesenswert?

Joachim B. schrieb:
> Aber optimal programmiert man den NET IO in AVR Studio 4.18 (mit der
> 4.19 wurde ich nicht warm)

Wieso?

von Timo N. (tnn85)


Lesenswert?

OssiFant schrieb:
> Timo N. schrieb:
>> Außerdem musst du da bei Null anfangen, wenn du Ethernet brauchst.
>
> Braucht er nicht - die serielle Kommunikation ist voll ausreichend. Ein

Das war nur auf Arduino bezogen. Wenn er den Arduino Core aufspielt 
anstatt die fertige Firmware von Ulrich R zu nehmen.

von Joachim B. (jar)


Lesenswert?

OssiFant schrieb:
> Wieso?

abgehakt und vergessen, lief irgendwie nicht rund bei mir, mit 4.18 NULL 
PROBLEMO, also wozu quälen, ich suche ungerne neben meinen Aufgaben.
Programmieren ist ja nicht immer nur Selbstzweck.

von OssiFant (Gast)


Lesenswert?

Joachim B. schrieb:
> abgehakt und vergessen, lief irgendwie nicht rund bei mir,

Ich nutze das Atmel Studio 7 und habe auch keine Probleme. O.K., es lädt 
(mit SSD) etwas länger, aber mein 10 Jahre alter Rechner mit Windows 7 
kommt gut damit klar.

Ich hasse unlesbare Programme (mit schlechter Formatierung) und genieße 
den Komfort. Bisher habe ich nichts negatives entdeckt. 4.18 habe ich 
auch noch (in einer virtuellen Windows XP Umgebung) um ein paar der hier 
beschriebenen Problemchen nachvollziehen zu können.

von c-hater (Gast)


Lesenswert?

Stefanus F. schrieb:

> Ich kenne das Board von früher in einer anderen Version.

Sehr schwache Ausrede für Nichtwissen...

Serielle Kommunikation konnte das Board schon seit seinem ersten 
Erscheinen und mit der allerersten Firmware, sie war auch seitdem 
dokumentiert...

Also Tip für dich: in Zukunft besser Nuhr: Wenn man von irgendwas 
einfach so gar keine Ahnung hat, besser komplett die Fresse halten...

Es ergeben sich schon noch genug andere Gelegenheiten, wo du dein 
Arduino-Gedöhns bewerben kannst...

von Rolfzen (Gast)


Lesenswert?

@ Stefanus

Wieso verzapfst Du hier so einen Unsinn?
Wenn man Deine Webseite anschaut vermittelt die schon ein gutes Stück 
Wissen.
Das passt nicht zusammen!

von Stefan F. (Gast)


Lesenswert?

c-hater schrieb:
> Sehr schwache Ausrede für Nichtwissen...

> Serielle Kommunikation konnte das Board schon seit seinem ersten
> Erscheinen und mit der allerersten Firmware, sie war auch seitdem
> dokumentiert...

Du hast keine Ahnung, in welchem Zustand die Firmware war, die mir 
vorlag. Bei der Platine, die ich hatte, diente der Serielle Port 
aussließlich dazu, die IP Adressse zu konfigurieren. Ich glaube Dir 
gerne, dass es bei Dir anders war.

Rolfzen schrieb:
> Wieso verzapfst Du hier so einen Unsinn?

Leute, niemand kann alles wissen. Auch ihr kennt nicht alle 
Verbesserungen an neuen Produktversionen.

Euer Nachtreten ist hier vollkommen unangebracht. Niemand wird euch 
dafür feiern, ganz im Gegenteil. Ihr isoliert euch damit selbst.

von Wolfgang (Gast)


Lesenswert?

Stefanus F. schrieb:
> Insgesamt ist das Board für diese Aufgabe allerdings suboptimal
> ausgestattet. Es gibt kein Display, dass man da direkt anstecken kann.

Wieso machst du die Eignung des Board von dem Vorhandensein eines 
Display abhängig?
Wo hat der TO von einem Display geredet?

Die Daten sollen zum PC übertragen werden, wo alle Möglichkeiten der 
Anzeige bestehen.

von Stefan F. (Gast)


Lesenswert?

> Insgesamt ist das Board für diese Aufgabe allerdings suboptimal

Wolfgang schrieb:
> Wieso machst du die Eignung des Board von dem Vorhandensein eines
> Display abhängig?

"suboptimal" heisst nicht "ungeeignet". Ich würde jedenfalls kein Board 
mit Ethernet Interface kaufen, wenn ich das gar nicht brauche. Dann doch 
eher einen Arduino Klon für 2€.

> Wo hat der TO von einem Display geredet?

Max E. schrieb:
> Wäre es möglich, die Firmware von Pollin zu überschreiben und den
> ATMEGA32 als Zähler zu verwenden und die Zeit auf einem LCD anzuzeigen.
>
> Nachdem der Stopptaster im Ziel gedrückt wurde soll nur das Endergebnis
> zum PC übermittelt werden

Wer so fragt, dem fehlt die Erfahrung, eigene Firmware zu entwicklen. 
Aber ja, machbar ist es. Die Antwort hat er auch bekommen.

So, und jetzt ist mal gut mit Nachtreten. Ich wende mich jetzt Menschen 
zu, die mir angenehmer sind.

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.