winziger Webserver mit enc28j60+mega32

Gast #306929
Lesenswert?

Hallo,

das mit C22 habe ich mir schon so gedacht. Habe jetzt auch die
Debugausgabe dran. Über einen FT232BM über USB rein in den Rechner und
mit Hyperterminal auf den Monitor, keine Probleme zu erkennen. ;-))))
Habe auch mal mit 2 Rechnern gleichzeitig ge Ping t, keine Probleme.
Nachher setze ich mal meinen Router von 192.168.6.1 nach 192.168.0.66
und schaue mir den Rest an.

Respekt Simon, ich freue mich schon auf den Quellcode.

Gruß Topsoft
OP #306930
Lesenswert?

Cool :)

Ohne Debugausgaben kann man sogar ein floodping (ping -f 192.168.0.6)
auf den server loslassen.
Mit Debug aktiviert gehen aber ein paar Pakete verloren ;)

Heute bin ich nicht allzuviel weitergekommen.
Hab nur den LM75 Kram und das plotten der Grafiken optimiert.
Das ganze läuft jetzt so dass er den ganzen Tag in 240 EEProm
Zellen speichert und daraus on the fly eine 280x136 BMP Grafik
erstellt.
Am Ende des tages soll das ganze (=240 byte) ins dataflash filesystem
geschrieben werden.
Daraus kann man dann wieder eine Übersicht erstellen lassen bzw die
tage einzeln aufrufen.

Bye, Simon
Angehängte Dateien:
Gast #306931
Lesenswert?

Hi,

so Router ist auf 192.168.0.66 angekommen und der miniServer macht
immer noch das was er soll. Zeit und Datum werden korrekt geholt. Auf
dem Debug habe ich immer mal "UDP : ?". Wenn ich das Flag -f
("Don't Fragment") setze geht der Ping ohne Paketverlußt durch!

Gruß Topsoft
OP #306932
Lesenswert?

"UDP: ?"
kommt wenn ein UDP Paket ankommt womit er nix anfangen kann.
Dh zb auf irgendeinen Port den er nicht nutzt.
Zb mein Netzwerk-Laserdrucker sendet die ganze Zeit so komischen UDP
Kram ;)

ping:
Ne, bei Linux ist -f floodping. D.h. er haut mit voller Bandbreite Ping
requests raus und wartet nicht bis die Antwort da ist.
Das sind dann natürlich seeeehr viele wenn ich das von meinem PC mit
100mbit aus mache.
Geht aber trotzdem ;)

Bye, Simon
Gast #306933
Lesenswert?

Hi,

Ping:
gibt es "floodping" auch für windoof oder muß ich meine Linuxkiste
entstauben?

UDP:
mir war nicht klar das er UDP schon kann, dachte an eine Fehlfunktion
im TCP/IP Stack die im Nirwana des Quellcodes landet.

nebensächlich:
Nur mal zum Verständniss, wenn ein 100 Mbit Gerät über einen Switch auf
ein Gerät mit 10 Mbit zugreift wird die Geschwindigkeit auf 10 Mbit
gedrosselt.

Gruß Topsoft
Gast #306936
Lesenswert?

Soo hab gerad alles aussen ATMega/Flash/ENC bestueckt und muss
feststellen das am Ausgang des LM317 2,3V anliegen. Sollten das nicht
3,6V sein?
Die Widerstaende R7, R8 und R9 weichen max 4 Ohm vom Soll ab.
Ist das normal?

Gruss

H:V
OP #306940
Lesenswert?

@Sven:
ENC CS = PORTB4
ENC RESET = PORTB3
ENC INT = PORTD3
ENC WOL = offen

@HV:
las smich raten, deine Eingangsspannung war 5.9 V ? g
Dann hast du output gegen input gemessen 8)

Dich hat bestimmt die große Fläche am mittleren Pin verwirrt und du
hast es für Masse gehalten, richtig ?

Bye, Simon
#306941
Lesenswert?

Ich hab noch nen kleinen Fehler im Bestueckungsplan gefunden. R13 ist
auf der Bestueckung mit 2,7k angegeben. Richtig ist aber wie im
Schaltplan angegeben 2,0k. Steht so im Datasheet des ENC. Und genau
diesen Widerstand hab ich jetzt nicht. Kann ich die Schaltung ohne
diesen Widerstand in Betrieb nehmen ohne das etwas zerstoert wird? Dass
der ENC dann nicht funktionieren wird ist mir bewusst.

H:V
OP #306944
Lesenswert?

Laut Errata kommen da die 2.7k rein ;)
Daher steht auch 2.7k in der liste.
Sonst löte einfach 2k oder 3k als normale Widerstände ein ;)

Ich würde ihn nicht ohne laufen lassen.
Kann sein dass der als Spannunsgteiler für einen internen
Spannungswandler
arbeitet ;)

Bye, Simon
#306947
Lesenswert?

Jau sieht bei mir aehnlich aus.

Meine Pings von Windows bzw. Linux kommen zwar am Webserver an (rote
LED), doch es kommt nix zurueck. Muss noch klaeren warum dass so ist.
Koennen 2 switches zwischen den Geraeten ein Problem darstellen? (ich
hab immer einen "bastelswitch" dazwischen damit wenn die Schaltung
defekt ist mein LAN verschont bleibt ;))


SMB LED blinkt auch 5 mal beim start...


Gruss

H:V
OP #306948
Lesenswert?

Hi!

Temperatur: Ist normal. Die kommt vom LM317 denke ich ;)
Die 140mA sind auch normal.

@HV:
Pack mal den Debugport an die serielle Schnittstelle
Da müsstest du mehr Infos bekommen warum er nicht auf den Ping
antwortet ;)

@topsoft:
nana da lötest du einfach andere leds ein.. da muss doch ne blaue
rein.
Falls der webserver mal nicht funzt leuchtet er wenigstens blau 8)
gg

Bye, Simon
#306951
Lesenswert?

Mensch ich bin begeistert. Alles was ich teste geht auf Anhieb :) Sogar
der Pegelwandler 232 mit 3,6V - ich dachte die Wollen 5V..


Pings werden nun auch beantwortet... Nun brauchen wir nur noch Source
;)

Wann wirds denn so weit sein?
Ist der Quellcode etwas dokumentiert?


Gruss

H:V
OP #306953
Lesenswert?

Cool :)

Naja die 3.6V sind beim normalen 232 glaub ich ausserhalb der
spezifikation... Aber zum debuggen reichts ;)
Bei knapp unter 3.5V ging meiner nimmer..

Source:
Ich arbeite dran.
Bis jetzt ist alles recht ausführlich dokumentiert.
Bis auf den httpd. Der besteht im wesentlichen aus zwei großen
case()..
Anweisungen g Der ist aber auch nur eben schnell zum testen gecodet.

Vielleicht schaff ich es übers Wochenende eine erste Version zu basteln
;)
Kommt aufs Wetter an
(=wenns regnet eher als wenns wieder sonnig ist -> sieht nach regan aus
g)

Hab gerade mal geguckt: sind mittlerweile ~9500 Zeilen Sourcecode
(*.c,*.h,*.S) :-X

Gruss,
Simon
Gast #306957
Lesenswert?

Hi,

@HHHH VVVV:

bei einer Stromaufnahme von 140 mA sollte alles OK sein. Das einzige
was warm werden sollte ist der LM317. Er muß ja 7V - 3,6V * 0.14A ~ 0.5
Watt verheizen. Ich habe meine Eingangspannung auf 5,5 V gesenkt. Die
Platine kann man selbst nach Stunden problemlos anfassen.

Hier noch mal 2 Bilder von meinem durcheinander:

http://img373.imageshack.us/img373/6170/dsc000770om.jpg
http://img291.imageshack.us/img291/8900/dsc000905cd.jpg

Gruß Topsoft
OP #306959
Lesenswert?

Hi!

Ich hab jetzt auch mal mit nem IR Thermometer gemessen:
Der ENC28J60 hat bei mir 48°C, der LM317 um die 43°C sowie der mega
36°C.
Dann habe ich mal die Versorgung vom ENC28j60 auf 3.3V gesenkt.
Bleibt genauso...

Recht seltsam. Zumal ich bei der DIP version aufm Steckbrett
nichts von wärme oder so fühle :-\

Aber DIP kann ja auch mehr wärme abführen als SOIC.
Im enc28j60 sitzt ja auch noch nen LDO der intern 2.5V erzeugt.
Zusammen mit den 43°C vom LM317 wird das dann wahrscheinlich der Grund
sein.

Also ich kann dich insofern beruhigen als dass meine Platine auch so
warm wird
und schon etliche Stunden gelaufen ist :-\

Der LM317 ist auf der kleinen Platine wirklich nicht so ne gute Idee
gewesen ...
Hatte den sonst immer auf größeren Platinen.

@topsoft: dein enc wird wirklich nicht warm ? kannst du den mal messen
?
Was hast du anders als wir ?

Bye, Simon
Gast #306960
Lesenswert?

Hi,

