Forum: Projekte & Code AVR-LAN-Sensor


von Michael U. (amiga)


Angehängte Dateien:

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
von Draco (Gast)


Lesenswert?

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

von Frank K. (fchk)


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

von Jürgen (Gast)


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

von Michael U. (amiga)


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
von Matthias W. (matt007)


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

von Ludwig (Gast)


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:


1
Transmitting Ethernet Packets: max. 180 mA(3,6 V), typ. 160 mA(3,3 V)
2
3
Active, not Transmitting Ethernet Packets: typ. 120 mA(3,3 V)


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

von Matthias W. (matt007)


Lesenswert?

Danke Ludwig !

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

von S. M. (lichtmensch)


Lesenswert?

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

von Matthias W. (matt007)


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?

von Frank K. (fchk)


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

von Matthias W. (matt007)


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.

von Frank K. (fchk)


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

von Matthias W. (matt007)


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.

von Matthias W. (matt007)


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.

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.