Forum: Mikrocontroller und Digitale Elektronik winziger Webserver mit enc28j60+mega32


von topsoft (Gast)


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

von Ssss S. (sssssss)


Angehängte Dateien:

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

von topsoft (Gast)


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

von Ssss S. (sssssss)


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

von topsoft (Gast)


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

von Sven G. (s705081)


Lesenswert?

Hallo Simon,

an welchen INT am MC hast du den Interrupt vom ENC an geschlossen und
wo den Chip Select? Ich baue selber grade eine Platine und würde dein
Hex File gerne zum Testen meiner Chips verwenden.

Gruss Sven

von Sssssss (Gast)


Lesenswert?

Hi!

Interrupt hängt zwar im INT Pin, ich nutze aber polling zum abfragen.
Bin grad in der Uni, heute abend kann ich dir die Belegung raussuchen
;)

Bye, Simon

von Hr. Vorragend (Gast)


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

von Hr. Vorragend (Gast)


Lesenswert?

Soo alles klar, sind nun 3,61V :)

H:V

von Dirk (Gast)


Lesenswert?

@ Hr. Vorragend

Und...

Woran lags nun ???


Dirk

von Hr V. (hr_vorragend)


Lesenswert?

Wer den LM317 kennt, weiss was ich gemessen habe und wofuer ich mich
gerade schaeme :( Hatte eben nciht damit gerechnet dass der Ausgang in
der Mitte ist...

von Ssss S. (sssssss)


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

von Hr V. (hr_vorragend)


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

von Dirk (Gast)


Lesenswert?

Hallo Mr. Hr. Vorragend...


Schau mal folgende Errata zum enc28j60 an.
http://ww1.microchip.com/downloads/en/devicedoc/80257a.pdf

Dort steht 2,7k 1% (1.Seite ganz unten, rechte Spalte)

Denke, das ganze im Schaltbild von Simon ist daher richtig so.

Dirk

von Hr V. (hr_vorragend)


Lesenswert?

http://ww1.microchip.com/downloads/en/DeviceDoc/39662a.pdf
Seite 9 verlangt nach 2,0k 1%

Strange. Hab aber keine von beiden in SMD hier. Nimmt der Chip schaden
wenn man ihn ohne unter Spannung setzt?

Gruss

H:V

von Ssss S. (sssssss)


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

von Hr V. (hr_vorragend)


Lesenswert?

Wie warm wird bei euch der ENC nach einigen Minuten?
Meiner erwaermt sich schon gut - man kann ihn aber nooch problemlos
anfassen. Mit leerem ATMega zieht die Schaltung bei 7V 140mA.
Ist das im gruenen Bereich? Ein Hub erkennt das Geraet schon :)

von topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei meine Werte bei permanenten Ping.

Gruß Topsoft

von Hr V. (hr_vorragend)


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

von Ssss S. (sssssss)


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

von André K. (freakazoid)


Lesenswert?

@HHHH VVVV:
So 'stange' ist das nicht mit den Erratas. Schau mal für welche
Chip-Version RBIAS gemeint ist. 2,7k gilt für die Version 2.

Grüße, Freakazoid

von Ssss S. (sssssss)


Lesenswert?

Nein..

http://ww1.microchip.com/downloads/en/devicedoc/80257a.pdf
Ist für Revision 4 ! (steht oben)

Und auch die braucht 2,7k ;)

Bye, Simon

von Hr V. (hr_vorragend)


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

von Hr V. (hr_vorragend)


Lesenswert?

Hier noch ein paar Impressionen mit der HandyCam ;)

<img src="http://img473.imageshack.us/img473/4164/foto3566sl.jpg";
border="0" width="1152" alt="Vorne" />

<img src="http://img60.imageshack.us/img60/351/foto3572lk.jpg";
border="0" width="1152" alt="Hinten" />

Hier sieht man meinen 232 Konverter bestehend aus einm IC Sockel mit
angeloeteten Kondensatoren