Ich habe keine blaue Led und denn Vorwiderstand der "normalen", von
mir verwendeten, LED natürlich auf 330 Ohm erhöht. Sonst sollte alles
gleich sein. Die Messung läuft gerad melde mich mit dem Ergebniss
gleich wieder.

Gruß Topsoft
Gast #306962
Lesenswert?

"Also ich kann dich insofern beruhigen als dass meine Platine auch so
warm wird
und schon etliche Stunden gelaufen ist :-\"

@Sssssss
Kann im Hochsommer aber zuproblemen führen.
Jetzt sind es in dem Raum sagen wir mal 21°C und
im Sommer wird es dann sagen wir mal 30°C (Ich hatte in den heißen
Sommer auch schon über 35°C im Raum direkt unterm Dach.)

Dann sind wir beim ENC28J60 mindesten bei 58°C. Ich sage aber es wird
mehr sein da je wärmer das Selicium ist je mehr Strom fliest des so
höher wird die Verlustleistung.

Sollte nur ein kleinen denk anstoß sein.
Vielleicht hilft es schon ein kleinen Kühlkörper drauf setzen.
Gruß Marco

PS: Super Projekt. Nach der Abschlussprüfung Teil1 (früher
Zwischenprüfung) werd ich mich auch mal mit dem ENC versuchen.
OP #306964
Lesenswert?

Bei mir sinds 20.5°C Raumtemperatur 8)

Ich werde morgen mal testweise meine Platine extern mit 3.6V
versorgen.
Wenn der Enc dann kalt bleibt ist es die Abwärme vom LM317.
Dann könnte man ja einfach die 3.6V extern erzeugen und den LM317
überbrücken.
Ich melde mich morgen wenn ich das getestet habe ;)


Ich bin übrigends dabei eine neue Version der Platine zu planen.
Dabei wirds wohl auf einen Schaltregler und echtes PoE hinauslaufen :)
Aber das Board wird dann bissl größer und teurer.
Ausserdem hab ich noch keine guten Quellen für die Bauteile (warte
erstmal noch auf Samples).
Das wird aber noch ein bissl dauern. Befindet sich derzeit erst in der
Planungsphase.

n8,
Simon
#306969
Lesenswert?

Hallo

<<<
Ich bin übrigends dabei eine neue Version der Platine zu planen.
Dabei wirds wohl auf einen Schaltregler und echtes PoE hinauslaufen :)
Aber das Board wird dann bissl größer und teurer.
Ausserdem hab ich noch keine guten Quellen für die Bauteile (warte
erstmal noch auf Samples).
Das wird aber noch ein bissl dauern. Befindet sich derzeit erst in der
Planungsphase.
>>>

Bin dabei ;-)

Ich war vor einem Jahr bei einem National Semiconductor Seminar,
über Schaltregler.Poe war da ein großes Thema.
Mir ist das alles aber relativ kompliziert und umständlich
vorgekommen.Für Amerikaner mag das ja interessanter sein,
mit deren 110 Volt kann man die 48 wahrscheinlich leichter
aufwärtstransformieren und muß sich nicht mehr um Europäische Normen
kümmern (nur eine Vermutung). Da es noch keine mir bekannten
Verbraucher gibt, stellt sich auch die Frage, gibt es schon bezahlbare
Router die Poe unterstützen? Ohne einen solchen ,...

LG
Michael
#306970
Lesenswert?

So habe jetzt mal kurz nachgeforsch und die meißten Switches die Poe
unterstütztn liegen im 2000 Euro Bereich.
Es gibt aber 2 positive Ausreisser, Netgear , und von 3com,beide um die
100 Euro.Der von 3com ist irgendwie eigenartig, da er ein
"Verputzgehäuse" für Wandmontage hat.

http://www.netgear.de/Produkte/Switches/Desktop/FS108P/index.html
http://www.3com.com/prod/de_CE_EMEA/detail.jsp?tab=features&sku=WEBBNCNJ205SYS

LG
Michael
#306973
Lesenswert?

Hallo Hr_Vorragend

Danke für den Hinweis.
Den Adapter habe ich Heute auf der Suche nach Poe fähigen Switches auch
schon gesehen aber diese Lösung ist irgendwie langweilig.Übrigends 3Com
liefert seine neuen Poe fähigen Switches mit 2 dieser Adapter aus.
Das ist eine spitzen Idee, um diese Betriebsart zum Durchbruch zu
verhelfen.

LG
Michael
Gast #306974
Lesenswert?

"Ich bin übrigends dabei eine neue Version der Platine zu planen.
Dabei wirds wohl auf einen Schaltregler und echtes PoE hinauslaufen :)
Aber das Board wird dann bissl größer und teurer."


Bin dabei!


"So habe jetzt mal kurz nachgeforsch und die meißten Switches die Poe
unterstütztn liegen im 2000 Euro Bereich."


Das ist falsch.
Unter 500,- gibt es doch en masse.
Hersteller:
3Com
AllNet
Dlink
HP
Level One
LinkSys
Netgear
#306975
Lesenswert?

Hallo Andreas

Schön das Du auch dabei bist, aber wer lesen kann ist klar im Vorteil:


<<<
So habe jetzt mal kurz nachgeforsch und die meißten Switches die Poe
unterstütztn liegen im 2000 Euro Bereich.
Es gibt aber 2 positive Ausreisser, Netgear , und von 3com,beide um
die
100 Euro.
>>>


LG
Michael
Gast #306976
Lesenswert?

Hallo...

Segor hat nun gestern auch meine Bauteile geliefert.
Hab eben mal angefangen, zu bestücken.
Warum hab ich mir das angetan ??? heul
Hätten die Widerständen und Kondensatoren nicht ne nummer grösser sein
können ?
Und das bei meiner Erkältung.
Einmal niessen, und die Widerstände waren weg. :-(
Gut, dass Segor die Widerstände nur im 10er Pack verkauft hat ;-)

Nun aber zu meiner Frage:

Simon schreibt auf seiner Downloadseite was von Fuses richtig
einstellen (low: 0xEE, high: 0xD1)

Könnte mir das mal jemand von euch für PonyProg übersetzen ?
Dort werden ja nur irgenwelche Häkchen gesetzt...


Danke

Dirk
Gast #306978
Lesenswert?

Hallo Hr.Vorragend.

Hab auf der Seite von Simon noch etwas gefunden:

- externen Takt bis 8mhz
- jtag aus

Leider kann ich das ganze nicht in PonyProg umsetzen.

Hat irgendjemand das ganze schon mal mit PonyProg gemacht, und kann mir
sagen, wo ich welche Häkchen setzen muss ???

Was würde passieren, wenn evt. Einstellungen falsvch sind ?
Ist dann der ATMega nicht mehr über ISP ansprechbar ?
Hab keine Lust, deswegen den Prozessor wieder auszulöten...

Dirk
OP #306980
Lesenswert?

Hi!

smd/0603:
hehe die sind doch noch schön groß g Da gibts viel fiesere Bauteile
8)

ponyprog:
uii keine ahnung.
Ich nutze nur avrdude :-\
Aber mach mal folgendes:
- hi/lo fuse auslesen
- atmega32 manual nehmen, seite 255
- deine häkchen neben die hi/lo fuses tabelle malen. die müssen mit der
default einstellung übereinstimmen beim neuen mega32
- dann siehst du ob haken=1 oder 0 (sehr verwirrend!!)
- dann änderst du es so wie es sein muss
- machst nen screenshot und postest ihn hier ;) (andere werden das prob
ja auch haben)

code:
Hatte leider nicht allzuviel Zeit.
Am Donnerstag habe ich aber >6h Zugfahrt vor mir und werde die Zeit
dann
zum coden nutzen 8)
Hoffe mal ich erwisch keinen ICE ohne Stromanschluss.

Was sich an der Software getan hat:
- dataflash/filesystem files können per browser ausgelesen werden (url:
/fs/filename.ext oder /fs/f00001 bzw /fs/f1 für file mit id1)
- filesystem inhalt per /fs/ls anzeigbar
- angefangen am http post upload (das streikt noch...)
- temperaturlogger verfollständigt
- httpd kann nun sondertags im progmem code auswerten (<?T+> für max
temp zb)
- noch andren kleinkram

Für alle die mal testen wollen hier das aktuelle hex:
http://avr.auctionant.de/avrETH1/firmware/avrETH1_testing_firmware_dataflash_and_lm75_with_id0x90_260306.hex

Achtung bitte beachten:
- nur zum testen
- serieller debugpin ist nun PORTC.2 (!!!)
- benötigt dataflash
- benötigt evtl lm75 clone am i2c mit id 0x90 (bzw 0x48 wenn man nur
die ersten 7bits als betrachtet) [sollte aber auch ohne lm75 laufen!]

Diese Firmware bitte nur als äusserst experimentell betrachten!
Zum testen ob der Server funzt bitte die auf meiner Seite nehmen ;)

Ausserdem hab ich noch nen Screenshot des Webservers angehängt.

Gruss, Simon
Angehängte Dateien:
Gast #306983
Lesenswert?

@Simon:

Läuft !
Die Fuses hab ich dann wirklich übers Manual gefunden.
Hoffe, alles stimmt so.
Wie kommt man denn auf Ping-Zeiten von 13ms ?
Mein Ping dauert 99ms :-(
Woran kann denn sowas liegen ?

Ist es richtig, dass mit der Firmware vom 21.03. nur ein Hello World
und (nach einer halben Ewigkeit) die Sinuskurve drunter erscheint ?

Dirk
OP #306984
Lesenswert?

Hi!

Dein Mega läuft bestimmt mit internen 1 Mhz:
-> 13.3ms*7.3 = 97.09 ms
Du hast die low fuse noch auf
intern 1mhz (cksel3210=0001)
es muss aber auf:
extern bis 8mhz (cksel3210=1110 besser nochmal kontrollieren!)

Das mit dem Hello world + Sinuskurve ist richtig ;)
Sollte aber recht fix gehen. Aber da dein mega nur mit 1mhz läuft
dauerts halt eeeewiiiig 8)

BYe, Simon
OP #306987
Lesenswert?

@Dirk:
Hast du damit Pingzeiten von 99ms ?
Dann läuft er mit intern 1mhz.

Sprich bei den clksel fuses wäre
[x] = 1
[ ] = 0
Demnach müsstest du die haken genau andersrum setzen, oder ?
(so wie im anhang)

Wie waren die CLKSEL fuses als er neu war ?

Das ist total verwirrend dass das bei jedem prog anders ist :-X

Bye, Simon
Angehängte Dateien:
Gast #306988
Lesenswert?

Hallo Simon...

Jepp. Damit hab ich Ping-Zeiten von 99ms.

Aber warum sollten die die Haken für CLKSEL anders herum sein.
Der Rest scheint ja zu stimmen. grübel

Hab leider kein Printout, als der ATMega neu war :-(

Dirk
Gast #306990
Lesenswert?

Hallo,

habe meinen Webserfer jetzt auch aufgebaut und er funktioniert.
Pingzeit von 13 ms !

Im Anhang befindet sich die Bilder von meinem Webserfer. Eine Datei
Bild mit den Fuse Bits habe ich auch eingestellt. Ich habe meinen Atmel
auch mit PonyProg programmiert.

Den Spannungsregler konnte ich noch nicht bestückt, da ich den noch
nicht habe. Die Spannungsversorgung habe ich über den 10pol. externen
Stecker vorgenommen. Dort habe ich 3,6 V eingespeist. Die Stromaufnahme
liegt bei 130 mA. Der ENC28J60 wird bei mir kaum warm ( Temperatur <
30°). Am Atmega konnte ich keine Temperaturerhöhung feststellen. Die
Bauteilerwärmung ( wie oben beschreiben ) kommt vermutlich durch den
Spannungsregler.

Gruß Reinhold
Angehängte Dateien:
Gast #306991
Lesenswert?

Hi Simon,

mein Server lässt sich nicht mehr programmieren. Programmer überprüft
ist I.O. Mega reagiert nicht mehr auf einen Reset läuft sonst aber.
Entweder ist die Reset Disable Fuse gesetzt oder der Pin hat das
zeitliche gesegnet. Du hast nicht zufällig einen Bootloader drin? Habe
nämlich nicht so die Lust den auszulöten zumal ich keinen anderen da
habe.

Gruß Topsoft
Gast #306992
Lesenswert?

Hallo Simon...

Danke !!!
Das war es wirklich.
Hatte wohl etwas ein Brett vor dem Kopf (Wald vor lauter bäumen nicht
mehr gesehen)
Ping Zeit nun (mit Router dazwischen) 14ms.
Hab auch schon die Testfirmware vom 26.03. drauf.

Dirk
OP #306993
Lesenswert?

Hi!

Super ! Danke für die Rückmeldung !
Das mit der Temperatur ist sehr hilfreich !

Also liegt es wohl wie vermutet wirklich am LM317.

Abhilfe:
- LM317 nicht bestücken und über 10pin Header die 3.6V einspeisen
- LM317 IN-OUT kurzschliessen und extern 3.6V einspeisen übers
Ethernetkabel (ggf +0.3V wegen der Shottky Diode, nachmessen!)

@topsoft:
ähh was hastn gemacht ?
An den Fuses gespielt ?
Sonst läuft er aber noch ? komisch

Bootloader: ähh jein. Der Bootloadercode ist draufgeladen aber wird
niemals angesprungen g Nützt dir also nix :-\

Bye, Simon
Gast #306994
Lesenswert?

Hi,

nee an den Fuse habe ich nicht gespielt. Habe vergessen den Server aus
dem Switch zu ziehen und den Programmer angeklemmt. Seit dem kann ich
ihn nicht mehr programmieren. Ansonnsten läuft er und Debug geht auch.
Ich denke mal ich habe durch zu viel Potentialunterschied den Resetpin
erlegt. ;-(

Gruß Topsoft
OP #306995
Lesenswert?

hmm also bei mir hängt er immer am switch beim proggen...
Ausserdem sind die megas sehr robust.

Macht der uC denn einen Reset wenn du reset mit gnd verbindest ?

Wenn du den rs232 debug angeklemmt hattest war doch mega GND sowieso
mit pc gnd verbunden, oder ?
Der ISP hat ja auch nochmal nen GND. Das glaub ich nicht so recht...
Mir ist auf die weise noch kein mega verstorben...

Bye, Simon
Gast #306996
Lesenswert?

Hi,

auch den Resetpin von Hand nach Masse zu brücken bringt nichts der Mega
läuft unbeeindruckt weiter! Als entweder def. oder Fuse gesetzt, so oder
so ist auslöten angesagt. Wenn er dann gestorben ist wäre es auch mein
erster Atmel den ich getötet habe. Ich hoffe Segor hat noch welche da,
dann kann ich mir auch gleich den 1µF Kondensator und einen LM75
mitbestellen.

Gruß Topsoft
OP #306997
Lesenswert?

Fuse: Hat der überhaupt ne reset disable Fuse ?

Auslöten: am besten mit nem heissluftfön.
Oder alternativ die Pins mit nem Cuttermesser abschnibbeln und dann die
einzelnen Pins auslöten.
Dann kannste den mega32 aber nur noch als Schlüsselanhänger benutzen
:-X

Ich glaube aber nicht das der Mega gestorben ist.
Mal auf Wackelkontakt geprüft ? Überprüf mal alle Lötstellen vom
Resetpin am Stecker bis zum mega reset pin.

Und mess mal die Spannung zwischen gnd pc und reset pin wenn du in im
hub hast.
Oder generell mal alle Pins...

Aber einen mega zu zerstören ist gar nicht so einfach :-X

Bye, Simon
OP #306999
Lesenswert?

ach moment...

Was hast du für nen Switch ? Is kein Poe oder ?

Weil die Datenleitungen sind ja über den Übertrager entkoppelt.
Die Schirmung von der Ethernetbuchse ist auch nur über 1MOhm und 100nF
mit avrETH1 gnd verbunden. Darüber bekommste doch auch nicht genügend
saft um den pin zu killen, oder ?
Wobei der reseteingang ja keine Schutzdiode hat ...

Bye, Simon
OP #307000
Lesenswert?

LM75:
Ich hab nen lm75 clone drin, von
rs-components: AD7415ART im SOT23-5 (BestNR: 451-3128)

Ich würd an deiner Stelle bei segor den LM75 CIM3 nehmen.
Dann A2-A0 auf GND und dann müsste der sofort ohne id ändern mit meinem
Code laufen :)
(eigentlich, hab jetzt nicht nachgeguckt. meine aber den AD74 mit der
Ansteuerung von nem LM75 anzusteuern ;))

Die scheinen aber neu zu sein bei segor. Als ich geguckt habe hatten
die keine.

Bye, Simon
Gast #307003
Lesenswert?

Hi Leute,

bezüglich totem AtMega mir ist das schon 2 mal bei DIP versionen
passiert, sind dann ohne probleme weitergelaufen, nur neu Programmieren
haben Sie sich nicht lassen, war mir auch ein rätsel, und vorallem ur
ärgerlich.

bye,
Christoph
Gast #307004
Lesenswert?

Hi,

habe jetzte direkt Pin4 und Pin6 gebrückt ohne Erfolg. Der Mega läuft
weiter als wenn nix wäre. Eine Reset Disable Fuse hat er nicht aber
eine SPIEnable die aber per SPI nicht zu erreichen ist. Poe hat mein
Switch nicht. Hatte noch gedacht ich komme per JTag ran aber ein Blick
in den Schaltplan sagt, nein das wird nichts. Der 1µF Kondensator
sollte bei Segor welcher sein?

Gruß Topsoft
OP #307005
Lesenswert?

Öhm pin 4 und 6 ? am mega32 ?
Am ISP Stecker wär es pin3+4 ;)

Ich kann mir nicht vorstellen warum der kaputgegangen sein sollte. Wie
gesagt, Ethernet Schirmung ist nur per 1MOhm/100nF mit gnd verbunden.
Ob das reicht um reset zu killen ?
Mess doch mal reset avrETH gegen pc gnd wenn der avrETH nur am
switch+vcc hängt.
Und dann nochmal gnd gegen gnd pc.

