mikrocontroller.net

Forum: Projekte & Code AVR-LAN-Sensor


Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin ja Freund der ESP8266, ein Bekannter wollte aber Sensoren u.ä. 
die am LAN-Kabel hängen, weil er genug verlegt hat.
Protokoll MQTT, also war die Frage, was man billg (preiswert) findet, 
wenn man LAN statt WLAN haben will.
Insofern ist es eher eine Machbarkeitsstudie.

Die alten ENC28J60 kenne ich von früher, nicht aktuell, nicht sonderlich 
elegant zu handhaben, ziemliche Stromfresser, ansonsten stabil.
(Arduino-)Module findet man aus China ab 2,75€, den Arduino ProMini ab 
1,80€, einen 3,3V Regler mit dem AMS1117 ab 0,50€. Plus 
China-Leiterplatte usw. also rund 6,00€, das wäre akzeptabel.

Software ist auch ein Arduino-Sketch, Flash ist recht gut belegt, aber 
noch Platz für die MQTT-Auswertungen und eine Sensor-Bibliothek. Dran 
ist zum Test ein FOST02 (China-SHT11, alt, lag noch rum), einen DHT11 
hatte ich auch kurz dran. Natürlich kann man auch Relais o.ä. an den AVR 
hängen, der LAN-Adapter belegt nur SPI.

Alternative wären den WS5100 zu nehmen, aber da war preislich nichts in 
der Gegend zu finden und dadurch ungenutzer Flash im AVR wird nicht 
verrechnet...

Schaltplan habe ich keinen, außer daß SPI vom LAN-Modul eben an SPI vom 
AVR muß und die Stromversorgung entsprechend ran, gibt es da nichts.
Der ENC28C60 hat 5V-tolerante Eingänge, will aber 3,3V ca. 250mA haben.

Stromversorgung ist ein 5V/600mA Steckernetzteil, das gerade rumlag.
Es würde in die Sensorgehäuse passen, die ich sonst verwende.
http://www.tme.eu/html/DE/sensorgehaeuse/ramka_511_DE_pelny.html
Gerade bemerkt, daß die kaum noch jemad hat...

Vielleicht ist es für irgendjemanden Anregung, der sowas sucht.

Gruß aus Berlin
Michael

: Bearbeitet durch User
Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es sich um externe Sensoren dreht, wäre POE noch eine gute Idee an 
gerade solchen Projekten.

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das billigste und kleinste ist ein PIC18F67J60. Prozessor, Speicher, 
Peripherie, MAC und PHY in einem einzigen TQFP64. Du brauchst nur noch 
einen 25MHz Quarz, den Ethernet Magjack (das teuerste von allem) und ein 
paar Rs und Cs. Plus natürlich die Stromversorgung, aber die hast Du 
überall.

fchk

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> Wenn es sich um externe Sensoren dreht, wäre POE noch eine gute Idee an
> gerade solchen Projekten.

Was den Preis aber mal eben verdreifachen dürfte

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Frank K. schrieb:
> Das billigste und kleinste ist ein PIC18F67J60. Prozessor, Speicher,
> Peripherie, MAC und PHY in einem einzigen TQFP64. Du brauchst nur noch
> einen 25MHz Quarz, den Ethernet Magjack (das teuerste von allem) und ein
> paar Rs und Cs. Plus natürlich die Stromversorgung, aber die hast Du
> überall.

selbst aus China habe ich den PIC18F67J60 als Chip nur für minimal rund 
4,50€ gefunden. Passende Platine für 2€, dann Magjack usw., das wird 
sehr dünn, von billig usw. sehe ich da nichts. Ein Entwicklerkit wäre 
vermutlich zumindest dann noch fällig, wenn man mit den PIC noch nichts 
gemacht hat.

zu POE: es bleit meinem Bekannten vorerst überlassen, was er da machen 
will. Man kann den ProMini auch mit 3,3V (meist auch stabil mit 16MHz) 
betreiben, dann könnte man einfach 6-8V auf ein freies Adernpaar zu den 
Clients verteilen, wäre dann eben eine typische Hobbylösung, wo er sich 
um Nebenwirkungen in der Verkabelung selber Gedanken machen muß, so 
hilflos ist er da nicht.

Stabil scheint es bisher zu sein, trotz des relativ knappen Rams. Ich 
habe nicht nachgeschaut, aber der TCP-Stack und der MQTT-Client scheinen 
den Speicher fest zu reservieren, dann dürfte es keine unerwarteten 
Effekte geben, es werden ja immer die gleichen wenigen Routinen 
aufgrufen.

Ich werde auf jeden Fall mal den BME280 ranhängen und schauen, ob das 
noch passt. Bin von den ESP8266 etwas verwöhnt was Flash und Ram angeht.
Den bösen Gedanken, den ENC28J60 an den ESP zu hängen und dessen WLAN 
abzuschalten, habe ich auch schon gedacht. Der ESP will dann 15mA und 
kostet eben nur 2-3€.