Gruss


H:V

von Ssss S. (sssssss)


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

von Ssss S. (sssssss)


Lesenswert?

Fotos:
Ist das ne superhelle led ?
Der enc28j60 darf nur max 12mA für die leds liefern..
Da musst du dann ggf den Vorwiderstand anpassen. Die waren so
berechnet
dass sie für die segor leds passen (zumindest laut inet led rechner
g)

Bye, Simon

von Hr V. (hr_vorragend)


Lesenswert?

Sind Segor LEDs und die Widerstaende wie von der Vorlage.
Nur:
Mein ENC28J60 wird sauheiss. Nach 10 Min Betrieb ist 10 sekuendiges
Anfassen schon ne Herrausforderung.

von Hr V. (hr_vorragend)


Lesenswert?

Nachtrag:

Hab gerade 2 Minuten gemessen. Temperatur vom ENC sind 50°C.
Das sind ueber 10 Grad mehr wie bei Topsoft - das beunruhigt mich :(
Alles ist sauber verloetet und funktioniert....


Gruss

H:V

von topsoft (Gast)


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

von topsoft (Gast)


Lesenswert?

Hi,

wenn ich die Eingangspannung bei 7 Volt habe heizt sich mein LM317 auf
52 Grad auf nicht aber der ENC.

Gruß Topsoft

von Ssss S. (sssssss)


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

von topsoft (Gast)


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

von Ssss S. (sssssss)


Lesenswert?

Led vorwiderstand isses nicht, ich hab auch ohne Netzwerkkabel (=alle
leds aus) dieselben werte ..
Ich vermute das ist die wärme vom LM317+die Wärme die der enc28j60
selber erzeugt.

Bye, Simon

von Marco Schwan (Gast)


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.

von topsoft (Gast)


Lesenswert?

So,
der Test ist abgeschlossen.

Eingangsspannung: 5,5 V
Eingangsstrom: 145 mA
Leistungsaufnahme: 0,8 W
Umgebungstemperatur: 18 Grad
Laufzeit: > 15 min
Temp ENC: 41 Grad
Temp Lm317: 40 Grad

http://img140.imageshack.us/img140/1448/dsc000931ek.jpg
http://img382.imageshack.us/img382/6982/dsc000962ac.jpg

Gruß Topsoft

von Ssss S. (sssssss)


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

von topsoft (Gast)


Lesenswert?

um 00:09 Uhr 20.5 Grad, check mal deine Nachtabsenkung. ;-)))))

von Hr V. (hr_vorragend)


Lesenswert?

Toll, wie ich mich kenne werde ich wieder dabei sein ;) Doch nich soo
ein billiges Hobby ;)

Naja jetz muss man nur noch richtige Aufgaben fuer die Kleinen finden.
Vielleicht wird dieser Webserver ein Monitor fuer die Alarmanlage...
mal sehen...

Gruss

H:V

von Ssss S. (sssssss)


Lesenswert?

>Nachtabsenkung.
gibts hier nicht 8) zumindest nicht in meinem Zimmer g

von topsoft (Gast)


Lesenswert?

Achso,

mein LM317 liegt nicht auf der Platine auf, sondern ist an der
Kühlfläche 2 mm von der Platine entfernt und der Zwischenraum mit
reichlich Lötzinn aufgefüllt.

Gutes Nächtle Topsoft

von Michael R. (rubi)


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

von Michael R. (rubi)


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

von topsoft (Gast)


Lesenswert?

Hi,

"Der von 3com ist irgendwie eigenartig"