1uF:

Entweder die kleine platzsparende Variante als Keramik C:
1u0-0805-X7R/16V (0,12Eur/Stück, mindestens 10)

Oder als Tantal:
TA1u0-25A SMD (0,20/Stück, mindestens 1)

Bye, Simon
#307007
Lesenswert?

Soo wer den Webserver dann auch mal richtig einsetzen will und dafuer
noch moeglichst einfach I/Os sucht, dem sei hier mal der "PCF 8574 P"
(erhaeltlich bei Reichelt) ans Herz gelegt. Stellt 8 I/Os am I2C Bus zur
Verfuegung.
Kostenpunkt 1,75 EUR :)

Damit werde ich wahrscheinlich die Steuerung/Zustandsabfrage einer
Alarmanlage per Webserver realisieren....

Gruss

H:V
#307009
Lesenswert?

Hallo,

ich hab mal zwei Fragen zum Ethernet-Übertrager.

Der von Simon verwendete Halo TG42-1406N1 ist ein
1CT:1.414CT-Transformer. Laut Datenblatt sollte es aber ein
1CT:1-Transformer sein => Kann das eventuell Pegelprobleme geben?

Auf den von mir 'befreiten' Netzwerkkarten war TX+ und TX- (Pin 1 und
2 am RJ45-Stecker) vertauscht. Hab das so nachgebaut -> Nix.
Dürfte sich das überhaupt auswirken? Es geht doch um die
Signaldifferenz. Die sollte doch gleich bleiben.

Grüße, Freakazoid
Gast #307010
Lesenswert?

Hi!

Der Ethernetübertrager entspricht nicht den Daten die Microchip
fordert.
Hatte das aber so bei mir ohne Probleme länger laufen.
Einen anderen Übertrager habe ich leider nicht gefunden :-\
Der Übertrager ist auch nur auf der (vom enc28 aus) RX Seite 1:sqrt(2).
die TX Seite ist 1:1 ;)

Zum thema kreuzen: Wenn ich richtig erinnere steht im errata das das
autosense zum erkennen von rx+/rx- (oder tx ?) nicht korrekt
funktioniert. Irgendwie sowas stand da.
Kann grad nicht gucken, hier an der uni hab ich keinen acrobat :-X

Bye, Simon
#307011
Lesenswert?

[snipp]
Module: PHY
The automatic polarity detection and correction
features of the PHY layer do not work as
described. This may cause poor receive network
performance, or no receive activity, with some link
partners.

Work around
When designing the application, always verify that
the TPIN+ and TPIN- pins are connected correctly.
[snapp]

Hm.
TPIN+ -> RD+ -> RX+ -> 3
und
TPIN- -> RD- -> RX- -> 6
ist eigentlich richtig. Der Bug bezieht sich auch nicht auf TPOUT(TX)

Der Empfang sollte doch sogar funktionieren, wenn TPOUT überhaupt nicht
angeschlossen ist. Oder braucht Ethernet ein Feedback (bzw. Echo)?

Grüße, Freakazoid
#307014
Lesenswert?

Hallo Leute

Ich habe den Webserver am Sonntag nachgebaut und
am Anfang lief alles Gut.
Verbrauch um die 100mA.
Dann habe ich den Code eingespielt und seitdem geht nichts
mehr. Die Led blinkt zwar 5 mal beim Anlegen der Spannung,
aber der LM317 wird heiß, der Enc28j60 wird heiß und der
Verbrauch liegt bei 240mA.Auf der RS232 kommt nur Müll.

Programmieren kann ich ihn seitdem auch nicht mehr.

Bin für jegliche Ideen dankbar, mir sind sie im Moment leider
ausgegangen.


P.S. Jtag Interface ist abgeschaltet.
     Externe Quarze schwingen an.

LG
Michael
OP #307017
Lesenswert?

Hi!

Mess mal die Versorgungsspannung nach dem LM317. Sollten ~3.6V sein.

Löt mal den ferrit vom ENC28J60 aus und mess nochmal. Strom und
Spannung


Vergleiche mal alle R's und C's ob sie richtig drin sind (erstmal nur
gucken ob C -> auch C drin und nicht ausversehen nen R)
Dann evtl noch die Werte checken.

Alle Bauteile richtigrum drin ? Dataflash auch drin ?

Alle Elkos richtig rum drin ?

Kein Kurzsschluss an den Atmel pins ?

Kannst du mal ein hochauflösendes Foto der Ober+Unterseite mit den
bauteilen posten  (<800px breite bitte) ?

Gruss, Simon
#307018
Lesenswert?

Hallo Simon

Das meißte von deiner Liste habe ich schon gecheckt,
wollte es nicht wahr haben das ich den Fehler nicht finde.

Die Bilder poste ich gerne.
Sobald ich von der Arbeit zu Hause angekommen bin,
werde ich die Bilder machen.

Wäre zu schön wenn der Fehler gefunden werden könnte.

LG
Michael
#307034
Lesenswert?

Hallo

Programmieren kann ich ihn wieder, mein selbsgebauter
Avr 910 Programmer hat einen Spinner gehabt.
Nachdem ich den neu programmiert habe, kann ich auch
den MiniWebserver wieder proggen.

Da habe ich dann gleich den Avr gelöscht, der Stromverbrauch blieb
gleich hoch.
Irgendwie sehr eigenartig.

LG
Michael
OP #307035
Lesenswert?

5x Blinken in 1s passt ;)

Probier mal ob er manuell resettet werden kann. Nicht dass du dasselbe
Problem hast wie topsoft (siehe oben).

Dazu hatte ich mir auch noch was überlegt:
@topsoft:
Mit welcher Spannung arbeitet dein ISP ?
Nicht dass du mit 5V programmiert hast während der Atmel mit 3.6V läuft
:-\

@Michael:
Mit welcher Spannung arbeitet dein ISP ?

Mein ISP läuft mit ~3.4V (direkt aus dem parport über 330 Ohm).
Würde das programmieren mit 5V einen atmel der mit 3.6V läuft zerstören
?
Eigentlich sind die ja sehr robust...

Bye, Simon
OP #307036
Lesenswert?

Ah ok ...

Du hast nur den Webserver aufgebaut ohne Cam etc dran, oder ?

Also 200mA ist viel.

Bei mir sind es 150mA bei 6.7V Eingangsspannung.

Mit angeschlossener (und initialisierter) MCA25 Kamera 250mA
(code ist aber noch nicht ganz fertig).

Löt mal den Ferrit aus, dann zieht der ENC28j60 nur ganz wenig strom.
Dann hast du nur den Stromverbrauch vom atmel ;)
Bzw ändert sich der Stromverbrauch wenn du das Netzwerkkabel abziehst
?

Bye, Simon
Gast #307041
Lesenswert?

Hi,

nee ich habe mit 3,6 Volt programmiert, hat ja auch mehrmals problemlos
geklappt. Warte immer noch auf die Segor Lieferung die hofentlich morgen
kommt. Aber der Server läuft ja, so kann ich ihn nur so zum Spass mit
Pings beschiessen. Nur programmieren geht leider nicht aber es gibt ja
auch noch keine neue Firmware zum programmieren.

Gruß Topsoft
OP #307042
Lesenswert?

Ich würd mir die Pins vom atmega mal unter ner Lupe angucken...
Evtl vorher die Platine mit Isopropanol reinigen (dann gehen die
Flussmittelrückstände weg)

Was ist das denn für ein dicker Lötzinnklecks bei Pin 1 ?

Ich tippe echt auf einen kurzschluss irgendeines IO Pins gegen masse
zb.
Wenn der IO dann im Code als ouput geschaltet ist zieht er halt mehr
strom als vorher.

Oder moooment... du sagst du hast nen mega32 ohne L ?
Braucht der evtl mehr strom ?
Ausserdem braucht der normale mega32 mindestens 4.5V

Was für einen Quarz hast du beim Atmel eingelötet ?

Bye, Simon
Gast #307043
Lesenswert?

der mega32 läuft bis 8mhz auch mit 2,7 volt. Aber die sind da ziemlich
tolerant. Genau wie beim programmieren, ein mega der mit 3 volt
arbeitet lässt sich auch problemlos mit 5V programmieren.
Gast #307044
Lesenswert?

Du sagtest, nach dem Programmieren ging er nicht mehr.

Kann es sein, dass beim Einstecken des Programmierkabel eine
Potentialdifferenz zwischen µC (ungeerdetes Netzteil) und Rechner
(ungeerdeter Laptop??) bestand und als erstes eine Signalleitung
verbunden wurde (vor Gnd oder Vcc).

Dann ist die Potentialdifferenz über den µC ausgeglichen worden, was
solche Effekte (hoher Stromverbrauch) erklären könnte.

Wird der µC heiß oder der ENC oder beide?
Gast #307049
Lesenswert?