Ich habe aber noch nicht geschaut, ob sich die UIPEthernet-Lib für den 
ESP compilieren läßt bzw. wieviel Anpassung nötig wäre.
Manchmal hat solch ein Unfug einfach auch seinen Reiz, kostet ja nicht 
viel Zeit und Aufwand, daß zu testen...

Gruß aus Berlin
Michael

: Bearbeitet durch User
Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Michael für Bild und Beitrag !

Michael U. schrieb:
> Insofern ist es eher eine Machbarkeitsstudie.

für mich ist es erst mal nur ein Einstieg. für einen solchen hatte ich 
vorher hier im Forum gefragt welchen Chip ich denn nehmen soll. So kam 
ich zum ENC28J60 - weil es dazu eben schon länger Code und Pakete gibt.

> Die alten ENC28J60 kenne ich von früher, nicht aktuell, nicht sonderlich
> elegant zu handhaben, ziemliche Stromfresser, ansonsten stabil.

ich bin ja lernfähig. Wenn es da Stromsparer gibt, die sich zudem 
leichter und verständlicher programmieren lassen - das klingt schon 
interessant.

> (Arduino-)Module findet man aus China ab 2,75€, den Arduino ProMini ab
> 1,80€, einen 3,3V Regler mit dem AMS1117 ab 0,50€. Plus
> China-Leiterplatte usw. also rund 6,00€, das wäre akzeptabel.

Hardware ist heute oft günstig zu haben.

> Software ist auch ein Arduino-Sketch, Flash ist recht gut belegt, aber
> noch Platz für die MQTT-Auswertungen und eine Sensor-Bibliothek.
> Natürlich kann man auch Relais o.ä. an den AVR hängen

ok. Welche Software hast Du da verwendet?
Vielleicht macht es Sinn davon den Quelltext mal anzusehen.

> Alternative wären den WS5100 zu nehmen

diese gibt es günstig als Shield. Ist denn zu diesen Modulen der C-Code 
verständlicher? Kann man da mehr dabei lernen?

> Der ENC28C60 hat 5V-tolerante Eingänge, will aber 3,3V ca. 250mA haben.

das klingt schon heftig.

> Vielleicht ist es für irgendjemanden Anregung, der sowas sucht.

Danke nach Berlin !
Matthias

Autor: Ludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias W. schrieb:

>> Der ENC28C60 hat 5V-tolerante Eingänge, will aber 3,3V ca. 250mA haben.
>
> das klingt schon heftig.


Im aktuellen Datenblatt stehen andere Werte, die auch mit denen auf 
meinem NETIO übereinstimmen:


Transmitting Ethernet Packets: max. 180 mA(3,6 V), typ. 160 mA(3,3 V)

Active, not Transmitting Ethernet Packets: typ. 120 mA(3,3 V)


http://ww1.microchip.com/downloads/en/DeviceDoc/39662e.pdf

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Ludwig !

Gibt es da noch sparsamere Chips die man selbst ohne viel Stress 
einsetzen kann?

