Benutzer:Biff: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Fertig, Zähler läuft.)
Zeile 1: Zeile 1:
Mein Ziel ist es, den [[AVR Net-IO]] u.a. als Impulszähler zu verwenden, den man per Netzwerk auslesen kann.
+
== Impulszähler ==
  
Zusätzlich zum reinen AVR Net-IO verfüge ich über ein Netbook mit Windows 7 und habe mir ein STK500-kompatiblen ISP-Programmer mit eingebautem FTDI-Chip (für Umsetzung USB->seriell) geliehen.
+
Mein Ziel war es, auf dem [[AVR Net-IO]] einen Impulszähler zu implementieren, den man per Netzwerk auslesen kann.
 +
 
 +
Zusätzlich zum reinen AVR Net-IO standen ein Netbook mit Windows 7 und ein STK500-kompatiblen ISP-Programmer mit eingebautem FTDI-Chip (für Umsetzung USB->seriell) begeben.
  
 
Damit konnte ich mich dann an die Arbeit begeben. Tatsächlich lief natürlich wenig sofort und ich musste mehrfach probieren, bis ich Erfolg hatte. Vielleicht hilft der folgende Schnelldurchgang dem einen oder anderen, etwas schneller zum Ziel zu kommen:  
 
Damit konnte ich mich dann an die Arbeit begeben. Tatsächlich lief natürlich wenig sofort und ich musste mehrfach probieren, bis ich Erfolg hatte. Vielleicht hilft der folgende Schnelldurchgang dem einen oder anderen, etwas schneller zum Ziel zu kommen:  
Zeile 13: Zeile 15:
 
#Selber Ethersex kompilieren
 
#Selber Ethersex kompilieren
 
##Nach einigen Versuchen festgestellt, dass cygwin und WinAVR bei mir nicht zusammen laufen.
 
##Nach einigen Versuchen festgestellt, dass cygwin und WinAVR bei mir nicht zusammen laufen.
##Aktuelles cygwin mit allen erforderlichen Optionen sowie aktuellen Betas des AVR-Studio und der AVR-Toolchain für 8-Bit-AVRs installiert.
+
##Aktuelles cygwin mit allen erforderlichen Optionen sowie aktuellen Betas des AVR-Studio und der AVR-Toolchain für 8-Bit-AVRs installiert, siehe [[Voraussetzungen]].
##Per git aktuelles Ethersex geholt.
+
##Per "git" aktuelles Ethersex geholt.
##.config-Datei vom Firmware-Builder übernommen
+
##.config-Datei vom Firmware-Builder übernommen. (Windows nervt hier, weil es beim Download gerne den führenden Punkt unterdrückt. Sicherheitshalber sollte man nochmal im Ethernet-Verzeichnis nachschauen. Wenn dort nur "config" vorhanden ist, muss dieses in ".config" umbenannt werden, was im Windows Explorer kein Problem ist.)
 
##In der Cygwin-Bash-Shell "make menuconfig" und "make" befohlen
 
##In der Cygwin-Bash-Shell "make menuconfig" und "make" befohlen
 
##Ergebnis lässt sich per AVR-Studio flashen
 
##Ergebnis lässt sich per AVR-Studio flashen
Zeile 28: Zeile 30:
 
##Net-IO antwortet auf Ping -> läuft also noch.
 
##Net-IO antwortet auf Ping -> läuft also noch.
 
##Per Browser kann der Zähler ausgelesen werden mit <code>http://192.168.0.100/ecmd?c6+get+pc_counter</code>. Dies liefert zunächst <code>pc_counter 0</code>.
 
##Per Browser kann der Zähler ausgelesen werden mit <code>http://192.168.0.100/ecmd?c6+get+pc_counter</code>. Dies liefert zunächst <code>pc_counter 0</code>.
##Wenn nun am ATmega32 der Pin 16 (PD2/INT0) mit GND verbunden wird, zählt der Zähler hoch. Dieser Anschluss ist auch über den Stecker EXT herausgeführt, dort können Pin 1 (INT0) und Pin 9 (GND) miteinander verbunden werden, um den Zähler hochzuzählen.
+
##Wenn nun am ATmega32 der Pin 16 (PD2/INT0) mit GND verbunden wird, zählt der Zähler hoch. Dieser Anschluss ist auch über den Stecker EXT herausgeführt, dort können Pin 1 (INT0) und Pin 9 (GND) miteinander verbunden http://www.ethersex.de/index.php?title=Benutzer:Biff&action=editwerden, um den Zähler hochzuzählen.
 
##Dies kann per Browser bestätigt werden: <code>http://192.168.0.100/ecmd?c6+get+pc_counter</code> liefert nun den aktuellen Wert des Zählers.
 
##Dies kann per Browser bestätigt werden: <code>http://192.168.0.100/ecmd?c6+get+pc_counter</code> liefert nun den aktuellen Wert des Zählers.
 +
 +