Hi, ist nicht ganz dasselbe, aber der Unterschied ist doch relativ
gross. Bei mir ist es ein atmega32 in pdip, allerdings ohne jegliche
Periferie, kein enc und gar nichts, leider das einzige was ich messen
kann, vieleicht hilfts dir aber trozdem. Ich habe zwischen vcc und gnd
5.27kOhm...
#307051
Lesenswert?

Hallo

<<<
Ich denke mal das man eh mehr die Kondensatoren in der Stromversorgung
mißt als den Atmel selber.
>>>

Ein C darf nicht weniger als 8Moh bis 10Mohm Wiederstand haben, eher
mehr sogar.

<<<
Mache ich, wird aber erst heute Abend bin auf Arbeit.
>>>

Danke!

LG
Michael
Gast #307052
Lesenswert?

Wenn der Kondensator nicht geladen ist hat er sogar fast 0 Ohm.
Ein sich über das Ohmmeter entladender Kondensator zeigt sogar das
Ohmmeter ein negativen Ohmwert an.
Im geladenen Zustand soll der Widerstand unendlich sein. Wird er nicht
wegen den Leckströmen durch das Dielektrium.
Gruß Marco Schwan
Gast #307053
Lesenswert?

Hallo Rubi,
ich habe bei meinem Webserver den Eingangswiderstand gemessen. Dieser
liegt bei ca. 600 Ohm. Ich glaube, dass dieser Wert jedoch wenig
aussagefähig ist, da der Widerstand einer Halbleiterschaltung so nicht
vernünftig ermittelt werden kann. Mit der Rechnug R = U / I kommt man
auf einen Widerstand von etwas über 20 Ohm.
Ich vermute, dass dein Problem in einer zu gerigen Eingangsspannung für
den LM317 liegt. Dort sollten ca. 7V anleigen, damit der Regler richtig
arbeitet.

Gruß Reinhold
Gast #307054
Lesenswert?

Hi, habe mit 3 verschiedenen Meßgeräten gemessen. Komme auf 141, 283,
285 Ohm. Sagen wir mal 280 Ohm sind es, dann sollte nach I = U/R nicht
mehr als 0,0128 A Strom fließen. Dem ist aber nicht so, als vergiss das
mit dieser Messung.

Gruß Topsoft
#307055
Lesenswert?

Halo

So jetzt funzt meiner auch!!!
Der ENC28J60 war kaputt!!

Ausgelötet Wiederstand von + zu - 450 Ohm
Meinen Reserve ENC eingelötet R ist 680 Ohm
Verbrauch 150 mA.
Ans Hub gehängt ange pingt -> funzt!!!!

Somit klärt sich das ganze.
Nach aufbau war alles Ok.
Beim proggen dürften die 5V den ENC geschossen haben.
Nach proggen ENC hinüber -> hoher Stromverbrauch.

Ergo bleibt die Frage, wie progge ich das Teil in Zukunft
ohne den ENC zu schiessen?

LG
Michael
OP #307056
Lesenswert?

Hi!

Der ENC18j6ß ist 5V Tolerant an MISO,MOSI und SCK laut Datasheet:
>The ENC28J60 is a 3.3V part; however, it was
>designed to be easily integrated into 5V systems. The
>SPI CS, SCK and SI inputs, as well as the RESET pin,
>are all 5V tolerant

Zieht dein Programmer die Versorgungsspannung evtl irgendwie auf 5V
hoch ?

Sehr komisch ...

Aber freut mich dass deiner endlich läuft :)

Ich bin grad dabei die Kamera ans laufen zu bringen.
(Initialisierung geht schon)

Bye, Simon
#307057
Lesenswert?

Hallo Simon

<<<
Aber freut mich dass deiner endlich läuft :)
>>>

Danke!
Das war ziemlich hart, ich habe schon Tage nach dem Fehler gesucht,
bevor ich mich an euch gewendet habe.

Letztendlich war der niedrige Wiederstand der Durchbruch,
ich habe solange Teile ausgelötet bis sich der Wiederstand
dem "Normalwert" von R.S. angenähert hat.
So konnte ich dann den Fehler auf den ENC eingrenzen.
Ein wenig fürchte ich mich schon vor dem nächsten proggen,...

Welchen Programmer verwendet ihr?
Meine sind leider alle für 5Volt ausgelegt,...
Mal schauen ob sie bei 3,6V noch funzen,
bezweifle ich aber, da der AT2313 der sich im
Progger befindet leider noch nicht auf niedrige
Spannung ausgelegt war.

Beim Mega32 hatte ich keine bedenken, wollte nicht extra
noch einen LV kaufen.

Freue mich schon auf die Kamera Version, eine steht schon
auf meinem Schreibtisch ;-)

LG
Michael
OP #307058
Lesenswert?

Hi!

Also mein Programmer besteht aus drei Widerständen :-X
Direkt am Parallelport, MOSI,MISO,SCK mit 330 Ohm, RESET ganz ohne.
Läuft seit >4 Jahren und an 4 Rechnern so ohne Probleme bis jetzt.

Evtl pack einfach mal 330 Ohm in Reihe in die MOSI/MISO/SCK Leitung.
Da sollten dann ja notfalls einige Volt abfallen, oder ?
Bei Reset kannste 100 Ohm oder so versuchen.

Bye, Simon
#307059
Lesenswert?

Verträgt der ENC 5V auf den SPI leitungen? Sonst habe ich erst mal ein
Problem mit dem Programmieren. Ich habe nur den USBISP Programmer unter
OS X am laufen und da laufen die SPI Leitungen immer auf 5V. Ich werde
mal einen mit Optokopler Entwerfen müssen.

Gruss neo
Gast #307061
Lesenswert?

Ich denke mal, dass es dann raucht, wenn der Programmer die
SPI-Leitungen mit starken Treibern (z.B. AVR-Portpins) auf +5V zieht.
Die Schutzdioden im AVR des Webservers geben das dann auf die
VCC-Schiene weiter und schwups... schon hat man 5V Betriebsspannung für
den ENC (was dem wohl weniger gut tun dürfte). Falls es an o.g. Problem
liegt, sollten ein paar Widerstände in den SPI-Leitungen MOSI, SCK und
RESET (so 330-470 Ohm) das Problem etwas entschärfen.
#307062
Lesenswert?

Oder ein aus der Zielapplikation gespeister Programmierer.
Der taugt dann auch für 3,3V;5V;2,8V, schützt beide Seiten und treibt
auch 1-2 Meter Leitung (mein Server steht unterm Tisch. Der Rest AUF
dem Tisch).

Ich versteh nicht, warum die Leute immer wieder haufenweise neue
Programmer erfinden müssen. Teilweise mit massig Eigenintelligenz und
dann wird gejammert wenn Controller XYZ nicht unterstützt wird - weil
keine Firmware vorhanden ist.

Abgesehen von den möglichen Fehlerquellen bei komplizierten
Programmieradaptern.

Grüße, Freakazoid
Gast #307063
Lesenswert?

Hi,

so meine neuen Mega's sind heute angekommen. Habe schnell einen
einlötet und alles ist gut. Dann schnell noch einen LM75 an den I2C und
auch der läuft problemlos. Jetzt gehts mir wieder besser. ;-)

@Simon: Kann ich noch irgendwie zu Platinen kommen? Ich hoffe deine
Zugfahrt war sehr konstruktiv und du bist nicht am Stromanschluß
gescheitert.

Gruß Topsoft
#307064
Lesenswert?

Hallo Topsoft

Gratuliere!
Schön das sie wieder alle funzen!
Hast Du eine Idee was den Mega gekillt hat?

Bei mir stirbt der Enc, bei Dir der Mega.
Ich denke das hängt mit dem programmieren zusammen.
Wäre schön wenn wir herausfinden könnten was da passiert.

@Simon
Eine Platine hätte ich auch noch gerne

LG
Michael
Gast #307066
Lesenswert?

hallo Simon!

Habe mir gerade diesen Thread durchgelesen und da ich so ein kleiner
Bastler bin, bin ich auch gerade dabei solch einen Webserver oder
zumindest ein Gerät bauen, dass so eine ähnliche Funktion hat.
Habe mich jetzt für einen ATmega32 + enc28j60 entschieden und bin aber
jetzt darauf gekommen, dass noch keine fertigen codes für solch eine
Ansteuerung vorhanden ist!
Bin kein Programmierer, sondern verstehe eher mehr von der Hardware =)

Du hast aber einmal geschrieben, dass du demnächst deinen Code
veröffentlichen wirst, gilt das noch?? falls ja, wann wird das sein???

Oder kennt sonst jemand einen anderen fertigen code mit diesen
Bausteinen??

mfg Karl
#307067
Lesenswert?

Kein Problem:

Ansteuerung:
http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/enc28j60_8h.html
http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/enc28j60_8h.html

TCP-Stack (simpel):
http://www.ulrichradig.de/site/atmel/avr_webserver/OpenSource/