Autor: S. M. (lichtmensch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
W5100 oder mir lieber w5500
Ebay 272313602686
Ich mag die weil schön klein und einfach.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
S. M. schrieb:
> weil schön klein und einfach.

Danke! Das ist wirklich klein. Die Dinger laufen stressfrei?
Wie viel Strom nehmen Sie bei Dir auf? Hast Du das mal gemessen?

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias W. schrieb:

> Wie viel Strom nehmen Sie bei Dir auf? Hast Du das mal gemessen?

Da schaut man einmal ins Datenblatt des W5500 und liest auf Seite 61:
"Supply Current(Normal operation mode) VDD=3.3V, AVDD=3.3V, Ta = 25°C 
132 mA"
Die 132mA sind worst case, auf Seite 62 ist das noch detaillierter 
aufgelistet. Selber lesen macht schlau.

Du kannst auch den Micrel (jetzt auch Microchip) KSZ8851 nehmen. Braucht 
laut Datenblatt 85mA.

fchk

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:
> Die 132mA sind worst case,

Danke Frank !

> auf Seite 62 ist das noch detaillierter
> aufgelistet. Selber lesen macht schlau.

ja. 
http://download.arduino.org/products/ETHERNETSHIELD2/w5500_ds_v100e.pdf
Datenblatt und Praxis sind nicht immer dasselbe. Daher macht es ggf. 
schon Sinn zu fragen was real typisch gemessen wird.

Im Datenblatt sieht man dass fast alles im chip selbst ist. Nach außen 
geht lt. S.4 nur Takt, SPI, Spannungsregler, Media-Interface. Nur warum 
braucht es dann so viel Beine mehr (48) als beim ENC (28)? Warum diese 
Inflation der Pins? Ist das chip selbst so groß?

> Du kannst auch den Micrel (jetzt auch Microchip) KSZ8851 nehmen. Braucht
> laut Datenblatt 85mA.

Vielen Dank für den Hinweis Frank ! 85mA (S.71) klingt natürlich viel 
besser als 190mA für den ENC-Chip. Hier sind es 32 Pins.
http://ww1.microchip.com/downloads/en/DeviceDoc/ksz8851snl_ds.pdf

Es stellt sich die Frage woran es liegt daß die Unterschiede so extrem 
groß sind. 190mA sind ja mehr als doppelt so viel. 3.3V nutzen alle 3.

In all diesen Chips sind wohl Treiberstufen verbaut für die Übertrager 
und eben CPU und Speicher. Da sind 100% mehr dann schon viel.

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias W. schrieb:

> Im Datenblatt sieht man dass fast alles im chip selbst ist. Nach außen
> geht lt. S.4 nur Takt, SPI, Spannungsregler, Media-Interface. Nur warum
> braucht es dann so viel Beine mehr (48) als beim ENC (28)? Warum diese
> Inflation der Pins? Ist das chip selbst so groß?

Es können intern auch zwei Chips sein, einer für den PHY (Analogteil), 
einer für den MAC (Digitalteil). Die vielen Pins dienen der besseren 
Spannungsversorgung. Denk dran, das der W5500 auch 100 MBit kann.

>> Du kannst auch den Micrel (jetzt auch Microchip) KSZ8851 nehmen. Braucht
>> laut Datenblatt 85mA.
>
> Vielen Dank für den Hinweis Frank ! 85mA (S.71) klingt natürlich viel
> besser als 190mA für den ENC-Chip. Hier sind es 32 Pins.
> http://ww1.microchip.com/downloads/en/DeviceDoc/ksz8851snl_ds.pdf
>
> Es stellt sich die Frage woran es liegt daß die Unterschiede so extrem
> groß sind. 190mA sind ja mehr als doppelt so viel. 3.3V nutzen alle 3.

Unterschiedliche Halbleitertechnologie, denke ich.

Der ENC28J60 ist ja auch ein alter Chip, der heutzutage nicht mehr für 
Neuentwicklungen verwendet wird - jedenfalls nicht von Leuten, die 
Ahnung haben. Auch da gibt es ja schon lange Nachfolger wie den 
ENC424J600 und den ENC624J600. Auch die können schon 100 MBit und sind 
sparsamer.

fchk

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:
> Es können intern auch zwei Chips sein, einer für den PHY (Analogteil),
> einer für den MAC (Digitalteil).

wenn der alte ENC28J60 mit einem Chip auskam - so sollten 
Nachfolgeprodukte das erst recht können. Vermutlich wurden die 
Strukturen weiter verkleinert um den Herstell-Preis zu senken.

> Die vielen Pins dienen der besseren Spannungsversorgung.

klar. Es sind 7 Massepins zu sehen und 7 Vdd. Das macht schon Sinn. Nur 
kosten Pins auch Platz und Geld. Der ENC wurde kleiner im Lauf der Zeit 
- von DIL zu immer kleineren Pinabständen.

> Denk dran, das der W5500 auch 100 MBit kann.

ja.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:
> Der ENC28J60 ist ja auch ein alter Chip, der heutzutage nicht mehr für
> Neuentwicklungen verwendet wird

da hast Du sicher recht. Es sei denn es sind Chinesen die solche chips 
für fast nichts bekommen im Vergleich zu neueren Bausteinen und damit 
auch Umsatz machen.

> Auch da gibt es ja schon lange Nachfolger wie den
> ENC424J600 und den ENC624J600.

Vielen Dank für den Hinweis Frank !
Dies sind 44 Pins in der kleinen Variante, wobei diese neben SPI auch 
parallel betrieben werden kann. Mit AD0-AD14 kann man so viel rascher 
auf das Innenleben zugreifen. Sind auch 5V-tolerante Eingänge da.

Mit 64 Pins geht natürlich noch mehr. Da ist sogar ein 16bit paralleler 
Datenbus dran. Das erinnert an die Zeiten von ISA-Bus.

> Auch die können schon 100 MBit und sind sparsamer.

ich habe nichts gegen neuere Entwicklungen. Mit irgendwas muss man ja 
anfangen wenn man etwas lernen möchte. Zum Lernen ist es gut wenn man 
dokumentierten Code findet. Das ist beim alten ENC28C60 ausreichend der 
Fall.

Den Webserver-Code von Radig/RoBue habe ich nun auf dem Arduino nano3 
compiliert. Einiges wurde entfernt, die Pins geändert. Das Grundgerüst 
sollte laufen. Momentan hängt es an der Init des chip. Die will noch 
nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.