er ist für Unterputzmontage oder Installation im Kabelkanal gedacht (
http://www.3com.com/other/pdfs/products/en_US/400818.pdf ) , ziemlich
praktisch wenn man es braucht. Dafür ist er aber auch doppelt so teuer
wie der Netgear.

Gruß Topsoft

von Hr V. (hr_vorragend)


Lesenswert?

Wer sich seinen Mini Webserver fuer 30 EUR poe faehig machen moechte der
guckt mal hier rein:

http://cgi.ebay.de/D-Link-DWL-P50-Power-over-Ethernet-Adapter-RJ45-10-100_W0QQitemZ5864767701QQcategoryZ14791QQrdZ1QQcmdZViewItem


Ich hab  mit dem VK nix zu tun - habs nur gerad gefunden...


H:V

von Michael R. (rubi)


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

von Andreas (Gast)


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

von Michael R. (rubi)


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

von Dirk (Gast)


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

von Hr V. (hr_vorragend)


Lesenswert?

Beim Uebersetzen hilft der Windows taschenrechner und das ATMEGa
Datenblatt oder die HP von Simon....

H:V

von Dirk (Gast)


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

von Marco Schwan (Gast)


Lesenswert?

@Dirk
sei froh das er keine keine runden SMD-Bauteile sind.
Die rollen schon beim ankucken weg. g

von Ssss S. (sssssss)


Angehängte Dateien:

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

von topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Hi Simon,

Firmware mußte natülich sofort rein. ;-))

Habe mal einen Debugmitschnitt angehängt, ich würde sagen da läuft was
schief mit dem Dataflash? Kann das sein?

Gruß Topsoft

von Ssss S. (sssssss)


Lesenswert?

Hi!

Sorry hatte nicht dran gedacht das eure dataflashs leer sind (=0xFF)
Hab das hexfile geupdatet, es sollte ein leeres FS erkennen
und dann formatieren (dauert bissl).

bitte neu runterladen:
http://avr.auctionant.de/avrETH1/firmware/avrETH1_testing_firmware_dataflash_and_lm75_with_id0x90_260306.hex

Bye, Simon

von Dirk (Gast)


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

von Ssss S. (sssssss)


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

von topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

jetzt läufts prächtig. Anbei ein Debugmitschnitt.

@Dirk: würde dir sehr gern helfen, habe aber keinen Ponyprog komp.
Brenner. Ich benutze TwinAvr.

Gruß Topsoft

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Simon...

Anbei ein Bild meiner Fuse-Bits.

Low Byte 0xEE  = 11101110
High Byte 0xD9 = 11011001

Oder etwa nicht ?

Demnach müsste das ganze doch dann so stimmen...

Dirk

von Ssss S. (sssssss)


Angehängte Dateien:

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

von Dirk (Gast)


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

von Ssss S. (sssssss)


Lesenswert?

ne geh mal genau die punkte durch.
laut notiz darunter ist unselected = 1
Und demnach muss es so sein wie ich aufgemalt habe.

von R.S. (Gast)


Angehängte Dateien:

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

von topsoft (Gast)


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

von Dirk (Gast)


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

von Ssss S. (sssssss)


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

von topsoft (Gast)


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

von Ssss S. (sssssss)


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

von topsoft (Gast)


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

von Ssss S. (sssssss)


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

von topsoft (Gast)


Lesenswert?

Hi

welchen LM75 habt ihr? Gibt es in 3,3V und 5V mit und ohne Thermal
Watchdog.

Gruß Topsoft

von Ssss S. (sssssss)


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

von Ssss S. (sssssss)


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

von Hr V. (hr_vorragend)


Lesenswert?

Kann auch der "LM 75 SMD" von Reichelt genommen werden?

von Ssss S. (sssssss)


Lesenswert?

laut datenblatt läuft der scheinbar mit 3.0-5.5V. Sollte also gehen ;)
A2-A0 auf gnd dann ist die i2c id richtig.

Bye, Simon

von Christoph Krikl (Gast)


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

von topsoft (Gast)


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

von Ssss S. (sssssss)


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

von topsoft (Gast)


Lesenswert?

Hi

jo 4 und 6 am Mega. avrETH_reset --> PC_gnd 0,1 V und avrETH_gnd -->
PC_gnd 0,4 V. Das reicht nicht annähernd aber es ist so.