Der Rest ist (nahezu) Kleinkram. Der TCP-Stack kann aber keine
ausgehenden Verbindungen aufbauen. Ich arbeite gerade daran meinen
TCP-Stack (ASM) mit der Ansteuerung zu verdröseln, aber wie schon oben
erwähnt werden Pakete gedropt. Da allerdings der ENC selbst meint, daß
die Pakete nicht ok sind, liegt es eher am Aufbau als am Stack.

Grüße, Freakazoid
Gast #307068
Lesenswert?

Hallo zusammen...

Hat schon jemand nen LM75 zur Temperaturmessung angeschlossen ?
Hab heute meinen LM75 von CSD bekommen und angeschlossen.
Ist allerding nen LM75 CIM5 (soll aber lt. Datasheet von 3,0 -5V
arbeiten)
Hab dann, wie in einem Posting oben beschrieben A0 bis A2 auf GND
gelegt.
SCL und SDA sind 1:1 verbunden (SCL auf SCL und SDA auf SDA).
Leider bringt der Webserver keine Temperaturanzeige.
Muss SDA und SCL evt. gekreutzt werden ?
Kenne mich mit I2C nicht aus.

Dirk
OP #307071
Lesenswert?

Hi!

Nein, man kann den LM75 doch auch auf die ID setzen ?!
Also die 7 ID Bits müssen auf 1001000 gesetzt werden (per A0-A2)
Dann sollte auch der LM75 gehen ;)

Code: das mit der zugfahrt wurde nichts, ich hab auch noch nichts
machen können,
war gestern 20h unterwegs :-x (musste von der uni aus zu ner messe in
stuttgart)

Bye, Simon
Gast #307072
Lesenswert?

vielen dank Freakazoid,
aber nahezu Kleinkram =)
für mich leider nicht. Aber die hubbard seite ist supi, ich glaub
soviel bring ich auch noch zusammen um diesen chip anzusprechen, jedoch
von einem TCP/Stack habe ich keine Ahnung.
Wäre eine UDP Übertragung nicht ausreichend, wenn ich lediglich nur von
A nach B ein gewisses Bitmuster übertragen möchte??

Hat jemand eine UDP Übertragung gemacht??
Simon kannst du mir bitte meine vorhin geschriebenen Fragen bitte auch
noch beantworten, nicht übersehen =)

mfg
Gast #307074
Lesenswert?

Moin Simon,

ich warte auch schon sehnsüchtig auf Deinen Source-Code --
insbesondere, weil...

a. Du geschrieben hast, daß Du einiges am Original verbessert hast (so
viel Ahnung von TCP/IP habe ich nicht, daß ich mich um dergleichen
reiße!);

b. weil ich den ENC nicht mit einem AVR, sondern mit einem Renesas M16C
verheiraten will -- einen fertigen Port habe ich für diesen Controller
leider bislang nicht gefunden. Und wenn deiner unter der GPL kommt,
dann kann ich ja evtl. nötige Anpassungen auch wieder hier ins Forum
kippen.

Also drücke ich Dir die Daumen, daß Du Zeit haben mögest...

Tillomar
#307075
Lesenswert?

Also UDP ist relativ simple. TCP-Empfang eigentlich auch. Problematisch
wird es erst bei ausgehenden Verbindungen (wenn man die komplette
Flußkontrolle implementieren will). Wenn mein ENC keine Pakete mehr
dropt, kann ich eventuell mal den Code für den TCP-Stack
veröffentlichen. Ist jedenfalls um einige Größenordnungen kompakter als
der C-Code.
Gast #307076
Lesenswert?

LM75 läuft !

War wohl etwas zu ungeduldig.
Ich weiss nicht, in welchem Zeitabstand der LM75 abgefragt wird
(vielleicht kann Simon das ja beantworten) , hat jedoch etwas gedauert
bis das erste Mal die Temperatur angezeigt wurde.
Nun gehts aber. Temperatur-Grafik auf der Startseite sieht auch schön
aus :-)


Dirk
OP #307077
Lesenswert?

Hi!

Super :)
Da hab ich gar nicht dran gedacht dass es ein paar sekunden dauert
:-\
Die Temperatur wird alle 56s ausgelesen (~ alle 7s wird die i2c
statemachine aufgerufen, die braucht 8 durchläufe).
An einem Tag werden 240 Einträge ins EEprom geschrieben.
EEpos = (clock[CLOCK_HOUR]*60+clock[CLOCK_MIN])/6;
-> ganz links ist immer 0 uhr, in der mitte ist immer 12 uhr

UDP ist ganz einfach, das hab ich für den ntp-client implementiert.

TCP/IP:
nunja ich hab das von grund auf neu gecodet. Wie Andre
schon schrieb ist es nicht ganz so einfach zu implementieren wie bei
ulrichs webserver
wenn man es stabil haben möchte.
Ulrichs Code geht davon aus dass alle TCP/IP pakete
- ankommen
- in der richtigen reihenfolge ankommen
- fehlerfrei sind (vorallem im header problematisch!)

Im kleinen Heimnetzwerk geht das auch fast immer gut. Nur wenn die
pakete über wlan/ppp/durchs inet/... wandern klappt es halt nicht
immer.

Bye, Simon
Gast #307078
Lesenswert?

Hallo Simon...

Aktualisiert sich die Startseite eigentlich, nach dem ein neuer
Temperaturwert empfangen wird ?

Was sind eigentlich die Buchstaben AB:CD:EF ?
Soll dort die Uhrzeit aus dem UDP-Protokoll dargestellt werden ?
Ist diese Funktion noch nicht in Betrieb ?
(Hab extra meinen Router auf 192.168.0.66 umgestellt...)


Dirk
Gast #307079
Lesenswert?

@André (falls Dein Beitrag als Antwort auf meinen gemeint war):

Ich bin mir sicher, daß Dein Assembler-Code wesentlich kompakter ist --
allerdings kann ich damit nicht gerade viel anfangen, wenn ich es auf
dem M16C zum Laufen bringen will...

@Simon:

Eben deshalb warte ich ja auf Deinen Code -- ich hoffe einfach mal, daß
ich mich damit auf die Probleme konzentrieren kann, die mit meinem
eigenen Board zusammenhängen, und nicht noch die "Standard-Software"
;) debuggen muß.

Btw, Simon: Hast Du noch Platinen, bzw. weißt Du schon, wann es neue
geben wird? Denn ich spiele mit dem Gedanken, einen AVR-basierten als
'known-good' -Gegenstelle und ENC-Funktionsmuster aufzubauen (kannst
mir auch privat antworten, eMail-Adresse ist angegeben).

So long,
Tillomar
OP #307080
Lesenswert?

>Aktualisiert sich die Startseite eigentlich, nach dem ein neuer
>emperaturwert empfangen wird ?
Nein das wird nicht automatisch aktualisiert. Du musst auf reload
klicken ;)

>Was sind eigentlich die Buchstaben AB:CD:EF ?
>Soll dort die Uhrzeit aus dem UDP-Protokoll dargestellt werden ?
Dort soll auf jeder Webseite die Uhrzeit eingefügt werden.
Das war nur ein test des parsers der <?CK> durch die uhrzeit ersetzen
soll ;)
Da ich aber noch keine int->2stellig in buffer funktion hatte hab ich
erstmal AB:CD:EF genommen ;)
Kommt aber noch ;)

Platinen habe ich keine mehr. Neue bestelle ich frühestens wenn der
Code
soweit fertig ist, will erstmal die Zeit da reinstecken ;)

Bye, Simon
Gast #307081
Lesenswert?

Hi!

So hab jetzt auch mein Board fertig, funkt alles bestens, hab überhaupt
keine Probleme mit der Temperatur, hab allerdings auch keinen LM317
eingelötet sondern extern 3,6V, und freu mich jetzt schon urrrr auf den
fertigen Code.

Hätte jetzt nur eine Frage, hab gestern in der Nacht noch begonnen mit
dem Löten und war eindeutig schon zu Müde und hab auf meine erste
Platine leider gleich mal den Atmega falsch angelötet, wie bekomm ich
denn den nun am besten wieder runter so das ich ihn nicht zerstören
muss und er nacher noch funktioniert ???

bye,
Christoph
OP #307082
Lesenswert?

Auslöten geht sehr gut mit ner Heissluftpistole.
So haben wir an der Uni schon diverse DSPs ausgelötet (gingen nachher
alle noch ;) )

Hier mal ein paar Videos von nem Kollegen:
TMS320f2812:
http://video.google.com/videoplay?docid=-7919776287285287116
CMOS Kamerachip von meiner webcam:
http://video.google.com/videoplay?docid=2892293459113799934

Beim atmega einfach einen dünnen draht unter einem Pin durchführen und
immer wieder am draht ziehen bis sich der ganze mega löst.

Ggf einmal an einer alten Platine (mainboard oder so) üben ;)

Geht echt gut ;)

Bye, Simon
Gast #307083
Lesenswert?

Hallo Simon,

welcher Interrupt-Pin wird denn beim ATMega32 verwendet? Ich entwerfe
gerade eine Platine für eine Jalousiesteuerung und würde das ganze
gerne mit dem ENC28J60 und deinem Sourcecode realisieren. Schaltplan
dazu poste ich später.