==CAN-Bus / CANOpen==
 +
Wäre eine Option für zukünftige Erweiterungen, beispielsweise um mit einer UVR1611 kommunizieren zu können.
 +
 +
Zum Einsatz käme wahrscheinlich ein MCP2515, da dieser bei Reichelt nur 1,50 € kostet und vielfach genutzt wird.
 +
 +
===Linksammlung===
 +
*http://www.mikrocontroller.net/articles/CAN
 +
*http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek
 +
*http://www.canfestival.org/, ein Open Source CANOpen Framework

Version vom 31. Juli 2010, 18:14 Uhr

Impulszähler

Mein Ziel war es, auf dem AVR Net-IO einen Impulszähler zu implementieren, den man per Netzwerk auslesen kann.

Zusätzlich zum reinen AVR Net-IO standen ein Netbook mit Windows 7 und ein STK500-kompatiblen ISP-Programmer mit eingebautem FTDI-Chip (für Umsetzung USB->seriell) begeben.

Damit konnte ich mich dann an die Arbeit begeben. Tatsächlich lief natürlich wenig sofort und ich musste mehrfach probieren, bis ich Erfolg hatte. Vielleicht hilft der folgende Schnelldurchgang dem einen oder anderen, etwas schneller zum Ziel zu kommen:

  1. AVR Net-IO mit Pollin-Firmware antwortet auf Ping -> funktioniert also.
  2. Testweise einfaches Ethersex reinflashen
    1. Per Firmware-Builder simples IPv4-Image für AVR Net-IO machen lassen
    2. FTDI-Treiber für Programmer installiert
    3. WinAVR installiert
    4. Firmware per avrdude reingeflasht, an den Fuses brauchte ich nichts zu ändern.
    5. Net-IO antwortet auf Ping, Webserver liefert Ethersex-Seite -> funktioniert also.
  3. Selber Ethersex kompilieren
    1. Nach einigen Versuchen festgestellt, dass cygwin und WinAVR bei mir nicht zusammen laufen.
    2. Aktuelles cygwin mit allen erforderlichen Optionen sowie aktuellen Betas des AVR-Studio und der AVR-Toolchain für 8-Bit-AVRs installiert, siehe Voraussetzungen.
    3. Per "git" aktuelles Ethersex geholt.
    4. .config-Datei vom Firmware-Builder übernommen. (Windows nervt hier, weil es beim Download gerne den führenden Punkt unterdrückt. Sicherheitshalber sollte man nochmal im Ethernet-Verzeichnis nachschauen. Wenn dort nur "config" vorhanden ist, muss dieses in ".config" umbenannt werden, was im Windows Explorer kein Problem ist.)
    5. In der Cygwin-Bash-Shell "make menuconfig" und "make" befohlen
    6. Ergebnis lässt sich per AVR-Studio flashen
    7. Net-IO antwortet auf Ping, Webserver liefert Ethersex-Seite -> funktioniert also weiterhin. (Testhalber habe ich zwischendurch mal die Firmware mit anderer IP-Adresse gebaut, um zu bestätigen, dass ich tatsächlich eine neue Firmware reingebrannt habe.)
  4. Angepasstes Ethersex bauen
    1. per make menuconfig:
      1. Control6 rein
      2. OneWire raus, um Platz zu sparen
    2. Gemäß Infos in Control6, eigene src-Datei und config.mk angelegt. Am besten geht dies, wenn man zunächst die vorhandene control6.src kopiert und umbenennt, und diese eigene src-Datei dann modifiziert. Ich habe in meine src-Datei die Befehle gemäß Counter aufgenommen. (Zwischendurch hatte ich auch einen Blick auf Interrupt Zaehler geworfen.)
    3. make
    4. per AVR-Studio geflasht
    5. Net-IO antwortet auf Ping -> läuft also noch.
    6. Per Browser kann der Zähler ausgelesen werden mit http://192.168.0.100/ecmd?c6+get+pc_counter. Dies liefert zunächst pc_counter 0.
    7. Wenn nun am ATmega32 der Pin 16 (PD2/INT0) mit GND verbunden wird, zählt der Zähler hoch. Dieser Anschluss ist auch über den Stecker EXT herausgeführt, dort können Pin 1 (INT0) und Pin 9 (GND) miteinander verbunden http://www.ethersex.de/index.php?title=Benutzer:Biff&action=editwerden, um den Zähler hochzuzählen.
    8. Dies kann per Browser bestätigt werden: http://192.168.0.100/ecmd?c6+get+pc_counter liefert nun den aktuellen Wert des Zählers.

CAN-Bus / CANOpen

Wäre eine Option für zukünftige Erweiterungen, beispielsweise um mit einer UVR1611 kommunizieren zu können.

Zum Einsatz käme wahrscheinlich ein MCP2515, da dieser bei Reichelt nur 1,50 € kostet und vielfach genutzt wird.

Linksammlung