Gruß Topsoft

von Hr V. (hr_vorragend)


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

von Marco Schwan (Gast)


Lesenswert?

ich habe mal den AD-wandler von einem ATmega 8 durchgeschossen.
GNDA und Vcca vertauscht flossen ca 0.5 Ampere jetzt geht noch alles
auser die ports wo der adwandler drauf hängt.

von André K. (freakazoid)


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

von Sssssss (Gast)


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

von André K. (freakazoid)


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

von MAX (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Wenn ihr gerade von Übertragern sprecht, kann ich den LANF7236 von
Delta (hab ich voner alten Netzwerkkarte) mit dem ENC28J60 verwenden?
Siehe Datenblatt als anhang.

gruß,
MAX

von André K. (freakazoid)


Lesenswert?

Hm. Ist die Terminierung eigentlich Nebensache? Von 50-100 Ohm scheint
da alles in 25-Ohm-Schritten dabei zu sein.

von Michael R. (rubi)


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

von Hr V. (hr_vorragend)


Lesenswert?

240mA ist schlecht. Zu Viel. Was passiert wenn du den ATMega wieder
löschst?

150mA sollten es sein.

Der ENC darf warm werden.

Kontrollier die Platine mal auf loetbruecken..


H:V

von Michael R. (rubi)


Lesenswert?

Hall H:V

Den MEga kann ich im Moment leider nicht löschen, da ich ihn
nicht überreden kann im Programmiermode zu wechseln.

Lötbrücken konnte ich keine finden, bin eigentlich ziemlich
erfahren im Umgang mit Smd.

LG
Michael

von Ssss S. (sssssss)


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

von Michael R. (rubi)


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

von Michael R. (rubi)


Angehängte Dateien:

Lesenswert?

Hallo

Hoffentlich könnt ihr was finden.
Hier mal ein Bild von der Oberseite.

LG
Michael

von Michael R. (rubi)


Angehängte Dateien:

Lesenswert?

Hallo

Hier von der Oberseite.
Das vorherige war die Unterseite.

LG
Michael

von Ssss S. (sssssss)


Lesenswert?

ähh fehlt da nicht nen kabel am ISP ?

von Michael R. (rubi)


Lesenswert?

Ja das ist mir 2mal abgebrochen.
Da er sich nicht programmieren lies,
habe ich es nicht mehr angelötet


LG
Michael

von André K. (freakazoid)


Lesenswert?

Ich hab zwar keine Platine von Simon, aber auf dem Bild (3D-Render)
http://avr.auctionant.de/img/avrETH1_1_2_s01_280206.jpg
Zeigt der Elko über dem Dataflash in die andere Richtung. Vielleicht
aber auch nur ein Darstellungsproblem von der 3D-Lib.

von Marco Schwan (Gast)


Lesenswert?

Messe mal mit einem Ohmmeter die Schaltung durch und versuche mal so den
Fehler zufinden.
Gruß Marco Schwan

von André K. (freakazoid)


Lesenswert?

Hm. Bin mir sogar fast sicher. Unter dem Dreck sieht man ja fast nix,
aber die Leiterbahn mit dem Elko-Minus ist bestimmt keine Masse (zu
dünn). Kannst Du die Platine eventuell reinigen (Spiritus)?

Grüße, Freakazoid

von Michael R. (rubi)


Lesenswert?

Hallo

<<<
Ich hab zwar keine Platine von Simon, aber auf dem Bild (3D-Render)
http://avr.auctionant.de/img/avrETH1_1_2_s01_280206.jpg
Zeigt der Elko über dem Dataflash in die andere Richtung.
>>>

Stimmt!
Auf dem beigelegten Bestückungsplan ist er adersrum eingezeichnet.
Werde ihn sofort umdrehen! und melden was passiert.

LG
Michael

von Ssss S. (sssssss)


Lesenswert?

halt warte!

Das 3D Ding zeigt eine ältere Platinenversion!
Der Elko ist richtig rum drin... (der streifen ist an plus)

Bei den Tantaldingern ist Streifen = Plus

Bye, Simon

von André K. (freakazoid)


Lesenswert?

@Simon:
Wow. Wer macht denn sowas (Streifen=Plus)? Dann mal dickes 'Sorry'
von mir. Hätte fast Deinen Webserver getötet ;-(

von Michael R. (rubi)


Lesenswert?

Habe den Tantal schon enfernt, ohne Dataflash ist er onehin nicht nötig,
hat aber nichts geändert.

LG
Michael

von Ssss S. (sssssss)


Lesenswert?

Bei den SMD Tantal dingern is das immer so. Warum weiss ich auch nicht
g

@Michael:
Hast du mal die 3.6V nachgemessen ?

Bye, Simon

von Michael R. (rubi)


Lesenswert?

Hallo Simon

Die 3,6 Volt sind da, habe ich nachgemessen.

LG
Michael

von Ssss S. (sssssss)


Lesenswert?

kontrollier nochmal bitte alle pins am atmel ob da nicht einer gegen
masse oder so kurzgeschlossen ist...

Und probier mal ob dein atmel sich noch resetten lässt (reset+gnd
verbinden kurz, danach müsste er 5x blinken)

wie schnell blinkt er ?

Bye, Simon

von Michael R. (rubi)


Lesenswert?

Hallo Simon

Am Atmel liegt es glaube ich nicht, habe alle Pins nachgemessan, kein
Kurzschluss. Die 5 Blinks, sind relativ schnell, nicht viel länger als
eine Sekunde, alle zusammen.

LG
Michael

von Michael R. (rubi)


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

von Ssss S. (sssssss)


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

von Ssss S. (sssssss)


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

von Michael R. (rubi)


Lesenswert?

Also ich verstehe überhaupt nichts mehr.
AVR PIn 5 und 6 haben nur 15 Ohm Differenz.
Das ist ja fast ein Kurzschluss zwischen
VCC und Gnd

LG
Michael

von Michael R. (rubi)


Lesenswert?

Sorry ich habe Pin 5 und 6 gemeint.

LG
Michael

von Michael R. (rubi)


Lesenswert?

Hallo

Mein isp arbeitet mit 5 Volt, ich habe aber auch keine L Type vom
Mega32.

LG
Michael

von Michael R. (rubi)


Lesenswert?

Auch ohne Ferrit bleibt der Stromverbrauch gleich.
Detto ohne Netzwerkkabel.

Ich habe keine Cam dran, nur der "nackte" Server.

Auf dem ganzen Board sind zw. + und - nur 15 Ohm, dadurch
erklärt sich der Tromverbrauch.

LG
Michael

von topsoft (Gast)


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

von Ssss S. (sssssss)


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

von Lupin (Gast)


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.

von Schreiber (Gast)


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?

von Marco Schwan (Gast)


Lesenswert?

löse mal den Laptop von der Stromversorung und alle externen Geräte
auser den Programmieradapter

von Michael R. (rubi)


Lesenswert?

Hallo

Der Enc und der Spannungswandler erwärmen sich stark, der uC erwärmt
sich nicht.

LG
Michael

von Michael R. (rubi)


Lesenswert?

Simon , Topsoft

Könnt ihr bitte mal messen wieviel Ohm bei euren funktionierenden
Boards zwischen Plus und Gnd sind?

Bei mir sind es 15 und das kommt mir sehr wenig vor.

LG
Michael

von topsoft (Gast)


Lesenswert?

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

Gruß Topsoft

von Nik Bamert (Gast)


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...

von topsoft (Gast)


Lesenswert?

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

Gruß Topsoft

von Michael R. (rubi)


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

von Marco Schwan (Gast)


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

von R.S. (Gast)


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

von topsoft (Gast)


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

von Michael R. (rubi)


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

von Ssss S. (sssssss)


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

von Michael R. (rubi)


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

von Ssss S. (sssssss)


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

von Sven G. (s705081)


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

von Michael R. (rubi)


Lesenswert?

Hallo Sven

Ich wäre vorsichtig, kann jedoch nicht garantieren
das der Enc nicht schon von Anfang an defekt war.
Je näher ich mir das Datenblatt ansehe um so
mehr bin ich der Meinung einen defekten gekauft zu haben.

LG
Michael

von Andreas Lang (andreas) (Gast)


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.

von André K. (freakazoid)


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

von topsoft (Gast)


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

von Michael R. (rubi)


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

von André K. (freakazoid)


Lesenswert?

@Simon:
Mein ENC dropt dauernd Pakete ;-(
Wird wohl an meinem Aufbau liegen.
Ich wäre also auch ein potentieller Kandidat für eine Platine ;-)

Grüße, Freakazoid

von Karl Jackschitz (Gast)


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

von André K. (freakazoid)


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

von Dirk (Gast)


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

von Michael (Gast)


Lesenswert?

Du brauchst zusätzlich noch an beiden Leitungen Pullup Widerstände an
die Versorgungsspannung, 10kOhm am Besten.

Gruß
Michael

von Michael R. (rubi)


Lesenswert?

Hallo Dirk

Simon verwendet einen Clone der hat eine andere ID.
Dadurch werden die I2C Anforderungen von deinem LM75
leider ignoriert.

LG
Michael

von Ssss S. (sssssss)


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

von Karl Jackschitz (Gast)


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

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ja ich werde den Code veröffentlichen. Und zwar unter der GPL.
Bin leider noch nicht ganz so weit... Dieses Wochenende habe ich
aber zum Glück wieder ein bissl Zeit :)

Bye, Simon

von Tillomar (Gast)


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

von André K. (freakazoid)


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.

von Dirk (Gast)


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

von Ssss S. (sssssss)


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

von Dirk (Gast)


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

von Tillomar (Gast)


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

von Ssss S. (sssssss)


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

von Christoph Krikl (Gast)


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

von Ssss S. (sssssss)


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

von Mike Schaub (Gast)


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

von André K. (freakazoid)


Lesenswert?


von Ssss S. (sssssss)


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

von André K. (freakazoid)


Lesenswert?

@Simon:
Benutzt Du den ENC-INT (PORTD3) überhaupt? Kann in Deinem Code nur
einen  Timer1-IRQ finden.

Grüße, Freakazoid

von Ssss S. (sssssss)


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

von Hr V. (hr_vorragend)


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

von Ssss S. (sssssss)


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

von André K. (freakazoid)


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

von Ssss S. (sssssss)


Angehängte Dateien:

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

von Ssss S. (sssssss)


Lesenswert?

ganz vergessen:
links der enc28j60, rechts nen mega8
unten an dem rj45 magjack sind 51R laut datenblatt angelötet und auch
ein Ferrit

von Hr V. (hr_vorragend)


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

von André K. (freakazoid)


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

von Ssss S. (sssssss)


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

von André K. (freakazoid)


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.

von Ssss S. (sssssss)


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

von André K. (freakazoid)


Lesenswert?

Noch toller:
DB-Client implementieren welcher die Daten über das Netz in eine
Tabelle packt. Keine Ahnung, ob UDP da reichen würde. Denke aber nicht.
Meine Fresse. Die Welt ist ja voll von noch zu machenden Sachen.

von André K. (freakazoid)


Lesenswert?

> Hast du am phy auch den Elko dran ? Und den RBias als 2.7k
Yo. Ohne 10u geht da bestimmt nix. Aber hast Recht. Bei 25MHz sollte
man blocken wo man kann. Pack gleich mal was drauf. Wenn es das war,
schick ich Dir ein eBier ;-)