Gruß
Mike
OP #307085
Lesenswert?

Hi!

Das erste Webcam Bild erschien gerade auf meinem Monitor:
http://avr.auctionant.de/img/avrETH1_mca25_first_shot.jpg

Ich habe den mca25 Teil doch mehr als erwartet verändert.
Jesper von avrfreaks hatte basierend auf meinem Code eine verbesserte
Version
geschrieben.
Darauf basierend habe ich dann wiederum eine neue Version geschrieben
die Teile von Jespers Ideen verwendet.
(thnx jesper ;))

Der Code ist noch mehr ein kleiner Hack um das ganze zu testen (bis
jetzt geht das bild nur 1x nach jedem reset, fehlt halt noch code ;)
).
Da muss ich noch ein bissl Zeit investieren.

Bye, Simon
OP #307087
Lesenswert?

Hi!

Soso, reverse engineering von meinem Hexcode g
Nein, ich nutze den Intpin nicht. Ich polle immer nur ob neue Pakete da
sind ;)


Habe gerade mal eine testing firmware mit mca25 gebastelt:
http://avr.auctionant.de/avrETH1/firmware/avrETH1_testing_firmware_mca25_dataflash_and_lm75_with_id0x90_020406.hex

ACHTUNG: höchst experimentell! Stellt euch drauf ein dass die cam ab
und an abschmiert!

Cam Anschluss:
- CAM TX    -> pin8 (uRX)
- CAM RX    -> pin10 (uTX)
- CAM RESET -> pin5 (PORTD.6)
- CAM Vcc   -> pin9 (3.6V)
- CAM gnd   -> pin2 (GND)
(alles direkt verbinden, ohne R's etc)
Ggf. in der Cam einen 100nF parallel zwishcen Vcc<->GND anlöten

So sollte die initialisierung aussehen:
1
CAM : reset
2
CAM : init (takes ~5sec) at done, mux. ready
3
CAM : configure...done!
4
NIC : enc28j60 init... done
5
...

Und beim anfordern:
1
...
2
GET <cam/pic.pic>.
3
CAM : starting image grab...
4
CAM : grabbing preview   0.........-  1.........-  2.........- 
5
3.........-  4.........-
6
CAM : preview images done!
7
CAM : sending JPG grab request...
8
...

Ruhig mal etwas beim Bildaufbau warten, sollte die Software nämlich
erkennen dass die Cam abgeschmiert ist wird die cam neu initialisiert
(dauert ~6s)

Wie gesagt, ist höchst experimentell und so wird es nicht bleiben ;)

Ich hab auch die TCP debugausgaben deaktiviert -> der temperaturgraph
lädt nun vieeel schneller :)
Geschwindigkeit Webcam Bild ist in etwa wie beim rtl8019:
1
wget http://192.168.0.6/cam/pic
2
--16:47:50--  http://192.168.0.6/cam/pic
3
           => `pic.28'
4
Connecting to 192.168.0.6:80... connected.
5
HTTP request sent, awaiting response... 200 Document follows
6
Length: unspecified [image/jpg]
7

8
    [                        <=>                                       
9
                            ] 42,864         8.72K/s
10

11
16:47:57 (6.21 KB/s) - `pic.28' saved [42864]
Lässt sich aber sicher noch ein bissl steigern ;)

Viel Spaß beim testen :)
(bilder posten nicht vergessen g)

Bye, Simon
#307088
Lesenswert?

Wie siehts denn mit dem Source Code aus? Gibts schon nen Termin wann der
freigegeben wird? Ich sitz im moment ein bissel auf heissen Kohlen.
Mitte naechster Woche werden ein paar Anwendungen fertig sein, die
einen i2c Bus bereitstellen und dann vom Webserver abgefragt werden
koennen. Hast du die i2c Routinen hier aus dem FOrum genutzt oder diese
selbst geschrieben?


Gruss


H:V
OP #307089
Lesenswert?

Hi!

Ich wollte jetzt die Woche nutzen um den Code aufzuräumen.
Mir ist ein bisschen was dazwsichengekommen, wollte eigentlich schon
weiter
sein.

I2C Ist selbstgeschrieben ;) Bzw ich nutze ja den mega internen i2c
kram.

Was hast du denn nettes damit vor ?

Bye, Simon
#307090
Lesenswert?

@Simon:
Ja, so bin ich ;-)
Nicht böse sein, dachte nur ich finde den Grund warum bei mir Pakete
gedropt werden. Eigentlich dürfte es egal sein, ob man im IRQ empfängt
oder pollt. Dachte nur IRQ wäre eleganter. Deswegen wollte ich bei Dir
die Konfiguration des IRQs 'mopsen' (also flanken- oder
pegelgesteuert, usw.). Allerdings ist es wohl der Steckbrettaufbau. Ich
ändere nur lieber Software, als Hardware.
Deswegen bin ich wohl hier auch der Einzigste, der eher an Deinem
Layout als an Deinem Code interessiert ist ;-))))
Vor allem Deine Schirmung und EMV-Maßnahmen wären interessant.

Grüße, Freakazoid
OP #307091
Lesenswert?

Hi!

EMV ? siehe Anhang 8)

Das war mein Versuchsaufbau. Ging ohne Paketverluste etc.
Wichtig:
- 100nF an jedem Versorgungsspannung input des enc
- den ISP vom SPI abziehen (! ganz wichtig! mit ISP spukte der ENC aufm
steckbrett. auf der platine komischerweise nicht)

Laut Errata soll man ja mindestens 8mhz spi takt haben.
Ich habe 3.6...Mhz als SPI Takt. Und das mach keine Probleme bis
jetzt.

Bye, Simon
Angehängte Dateien:
#307093
Lesenswert?

Noch eine wichtige Frage:

Es gibt ja jetzt einen httpd -also Webserver. Ist der Schritt zu einem
WebClient weit?
Ich meine das so:
Es findet ein Event auf dem i2c Bus statt, dann wird ein anderer
Webserver kontaktiert und die Daten vom i2c Bus diesem via get oder
post uebergeben.

Ist dies moeglich? Dann koennte auf dem grossen Webserver (PC) die
weitere auswertung und aufbereitung mit PHP realisiert werden.


Gruss

H:V
#307094
Lesenswert?

Wow. Thanx.

Der Ferrit fehlt mir wohl noch. Hab erst mal gegen VCC gezogen.
Der ENC läuft eigentlich stabil. Trotz ISP und ohne 100nF. Aber der PHY
hat ja auch eine Versorgung. Ich pack mal ein paar dran.
Mein Problem wird eher das LAN-Kabel sein. Das geht direkt auf's
Board. Wie hast Du die Schirmung gelöst? Direkt auf GND, oder mit
R/C-Glied dazwischen?
Der SPI-Takt bezieht sich ja nur auf die MAC-Register. Das sind ja
nicht sooo viele ;-)

Grüße, Freakazoid
OP #307095
Lesenswert?

Hi!

http-client ist ein bissl aufwendiger. Hatte es mal angefangen, dann
aber aufgegeben da ich es bis jetzt nicht brauche...
Prinzipiell ist es aber machbar.

Am einfachsten wäre es wohl UDP Pakete zu senden und dann aufm PC nen
kleinen C Server zu bauen der auf die UDP Pakete reagiert (und ggf nen
UDP Paket als "agekommen"-Message zurückschickt).
Das wäre überhaupt kein Thema ;)

Oder du schreibst auf dem PC nen kleine Perlskript das immer eine
Webseite von dem uC pollt. Sobald sich dort was ändert holt er dann die
Daten über eine andere Webseite ab.

Bye, Simon
#307096
Lesenswert?

@H:V:
Kommt drauf an wieviel Mühe Simon in seinen Stack 'stackt' (g). Der
von Ullrich kann nur Verbindungen annehmen (soweit ich den untersucht
habe). Wenn sein Code darauf basiert wird es nix. Vor allem, da 'GET'
und 'POST' ohne TCP nicht klarkommen. Will sagen: Reines UDP geht da
nicht.

Abhilfe:
Regelmäßig vom PC ein GET/POST Richtung webserver und die Daten einem
lokalen Apache/sonstwas zu futtern geben.
OP #307097
Lesenswert?

>Der ENC läuft eigentlich stabil. Trotz ISP und ohne 100nF.
Die müssen auf jeden Fall dran! Läuft ja imemrhin mit 25mhz!

>Aber der PHY hat ja auch eine Versorgung. Ich pack mal ein paar dran.
Hast du am phy auch den Elko dran ? Und den RBias als 2.7k ?

>Mein Problem wird eher das LAN-Kabel sein. Das geht direkt auf's
>Board. Wie hast Du die Schirmung gelöst? Direkt auf GND, oder mit
>R/C-Glied dazwischen?
Beim Prototyp auf Lochraster frei schwebend. Also gar nicht mit meiner
Platine verbunden.
Bei den Platinen per 100nF und 1M mit GND verbunden.

Bye, Simon
#307100
Lesenswert?