von Hr V. (hr_vorragend)


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??

von Ssss S. (sssssss)


Lesenswert?

I2C: naja bei niedriger SCK hab ich hier momentan 3m geschirmtes Kabel
dran.
Ist aber nicht dafür gedacht. Eigentlich ist i2c nur für IC<->IC Komm
auf der Platine entwickelt worden ;)

Jede Sekunde pollen sollte nix ausmachen denke ich :)

Bye, Simon

von André K. (freakazoid)


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

von Ssss S. (sssssss)


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

von André K. (freakazoid)


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

von Hr V. (hr_vorragend)


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

von Ssss S. (sssssss)


Lesenswert?

Hi!

Wem gehört der hier denn ?
http://dth-58644.no-ip.info/

Bye, Simon

von André K. (freakazoid)


Lesenswert?

Zumindest brennt es gerade bei demjenigen (>50°C)

von Lupin (Gast)


Lesenswert?

wow das ist aber noch buggy :P

von Ssss S. (sssssss)


Lesenswert?

ja, da ist noch ein fehler drin (logger geht nur von 0-24 uhr, von
24-25:30 zeigt er 0xFF an -> >50°C) ggg

Bye, Simon

von André K. (freakazoid)


Lesenswert?

Now: -32.0 C

von Hr V. (hr_vorragend)


Lesenswert?

Wow, das laesst ja auf eine baldige Veroeffentlichung des Quellcodes
hoffen ;)

Gruss

H:V

von Lupin (Gast)


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.

von Ssss S. (sssssss)


Lesenswert?

mensch das ganze ist doch noch in entwicklung und eigentlich nur eine
testversion.
Schrieb ich doch oben schon ;)

Das was an httpd/website bis jetzt steht ist nur mal eben schnell
gebastelt
damit man überhaupt was testen kann ;)

Bye, Simon

von André K. (freakazoid)


Lesenswert?

Seh ich auch so. Erstmal ein einfches Interface stricken als Testbasis
und dann den Kleinkram. Man kann sich natürlich auch tagelang am
Webdesign aufhalten, aber dann bekommt Ihr den Quellcode nie ;-)

@Simon: Klasse Arbeit.

von Lupin (Gast)


Lesenswert?

tja ich würde an die sache anders rum heran gehen... ist vielleicht auch
der grund warum ich nie was fertig bekomme :)

ist schon super das ganze.

von André K. (freakazoid)


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.

von André K. (freakazoid)


Lesenswert?

Nachtrag:
Vielleicht würde es doch gefördert werden, aber manche Firmenstrukturen
machen es unmöglich, daß jemand Notiz davon nimmt.
Und Kreativität schreibt man mit 'K' ;-)

von Dirk (Gast)


Lesenswert?

Hallo Simon...

Ich glaub, das ist mein Webserver...
Wie kommst Du denn an die Adresse ???

Dirk

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ich hab bei mir auf avr.auctionant.de ein Logfile von wo die Besucher
kommen g
Da war dann diese URL dabei und ich hab neugierig mal draufgeklickt 8)

Bye, Simon

von Dirk (Gast)


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

von Michael R. (rubi)


Lesenswert?

Hallo Dirk

<<<
Mein vorheriger Webserver (der von Holger Buss) hing sich ja leider
fast jeden Tag weg :-(
>>>

Hast Du die neueste Firmware draufgespielt?
Ich habe den Bussschen Webserver mit Cam bei
mir jetzt seit Wochen laufen, und habe keine Probleme.

LG
Michael

von Steffen Heigen (Gast)


Lesenswert?

ENC28J60 in SMD bei CSD gesichtet, allerdings etwas teurer als DIP
schnief

von Ssss S. (sssssss)


Angehängte Dateien:

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

von Dirk (Gast)


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

von Ssss S. (sssssss)


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

von Dirk (Gast)


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

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ja, ich habe was zum testen geändert...
Du hast eine Email von mir :)

Bye, Simon

von Dirk (Gast)


Lesenswert?

@Simon
Du hast auch ne Mail...

Dirk

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.