Bei meiner Anwendung muesste ich dann jede Sekunde per http pollen. Dann
ist der kleine Webserver doch schon gut beschaeftigt. Gerade da sich in
99,9% aller Faelle eh nix veraendert hat eine nicht so gute Lösung.

Der HTTP CLient muss ja nur ein paar Werte per Post oder Get auf eine
dafuer vorbereitet PHP seite schicken. Ich hatte sowas schonmal in C
gemacht und kam ganz gut klar :)
War aber nur sehr rudimentaer.


btw: Wie lang darf der I2C Bus werden??
#307102
Lesenswert?

Schick doch irgendwelche Ethernet-Frames richtung PC und bau Dir das
was. Z.B. ARP-Anforderung. Wenn PC ARP-Anforderung von MAC x bekommt,
fragt er nach. Die Funktionen um Ethernet-Frames zu erzeugen sollten im
Stack vorhanden sein. Kannst auch ein Ping vom Webserver absetzen.

@Simon:
Es waren echt die Kondensatoren vorkopfhau. Bin mal eben schnell in
den Keller gerannt und hab das Teil damit zugepflastert. Jetzt rennt
alles. Danke & Prost:
http://www.wagnerur.hu/itallap/pia21/krombacher.jpg
OP #307103
Lesenswert?

hehe :)
Jaja diese blöden 100nF Kondensatoren g Wer hat sich das bloss
ausgedacht dass man die immer braucht 8)

Vor Jahren hatte ich mal irgendeine 74hcxx Schaltung die ab und an
unerklärlich rumgesponnen hat.
Je nachdem wie sich was in der Nähe bewegt hat...
Seitdem kommt überall wo Vcc reingeht auch nen 100nF hin 8)
(bzw 10,47,100nF gemischt bei Sachen mit höheren Frequenzen)

Freut mich dass es nun klappt ;)

ARP:
Da ist es einfacher nen UDP Paket zu schicken.
Und nen Server der UDP Pakete verarbeitet ist auch schnell aufm PC
gebstelt.

Bye, Simon
#307104
Lesenswert?

Wieso ist UDP einfacher als ein ARP-Request (Broadcast)?

Obwohl:
Die PC-Seite wird schon einfacher. Keine Ahnung ob man in Perl
überhaupt auf ARP-Ebene was bekommt. Zumindest dürfte es sauberer sein
im UDP direkt die Daten zu übertragen, als erst ein ARP und dann ein
GET/POST vom PC.

Wegen I2C:
Wenn Du vorhast extra neben LAN noch ein Kabel zu ziehen - vergiß es
besser.

Grüße, Freakazoid
#307105
Lesenswert?

Ne der ganze Webserver kommt IN die Alarmanlage die er ueberwachen soll
rein und wird auch von dieser gespeist (Batterie gepuffert). Zudem wird
die 3,6V Erzeugung durch einen LM317 im TO220 Gehause auf eine separate
Platine ausgelagert die auch einen i2c -> 8I/O IC enthaelt. Dann sollte
der ENC auch schoen kuehl bleiben und der i2c Bus wird nicht laenger als
1 Meter


Gruss


H:V
Gast #307112
Lesenswert?

Naja ich meinte jetzt eigentlich auch den ganzen rest... das look&feel
sagt mir, dass da noch ein bischen was getan werden muss :)

zB kann man auf die dateien ja nicht direkt zugreifen, immer wenn man
auf eine adresse geht die mit "up" beginnt kommt man zum upload form
(das upload formular hätte mal lieber eine Datei auf dem dataflash des
Webserver sein sollen und nicht hardcoded).

Einen webserver zu schreiben ist an sich ja nicht schwer, das härteste
hast du ja schon hinter dir (den ganzen TCP/IP kram). Das sollte so
wenig wie möglich hardcoded laufen. Die hauptseite sollte meiner
meinung nach auch eine ganz normale index seite sein und alle
dynamischen informationen sind dann mit spezialtags ein zu binden
"<$templog$>" für die temperatur grafik z.B.
#307116
Lesenswert?

@Lupin:
Das hat man mir auch schonmal vorgeworfen. Früher hatte ich mich an
kleinen Teilen von Projekten solange aufgehalten, daß der Rest nur
knapp fertig wurde. Ich war zwar tierisch stolz auf den Teil, aber
genutzt hat es nix.
Mittlerweile hab ich gelernt lieber GENAU das zu machen (und auf KEINEN
Fall mehr) als gefordert. Was nützt eine Client-Server-Architektur mit
zentraler Konfiguration und Accounting, wenn der Scheiß doch nur 1x
benutzt wird? Ist zwar traurig, aber Creativität und Eigenarbeit wird
in manchen Firmen weder anerkannt noch gefördert.
=> Mehr Freizeit, weniger Fehler (System ist einfacher) und der Mist
funzt.
Gast #307120
Lesenswert?

Hallo Simon...

Dann bin ich ja beruhigt. Hab schon gedacht, Du hättest ne Spy-Ware
oder nen Trojaner in Deine Webserver-Sw eingebaut. ;-)

Wie Du siehst läuft der Server.
Und das seit 26.03. ohne Probleme.
Dein TCP/IP-Stack scheint also hervorragend zu laufen.
Mein vorheriger Webserver (der von Holger Buss) hing sich ja leider
fast jeden Tag weg :-(

Im übrigen hätte Dir 58644 ja eigentlich bekannt vorkommen sollen...
Deine Postleitzahl sollte ja eigentlich ähnlich sein...

Dirk
OP #307123
Lesenswert?

Hi!

Mal ein kleiner Statusbericht:
- habe den httpd weiter aufgeräumt
- der httpd hat jetzt zusätzlich eine art template funktion, in der
index.html kann man per $$ dafür sorgen dass dort andere files includet
werden (zb templogger, webcam pic, ...)

Die alten funktionen heissen nun (ist einfacher zu parsen als <?...>):
- $$TN = temp now
- $$T+ = temp max today
- $$T- = temp min today
- $$CK = clock

Bugfixes:
- BMP wird jetzt richtig angezeigt (-> ein tag hat jetzt 24h und nicht
25.5h)
- templogger zeigt aktuelle Speicherpos als strich
- webcam liefert jetzt auch die letzten bytes korrekt zurück
- tcp stack gefixt, nun sollten alle verbindungen korrekt geschlossen
werden
- bug im httpd gefixt (httpd conn wurden bei tcp close nicht resettet)

Generell ist der httpd aber immer noch eine riesen baustelle aus if
then else und case blöcken :-X
Das muss erst noch raus ;)

Hier gibts ne frische hex Datei:
http://avr.auctionant.de/avrETH1/firmware/avrETH1_testing_firmware_webcam_lm75_040406.hex

Achtung, auch die Firmware ist noch seeehr beta ;)

Bitte beachten:
- tcp debuginfos sind an -> templog langsam
- kamera ist an, er versucht sie zu resetten wenn was schiefgeht -> ~6s
wartezeit bei jedem cam reset!

Anbei noch ein weiteres Selbstportrait vom Server

Bye, Simon
Angehängte Dateien:
Gast #307124
Lesenswert?

Hallo Simon...

Habe die neueste Firmware (die von 17:39) eben mal eingespielt und die
Cam angeschlossen.
Läuft !
Auch Zeit auf der Main wird nun korrekt angezeigt.

Hast Deine Arbeit bisher sehr gut gemacht ;-)

Mir ist allerdings aufgefallen, dass bei jedem Zugriff (egal ob auf
Webcam, main oder templog) der Browser lädt, und "kein Ende
bekommt".
Soll heissen, z.B. beim Cam-Bild fehlt unten ein kleines Stück, und der
Fortschrittbalken-Balken des Browsers läuft immer weiter.
Gleiches auch auf der Main und der Templogseite...
Ist übrigens unabhängig davon, welcher Browser benutzt wird.
(Trat bei mir sowohl im MS-IE als auch mit FireFox auf)

Kannst Du evt. mal ne Version ohne Debug ins Netz stellen ?

Vielleicht kannst Du ja mal auf meinen Server zugreifen, um mir zu
sagen, ob Du das ganze nachvollziehen kannst.
Die Adresse meines Servers kennst Du ja... ;-)

Dirk
OP #307125
Lesenswert?

Hi!

Ah ok danke für den Bugreport!
Scheint an dem anderen TCP IP Stack zu liegen (ich hab linux).
Bei mir werden alle komplett geladen und dann stoppt der Browser.

Zum Thema Verbindungsabbau habe ich noch keine gute Doku gefunden, die
Wiedersprechen sich alle irgendwo :-X
Ich schau morgen nochmal in aller Ruhe.

Btw man kann dich(?) als Spiegelung in der Scheibe sehen g

Bye, Simon
Gast #307126
Lesenswert?

Hi Simon...

Upps...
Spiegelung ist nun hoffentlich weg ;-)

Hast Du denn was am TCP/IP Part des Webservers gemacht ?
Die Probleme sind ja in der Version ohne Cam nicht aufgetreten.
Da lief alles zügig und schnell bis zum Ende durch.

Wäre es viel Aufwand, die Debug-Funktion zu deaktivieren ?

Dirk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren