Hi! Ich bin gerade dabei einen Webserver zu routen der noch fast in eine Streichholzschachtel passt :) Genauergesagt passt er in diese kleinen schwarzen Reicheltgehäuse (http://www.reichelt.de/artikeldruck.html?ARTIKEL=SP%202043%20SW) Die Daten: - Maße: 32mm x 47.8mm x ~20mm (BxLxH) - ENC28J60 - Atmega32 - 4MBit SPI Flash - Vcc = 3.6V (von LDO erzeugt) - PoE (nicht ganz nach Spezifikation, erfordert eigene Einspeisung) - ISP Anschluss - RJ45 Buchse (normale buchse, seperater SMD Übertrager auf Platine) - Anschlüsse nach aussen (kann sich evtl noch minimal ändern): - 2pins uart RX/TX 3.6V - 2pins I2C - 2Pins PORTD6,7 - 1pin ADC7 - 1pin PORTB.2 - 2pins 3.6V+GND - RJ45 - 1 LED - avr ip-webcam tauglich Das ganze wird mit ein bisschen Übung noch handlötbar sein (SOIC enc28j60, 0603 Rs+Cs) Da ich davon sowieso einige bestellen muss wenn ich die Platine fertigen lasse wollte ich mal fragen ob noch jemand interesse daran hat ;) Ich würde die Platinen dann unbestückt für den Einkaufspreis+Porto abgeben. Wieviel das ist weiss ich noch nicht, muss erst noch anfragen. Platinen wären doppelseitig mit Lötstopplack und in D hergestellt. (ohne Bestückungsdruck) Also, wer hat Interesse ? (nur solange Vorrat reicht, bzw jenachdem wieviele Platinen ich fertigen lasse) Software für enc28j60 inkl webserver ist schon fast fertig, läuft schon auf einem mega8. Webcam+SPI Flash zugriff muss ich noch coden... Bauteile sind soweit alle normal beschaffbar (normal = reichelt, rs-components und segor). Nur für den enc28j60 soic hab ich noch keine Quelle, erstmal müssen meine 2 Samples reichen ;) Gruss, Simon
Das klingt schon sehr verlockend. Wirst du den die Software und den Schaltplan freigeben? Wenn ja, würde ich auf jeden Fall mit ein paar Platinen an der BEstellung beteiligen! Grüße, Florian PS: Solltest du wirklich den Sourcecode freigeben, könntest du einen Artikel im Wiki erstellen, dort könnte dann auch jeder seine Modifikationen vorstellen! http://www.mikrocontroller.net/articles/ENC28J60-Projekte
Hi! Stromversorgung erfolgt über die 4 freien Adern im Ethernetkabel (Power over ethernet). Sourcecode wird selbstverständlich unter der GPL freigegeben ;) Basiert ja auf der avrlib, ulrich radigs webserversoftware und meiner avrip webcam software. Und die stehen alle unter der GPL glaube ich. avrlib muss ich nochmal nachsehen ;) Schaltplan + Software stelle ich später mal auf meine Webseite. Platinenlayout muss ich mir noch überlegen ;) War schliesslich ne Menge arbeit das zu routen 8) Wenn ich nachher fertig bin kann ich ja mal ein Eagle 3D Pics posten ;) Wiki: Werde später dort einen Link eintragen, verwalten werde ich das Projekt aber auf meiner Webseite, ist einfacher ;) Bye, Simon
"- PoE (nicht ganz nach Spezifikation, erfordert eigene Einspeisung)" Wenn Du das änderst, dann bin ich dabei. Alles am Standard vorbei ist unpraktisch und erfordert Sonderlösungen.
nach dem PoE Standard geht nicht... Ich finde keinen Weg aus 48V meine 3.6V zu machen. (zumindest nicht so das es reinpasst) Alternativ kann man aber eine Diode nicht einlöten und extern 7-x V auf die Platine geben ;) BYe, Simon
Da ich den enc28j60 als soic sowiso nicht beschaffen kann und ich mir smd löten nicht ganz zutraue klappt dies mal nicht, allerdings würde ich mich sehr für die Software interessieren, da ich im Moment mal eine 'Trockenübung' mache. Sprich das Datenblatt lesen ohne den Chip zu haben. Habe damit allerdings noch einige Probleme, also wenn du den Source irgendwann einmal veröffentlichst, würde ich mich freuen. :-)
LT1076HV, haufenweise national-Teile wie LM2575HV etc. Dazu 2, 3 Widerstände und ne Diode. Soviel Platz ist das nicht. Bei mir ist das wichtig, da mein Haus im Juli fertig wird und in jedem Raum 4 Ethernet-Anschlüsse liegen, auch draußen und auf dem Spitzboden. Und für Webcams oder Sensoren/Wetterstationen werde ich nicht extra Stromkabel legen und handkonfektionierte Kabel im Keller an Switch und Netzteil klemmen. Und genau dafür ist POE ja da, der Switch soll das machen. Denk bitte nochmal darüber nach!
Hi! Ja, PoE nach Standard wäre mir natürlich sehr viel lieber... Deine beiden Spannungsregs sehen gut aus, sind leider zu groß. Anbei mal die Eagle3D Version vom aktuellen Stand (noch nicht ganz fertig aufgeräumt). Rückseite
Ups... sorry da wollte ich eigentlich das png hochladen :-X nochmal
und nochmal vorne... Ich geh jetzt erstmal nochmal nach Step-Down regs suchen... Bye, Simon
Je nach Preis bin ich auch mit 2-3 Platinen dabei! Bekommt man die ICs gut in DLand oder machst du da auch ne Sammelbestellung und lieferst die mit? Gruss Mode
Also 10mm Gehäusebreite für einen LM2575HV als TO263-SMD Bauteil erscheinen mir in Ordnung. Die Diode und die Induktivität sollten auch als SMD-Bauteile zu erhalten sein.
Gerade die Induktivität macht mir Probleme... Die meisten Step-Down Regs die ich mir angeguckt habe (soic8) brauchen bei 45V input zwischen 100uH und 300uH Da ich so um die 400mA brauchen werde (Ethernet alleine 200mA, rest geschätzt) komme ich da mit den kleinen SMD Ls nciht mehr hin :-\ Ich suche jetzt erstmal weiter nach Stepdowns die mit höheren Frequenzen arbeiten, evtl finde ich da ja was... @Mode: Die Bauteile sind alle so rausgesucht das man sie bei RS,Segor oder Reichelt bekommt ;) Bye, Simon
das schaut echt gut aus, du könntest die quarze doch auch im SMD gehäuse nehmen das spart nochmal platz und den ISP stecker könntest du als einfache pads am Platinenrand realisieren - ist zwar umständlich, aber ich denke da an eine einmalige Programmierung mit einen ethernet bootloader oder sowas ähnliches. Vielleicht würde das helfen um noch Platz zu sparen.
csd-electronics hat den scheinbar gerade neu im DIP-Format. Im Zweifelsfall könnte man das Board auch optional für den DIP auslegen. Aber dein Board scheint mir die bisher eleganteste Umsetzung die ich hier bisher gesehn hab und würde ebenfalls 2 Boards abnehmen falls das klappt.
Die DIP-Version des ENC ist allein schon ca. 35mm lang. Dürfte bei den Ausmaßen eher schwierig werden, zumal man dann auch noch Platz auf der Unterseite verliert, wegen der durchgehenden Pads. CSD besorgt bestimmt auch die SOIC Variante, wenn man da anfrägt. Ansonsten ... beieindruckender Entwurf :).
würde mich auch sehr für so ein Board interessieren (3-5 stück)und wenn du einen bespielcode freigen würdest auch für einen solchen, were auch für bereit für einen gut funktionierenden Code einen gewissen umkostenbeitrag zu leisten. mfg Christoph Krikl
@Martin: Die schaut erstmal gut aus... Ist aber 1cm x 1cm :-X Ich baue gleich mal eine eagle lib dafür und packe sie testweise aufs board. müsste mit gaaaanz viel glück passen. Als Step-Down würde ich dann den LM2594HV-adj nehmen (gibts bei RS). Der braucht 100uH... Aber dann habe ich mir gerade den PoE Artikel auf wikipedia angesehen. http://de.wikipedia.org/wiki/Power_over_Ethernet Demnach muss ich noch ein PD einbauen dass signalisiert welche Leistung das device braucht ?! Muss ich mir nochmal genau ansehen ... Aber evtl kennt sich ja auch jemand hier aus mit PoE ? Bye, Simon
@Guido: Naja klein ist die Schaltung von linear nicht gerade g Das passt nicht :( @all: Bitte die PoE Diskussion in diesen Thread auslagern: http://www.mikrocontroller.net/forum/read-1-310065.html?reload=yes#310219 Bye, Simon
Ich habe auch Interesse und würde 2 Platinen abnehmen. Gruß Haydar
Hallo Simon... Hätte auch Interesse an 2 Platinen... Schöne Grüße aus Deiner Nachbarstadt Dirk
Den ENC28J60 (im SOIC) gibt es bei Farnell. Da Farnell, so viel ich weiß, nur Bestellungen von Firmen entgegennimmt kann ich euch vielleicht behilflich sein. Ich könnte eine größere Stückzahl davon kaufen und jedem welche zukommen lassen. 7,98 (+ 20% MwSt., ENC28J60/SO) + 3,5(Porto, Economy Brief 200g). Die Versandkosten verstehen sich von Österreich nach Deutschland. Den ENC28J60 gibt es auch bei www.digikey.com Bin zwar nicht unbedingt am Board interessiert, programmiere eigentlich nur PICs, aber an der Software auf jeden Fall. Ich nehme an, dass das Portieren zwischen PIC und AVR bei ANSI C kompatibler Programmierung recht einfach möglich wäre. mfg Tom ----------------------------- web: www.poms-engineering.at ICQ: 54237189
Hallo Simon... Bestellung bei Farnell könnte ich auch machen... Dirk
Hi Simon... Noch eine Frage: Wie soll denn die Cam aussehen ? Soll die Cam wieder mit der MCA-25 realisiert werden ? Dirk
"Ich könnte eine größere Stückzahl davon kaufen und jedem welche zukommen lassen. 7,98 (+ 20% MwSt., ENC28J60/SO) + 3,5(Porto, Economy Brief 200g)." Ganz schön teuer. Wieso nicht direkt bei Microchip bestellen? Da kostet der Chip keine 4 Euro. Mit Zoll und Märchensteuer sowie Porto kostet der, je nachdem wie viele bestellen, nur 6 Euro das Stück. Porto für den Versand vom Besteller im schlimmsten Fall 2,20 Euro für Maxibrief (1000g), eher 90 Cent für Kompaktbrief.
Märchensteuer?? Steuern sind immer zu bezahlen. Je nach Land ist dies jedoch unterschiedlich. In Deutschland sind es 16% in Österreich 20%. Firmen können die MwSt. mit dem Finanzamt gegenverrechnen, privat Kunden nicht. Farnell ist leider teuer, aber wenn man keine andere Option hat, wird man wohl mehr oder minder darauf zugreifen müssen. Porto hängt auch davon ab von wo wohin geschickt wird. Es gibt nur bei wenigen Firmen eine allgemein gültige internationale Versandkostenpauschale. Was Microchip tatsächlich verrechnet: 3,97 (Chip) 5 (Handling) 4,29 (VAT) 12,50 (Shipping) macht in Summe 25,76!!!!!
@Simon: Ich würde auch 1-2 Platinen nehmen. BTW: Wieviel Zeit verbringst Du mit der Entwicklung? Legst ja ein ganz schönes Tempo vor. Vor drei Tagen lief gerade ARP+ICMP und jetzt ein fertiger Webserver. Respekt.
Ich würde auch zwei Leiterplatten und zwei ENC28J60 nehmen, wenn sich jemand dazu bereit erklärt, diese zu bestellen. Wo bekommt man den Flash? Matthias
"Was Microchip tatsächlich verrechnet: 3,97 (Chip) 5 (Handling) 4,29 (VAT) 12,50 (Shipping) macht in Summe 25,76!!!!!" Völlig falsch gerechnet. VAT fällt für Nicht-USA flach. Des weiteren besteht ja hier doch deutliches Interesse. Also wenn man die Versandkosten auf nur 20 ICs umlegt, so sind das dann nicht mal 6 Euro inklusive Versand und Zoll pro Stück, also deutlich weniger als die 8 Euro von Farnell. Also nix Summe 25,76. Oder bestellst Du bei Farnell auch alle ICs einzeln????
Also wenn du dir nicht 100% über deine Aussagen sicher bist dann tätige keine. VAT entspricht der MwSt (Mehrwertsteuer, nicht zu verwechseln mit Märchensteuer!!!) Ich habe bereits direkt bei Microchip bestellt (nach Österreich) und weiß deshalb wie die dort verrechnen. Sollte dies für Deutschland nicht gelten dann kannst du dich glücklich schätzen. Das hätte auch nur eine Möglichkeit sein sollen. Wer sie nicht nutzen will muss es ja auch nicht!!! Wenn du die Dinger so billig bekommst kannst du dir ja die Mühe antun und 100 davon kaufen und dann alle wieder einzeln verpacken und weiterverkaufen...
Hi! Also wenn jemand die ENC28J60 organisiert nehme ich sicher auch noch ein paar ;) Flash: gibts bei segor ;) Ich habe gerade eben meine segor bestellung abgeschickt... Bis auf das Gehäuse, den LM317 und den enc28j60 bekommt man alles bei segor. :) Kosten: ca 25 Euro wenn man nur für eine Platine bestellt. Ab 10 wirds nochmal billiger da die alle Preise ab 10 Stück herabsetzen. Ich versuche mal heute oder morgen eine Liste mit bestellnummern ins Netz zu stellen ;) Bye, Simon
"VAT entspricht der MwSt (Mehrwertsteuer, nicht zu verwechseln mit Märchensteuer!!!)" Häh? Märchensteuer ist umgangssprachlich Mehrwertsteuer. Aber nichtsdestotrotz ist eine Sammelbestellung schon bei 20 Stück - die hier sicherlich zusammenkommen würden - direkt bei Microchip billiger als bei Farnell. Schau Dir doch Deine Zahlen mal an. Bei Dir käme das auf 13Euro pro Chip!! Ich brauche keine, ich habe hier 18 Samples rumfliegen. Aber wenn sich die anderen zusammentun, dann kommen die mindestens 5 Euro billiger als bei Dir weg!
Wie gehabt, ich reiß mich nicht darum welche für die Allgemeinheit zu bestellen. Ich habe ebenfalls genug Samples zuhause herumliegen, dass es wohl für die nächsten Monate ausreichen wird. Vielleicht noch eine Alternative: Microchip Technology GmbH Karlsruher Strasse 91 D - 75179 Pforzheim, Germany Phone: +49 (0) 7231 42475-0 Fax: +49 (0) 7231 42475-99 Um welchen Preis man die Dinger dort bekommt weiß ich noch nicht, hol aber gerade ein Angebot ein. Aber ich nehme an, dass dort die gleichen Preise sind wie bei https://www.microchipdirect.com/ Lieferzeit bei Microchip ist laut Auskunft 3 Wochen. Es wäre ohnehin sinnvoller wenn für Bastler aus Deutschland wer aus Deutschland selbst bestellt, dann kommt der Postweg billiger.
Hi! So, ich bin fast fertig mit routen. Muss eigentlich nur noch bissl aufräumen. Anbei mal ein Screenshot von dem Top-Layer. Wenn man das ganze nicht über das Netzerkkabel mit Strom versorgen will muss man nur an zwei stellen eine Leiterbahn durchtrennen (blau) und den blau eingezeichneten Jumper anstelle der Diode (gelb) einlöten. Dort kann man dann 5-6 V anlegen und der LM317 macht den Rest ;) Sind ja ganz schön viele Vormerkungen bis jetzt :) Ich weiss aber noch nicht so recht ob ich soviele aufeinmal bestelle ohne die Platine vorher durchgetestet zu haben. Da schleicht sich trotz DRC etc schonmal ein Fehler ein und dann muss man sich mit Drahtbrücken behelfen :-\ Ich wollte jetzt erstmal abwarten bis ich die Bauteile habe und den Test machen ob meine selbst gebauten Libs auch passen (Übertrager, RJ45, Flash,...). Die sollten im Laufe der Woche kommen, dann würde ich direkt ne PCB Bestellung losschicken die dann 10AT braucht um gefertigt zu werden. Wer würde denn eine ungetestete Platine mitbestellen wollen ? 6 Stück muss ich mindestens fertigen lassen. Danach würde ich dann wahrscheinlich nochmal welche bestellen da ich selber auch ein paar der Boards brauche. Bye, Simon
Hast du den Sourcecode eigentl. schon irgendwo im Netz liegen? Bin auch daran interessiert.
>vielleicht einfach nur D1 nicht bestücken statt die Platine zu >verstümmeln? :-) Ja ok, aber den unteren blauen Strich sollte man dann trotzdem trennen ;) Sourcecode: Nein, noch nicht... Ist noch nicht ganz fertig ;) Aber die ENC28j60 Ansteuerung habe ich fast 1:1 von: http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/enc28j60_8c-source.html Funktionierte fast auf anhieb. Achtung: die initialisieren die leds nicht! Nicht wundern wenns nicht blinkt ;) Die avrlib ist sehr umfangreich. Finde sie aber an einigen Stellen umständlich (rprintf statt printf zb) Bye, Simon
@ Simon... Wie soll denn die gepl. Cam Erweiterung aussehen ? Wieder mit MCA-25 ? Dirk
Hi! ja genau, die gute alte mca25 ;) Deshalb auch die 3.6V Versorgungsspannung. Bye, Simon
Trifft sich gut... ;o) Davon hab ich noch welche. Wegen der anderen SW (Betatester) schreib ich Dir noch ne Mail. Hat bisher noch nicht geklappt. :o( Dirk
Hi! So genau weiss ich es noch nicht. Muss ncoh die Platinen abwarten. Wird aber wohl komplett mit Bauteilen+Board unter 40 Eur bleiben ;) Bye, Simon
Also ich würde auch 2 Platinen nehmen wenn es noch geht :-)
Hallo Leute, wo habt Ihr das mit Farnell blos immer her. Bei Farnell kann JEDER (JEDER) bestellen, ob mit oder ohne Firma. Fragt doch enfach mal an. Das hatten wir hier schon so oft. Das ist definitiv falsch... Mattias
warum nimmst du nicht den internen RC für den atmega? Zeitkritisch sollten die Aufgaben des controllers ja nicht sein - so kannst du dann immerhin noch einen quarz sparen.
@Mattias: Das problem ist, dass der Typ am Telefon beim Versand was anderes sagt. Wenn man eine Mail hinschickt sagen die auf alle fälle, das man als Schüler bestellen darf. Irgendwie eigenartig ^^
@Lupin: Ich brauche für die Webcam 460kbaud, da muss chon nen Baudratenquarz her ;) Quarze als SMD gibts zwar schön klein, aber nicht bei rs/reichelt/segor... Und da es nachbaugeignet sein sollte hab ich eben die normalen Quarze genommen (low profile). Und die gibts bei segor. Bye, Simon
Hi, ich wollte mal bei Farnell bestellen, am Tel. wurde mir gesagt das der Mindestbestellwert für Privatpersonen bei 50 liegt. Das war mit in dem Fall zu viel, und ich habe es gelassen. Feadi
Wieviel würden den die Prototypen kosten? Wären die auch mit Lötstopplack? Und könntest du schon mal eine Bestückungsliste posten? mfg Florian
So, habe mal schnell ne Webseite zusammengebastelt: http://avr.auctionant.de/avrETH1/ Hab gerade mal durchgezählt, es sind mittlerweile 13-18 Platinen :o Ich glaube ich werde erstmal nur max 10 Stück fertigen lassen... So ganz ohne die Platine zu testen ist mir das sonst zu riskant :-\ Aber danach werde ich ggf nochmal welche bestellen. Sobald ich meine Bauteile habe und alles passt werde ich wohl die Platinen bestellen (hoffe in 2-3 Tagen). Wie teuer eine Platine wird weiss ich erst genau wenn ich weiss wieviele ich bestelle usw... Schätze mal so um die 10 Euro pro Platine. Bye, Simon
MIch lässt die Idee einer Zusatzplatine mit PoE Stromversorgung ja noch nciht ganz los. Wieviel Platz hast du denn noch nach oben? Ich habe hier gerade die Dokumentation eines Demoboards liegen. Das Problem ist, das der Überträger mit 1cm relativ hoch ist. Gruß Michael
@Michael: wenn Du den LTC4267 für PoE meinst, kannst Du auch den 749119250 von Würth Elektronik nehmen. Der ist nur 7,4 mm hoch. ( 7W/5V ) Für 7W/3V3 kannst Du dann den 749119233 nehmen. Gruss Steffen
Also über der RJ45 Buchse wird wohl kaum noch was frei bleiben. Der Übertrager ist laut segor 5mm hoch, die Platine hat nach unten 2.6mm (ENC26). Bye, Simon
Platinen: Ich warte erstmal ab bis ich alle Bauteile habe. hab viele Libs selbergebaut und will sichergehen dass ich genug Platz zum handlöten hinzugefügt habe ;) Und nur nach pdf mit chinesischen Schriftzeichen eine Eagle lib bauen und das Bauteil nicht draufhalten können ist mir bissl zu riskant 8) Bauteile sind bei segor wohl heute noch raus (achtung: 51R haben sie momentan nicht !). Sollte also in ~3 Tagen bei mir sein denke ich. Dann wollte ich bestellen. Bye, Simon
Ganz dumme Frage mal, wo ist eigentlich deine RJ45 Buchse auf deinen 3D Bildern? Ich dachte man könnte die Buchse aussparen und dann nur die restliche Platinenfläche nehmen. Ich habe mir den LM5070 näher angeschaut, soweit ich das gesehen habe, sind alle benötigten Bauteile bei Digikey erhältlich. Der Tip mit dem Überträger war super, der ist ja echt viel flacher. Weißt du zufällig wo der erhältlich ist?
Es gibt ja kaum was, was nicht bei digikey erhältlich ist :) Hast du eigentlich auch was zum Anschluss einer MMC karte vorgesehen? Also eine MMC Karte wäre mir viel lieber als der flash :) Am besten wäre, wenn beides, flash und MMC als Netzlaufwerke in windows eingebunden werden könnten :)
Da hast auch wieder wahr, deshalb bestell ich da eigentlich auch recht gern. Die haben nämlich auch eigentlich ganz ordentliche Preise. Man muss halt nur über 100 kommen. Sch***, das was ich die ganze Zeit für ein SD-Karten Anschluss gehalten ahabe, ist bestimmt die RJ45 Buchse ;-)Damit hätte sich meine Frage dann auch erledigt :-)
Wo es die Teile im Handel gibt kann ich nicht sagen, aber ich kann relativ schnell welche bei Würth bestellen. ( Muster ? ) Welchen Typ brauchst Du ? Gruss Steffen
Achso, ja Muster ist klar. Aber ich dachte wenn man es nachbausicher machen möchte, müsste man ja zumindest auch eine "richtige" Bezugsquelle haben
Ich hatte leider die RJ45 buchse vergessen bei der Idee einer Huckepackplatine. Ich bin grade ein wenig ernüchtert, wenn man das so sagen kann. So denke ich auch, dass das nicht passen wird, schade eigentlich :-( Aber ich muss sagen, ich bin grade auf den Geschmack gekommen, was mit PoE zu machen. Mal schauen, erstmal muss ich leider ein paar Klausuren schreiben, so ein Mist.
Hi! Die RJ45 Buchse rendert eagle3d nicht da ich die Lib selbst erstellt habe ;) MMC ist nicht vorgesehen, 4MBit flash reichen mir dicke aus. Müsste sogar ein 16Mbit flash reinpassen. Die dinger sind so billig da lohnt MMC einfach nicht (x euro sockel, x euro ne alte karte, ...) Es ist geplant das man die Webseiten per Browser hochladen kann. Also einfach per Webformular. Prinzipiell ist das auch schon fertig (gepostete Daten landen auf der schnittstelle). Nur ich hab stackprobleme auf dem Test atmega8 g bei 600Byte Buffer bleiben nur noch 400Byte für die App... Und so kann ich einfach nciht debuggen... Ohne printf wirds kompliziert... Ich hab heute die dataflash zugriffsroutinen gecodet. Ist relativ einfach anzusprechen :) Du kannst aber den spi bus am programmierstecker abzweigen ;) Bye, Simon
@Michael: da bleibt nur noch Coiltronics. Die Übertrager sind 8,4mm hoch und bekommt man bei HY-LINE. Die müssten auch an privat liefern. http://www.hy-line.de Gruss Steffen
@Michael: Laß Dich bloß nicht beirren! Auch ich bin an POE sehr interessiert. Leider fehlt mir das Knowhow, aber für Sensorknoten zum schnellen Anklemmen ist das einfach ideal. Zumal mein neuer Switch POE kann ;) Ich wäre auch bei einer Sammelbestellung der nötigen Bauteile dabei.
Wie wäre es mit einer kleinen Änderung im Layout, so das man statt einer Standart LED auch eine SMD-LED einlöten kann?
Die normalen LEDs dürften hier wegen dem Gehäuse gewollt sein. SMD-LEDs bekommt man nicht nach "außen".
Bin auch der Meinung das es wegen dem Gehäuse ist. Aber zur not kannst du doch auch so SMD-LED´s drauflöten
Hi! Normalerweise verbaue ich ja ausschliesslich smd ;) Aber bei dem Gehäuse sieht man dann nix blinken ;) Du kannst aber auch smd leds drauflöten. Ich hab gestern noch eine 0603 Status led am atmel angeschlossen. Sie liegt aber links unten neben der RJ45 Buchse und soll hauptsächlich zum debuggen dienen ;) BYe, Simon
Hallo Simon Ich hätte auch gerne 2 Platinen oder bin ich zu spät? Wenn ich den ENC28J60 auch über Dich bekommen könnte wäre das Super! Rubitschka ät Hotmail Punkt Com LG Michael
Hey Simon! Willst du villeicht diese Buchse nehmen? http://www.segor.de/bilder/0000ac91.jpg Brauchst du da nicht noch zwei Bohrungen?
Hi! @Florian: ähh genau. das zum thema libaries selber bauen ohne das Bauteil zu haben :-X Hab ich gerade auch festgestellt als ich die Buchse auf die Platine aus Pappe gehalten habe ::) Also nochmal den mega32 Teil neu routen ::) Sollte aber noch passen. Segor war ja echt fix. Gestern bestellt, heute morgen angekommen! Und alles bis auf die 51R dabei. Und das beste: bis auf die fehlenden Löcher für die Buchse passen alle meine selbstgebauten Libs ! Die Übertrager sind ja witzig, von unten offen und man kann die Spulen mit dem aufgewickelten draht sehen g Könnte man sogar selber machen 8) So, bin erstmal wieder weg routen g Ich denke heute nachmittag/abends schicke ich mal eine Angebotsanfrage für die Platinen ab :) Dann würde ich wohl morgen bestellen... Bye, Simon
jetzt weiss ich auch warum ich die Löcher nicht drin hab: Sie sind im drawing pdf nicht eingezeichnet :-X
Hab den ganzen unteren Teil neurouten müssen :-X Alternative wäre das abdremeln der Kunstoffpins gewesen. Aber so ist es besser, ohne die Plastikdinger hält das sonst nicht so gut ;) Ausserdem ist der atmel jetzt schön 45° gedreht, so eine Platine wollte ich immer schonmal machen 8) Hier das aktuelle eagle3d pic: http://avr.auctionant.de/img/avrETH1_1_2_s01_280206.jpg Bye, Simon
Hallo, ich würde auch gerne eine nehmen. malte_jahn@gmx.de Gruß Malte
Wow! Mit so einem 45°Chip sieht das gleich so viel Profesioneller aus ;o) Hat die Prototyp-Platine auch schon diese Aussparungen an den Ecken? Flo
Hi! Ich habe jetzt erstmal Angebotsanfragen für 10 oder 20 Platinen rumgemailt. Mal sehen was da so kommt :) BYe, Simon
Hi! Kurze Rückmeldung von mir: Bis jetzt habe ich noch keine PCB Angebote erhalten... Mal schaun, sollten morgen eintreffen. Stand Webserversoftware: Ich habe heute mal ein Dataflash mit kabeln aufs Steckbrett adaptiert. Ansteuerung läuft :) Ausserdem habe ich ein kleines Filesystem geschrieben welches selbsständig die dateien verwaltet (kleinste einheit = 256 byte, einzelne einheiten als linked list verbunden und ggf quer im flash verstreut) Das funktioniert schon ganz gut soweit. ist nur noch ein bissl langsam beim schreiben... Ich melde mich morgen abend nochmal wenn ich die pcb angebote habe ;) Bye, Simon
Könnte mal jemand eine ungefähre Preisübersicht der Bauteile posten? Dann wäre das Interesse an Leiterplatten sich auch wesentlich größer. Mfg LP
Hallo, ich habe auch Interesse an einer Platine. schaeferr@gmx.de Gruß R. Schäfer
nabend da ich das ganze hier auch mit großem interesse verfolge wollte ich nur mal kundtun das bei http://www.csd-electronics.de/ der ENC28J60 verfügbar ist für 6,95 dummerweise bisher als pdip aber vlt mal nachfragen ob er auch anders ordern kann ich könnte es mir vorstellen Mischa ps: wird es eigentlich später auch der schaltplan mal veröffentlicht?
Hi! Hab CSD mal angemailt ;) Schaltplan: Das ist eigentlich nur aus dem Datenblatt von Microchip 1:1 übernommen. Aber ich werde den später auch veröffentlichen ;) Muss nur erstmal getestet sein und laufen 8) Bye, Simon
Hallo CSD hat doch auch ne "MagJack 8 polig print LED" mit LEDS und Übertrager. Falls bekannt ignorieren. MfG Achim
Hi! Die CSD Buchse kenne ich, war mir aber zu hoch ;) Ausserdem ist buchse+Übertrager billiger ;) Habe vorhin 15 von den Platinen in Auftrag gegeben (10AT Fertigung) Achtung: ich habe sie 1.5mm länger gemacht damit sie nicht so in dem schwarzen gehäuse hin und herwackeln ;) Passen aber immer noch in eine Streichholzschachtel. Es würden sich folgende Preise ergeben: (inkl Luftpolstertasche und Porto nach Deutschland, Auslandsporto muss ich noch nachsehen) 1 Platine -> 10 Eur (10 Eur/Stück) 2 Platinen -> 18 Eur ( 9 Eur/Stück) 3 Platinen -> 24 Eur ( 8 Eur/Stück) (sind in Deutschland hergestellt, zweiseitig (durchkontaktiert) mit Stopplack und einzeln ausgefräst -> sonderkontur, OHNE Bestückungsdruck) Da ich nur 15 Platinen bestellt habe und selber erstmal 2-3 brauche würde ich die erste Fuhre an diejenigen verschicken die sich als erstes hier oben gemeldet haben. Ich werde aber danach nochmal welche bestellen da ich selber auch noch welche brauche. Dann würde ich evtl soviele bestellen wie sich hier bis dahin gemeldet haben. Mehr zu bestellen war mir zu riskant (falls die Platine einen Bug hat) Ich würde vorschlagen diejenigen die jetzt definitiv Platinen von der ersten, ungetesteten (!) Fuhre haben wollen schreiben mir eine Mail mit der Anzahl an: sammelbestellung_avreth1 <AT> auctionant.de Sobald ich die Platinen habe maile ich dann an alle die welche der ersten Platine haben wollen eine Email wie wir das am besten machen. Aber das dauert jetzt erstmal 10 Arbeitstage, ihr habt also erstmal Zeit ;) Manche wollten ja >3 Platinen haben. Wäre evtl gut wenn ihr erstmal nur 3 nehmt damit mehr Leute eine bekommen können ;) so, das erstmal zu den Platinen. -- Zum Status der Software: Habe vorhin das Filesystem weitergecodet. Kann jetzt dateien anlegen und das Verzeichnis ausgeben lassen. Funktionsumfang fs: - max 600 Dateien (erstmal) - kleinste dateieinheit 256 byte - unterstützung von anlegen/löschen - Speicherung der daten einer datei als linked list Bye, Simon
Segor: > Kosten: ca 25 Euro wenn man nur für eine Platine bestellt. Ab 10 wirds > nochmal billiger da die alle Preise ab 10 Stück herabsetzen. Kannst du dann nicht fuer alle Bestellen und direkt mit den Platinen versenden? Vonmiraus kannst du das nochmal billiger ja dann fuer dich als Aufwandsentschaedigung behalten :) Hatte dir das gerade auch schon per EMail gesendet :) Gruss
Uff... Ne sorry... Das wird mir viel zu aufwendig.... Ich hab aber auf meiner Seite die Bestellnummern angegeben, die Liste muss man quasi nur noch abtippen ;) Oder jemand überredet segor dass sie ein paket aus allen Bauteilen zusammenstellen 8) Die werden sich eh wundern wenn dort 15x dasselbe bestellt wird g Bye, Simon
Microchip Samples über die Uni ;) Aber ich hab CSD angemailt, mal sehen ob die welche organisieren ;)
so mal ein bissl update bezüglich der software: vorhin habe ich das filesystem fast fertig bekommen. man kann jetzt - nach dateiname suche - dateien löschen - sich die auf dataflash liegenden dateien als liste anzeigen lassen - ein file nach gegebenem namen auf der seriellen schnittstelle dumpen - schreibgeschwindigkeit liegt momentan bei ~7kb/s, lesen um den faktor 10-100 höher (habs nicht gemessen, geht aber sehr schnell) Dann habe ich auf die schnelle einen lm75 tempsensor drangepackt und meine templog/graphplot routine getestet Bei den ersten beiden hügeln hab ich kältespray draufgesprüht, danach dann paarmal nen feuerzeug drangehalten. Angehängt ein bmp so wie es der webserver selbsständig generiert (musste es in png umwandeln, hier darf man kein bmp anhängen ::) ) Soll dazu dienen die Temp der letzten zwei tage als Graph anzuzeigen sowie einen weiteren graph als Jahresverlauf (min/max). Die Tempmesswerte werden im mega32 eeprom gespeichert. Bye, Simon
@Daniel und @Ssss ssssss Hab gerade den ENC28J60 in SO28 bei www.microcontroller-starterkits.de entdeckt :-)
Cool! Wer dort bestellt sollte sich auch am besten den 25mhz quarz dort mitbestellen, ist dort billiger als bei segor ;)
Hallo, wenn es Probleme mit der Ramgrösse gibt wäre der Atmega644 angebracht, vorausgesetzt man bekommt ihn irgendwo. Gruß Topsoft
Cool, der scheint sogar pinkompatibel zu sein ;) Aber ich denke 2kb sram sollten reichen, ich hab viele strings in den programmspeicher verschoben.... Ich brauche ja nur ~600k-1k fürs ethernet und 256byte fürs dataflash. Rest ist dann stack ;) Aber der 644 sieht interessant aus, kann man dann ja später verbauen wenn es ihn überall gibt :) Danke für den Tipp! Bye, Simon
Jo natürlich pinkompatibel ;-) Wenn man den internen EEprom nicht benutzt sollte das Ding problemlos bei 18,irgendwas MHz werkeln. Auch wenn das leider nicht garantiert ist. Gruß Topsoft
es gibt news: Der webserver kann jetzt selbsständig NTP pakete generieren, verschicken und dekodieren (auch über einen defaultgateway ins inet): >>ntp req out UDP in NTP: timestamp is 199 181 60 175 DATE: 5. 3. 2006 TIME: 10: 32: 15 (UTC!) :D Danke an Peter Dannegger für seine timestamp umrechnungsroutinen ;) http://www.mikrocontroller.net/forum/read-4-140631.html#new Bye, Simon
Moin Simon, Hast du meine eMail bekommen? Gibts du noch bescheid ob man jetzt ne Platine bekommt? Dann wuerde ich schon mal bei Segor ordern. Muster bei Microchip sind schon bestellt.
Welcher Daniel ? g Aber ich glaube deine Mail habe ich auch bekommen. Kann ich jetzt noch nicht sagen, es hatten sich hier ja ein paar vor dir gemeldet, die haben aber teilweise noch keine Email geschickt. Ich warte jetzt noch bis zum 10.03. auf emails, dann werde ich die Zuteilung vornehmen und Emails verschicken ;) Dann habt ihr noch >1 Woche Zeit Bauteile zu ordern bevor die Platinen kommen ;) Also: Wer mir noch keine Email geschickt hat, aber hier gepostet hatte dass er eine Platine haben möchte schreibt einfach an sammelbestellung_avreth1 <AT> auctionant.de Bye, Simon
Hi Simon, kanst du irgendwo mal Screenshots veöffentlichen von der Software, bzw. vom laufenden Betrieb? Vieleicht auch schon mal die Testsoftware von dir, dann kann man schon mal reinsehen.
Hi! Momentan teste ich alles per debugausgabe auf der seriellen Schnittstelle... Den html Kram / templogger habe ich aber testweise mal in php gecodet um zu gucken wie es dann aussehen soll ;) Daovn hab ich mal einen Screenshot angehängt. Der Temperaturverlauf soll später dann die letzten 2 Tage und einmal das ganze Jahr als min/max anzeigen. Ich muss momentan alle Softwareteile einzeln coden und testen, auf dem mega8 hab ich nicht mehr genügend Speicherplatz für alles ;) Und mega32 hab ich nur noch als SMD rumliegen g Status Software: - eine uhr wurde hinzugefügt (baudratenquarz/1024/7200 = 1s takt) - der ntp client kann jetzt die mac adresse des default gateways per arp request/reply selbstständig bestimmen - ntp client updatet uhrzeit selbsständig Das sieht auf der Konsole dann so aus: CLOCK: 0: 0: 1 CLOCK: 0: 0: 2 CLOCK: 0: 0: 3 NTP: req out ARP: got reply for us. adding ip to mac table CLOCK: 0: 0: 4 CLOCK: 0: 0: 5 CLOCK: 0: 0: 6 NTP: req out CLOCK: 0: 0: 7 NTP: timestamp is 199 181 110 121 DATE: 5. 3. 2006 TIME: 14: 4: 41 (UTC!) CLOCK: 15: 4: 42 CLOCK: 15: 4: 43 :) Die Software ist aufgrund des testens auf dem mega8 zu sehr zerstückelt als dass ich sie irgendwo posten könnte :-\ Aber sobald die Platinen da sind packe ich alles zusammen und lade direkt ein lauffähiges hex/asm auf meine Seite damit alle testen können. Die Sourcen kommen dann ein paar Tage später, muss dann erst ausmisten/aufräumen ;) Bye, Simon
Hi! Wer bei RS die LM317 bestellt sollte sich evtl direkt ein paar von den AD7415ART im SOT23-5 (BestNR: 451-3128) mitbestellen. Das sind Temperatursensoren die soweit ich es bis jetzt überblicke LM75 kompatibel sind. Jedenfalls lief er direkt mit meinem LM75 Code 8) (nur ne andere ID). Ich hab auch noch ein paar von den winzigen Platinen wo man sie auflöten kann. (siehe Anhang) -> eingiessen in ein Metallröhrchen -> Außenfühler ;) Die würde ich dann ggf auch noch abgeben, muss mal nachzählen wieviele ich davon noch habe. Als Kabel empfielt sich ein USB Kabel von Reichelt (3m kosten ~1 Eur, billiger kommt man nicht an ein 4adriges Kabel ;)). Bye, Simon
Hi! Mail von CSD: CSD kann die SOIC ENC28j60 auch besorgen. Lieferzeit 8 Wochen / Preis wie DIP Aber weiter oben wurden ja zwei alternative Bezugsquellen gepostet ;) Status Platinen: Sind in Fertigung, Lieferung KW11 -> ~17.03.06 denk ich Gruss, Simon
Hi, an alle die noch kein ENC28J60 in SO28 haben. Ich habe in unter der Adresse www.microcontroller-starterkits.de bestellt. Das Bauteil hatte eine Lieferzeit von 4 Tagen. Gruss Reinhold
@pseudo Abofront ohne email addi siehts schlecht aus mit mails. @andreas Schwarz nützlich wäre eine kleine Funktion um sich ohne Beitrag im Thread Hinweise auf neue Antworten zuschicken zu lassen.
Schorschii egal, hauptsache man beteiligt sich am *abo*-wahn hier im Forum :) abo ;)
abo ach nee, wollte ja was anderes schreiben g Also, mal ein aktueller Überblick was an der Software neu ist: flashloader ein "bootloader" der den avr aus dem dataflash selbst programmiert -> per http POST dialogbox soll man später aus dem browser heraus ein firmware update hochladen - in assembler gecodet -> ~500 byte code -> passt in eine mini bootloadersection - flashloader aufruf direkt aus dem webbrowser -> fernupdate - status: bootloader für mega8 100%, http upload: ~40-50% (mega8 hat zu wenig mem, kann nicht weitercoden g) - todo: beim http upload muss die crc pro ihex zeile gecheckt werden ! Prinzipiell funktioniert es aber ;) Unterstützung für bis zu 64KByte (->mega644 später!) Programmierzeit: schneller als mein ISP programmer 8) Ausserdem neu: software uart mit 19200baud - debuggen über portpin (uart wird ja für cam genutzt) - es wird kein printf etc benutzt, optimiert auf ramverbrauch (progmem) -> nur per delay_us() realisiert ! (mit absicht) ist aber bei der niedrigen baudrate kein problem (ist ja auch nur zum debuggen) Ausserdem habe ich den code aufgeräumt und dokumentiert. Status Platinen: Ich werde morgen oder Sonntag mal die Emails bearbeiten und allen die sich für Platinen gemeldet hatten eine Email schicken. Bye, Simon
Hi! Ich habe soeben die Platinen zugeteilt und euch allen Emails geschickt. (zumindest allen die mir eine Email geschickt haben!) Falls ihr in den nächsten Stunden keine Email erhaltet, mir aber gemailt hattet dann schreibt mir eine mail/postet hier. Für alle die nicht dabei waren bei Bestellung Nr1: Ich werde demnächst nochmal Platinen bestellen. Ich kündige das dann hier rechtzeitig an ;) Dann werde ich auch ggf nochmal diese kleinen LM75clone Platinen mitbestellen. Bye, Simon
Hi! Achtung: bitte nicht per Kreditkarte bei paypal bezahlen! Ich hab da nur ein Basiskonto und das erlaubt das nicht ... Komischer verein ... Sorry, wusste ich nicht :-\ Bye, Simon
hi ssss ssssss =) ich bin auch gerade dabei meinen enc28j60 + atmega32 zu programmieren. Der Chip lässt sich ansprechen, LEDs blinken usw. und alles läuft perfekt, bis auf die eigentliche Übertragung =D da mein TCP/IP Header nicht funktioniert. Vielleicht könntest du mir ja bitte mit deinem Code weiterhelfen!? thx im voraus, hannes
Hi! Bei solchen Problemen am besten mit ethereal mal die Pakete mitschneiden. Dann siehste sofort was schiefgeht ;) Code ist noch nicht aufgeräumt genug/zusammenkopiert. Ist halt noch eine mittelgroße Baustelle... Sobald ich die Platinen habe werde ich das aber zusammenkopieren und aufräumen. Meld dich also nä Woche Samstag nochmal per Email oder so ;) Wieso fängst du mit tcp/ip an ? Ich würde erstamal ARP implementieren. Das brauchst du ja sowieso später für ip<->mac konvertierungen ;) Bye, Simon
huhu simon, also mein arp und ip header sieht ja schon ganz gut aus, es hängt ja eben nur mehr am fertig stellen des TCP's. kann aufgrund von zeitproblemen nicht mit z.B. udp/ip anfangen, da ich einen gewissen termin für meine fertigsstellung habe und deshalb muss ich es gleich voll angehen =) aber bloß für testzwecke wäre dein icmp/ip header supi!! Damit ich nach diesem test hardware probleme vollständig ausschließen könnte! Also wenn du mir diesen code bitte per email schicken könntest, wäre ich sehr erfreut! bye, hannes
Hab dir mal meinen icmp code per email geschickt. Hat aber ein paar Hacks (zb checksum calc sehr vereinfacht). Geht aber ;) Bye, Simon
Hallo Ssss ssssss, kann ich bitte mal deine e-mail habe, ich habe eine Frage an dich gruss, John
Sooo gibts schon was neues von der Platinenfront? Ich weiss, es ist noch nicht der 17.... Meine Segor Teile kommen wahrscheinlich auch morgen. Loetkolben ist angeheizt :)
Hi! Ne hab noch nix gehört ;) Aber die werden shon nicht vor Liefertermin liefern. Bis jetzt kamen alle PCB Bestellungen immer genau pünktlich an 8) Aber meine Unisamples von enc28j60 sind angekommen (trotz falscher Adresse :-X) Bye, Simon
Ich hab meine Samples am 3.3. geordert und NOCH nix erhalten... naja mal warten...
Hi guys, As this chip has been difficult to find, you may like to know that the ENC28J60 is now available in our web-shop at http://www.jelu.se in DIP and SOIC packages. Hope I'm not stepping on any forum rules by posting this, in that case, let me know. And please excuse my German, I have a cold ;-) /J
Meine Samples sind auch da freu Hab meine am 05.03. bestellt, und sind gestern (13.03.) eingetroffen. Dirk
"Hope I'm not stepping on any forum rules by posting this, in that case, let me know." Of course you do, that sucks. By the way, it is far easier to buy these ICs in Germany since they are not difficult to find. Webshops are well known among the users here.
Well, in that case I'm really sorry that I tried to help. Simon (and the partslist on his webpage) had given me the impression that it was hard to obtain, and I see messages posted both here and in other places that mention the same. But I will take notice and not mention again if I have something you may need. You're on your own.
@Imperator: Also wenn ich richtig gelesen habe ist die SOIC-Variante hier nicht so geläufig. Abgesehen davon kannte ich den Shop noch nicht. Auch wenn es gegen die Policy verstößt hier zu werben, bin ich schon dankbar für einen weiteren Shop in meiner Bookmarkliste. Außerdem finde ich, daß Du etwas zu schroff reagiert hast. Immerhin hat sich auch mal rausgestellt, daß solche Tips - und sogar Mitarbeiter diverser Firmen (z.B. Phillips in Bezug auf ARMs) - hilfreich sind (nicht alle haben das Glück bei Reichelt und & bestellen zu können. AFAIK nur Leute aus DE). Grüße, Freakazoid
Hi! Zwischenstand Software: - ich hab die enc28j60 lib neu geschrieben Grund: ich habe nicht in Erfahrung bringen können unter was für einer Lizens die lib steht (keine reaktion vom Autor) Ausserdem habe ich das ganze auf Platzbedarf optimiert und ausführlicher Kommentiert. - ich bin grad dabei einen neuen TCP stack zu schreiben. bisher hab ich eine Version ähnlich wie die von ulrich radig benutzt. Die Lösung hat aber so ihre Probleme (kein neu senden von paketen, wenn pakete ausserhalb der reihenfolge ankommen passiert murks, große dateien empfangen auch nur mit miesen hacks möglich) Die Verbindungsroutinen für Handshake sowie zeitgesteuertes reseten der Verbindung wenn 60s nix passiert sind schon fertig. jetzt kommt der interface Teil tcp stack <-> apps Platinen sollten übermorgen kommen :) Bye, Simon
"Also wenn ich richtig gelesen habe ist die SOIC-Variante hier nicht so geläufig. Abgesehen davon kannte ich den Shop noch nicht. Auch wenn es gegen die Policy verstößt hier zu werben, bin ich schon dankbar für einen weiteren Shop in meiner Bookmarkliste. Wozu gibt es das Forum hier: http://www.mikrocontroller.net/articles/ENC28J60-Projekte Das kann auch ein Spammer lesen. "Außerdem finde ich, daß Du etwas zu schroff reagiert hast. Immerhin hat sich auch mal rausgestellt, daß solche Tips - und sogar Mitarbeiter diverser Firmen (z.B. Phillips in Bezug auf ARMs) - hilfreich sind (nicht alle haben das Glück bei Reichelt und & bestellen zu können." Wobei der Philips-Mensch mit seinen gelegentlichen Werbepostings hier doch auf einigen Widerstand stößt und auch mal unbegründet um sich schlägt, vor allem gegen die bessere Konkurrenz. Braucht das Forum so etwas? AFAIK nur Leute aus DE)."
Hi *, wenn ich das jetzt richtig verstanden habe bekommt man jetzt den Enc28J60 der mit weniger als 8Mhz läuft? Oder kann der Mega32 doch 8Mhz SPI, dann habe ich mich verlesen. Gruss Sven
Hi! So, platinen sind da ! Hab gerade die erste Platine (bis auf den dataflash) bestückt: http://avr.auctionant.de/avrETH1/index.html#fotos Und er lebt:
1 | init:NIC : enc28j60 init... done |
2 | NIC : 192.168. 0. 6 |
3 | NTP : <request out> |
4 | ICMP: echo reply sent |
5 | ARP : got reply for us. adding ip 192.168. 0. 66 to mac table |
6 | NTP : timestamp is 199 197 32 122 |
7 | DATE: 17 3 2006 TIME: 11 48 10 (UTC!) |
8 | ICMP: echo reply sent |
9 | ICMP: echo reply sent |
10 | ARP : who has 192.168. 0. 6 tell 192.168. 0. 66 |
Ich werde versuchen die Platinen bis morgen einzutüten und zur Post zu bringen (von denen die bis jetzt bezahlt haben ;) ). Ich werd mich gleich mal an die SW setzen und eine Version zusammenkopieren :) @Sven: Ich hab bis jetzt keinerlei Probleme mit der Baudrate. Sie beträgt 7,3../2 mhz bei mir. (bis jetzt nur ausgiebig bei meiner rev0x02 dip version getestet) Bye, Simon
Cooles Gehäuse was du verwended hast :-) Na dann freu ich mich schon mal auf die Lieferung
Das gehäuse war nur als proof-of-concept gedacht 8) Es wird später in dieses schwarze minigehäuse montiert.. Da muss ich nachher erstmal passende löcher üfr leds und rj45 ausfräsen :)
Hui, Puenktlich auf den Tag :) Bitte meinen Spannungsregler nicht vergessen - Segor war auch ganz schnell - nur die Microchip Samples lassen noch auf sich warten :( Gruss H:V
Hi! Klar sind die pünktlich ;) Hab jetzt ein 100 Ohm ISDN T-Stück zum einspeisen der Versorgungsspannung umgebaut. Foto siehe Anhang. Ausserdem befindet sich die Platine nun in ihrem richtigen Gehäuse: http://avr.auctionant.de/img/avrETH1_prototyp_170603_gehaeuse_zu.jpg (muss nur noch das Flachbandkabel rausführen) Bye, Simon
Hi, @Sssssss: Die gelben Drähte an der Platine sehen ja gut aus, wie heisst das Kabel? Und wo kann ich es kaufen? Gruß, Feadi
Hi! Das sind so ganz dünne Silberdrähte. Wofür die normalerweise sind weiss ich nicht, hab zwei solche 2cm Röhren mit vielen, ~15cm langen Drähten drin. Enthalten wohl recht viel Silber. Hab sie vor Jahren auf der Hobbytronik für 50 Pfennig gekauft. Dummerweise habe ich nur 2 Röhrchen gekauft :-\ Die lassen sich super abisolieren und ohne verzinnen sehr gut löten. Ich würd auch gern welche nachkaufen :D Mit denen kann man super Prototypenplatinen verkabeln. Bye, Simon
Hallo Simon Gratuliere schaut ja super toll aus!! Freue mich schon sehr auf das Board. Zu dem Draht, habe mir mal bei Ebay aus Amerika so einen Draht gekauft. Der wurde früher für Wirewraping verwendet. Der Verkäufer war johnny_toroid. Leider hat er im Moment keinen im Angebot. Einfach unter "hookup wire" suchen . Hier war eine ähnliche Auktion nur die verkaufte Menge ist um Faktor 100 geringer, der erzielte Preis nur um den Faktor 3,... http://cgi.ebay.at/ws/eBayISAPI.dll?ViewItem&category=96966&item=5865250121 LG Michael
Hi, <zitat von=ebay> The yellow teflon TFE insulation is much better than regular PVC at withstanding the heat of a soldering iron. </zitat> Jetzt kommen wir der Sache schon näher, Teflon ist das also. Wenn jemand eine Bezugsquelle findet, soll er das bitte posten. Gruß, Feadi
Hi das sieht ja echt super aus. Hast du vor nochmal Platinen machen zu lassen?
Hallo Feadi Leider ist dieser Teflon Draht nur schwer zu bekommen. Was mir aufgefallen ist, ist das die amerikanischen Drähte viel besser sind (Teflon Insulierung und versilberte Seele z.B. ist dort Standard). Aber auch bei denen sind diese Wirewrap Drähte in der Regel nur mehr Surplus Ware. Zuerst erschien es mir relativ Abwegig einen Draht aus Übersee kommen zu lassen, bereut habe ich es jedoch nicht. LG Michael
Es gibt diese Drahtsorte anscheinend auch mit "Kynar" isoliert. <zitat von=http://www.omega.com/pdf/tubing/fittings_tubing_hose/nylon_poly_kynar/nylon.asp> Important Properties of KYNAR Products: * High mechanical strength and toughness * High thermal stability * High abrasion resistance * High dielectric strength * Chemical and solvent resistance * UV light and radiation resistance * Weathering resistance n Fungi resistance </zitat> Bei Digi-Key.com in 30,5m Stücken zu haben, mit der Digi-Key Nummer "K396-ND". Nur sind die Versandkosten von 18 + Mindermengenzuschlag 13 nicht akzeptabel. Gruß, Feadi
Ich habe in kürze eine Digikey Bestellung, wenn es Dir ernst damit ist, ordere ich es für Dich gerne mit. LG Michael
Hallo Simon... Sieht ja echt klasse aus. Bezgl. der MCA-25, planst Du eigentlich auch wieder die Servoansteuerung mit ein ? Dirk
@Michael: Das lass ich mir nicht zweimal sagen :) Bitte schick mir eine EMail wegen der einzelheiten. Gruß, Feadi
Hi! Sorry habs gestern nicht mehr zur Post geschafft. Aber ich habe gerade die Platinen eingepackt. Von 3 Leuten fehlen noch die Adressen (bitte mal mails checken ;) ) @florian: Ich hab von dir bis jetzt keine Antwort auf die Zuteilungsmail bekommen. Es ist auch noch kein Geld von dir da. Deine Adresse fehlt auch noch. Evtl hast du meine Mail nicht bekommen ? Meld dich mal ;) @alle besteller: Ich habe gerade die Bestückungsanleitung hier online gestellt: http://avr.auctionant.de/avrETH1/platine_bestuecken.html Schaltplan+Bestückungsübersicht habe ich ausgedruckt und den Platinen beigelegt ;) Morgen früh gebe ich die Umschläge dann bei der Post ab. Wärmt also schonmal die Lötkolben vor :) Bye, Simon
Hallo Simon... Gut, dass ich die ganze Woche Urlaub habe ggg Denkst Du an die Spannungsregler ? Schöne Grüsse aus dem sonnigen Iserlohn Dirk
Hoppla stimmt meine Adresse hab ich dir ja nicht gemailt... Hab dir jetzt schnell ne Mail geschrieben mit der Adresse
Hui - Samples sind da :) Sind die Platinen auch schon auf dem Weg?
Hallo Simon Freue mich auch schon auf die Platine. Sie Segor Lieferung ist Heute angekommen. Auf die ENC28J60 warte ich noch, wurde am Donnerstag vom Händler gesendet. Vielen Dank für das tolle Projekt. LG Michael
Hi! Die Platinen hab ich heute morgen zur Post gebracht :) Software Status: - eigener tcp/ip stack zu 60% fertig (jage noch letzte bugs) - eigener httpd angefangen (GET testweise fertig, POST will noch nicht so recht) - temperatur plotter soweit fertig. siehe anhang, wird on the fly aus im eeprom abgelegten temperaturwerten generiert (testweise hab ich dort diesen sinus gespeichert) Beim löten der Platinen bitte die Anleitung beachten. Vorallem das abkneifen der RJ45 Buchse. Die könnte sonst irgendwann mal probleme machen ;) Bye, Simon
Hallo Ist das ein reich kommerzielles Projekt oder kann man sich die Schaltpläne auch ansehen? Habe das Problem das ich nicht weiss wie ich den Trafo an den Pic anschliessen soll, ist ein bel: http://www.belfuse.com/Data/DBObject/LM00408.pdf Und bei Microchip habe ich auch noch nichts gelesen. Wer hat Referenz Schaltpläne? Sebastian
Hi! Da ich mit dem Webserver am circuit cellular wettbewerb teilnehmen will werde ich die Schaltpläne erstmal nicht ins Internet stellen... Aber ich kann dir trotzdem helfen: Im Microchip Datenblatt zum enc28j60 steht auf seite 9 wie du den Übertrager anschliessen musst :) Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/39662a.pdf Aber was redest du von "trafo an pic" ? der enc28j60 ist doch kein pic ? Bye, Simon
Hallo Simon Viel Glück mit dem Teil beim CC Wettbewerb. Aus Erfahrung gemäss den letzen Jahren sollte sich zumindest eine "Honorable Mention" ausgehen. In Verbindung mit der Kamera sehr wahrscheinlich sogar mehr. Alles Gute auf jeden Fall Michael
Hallo, Platine ist da, Segor ist da, Enc28j60 ist da, heute Abend geht es los. :-)))))) Vielen Dank noch mal. Gruß Topsoft
Hui, Bei mir ist auch alles gut angekommen. Morgen wird geloetet :) Danke Bis dahin :) H:V
Hi! Wow... Und und das bei der Post :-X hätte ich nie gedacht dass die auch so schnell sein kann g @K.weber: Ich habe deinen Brief heute erhalten. Leider finde ich dort keine Emailadresse. Meld dich doch mal bitte per Email: avrETH1 <AT> auctionant.de (<AT> durch @ ersetzen) Ich hab da noch ein paar Fragen... @Florian: Bitte melde dich auch mal wegen deiner Platine! Sonst werde ich sie jemand anderem zuteilen wenn du dich nicht meldest ;) Gruss, Simon
Hallo Simon, Platine ist heute angekommen. Leider habe ich noch nicht alle Bauteile beisammen. Aber es kann sich nur noch um wenige Tage handeln, bis ich die Platine aufbaue. Danke für die Lieferung und für das tolle Projekt. Gruß Reinhold
Hi! Ich habe mal auf die schnelle ein hexfile auf meiner Seite hinterlegt: http://avr.auctionant.de/avrETH1/software_download.html Dort steht auch ein bisschen zur Konfiguration. Der Source ist noch nicht aufgeräumt genug fürs veröffentlichen, ich arbeite aber dran ;) Wichtig für die Debugausgabe ist der 7,3xx mhz Quarz. ACHTUNG: wenn nur murks auf der Schnittstelle ankommt schreibt mir bitte eine email. Es kann sein dass das nicht jeder serielle Port mitmacht. Ist nur delay_us() basiert und auch eigentlich nur zum debuggen beim entwickeln gedacht ;) Dass der softuart auf dem i2c pin liegt ist zufall, der softuart wird noch woanders hingelegt. Bye, Simon
Hallo Simon Vielen Dank für das Testfile. Die Enc28j60 sind Heute angekommen, sobald die Platine da ist geht es los. LG Michael
Hi Ich lese zur zeit passiv mit und habe mal eine frage was kamm man mehr als 200 Kbit/s oder weniger?
Viel mehr. Man kann die 32kB mit 10GBit über einen speziell gepatchten Linux Server in den Atmel schieben. Ich werd mir damit auf jeden Fall auch einen CS Server aufbauen und damit auf der nächsten Hardcore LAN der Chef sein.
@cyberlord: ähh ja genau... 200kbit/s sind grad mal 25kByte/s @marco: weiss ich noch nicht... Muss ich die Tage mal ausprobieren. Aber 25KByte/s eher nicht glaube ich ... Bye,. Simon
@ssss: Gibt es eigentlich einen besonderen Grund, daß Du den AVR nur mit 7,xMHz betreibst und nicht z.B. mit der doppelten Geschwindigkeit? Ich bin gerade am überlegen, ob ich vielleicht einen Mega162 mit externem RAM nehmen soll, damit man z.B. die Bilder vom Temperaturgraph zwischenspeichern kann.
@Markus Kaufmann: Es handelt sich ja um einen Mega32L, der kann ja nur 8MHz maximal. @Michael Rubitschka (Rubi): Steht dein Angebot wegen dem Draht? Du musst mir noch sagen wieviel du für den Versand haben möchtest, und wohin ich das Geld überweisen muss. Bitte schick mir eine Mail, die Adresse steht in dem Head dieses Posts. Gruß, Feadi
@markus: Der mega32L kann nur 8 Mhz wie Feadi schon geschrieben hat ;) Und die Temperaturgrafik braucht man nicht zwischenzuspeichern. Macht keinen Sinn, das sind ~10KByte während die Quelldaten nur 288 Byte sind :) Die Temperaturwerte des Tages werden im EEprom gespeichert und ich überlege ob man sie nicht am Ende des Tages ins Dataflash kopiert. Dann hätte man sogar nen Archiv des letzten Jahres und könnte daraus auch direkt min/max übers ganze Jahr plotten :) Bye, Simon
Hallo Leute Da die Schaltung bei 3.6 V läuft ist nur der Betrieb mit dem mega32L garantiert, ansonsten braucht man min 4,5 V und den mega32. Das geht aber wegen der Rx / Tx Level der Kamera nicht. Gruß Topsoft
Hallo Simon... Danke für die Platine, ist gestern angekommen. Hab eben bei Segor bestellt. Noch ne Frage: Im Schaltbild und in de Stückliste auf der Homepage steht bei einem Quarz 25 Mhz. Im Bestückungsplan aber 20M Was ist denn nun richtig ? Im Bestückungsplan und Schaltplan ist ausserdem noch ne LED (LED 3) in SMD-Bauform angegeben. Auch Größe 0603 ? Kann es sein, dass diese LED in der Stückliste fehlt ? Dirk
Hi! Du hast natürlich recht! Der Quarz ist 25Mhz! Sorry :-\ Da hab ich mich wohl beim editieren in Gimp vertippt. Die LED ist 0603 rot oder gelb. Andernfalls muss man evtl R15 anpassen. Die beiden trage ich bei der segor Liste noch nach. Hatte die led ganz am Ende noch hinzugefügt da noch ein bissl Platz da war. Du kannst sie auch erstmal weglassen. Die blinkt beim einschalten bis jetzt nur 5x kurz auf ;) Die 0603 leds sind ein bissl schwierig zu bestücken. Am besten man nimmt die led mit einer Pinzette und hält sie mit einem Pad an den Lötkolben und verzinnt ein pad. Dann einfach auf der Platine positionieren, mit dem Fingernagel festhalten und das Pad erhitzen (+flussmittel!) bye, Simon
Hi Simon... Dann hab ich ja doch den richtigen Quarz bestellt. Uff Das Hex-File auf Deiner Homepage geht vom Default-Gateway 192.168.0.66 aus. Leider hat mein Default-Gateway die Adresse 192.168.0.1 KLappt nun nur das NTP nicht, oder ist der Webserver aus dem Internet nun gar nicht erreichbar ? Sucht sich der Server sonst automatisch das Default-Gateway ? Wie klappt das ganze sonst, wenn kein default Gw angegeben ist (z.B. bei Deinem anderen Webcam-Projekt) Hab dort nie nen default Gw eingerichtet, ist trotzdem aus dem Internet erreichbar. Dirk
Hi! Später wird das entweder per define oder webinterface konfigurierbar sein. Wobei ich für das Webinterface erst noch HTTP Auth coden muss. Soll ja nicht jeder dran rumspielen ;) Es macht aber nichts aus wenn der default gateway nicht existiert. Wenn Pakete aus dem internet kommen nutzt er genau wie der andere Webserverstack einen kleinen Trick um das mapping ip<->mac zu bestimmen. Sollte also gehen ;) Den Gateway braucht man eigentlich nur wenn der Server selber Verbindungen aufbauen muss (wie zb als ntp client). Alles andere geht auch so ;) Schon fertig gelötet ? Bye, Simon
Hi Simon... Ach was. Eben erst bei Segor bestellt. Hab aber diese Woche noch Urlaub. Mal sehen, wann die liefern. Kann es sein, dass Du mir einen LM317 zu wenig geschickt hast ? Wollte eigentlich 2 Stück haben. Platine sieht aber echt klasse aus. Bin mal gespannt, wies funktioniert. Wann wird die Cam-Sw dafür soweit sein ? drängel (Bin ja so ungeduldig) Gibts auch wieder Servo-Ansteuerung ? Mit der HTTP AUTH fürs Webinterface find ich gut. Hab auch immer so meine Bedenken, gerade wenns übers Internet (und nicht nur im Intranet) erreichbar sein soll... Dirk
LM317: hast ne mail von mir ;) Cam-sw: wird portiert bzw neu gecodet sobald der TCP/IP Stack richtig getestet ist. Servo kann ich auch dazupacken, ist ja nur nen 10Zeiler ;) Bye, Simon
Hallo Simon Die Platine ist eingetroffen. Vielen Dank! Morgen wird gelötet, freue mich schon darauf. Man sieht sofort das hier mit viel Liebe geroutet wurde und das es viel Arbeit war. Danke das Du dieses großartige Werkstück mit uns teilst! LG Michael
Hallo Simon, meine Platinen sind heute auch eingetroffen, war ganz erstaunt nur 2 Tage nach Österreich, hätte nicht vor nächster Woche damit gerechnet, muss aber leider noch auf die anderen Teile warten. Danke auf jeden fall mal für alles! LG Christoph
Guten Morgen, es ist vollbracht und er läuft. heftig freu 0603 zu löten ist doch nicht mal eben gemacht aber das geht schon. Ping funzt, Zeit ist 13 ms und die Webseite wird auch angezeigt. Heute Abend schaue ich mir dann mal die Debugausgaben an. Gruß Topsoft
Achso was ich noch sagen wollte, Elko C22 = 1µF fehlt in der Einkaufsliste. Bei mir läuft es auch ohne ihn, wird warscheinlich nur gebraucht wenn auf den Dataflash zugegriffen wird. Gruß Topsoft
Hi! Cool! C22: Der ist nur für den Notfall. Ich habe im Netz gelesen das der Dataflash wohl recht viel Strom zieht wenn geschrieben wird. Bei mir aufm Steckbrett gehts auch ohne. Auf der Platine hab ich ihn noch nicht getestet. Also C22 erstmal unbestückt lassen ;) 13ms: ist normal da er für die Debugausgaben bei 19200 baud sehr lage braucht. Ohne die ist es sehr viel kürzer ;) Bye, Simon
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
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
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
"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
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
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
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
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
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...
@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
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
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
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
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
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 :)
Hallo, anbei meine Werte bei permanenten Ping. Gruß Topsoft
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
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
@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
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
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
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
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
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
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.
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
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
Hi, wenn ich die Eingangspannung bei 7 Volt habe heizt sich mein LM317 auf 52 Grad auf nicht aber der ENC. Gruß Topsoft
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
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
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
"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.
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
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
um 00:09 Uhr 20.5 Grad, check mal deine Nachtabsenkung. ;-)))))
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
>Nachtabsenkung.
gibts hier nicht 8) zumindest nicht in meinem Zimmer g
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
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
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
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
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
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
"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
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
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
Beim Uebersetzen hilft der Windows taschenrechner und das ATMEGa Datenblatt oder die HP von Simon.... H:V
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
@Dirk sei froh das er keine keine runden SMD-Bauteile sind. Die rollen schon beim ankucken weg. g
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
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
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
@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
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
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
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
@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
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
ne geh mal genau die punkte durch. laut notiz darunter ist unselected = 1 Und demnach muss es so sein wie ich aufgemalt habe.
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
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
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
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
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
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
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
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
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
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
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
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
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
Ö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
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
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
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.
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
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
[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
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
Hm. Ist die Terminierung eigentlich Nebensache? Von 50-100 Ohm scheint da alles in 25-Ohm-Schritten dabei zu sein.
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
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
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
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
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
Hallo Hoffentlich könnt ihr was finden. Hier mal ein Bild von der Oberseite. LG Michael
Hallo Hier von der Oberseite. Das vorherige war die Unterseite. LG Michael
Ja das ist mir 2mal abgebrochen. Da er sich nicht programmieren lies, habe ich es nicht mehr angelötet LG Michael
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.
Messe mal mit einem Ohmmeter die Schaltung durch und versuche mal so den Fehler zufinden. Gruß Marco Schwan
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
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
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
@Simon: Wow. Wer macht denn sowas (Streifen=Plus)? Dann mal dickes 'Sorry' von mir. Hätte fast Deinen Webserver getötet ;-(
Habe den Tantal schon enfernt, ohne Dataflash ist er onehin nicht nötig, hat aber nichts geändert. LG Michael
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
Hallo Simon Die 3,6 Volt sind da, habe ich nachgemessen. LG Michael
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
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
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
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
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
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
Hallo Mein isp arbeitet mit 5 Volt, ich habe aber auch keine L Type vom Mega32. LG Michael
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
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
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
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.
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?
löse mal den Laptop von der Stromversorung und alle externen Geräte auser den Programmieradapter
Hallo Der Enc und der Spannungswandler erwärmen sich stark, der uC erwärmt sich nicht. LG Michael
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
Mache ich, wird aber erst heute Abend bin auf Arbeit. Gruß Topsoft
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...
Ich denke mal das man eh mehr die Kondensatoren in der Stromversorgung mißt als den Atmel selber. Gruß Topsoft
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
@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
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
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
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
Du brauchst zusätzlich noch an beiden Leitungen Pullup Widerstände an die Versorgungsspannung, 10kOhm am Besten. Gruß Michael
Hallo Dirk Simon verwendet einen Clone der hat eine andere ID. Dadurch werden die I2C Anforderungen von deinem LM75 leider ignoriert. LG Michael
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
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
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
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
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.
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
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
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
@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
>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
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
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
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
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
@Simon: Benutzt Du den ENC-INT (PORTD3) überhaupt? Kann in Deinem Code nur einen Timer1-IRQ finden. Grüße, Freakazoid
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
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
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
@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
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
ganz vergessen: links der enc28j60, rechts nen mega8 unten an dem rj45 magjack sind 51R laut datenblatt angelötet und auch ein Ferrit
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
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
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
@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.
>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
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.
> 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 ;-)
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??
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
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
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
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
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
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
Wow, das laesst ja auf eine baldige Veroeffentlichung des Quellcodes hoffen ;) Gruss H:V
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.
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
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.
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.
@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.
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' ;-)
Hallo Simon... Ich glaub, das ist mein Webserver... Wie kommst Du denn an die Adresse ??? Dirk
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
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
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
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
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
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
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
Hi! Ja, ich habe was zum testen geändert... Du hast eine Email von mir :) Bye, Simon
@Simon... Läuft. Bis auf das kleine Problem mit MS-IE, dass ich in meiner letzen Mail schon geschrieben habe. Danke nochmals... Dirk
Hi! Evtl für den einen oder anderen auch interessant, Handyblitzlicht als Scheinwerfer für die Webcam: http://www.mikrocontroller.net/forum/read-1-331347.html#new Bye, Simon
Hallo Simon Das ist eine sehr feine Sache! Die Idee hatte ich auch schon. Von Linear gibt es feine Treiber dafür, da braucht man außer den Leds kaum mehr Komponenten. Die bauen die ICs für Handy Cams. Außerdem erkennt man sofort das jemand online ist. Löst die Software den Blitz automatisch aus? Mit IR Leds würde man nicht einmal geblendet, dafür ist wieder nichts mit der online Erkennung. LG Michael
Die Software wird die LEDs kurz einschalten, 6previewpics machen (nötig für helligkeitsabgleich), dann das bild schiessen und die LEDs ausschalten. Dann kommt der Bildtransfer. Dh die LEDs sind nur ganz kurz an ;) IR geht nicht, farb cmos sensoren haben IR Sperrfilter drin (sonst würden zb Bäume sehr komisch aussehen). Bye, Simon
>IR geht nicht, farb cmos sensoren haben IR Sperrfilter drin >(sonst würden zb Bäume sehr komisch aussehen). Oder der c't-April-Scherz würde tatsächlich funktionieren ;)
ne letztes Jahr war es mit dem dikitalen Fernsehn aufem Stromkabel wo man mit hilfe eines Netzwerkkabe wo man ein impulse mit einer von frequenz 80Mhz drauf geben msute und dann bei ca 100 Mhz hat man dann die Vidoes empfangen. Gabe es ein Programm das solte das alles machen. das einzige was es macht war auf der Platte videos zusuchen und die wiedergeben. den April schertz hatt ich schnell gefunden ein mal die ct auf geschlagen und schon ware ich bei dem Aprilschertz.
Ich moechte den Webserver jetzt direkt mit 3,6V betrieben. Reicht es aus wenn ich die 4 Kontakte der RJ45 Buchse anhebe und IN und OUT from LM317 kurzschliesse um diesen durch das Aufladen von C13 nicht zu zerstoeren? Gruss H:V btw. Wie siehts mit der Software aus? Gibts schon ein release Datum? dreangel ;)
Hi, ich hätte kurz mal eine Frage zu Magjacks, wenn mir hier dazu jemand eine Antwort geben könnte wäre das natürlich super.. :-) Ich bin mir gerade dabei eine Schaltung mit dem ENC aufzubauen, habe allerdings auf der Netzwerkseite noch einige Probleme. Das Datenblatt des ENC gibt ja vor, den Netwerkseitigen Mittelabgriff des TX Teils über 1000pF nach GND zu verbinden. Nun ist in meinem Magjack (SI-40140) aber auch der Mittelabgriff des RX Teils über diesen C' schon mit GND, bzw pin 8 verbunden. Nun - was tue ich da? eifach dennoch zu GND verbinden, oder besser offen lassen(?) ... Gruss Nik
Hat sich geklärt, ich kann meinen Server nun auch schon pingen :-)
Hi! Soooo es gibt wieder nen neues Hexfile: http://avr.auctionant.de/avrETH1/firmware/avrETH1_testing_firmware_build1035_080406.hex NEU: *** build1013 *** - httpd "add pgm data" rewrite (schachteln möglich) - httpd bug for /fs/filename fixed - tcp close routine enhanced (seqnum calc!) - nic&mca25: buffer 600->900 --> faster! - filesystem.c: fixed file not clean deleted bug! - mpf10 led light fade in/out routines (not used) *** build1034 *** - http upload detects filename & stores file on dflash - /fs/ls generates a clickable list (<a h ref=....) - fixed dataflash overwrite bug - mpf10 can be connected to PORTD7 (led light during webcam pic grab) - first temp readout already during logger_init() Bitte bei dem release beachten: - ich hab am tcp stack geschraubt, evtl gibts wieder probleme unter windows (conn werden nicht korrekt geschlossen). muss ich noch testen - http upload: nur unter firefox(linux) getestet! ist sehr provisorisch. geht aber :) - beim http upload aufpassen dass die files nicht zu gross sind, auf dem dataflash sind ja nur ~240KByte platz ;) - dataflash access dauert aufgrund debug messages relativ lang - nur html/jpg dateien werden korrekt an den browser zurückgeliefert (hab nur content-type jpg+html aktiv) - jpgs müssen .jpg benannt sein (kleinschreiben!) -> alles noch seeehr beta! Jetzt habe ich eigentlich alles soweit drin was ich haben wollte :) Ich werde den Sonntag nutzen um das ganze provisorisch aufzuräumen und dann hoffentlich einen halbwegs vorzeigbaren sourcecode haben g Gruss, Simon
so, bin ein stück vorangekommen. der großteil ist halbwegs aufgeräumt :) Ich muss noch bissl was tun, sollte aber nicht mehr allzulange dauern. http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1077_cleanup.hex CHANGELOG: *** build1035 *** - first code cleanup & added comments - added dataflash content types (-> now detects jpg,png,bmp,gif,html) - file extension is always converted to lowercase ! - moved html/ctype/image stuff to httpd_data.c/h *** build 1068 *** - first source cleanup finished - fixed missing last buffer bug when uploading per http post *** build 1077 *** - moved /fs/ls inside main html template -> file list can be added by $$L* Würde mich über feedback freuen ob der Code bei euch läuft (speziell http upload) Bye, Simon
Hallo Simon... Machst Du eigentlich auch noch etwas anderes ausser Firmware für den Weberver ertellen ??? ;-) Das gibts nirgendwo anders. Fast jeden Tag ne neue Firmware ggg Was war los am Do ? Hab mir auf der Intermodellbau noch ein paar billige Servos für die Webcam gekauft (4 / Stück) Wann kommt denn die Servo Unterstützung ??? ;-) Schönen Rest des Wochenendes Dirk
Hi! g Ach mist, hätte dir bescheidsagen sollen am Do. War nur ne Stunde auf der Intermodellbau/Hobbytronic. Bzw wollte ja nur zur Hobbytronic, da laufen aber nur abzocker und Gangster rum g Preise weit jenseits von ebay (Datenkabel 15 Eur :-X) und teilweise Städe wo man nichtmal erkennenkonnte wie die Firma heisst (waren wohl ein paar Studenten die aus Hongkong SD Karten etc eingekauft hatten) Und dann noch der Eintrittspreis 8 Eur (Studentenrabatt!!!) Servounterstützung: Warte, gib mir 5 Minuten .. scherz ne hab ichnoch nichts für gecodet... Heute komme ich wohl auch nicht mehr zu allzuviel, muss noch diversen anderen Kram machen und vorallem endlich mal die Webcam im Hummelnistkasten installieren... Sonst zieht nachher eine ein bevor ich die cam drinhab (bzw evtl wohnt schon eine drin :-X) Bye, Simon
Hi! Ich bin gerade dabei meinen Stack selbst zu schreiben, hin und wider habe ich dabei trotz ethereal unterstützung Probleme - nun frage ich mich, soll ich einen neuen Thread aufmachen wo man allgemein seine Fragen dazu posten kann(ich bin sicherlich nicht der einzige der sowas proggt), oder soll ich hier fragen?.. ;-) Nik
okay, ich hab mich eben nur gerade gefragt, ob es denn überhaupt viele andere ausser dir hier gibt, die noch Ahnung von dem haben(evt kannst ja dann nur du mir antworten :-X) mfg, Nik
Die ganze Hobbytronic war zum großen Teil ein Schampelmarkt. Da ist die in Stuttgart viel besser. Eins war gut in Dortmund es gab ausreichent Parkplätze nicht wie in Stuttgart.
Wieviel Hallen waren es denn diesmal? Vor ein paar Jahren war das noch echt geil. Mittlerweile immer weniger Hallen mit immer mehr Spiele-/Druckerkrams. 10000 Refillsets. Das kotzt echt an. Grüße, Freakazoid
War nur noch eine (oder ?) Davon ein großer Teil dieser alberne Live-Casemodder Stand und diese Riesenstände wo irgendwelche Kiddies am zocken waren. Refillsets hab ich irgendwie keines gesehen dieses Jahr. Komisch eigentlich g Aber dafür einige "bezahl 2 Kabel, nimm 3 Kabel mit" Stände mit preisen wo man eigentlich "mindestens 8 Kabel für 2 bezahlen" erwarten würde (10m Netzwerkkabel -> 12 Euro / reichelt: 2,99) Und so wars durchgehend :-\ Und dann auch oft "ohne Garantie" aber zum Preis von mit Garantie ::) Vor 4 Jahren oder so war die Hobbytronic echt noch einen Besuch wert. Aber seitdem sind die Preise stetig angehoben worden (Eintritt+Ware) und immer weniger Interessante Stände sind da. Bye, Simon
die Nachfüllset waren auch da. die Hobbytronic war 1 große Halle. Da ist die in Stuttgart viel größer 7 Hallen ca gleiche Größe.
Echt? Wie sieht es mit Technikzeugs in Stuttgart aus? In Do gibts nur noch Computer,Drucker,Spiele,Modding,CD-Hüllen,Kabel, ... und bestimmt das große C. Immer wieder lächerlich die Schlange davor ;-) BTW: Hobbytronic-Thread?
Mal zurück zum eigentlichen Thread... Hallo Simon. Hab die neue firmware (build 1077) eben mal eingespielt. Leider tritt das Problem mit den Verbindungen (wie im Posting vom 04.04. 20:32 beschrieben) wieder auf. Diesmal allerdings nur mit Mozilla. verbindungen werden wieder nicht beendet. Des weiteren funktioniert wohl der upload noch nicht richtig. (oder ich habs nicht verstanden ;-) Wenn ich ein File hochlade (mit Anfrage senden)und dann auf filelist gehe, wird mir das File nicht angezeigt :-( Dirk
Hallo Simon Leider kann ich deinen Code im Moment noch nicht einspielen, baue mir gerade einen neuen Programmer. LG Michael
Hi! @Dirk: Habe jetzt mal meinen Laptop rausgekramt (winxp) und getestet. Sowohl im firefox als auch im ie wird die verbindung korrekt abgebaut. Er lädt nicht länger etc... Was für ein windows hast du ? Hast du eine möglichkeit mir mal ein aufrufen des webservers mit ethereal (gibts auch für windows) mitzuschneiden ? Dann sehe ich direkt wo es hakt ;) File upload: Was passiert denn bei dir ? er lädt es hoch, dann zeigt er upload done aber das file ist trotzdem nicht da ? Da wäre interessant zu sehen was auf dem seriellen debugport los ist... Bye, Simon
Hallo Simon... habe WinXP Home Edition mit SP1 Ethereal hab ich nicht. Nach dem File Upload kommt die Meldung: upload done Wenn ich danach auf den Link File list klicke stehen immer noch nur die 2 Dateien temp8.int und upload.txt dort. Dirk
hmm also ich bräcuhte entweder das was er auf dem seriellen debugport sendet oder nen paketdump :-\ Guck mal in upload.txt rein, ist das evtl dein file ? Wenn er den filename nicht aus dem post request extrahieren kann lädt er es als upload.txt hoch. bye, simon
Hallo Simon... Kleines Update: upload funktioniert (allerdings bei mir nur unter Mozilla) Mit IE das gleiche Problem wie oben beschrieben. File List wird (nach upload mit Mozilla) aber auch im IE nun angezeigt. Allerdings wird der Content .jpg unter IE nicht aufgelöst. Es erscheit das Fenster "Dateidownload". Unter Mozilla wird jpg angezeigt. Die hängenden Verbindungen sind erstmal verschwunden. (warum auch immer) Allerdings hab ich mit der Webcam unter Mozilla hin und wieder noch das Problem, dass das Bild nur teilweise aufgebaut wird, dann erscheit unten im Browser "Fertig" und die Verbindung wird geschlossen. Dirk
P.S. Schau nochmal in Dein Logfile. Dort findest Du evt. meine neue Adresse. Vielleicht kannst Du Dich mit WinXP nochmal drauf connecten um das ganze zu testen. Aber bitte diesmal nur testen ! ;-) Ach ja, wo ist eigentlich der Link zum Video ??? Dirk
jpg: hab ich gerade auch gemerkt, schuld war ein conten-type: image/jpg es muss aber image/jpEg heissen... file upload: muss ich mir im ie nochmal ansehen was der da macht logfile: nacher, muss jetzt weg :-\ falls sich jetzt jemand fragt was dirk mit "Aber bitte diesmal nur testen" meint: ich hatte an einem Tag ein script gebastelt das alle 10 sekunden ein Bild seiner webcam gegrabbt hat. Damit hab ich ihm seine webcam total lahmgelegt g Rausgekommen ist dann dieses Video: http://video.google.com/videoplay?docid=2214203011728418871 Im original wars eindrucksvoller (640x480). Google hat da irgendwie komisch komprimiert ;) Bye, Simon
Hehe cool, das liebe Aprilwetter :). Über wieviele Stunden hast Du denn gegrabbt?
Hallo Simon Das ist toll, wahnsinn, super coole Idee! Welche Software hast Du denn zum zusammenschneiden der Bilder verwendet? LG Michael
Einfach die jpgs in file100000.jpg bis file101334.jpg umbenannt und dann kann man das einfach in avidemux (linux) als video öffnen und als divx speichern :) Alternativ gehts mit mplayer -vo irgendwas (müsste ich nachgucken wie der befehl genau hiess) Bye, Simon
bitte mal alle mca25 user hier gucken (mein post wegen der rev2 cam) http://www.mikrocontroller.net/forum/read-1-232801.html?reload=yes#333543
Hi, ich habe eine frage, was genau bewirkt dieses "Ding" (sorry) Ein richtiger Server ? muss ich da was einbauen oder nur anschließen ? mfg cruzador
Bau mal noch ORDENDLICH was rein. Ist ja noch genug Platz.
Hallo Simon, erstmal : RESPEKT. Ist echt ein geiles Projekt was du da machst. Interesse hätte ich auch, wobei ich das ganze gerne mit einem MSP430 realisieren würde (da ich mit den Teilen bis jetzt gearbeitet habe). Mit den AVRs hab ich noch nicht soviel gemacht (obwohl dieses Projekt wahrscheinlich der beste Einstieg wäre *hehehehe). Das ganze mit deiner Platine zu machen wäre insofern schön als das man ja schon einige Leute hat die das Teil nachgebaut haben und es bei denen läuft. Insofern mal ne Frage : Wie teuer soll die Platine sein ? Ab wann wären wieder welche da ? (du sagtest was davon das du erstmal die Software aufräumen wolltest) Und, (jetzt muß ich auch mal quengeln *ggg) wann gibt es die Sourcen, damit ich bestimmte anpassungen machen kann ? Gruß Rene
Hallo Simon, machst du nochmal eine Sammelbestellung für Platinen? kannst du den Schaltplan online stellen? Bin am überlegen, einen Webserver mit einem PIC Prozessor aufzubauen, da ich mich im letzten halben Jahr schon richtig an PICs gewöhnt habe ;) gruss Matze
Hallo Simon, die Idee des "winzigen" Webserver find ich eigentlich ganz gut, aber leider wirds damit ja auch etwas teurer. Meine Fragen/ Vorschläge: 1. Kann man den Übertrager und die RJ45-Buchse usw. nicht von jeder beliebigen Netzwerkkarte (2,90 bei Reichelt, Grabbelkiste) nehmen? 2. Würdest Du für ein LowCost-Variante deine Schaltung zur Verfügung stellen? (Billigere Bauteile, keine teure Paltine ...) 3. Oder meinst Du, das lohnt sich nicht, und es kommen bald neue Platinen? Hintergrund: Ich hab so meine Probleme mit der Webcam-Software von Dir für den Webserver von Holger Buss .... Gruß Sirko
Hallo Bitte nicht weitersagen ist noch hoch geheim, aber Simon arbeitet gerade schwer an einer abgespeckten Version. Da kannst Du dann den Enc28j60 und die Übertrager einsparen, da macht dann der Atmega die ganze Arbeit. Es wird dann auch einen Soliidaritätszuschlag auf den Platinen Preis geben , damit bedürftige eine umsonst bekommen können. Eventuell wird es dann auch noch eine V3 geben bei der auch noch der Atmeg eingespart wird. Das ist aber noch Zukunftsmusik. LG Michael
Hallo Simon... Was ist los ? Ist das Projekt eingeschlafen ? Gibt ja schon seit dem 09.04. keine neuere Firmware mehr... ;-) Nee, mal im Ernst: Hab ja nun (wenn auch nur im Mozilla) 2 Files auf meinen Webserver geladen bekommen. Werden auch angezeigt, und kann sie mir wieder downloaden. Aber, wie bekomme ich die Files eigentlich wieder vom Webserver entfernt ??? Ansonsten läuft Deine Software hervorragend (Bis auf die Sache mit dem JPG Content Type im IE). Läuft seit der letzten Firmwareeinspielung ohne Reset sauber durch. Ach ja, schöne Osterfeiertage... Dirk
Hi! Ich hatte ein bissl viel an der Uni zu tun. Ausserdem hat auch noch mein Laptop den Geist aufgegeben und der neu bestellte ist immer noch nicht da (ich hasse eb*y powerseller grrrr) Alle die eine Platine erhalten haben sollten eine Osterüberaschung in ihrem Emailpostfach haben ;) Wenn nicht bitte per email melden. >Aber, wie bekomme ich die Files eigentlich wieder vom Webserver >entfernt ??? Stimmt, da werde ich noch eine löschfunktion einbauen ;) >Ansonsten läuft Deine Software hervorragend (Bis auf die Sache mit dem >JPG Content Type im IE). Ist schon gefixt, sobald ich das file löschen drin hab gibts nen neues hexfile :) Bye, Simon
Hallo Simon... Was hat man denn als Student viel zu tun ? ;-) Ich arbeite hier in Düsseldorf und komme auf dem Weg vom Parkhaus zu meiner Arbeitsstelle jeden Tag am Landtag vorbei. Das einzige was die Studenten hier tun, ist immer vorm Landtag zu demonstrieren... (jetzt aber bloss schnell weg, bevor der Simon mich schlägt) gggg Freu mich schon auf neue Hex-File. Wie schon geschrieben, läuft bisher ohne ein einziges Problem sauber durch... Aber nochmal ne andere Frage: Wirst Du die Temp-Messung über I2C beibehalten ? Hatte Dir ja schon mal geschrieben, dass meine Webcam über 10m Kabel angebunden ist. Daher wäre (zumindest für mich) die alte Lösung von J.Börke über OneWire Schnittstelle wohl besser geeignet. Ausserdem hätte ich dann noch ein Kabel frei für die Servoansteuerung. Schöne Ostern... Dirk
>Aber nochmal ne andere Frage: Wirst Du die Temp-Messung >über I2C beibehalten ? Das ganze nach onewire zu ändern/zu ergänzen dürfte überhaupt kein Problem sein denke ich. Am besten per define auswählbar oder so ;) Ich habe aber keine onewire dinger hie rrumliegen, muss mir also erstmal welche kaufen bevor ich dafür code basteln kann ;) BYe, Simon
Hi Simon... Hoffe, Du hast mir meine Sprüche über die Studis nicht übel genommen... ;-) Könnte Dir nen DS18S20 zur Verfügung stellen. Komme ja auch fast jeden Tag durch Deine Heimatstadt... Dirk
>Hoffe, Du hast mir meine Sprüche über die Studis nicht übel
genommen...
Ne, keine Sorge g
Also wenn du den onewire über hast und einfach bei mir in den
Briefkasten werfen
würdest dann würde ich demnächst mal gucken das Ding zu unterstützen
;)
(Adresse hast du doch, oder ? Sonst siehe Impressum auf der avrETH
Website)
Bye, Simon
Hi! Es gibt mal wieder nen frisches hexfile :) Neues kurz zusammengefasst: - man kann files löschen - man kann io pins per klick an/aus schalten (../site/io -> dort der obere button ist die smd led (siehe anhang)) - bugfixes am httpd - bissl den html kram aufgeräumt echte Changelog: *** build 1078 *** - httpd_data.c: content type: jpg -> jpeg - mca25.c: added workaround for rev2 cam (rev2 = KTY 105 017, rev1 = KTY 105 016) *** internal source version 1086 *** *** build 1086 *** - filesystem.c: fixed /fs/ls view - httpd.c: added green/red button & io port control parser (port is not set! just a demo!) *** build 1094 *** - httpd.c: removed if (pos<x) stuff from httpd $$ parser - httpd.c: add support for io on/off - port.c: implement port io functions - httpd.c: removed /fs/f<fileid> support - filesystem.c: added file remove link - filesystem.c: fixed typo (..._HI & ..._HI in fs_delete_file + changed flash->buf to buf->föash) -> del file should now work - httpd.c: after upload show info inside main div Bitte beachten: - fast alle debug messages sind aus - javascript kram nur mit firefox (linux) getestet - beim benutzen der buttons von /site/io zeigt er immer "transferring" an obwohl gar nix mehr gemacht wird (hängt irgendwie mit dem javascript zusammen, irgendwelche ideen ?) Und hier nun der Link: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1094_newio.hex Bye, Simon
Ich bin verwirrt. Ich habe auf einen Standart initialisierten ENC von Windows XP aus einen Ping gesendet. In der Anlage ist zu erkennen was im ENC Speicher angekommen ist. Die MAC Adressen und die IP-Adressen sind wunderbar zu erkennen. Nur die Strucktur hat nichts mit dem zu tun, was ich hier über den Ping gelesen habe. http://www.it-infothek.de/fhtw/semester_2/re_od_10.html Im Header kann ich auch keine dem Standart entsprechende IP-Strucktur erkennen. Hat da jemand eine Idee ?????
Zudem scheint es der ARP-Request von windows zu sein (Broadcast). Ist Deine WinMac = 00:0a:e6:1a:72:42 (Elitegroup Mainboard g)? Du weißt aber, daß vor jedem empfangenen Ethernet-Paket ein 6Byte Status-Vektor kommt?
@André Kronfeldt, Danke André das Passt ja alles auch wunderbar, Ether-Frame ist erkennbar und OK, MAC ist OK, Win XP ist OK, Elitegroup ist OK. Aber was nicht OK ist, die MAC des Senders Taucht 2 mal auf, zwischen Quell-IP und Ziehl-IP liegen 6 x 00. Das hat alles nichts mit einem Standart IPv4-Ping-Paket zu tuen wie ich es nach http://www.it-infothek.de/fhtw/semester_2/re_od_10.html erwartet hätte. Wo kann ich nachlesen wie der "Universal" Ping struckturiert ist und welche Antwort er erwartet.
Es ist ein ARP-Request: HardwareType: 0x0001 Protocol-Type: IP 0x0800 HardwareSize: 6 Protocol Size: 4 Opcode: Request (0x0001) SenderMAC: 00:0a:e6:1a:72:42 SenderIP: 192.168.173.11 TargetMAC: 00:00:00:00:00:00 TargetIP: 192.168.173.250 => Who has 192.168.173.250 tell 192.168.173.11 In Dein Reply kommt an die 6x 0x00 Deine MAC. => 192.168.173.250 is at xx:xx:xx:xx:xx:xx Natürlich taucht die MAC des Senders im ARP-Header UND im ETHERNET-Header auf. Wie kommst Du immer auf IPv4? Dein Bild ist NICHT der Ping (ICMP über IPv4), sondern ein aRP den Windows absetzt um das Ping auszuführen. Eine MAC bleibt nicht sonderlich lange im ARP-Cache ;-) Grüße, Freakazoid
Vielen Dank für das Licht im Dunkel. Das sind meine ersten Versuche. Ich wuste nicht, das vor dem eigentlichen Ping erst ein ARP kommt. Wenn ich das nun Richtig verstanden habe, muss ich nun den APR mit eingesetzert MAC und natürlich mit getauschtem Ziel und Quelle zurücksenden. Daruf hin sendet XP erst den eigentliche Ping ?
Jo. Das sieht ungefähr so aus: XP: Ey Karte, mach mal Ping an 192.168.173.250 Karte: Okay. Wenn Du mir sagst welche MAC der hat? Ich kann nur Ethernet. Bin halt Billigkarte ;-( XP: Oki. ARP: Who has 192.168.173.250 tell 192.168.173.11 Rieger: 192.168.173.250 is at xx:xx:xx:xx:xx:xx XP: Ey Karte. Mach mal Ping an 192.168.173.250 MAC xx:xx:xx:xx:xx:xx Karte: Ping! Rieger: Pong g Dir fehlt erstmal der erste 'Rieger', also der ARP-Reply ;-) Grüße & viel Erfolg, Freakazoid
BTW: ein ARP kommt nur, wenn Du an eine IP was schicken willst und Windows die MAC braucht. NICHT vor jedem Ping. Der ARP-Cache behält die MAC einige Sekunden lang bei. Um zu testen ob Dein Arp-Reply funktioniert schick ein Ping. Bei "No route to host" funktionert Dein ARP-Reply nicht. Bei "Timeout sonstwas" kommt kein Ping-Reply (ICMP). Ein 'arp -a' Zeigt Die auch den Arp-Cache an. Da sollte nach einem Deiner Ping-Versuche sowas wie '192.168.173.250 <incomplete>' stehen. D.h. Windows hat ARP-Request für 192.168.173.250 gesendet, aber noch keine Antwort erhalten. Grüße, Freakazoid
Noch mal Danke, ich habe auch etwas brauchbares im Internet gefunden. http://www.geocities.com/SiliconValley/Vista/8672/network/arp.html#A22
Windows ignoriert mein ARP-Replay. Lt. ENC Statusvektor (ist auch mit ausgegeben) hat er das Paket sauber übertragen können. Der ENC läuft auf half duplex. Oben steht der WindowsARPrequest unten meine Antwort. Danach hätte ich ein Ping von Windows erwartet, der schickt aber weiter nur Requests.
Was von dem 2. Paket sendest Du? Alles? Auch das '0f' Anfang?
Ne 0F ist das INI-Byte für den ENC, so stehts zumindest im Datenblatt. Darauf soll ich ja auch den ETXST zeigen lassen und der ETXND soll auf das letze zu übertragende Byte zeigen! Oder ? Schön von dir zu hören Gruß Christof
öh? Woher kommt der Datenblock? Geht der so über's Netz, oder ist das nur eine Vermutung von Dir? Am Besten Du schneidest den Datenblock am Hub mit, oder unter Windows. Das 0x0f darf nicht mit übertragen werden. Ansonsten scheint der Reply okay zu sein (grob überflogen). Wo im Datenblatt steht das mit dem INI-Byte? Grüße, Freakazoid
André bevor wir hier weiter machen, ist es glaube ich sinnvoll einen neun Thread zu eröffnen. Das was wir hier Besprechen könnte auch für andere die sich von Grund auf mit der Thematik beschäftigen wollen sehr interesant sein. In welcher Rubrik wäre der Thread denn gut aufgehoben
Gefunden. Du meinst das 'PACKET CONTROL BYTE'. ja das stimmt. ETXST und ETXND sollten damit korrekt sein. Wird das Paket denn gesendet?
Tja. gute Frage. Die Rubrik ist schon okay. Eigentlich ist das ja Simons Thread. Insofern geb ich Dir Recht. Mach einen neuen auf. Problem ist nur, daß da ebenfalls alle Themen den ENC betreffend einlaufen werden. Aber das kann man dann nicht verhindern. Gehen wir also mit gutem Beispiel voran ;-)
OK ich mach dann einen neuen auf. Schlimmstenfalls schieb unser Admin ihn in eine andere Rubrik. Gib mir ne halbe Stunde.
Super Projekt! Allerdings interessiert mich warum du als Flash einen Atmel Dataflash und keinen Baustein aus der "Serial Flash" Reihe genommen hast. Vielen Dank für deine Antwort. Grüße
Hi! Weil es die dataflash Bausteine bei segor in SO8 gab :) Ursprünglich wollte ich nur nen kleines i2c eeprom nehmen, hab dann aber zufällig bei segor die dataflash dinger gesehen und die passten sehr gut :) Bye, Simon
Hi! So, es gibt ein neues Hexfile :) Neues kurz zusammengefasst: * dataflash zugriff jetzt sehr viel schneller: - bei files <65KByte -> bis zu 35KByte/s - ab 65kbyte wirds bissl langsamer (15kbs) da die long arithmetrik ein bissl mehr rechenzeit braucht ;) * fast alle debuginfos aus -> schneller * ntpclient debug define bug gefixt CHANGELOG: *** build 1094 *** - httpd.c: removed if (pos<x) stuff from httpd $$ parser - httpd.c: add support for io on/off - port.c: implement port io functions - httpd.c: removed /fs/f<fileid> support - filesystem.c: added file remove link - filesystem.c: fixed typo (..._HI & ..._HI in fs_delete_file + changed flash->buf to buf->flash) -> del file should now work - httpd.c: after upload show info inside main div *** build 1103 *** - filesystem.c: speedup for dataflash read access: it does no longer slow down more down the longer the file is - filesystem.c: (use a pointer to next data byte) - dataflash.c: use "read n bytes from buffer" -> speedup - dataflash.c: dataflash read speed is 15-32 KByte/s 8with all debug info off!) [0-65k -> fast, 65k-x slower because of long calc] - ntp_client.c: fixed "nodebug->not time update" bug - disabled nearly all debuginfo as default download: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1103_speedup.hex Ausserdem habe ich jetzt mal Screenshots von allen Webseiten gemacht: http://avr.auctionant.de/avrETH1/software_screenshots.html Bye, Simon
Hallo Simon... Hab die Beta 1103 im Web-Server. Bin ich hier eigentlich der einzige, der die neuen Betas intalliert und testet ? Ist verdammt ruhig hier geworden. Ach ja, läuft übrigens gut. Einige Kleinigkeiten sind mir noch aufgefallen: - Upload von Files mit meinem IE geht leider immer noch nicht. (Erscheinen dann nicht in der FileList) - Es gibt anscheinend Probleme mit Filenamen >8 Zeichen. Wenn ich diese veruche in der Filelist anzuwählen und zu öffnen ercheint eine Meldung: Seite nicht gefunden (HTTP 404 - Datei nicht gefunden)im IE und im Mozilla Auch ein remove dieser Files (erscheinen in der Filelist) ist nicht möglich. - Servofunktion läuft noch nicht richtig ;-) Ansonsten aber meiner Meinung nach (z.B. beim Bildaufbau der Webcam) schneller. Dirk
>Bin ich hier eigentlich der einzige, der die neuen Betas >intalliert und testet ? g das hab ich mich auch schon gefragt ... Ich glaub ich bau echt mal ne spywarefunktion ein (ein nachladen von http://auctionant.de/spy.gif?avrethversion=1103 bei jedem index aufruf) gg >- Upload von Files mit meinem IE geht leider immer noch nicht. > (Erscheinen dann nicht in der FileList) ok da hab ich noch nicht dran gearbeitet ;) >- Es gibt anscheinend Probleme mit Filenamen >8 Zeichen. > Wenn ich diese veruche in der Filelist anzuwählen und zu öffnen >ercheint eine Meldung: Seite nicht gefunden (HTTP 404 - Datei nicht >gefunden)im IE und im Mozilla >Auch ein remove dieser Files (erscheinen in der Filelist) ist nicht >möglich. Ähh avrETH kürzt die Filenames auf 8.3 (also 8 zeichen fname+3 extension). Wieso hast du welche mit >8 zeichen ?! Könntest du mir mal deine dynip adresse zumailen ? dann kann ich mir das mal anguggn :) >- Servofunktion läuft noch nicht richtig ;-) doch, musst nur /activate/hidden/wireless/servo/pos/controller/1 aufrufen g Ne ist auch noch nicht drin ;) @All: weitere kommentare zur firmware sind willkommen ;) Was ist eigentlich mit den anderen ? Habt ihr noch nicht gelötet oder wieso gibts sowenig feedback ? Bye, Simon
Hallo Simon
<<<
Was ist eigentlich mit den anderen ? Habt ihr noch nicht gelötet oder
wieso gibts sowenig feedback ?
>>>
Sorry, ich arbeite noch an dem Programmer, habe Angst das der Enc
wieder Wo gibt. Sind ja nicht gerade billig.
Ansonsten verfolge ich die Entwicklungen mit großer Aufmerksamkeit
und hoffe das ich auch bald Feedback geben kann.
Sorry das da bei mir so wenig weiter geht.
LG
Michael
Hi! Achso :) @Dirk: ich hab den fehler gefunden, das problem waren sonderzeichen (leerzeichen zb) im filename. Wird in der nächsten Version gefixt sein ;) (ist ja fast wie bei DOS damals g) Bis dahin bitte nur a-zA-Z0-9-_ im filename benutzen ;) Bye, Simon
Hallo, ich möchte mit dem ENC28J60 zunächst alle Packete empfangen und dann abhänig vom Inhalt entscheiden, ob es eins für mich war. Ist das möglich, unabhängig von der ENC-MAC Adresse, also völlig transparent, zu arbeiten? Oder akzeptiert er nur Broadcast und seine Adresse? Danke! Enrico
Solltest Du mit dem UCEN-Bit im ERXFCON Register steuern können. Siehe Kapitel 8 im Datasheet (Seite 48).
Hi Simon... Das mit den Leerzeichen stimmt wirklich. Waren welche im Filenamen drin. Lassen ich nun auch nicht mehr vom Webserver löschen :-( Bin schon auf die nächste Version gespannt. Dann vielleicht schon mit Servounterstützung ? quängel Du hast mal geschrieben, dass das ganze nur 2 Zeilen zusätzlichen Code erfordert... ;-) Kann ja dann nicht so schwierig sein ggg. Ach ja, den DS18S20 zum Testen für die OneWire Temp-Messung schmeiss ich Dir die Tage in den Briefkasten. Dirk
@Dirk: guck mal auf deinen server im upload (hab deine ip in meinen auctionant logfiles entdeckt g) löschen: ich wollte eh ne option zum formatieren einbauen (/mkfs oder so aufrufen) servo: Problem ist dass kein timer pin nach aussen geführt habe :-\ Aber es müsste theoretisch ausreichen den signal pin für zb eine sekunde mit dem signal per software zu versorgen. die cam wiegt ja nix, sollte auch danach in position bleiben ;) Muss mir nur noch was für die html steuerung einfallen lassen (hab da schon ne idee, würde aber wieder javascript brauchen :-X) ds1820: cool! @Lupin: Danke :) Das alte system (einzelne htmls) wurde mir zu arbeitsintensiv und ich hab es auf mein selbstgebautes quick&dirty cms umkopiert. Bye, Simon
Hi Simon... Hat funktioniert g Schönes Bild. Bekommt die nächste Firmware nen Passwortschutz für die Admin-Seiten ? lach ...dem signal per software zu versorgen. die cam wiegt ja nix, sollte auch danach in position bleiben ;)... Das ist nicht das Problem ! Weiss nur nicht, was das Servo macht, wenn es keinen Impuls mehr bekommt. Normalerweise erwartet es alle 20ms einen Impuls zw. 1,0 und 2,0ms (1,5ms=Mittelstellung) Kann mir vorstellen, dass das Servo dann Mist macht, wenn Spannung noch da, aber kein Impuls mehr anliegt. Dirk
Hi! Ne, wenn kein Signal kommt bleiben die in position bzw gehen in so ne Art Stromsparmodus. Hab ich zumindest letztens irgendwo gelesen, muss ich mal testen ;) Aber kann schon hinkommen, beim programmieren hat der servo bei der alten Cam ja auch nicht gezuckt. Und da ist er ja auch an Vcc und bekommt kein Signal. Admin: ja, war geplant, so langsam geht mir aber der Programmspeicher aus ::) Muss ich mal sehen wo ich da noch optimieren kann... BYe, Simon
Was hälst du eigentlich davon ein FAT oder vergleichbares "offenes" Dateisystem zu nehmen ? :) Grüße
ich glaub der knappe Programmspeicher. Warum soll er FAT verwenden wen doch kein ander Computer oder ein andere µc direkten zugriff auf den speicher hat. Gruß Marco
Hi! Genau :) Lohnt einfach nicht. Sowohl vom avr progmem als auch vom datenoverhead ;) Ausserdem boten sich die 256+16 byte pro sektor geradezu dazu an eine verkettete Liste als Datenstruktur zu nehmen (256byte daten + 16 byte als verwaltung pro sektor). Jeder Block hat also einfach nen next pointer ;) Hat denb vorteil dass ich mich nicht um Lücken (defrag) kümmern muss beim files löschen etc ;) Anbei mal eine neue Version, hat sich aber kaum was getan. CHANGELOG: *** build 1104 *** - (internal) cvs checkin - filesystem.c: fixed bad chars in filename bug (not tested yet) - filesystem.c: /adm/rm/<fileid> in flist - httpd.c: now always determines content type by file extension - httpd.c: all files must use extension -> .htm etc - httpd.c: moved critical stuff to adm -> add passwort protection! - httpd.c: added filesystem format option -> /adm/mkfs.htm - httpd.c: added /site/ficon.gif - filesystem.c: file list with icon / size in kbytes - insgesamt bissl aufgeräumt -> codesize @Dirk: probier mal die filelist ansicht, da solltest du auch deine defekten files einzeln löschen können. Alternativ gibts jetzt auch nen /adm/mkfs.htm :) Ich hab das gefühl dass der ganze server jetzt schneller reagiert. (hab einiges aufgeräumt/umgebaut) Debuginfos sind fast alle aus. Hier das File: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1104.hex Bye, Simon
Hi Simon! Kannst du nicht deinen aktuellen Server mal ans Netz hängen und ONLINE verfügbar machen zum Testen? (Solange du nicht dran Programmierst) Einfach mal zum schauen wie es denn so in REAL funktioniert. Immer nur Bildchen gucken ist langweilig Wie schauts denn überhaupt mit neuen Platinen aus? Ich hätte da interesse an 2 Stück, hab schon den ENC hier liegen. Gruss Hansi
jo ein webserver der nicht im web zu erreichen ist ist doof ;(
jo einen moment, ich stell sie gleich mal für eine h online ;)
so, bitteschön: http://84.60.1.124:3333/ Cam zeigt aber nur schwarz an, bitte keinen quatsch hochladen, bitte keine files löschen. filesystem format ist disabled BYe, Simon
nachdem ich das Projekt jetzt schon länger nicht mehr beobachtet habe kann ich nur eins sagen: Respekt!
danke :) sorry musste gerade nochmal kurz neu programmieren ;) jetzt sollte er wieder on sein
so, da der Besucherandrang langsam nachlässt schliesse ich die verbindung auch mal wieder. Mein labornetzteil stinkt furchtbar nach trafolack wenns länger an ist, deshalb kann ich es über nacht nicht anlassen ::) Muss mal was anderes dranpacken. n8, Simon
Hallo Simon... 23:43 Dein Webserver ist nicht erreichbar. Hab eben (bevor ich zur Arbeit gefahren bin noch kurz die 1105 auf meinen Server gespielt. Hat ganz gut funktioniert. Auch das löschen der korrupten Files und das format hat funktioniert. Hab dann gerade mal versucht, meinen Server zu erreichen. Geht ebenfalls nicht. Evt. ein Bug in der SW ? Musste auch mit der 1104 gestern meinen Server 1x resetten. War ebenfalls nicht erreichbar. Dirk
Hi! Mein server ist jetzt offline ;) Wegen deinem hängen bleiber suche ich dann mal. Wüsste nicht auf anhieb was ich grossartig geändert habe ::) Weisst du noch wonach das passiert ist ? BYe, Simon
Kannst Du mal schauen, ob Du meinen Server erreichst ? Nicht, dass es an unseren Firmen-Netz liegt... Adresse hast Du ja ;-) Kann Dir leider auch nicht sagen, wonach das ganze passiert ist. Dirk
Hallo, da ich grad ne Kamera MCA-25 suche (eigentlich für meinen 2. Server von Holger Buss) und die beim deutschen Ebay unbezahlbar werden, hab ich mal bei nem amerikanischen Verkäufer nachgefragt. Da die Versandkosten alles überragen (und es sich deshalb erst ab 5 Stück lohnt), würd ich gern wissen, ob hier Interesse daran besteht. Der Preis wird hoffentlich nicht höher als 5 Euro pro Stück sein (bei 5 bestellten). Evtl. kann noch Zoll dazu kommen, aber die Wahrscheinlichkeit bei so billigen Teilen ist eher gering. Versand innerhalb Dtl.s würde auch nur 70 ct sein. @Simon: Kannst Du schon sagen, wann Du neue Platinen machen lässt, damit vielleicht noch mehr Leute interesse bekommen (und weil ich selber warte)? Gruß Sirko Kontakt: sirnan (ÄHT) gMx (Punkt) de
Hi! Platinen weiss ich noch nicht genau. Das wird wohl auf ein neues Layout hinauslaufen (stepdown reg, anderer uc,..) Momentan stecke ich die energie ins schreiben der circuit cellular contest doku. man ist das furchtbarm sich was auf englisch aus den fingern zu saugen :-X Ausserdem bastel ich am webservercode... Aber wieso willst du die in amiland kaufen ? check doch erstmal ebay.ch/at etc ;) Btw beim deutschen bekommt man sie immer noch für 2-3 euro ;) Man muss nur wissen wie man sucht und nen guten augenblick abpassen g So, es gibt mal wieder ein neues hexfile (nur für dirk ? g): http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1105.hex CHANGELOG: - main.c: rx buffer -> NIC_BUFFERSIZE ! - httpd.c: upload failure detection + err msg - httpd.c: added http auth - mynic.h: changed nic buffersize 900->1000 Jetzt sollten alle dateien in /adm/* passwortgeschützt sein. logindaten: #define HTTPD_ADMIN_AUTH_LOGIN "admin" #define HTTPD_ADMIN_AUTH_PASS "1eth1" Ist bis jetzt aber nur mit dem firefox und konqueror getestet ;) Bye, Simon
Hallo alle zusammen, auch ich habe ein ENC28J60 Board gebastelt. Softwareseitig habe ich dabei auf WinAVR, uIP, avrlib und efsl gesetzt. Alle Quellen und meine Doku (die den Namen nicht wirklich verdient) finden sich auf: http://www.pcclock.de/avr2web/ Ich habe gelesen das bei vielen der ENC heiß wird. Das ist auch bei mir der Fall, daher habe ich ihm einen kleinen Kühlkörper aufgesetzt.
Hallo Simon... Version 1105 ist drin. (wahrscheinlich auch wieder nur bei mir ;-)) Allerdings hängt mein Webserver wohl schon wieder. :-( Hab das Gefühl, die letzte "funktionierende" Version war die 1094. Seit der 1103 konnte ich "Hänger" nachvollziehen. Werde wohl in den nächsten Tagen mal die 1103 wieder einspielen um zu sehen, ob's damit auch auftritt. Server ist sowohl über Intranet als auch über Internet nicht mehr erreichbar. Gabs irgendwelche "grossen" Änderungen zw. 1094 und 1103, die das Problem verursachen könnten ? Kannst Du das ganze bei Dir eigentlich auch nachvollziehen ? Mein Server hat mit der 1105 gerade mal 6h gelaufen, bevor er sich weggehangen hat. Dirk
Hi! Danke! 1094->11xx hab ich einiges am filesystem/dataflash zugriff gemacht. Insbesondere habe ich den zugriff auf das dataflash erweitert! Und wenn ein spi read beim dataflash hängen bleibt steht der server! Da habe ich einen Ansatz wo ich suchen kann! Danke! Könntest du mal versuchen keine dataflash/filesystem aufrufe zu machen testweise ? Also den server ganz normal nutzen, nur keine sachen aus fs und nicht /adm/upload aufrufen Oder hast du den serial debug port angeschlossen ? da könnte ich den letzten output brauchen Bye, Simon
Hallo marcel, dein Projekt sieht ja wirklich gut aus. Werde ich mir mal genauer anschauen....
Hallo Simon... Hab eigentlich keine Zugriffe aufs Filesystem gemacht. Hab die SW eingespielt, dann einige Files hochgeladen. Nach einiger Zeit hab ich nochmals versucht, den Server zu erreichen. Ging auch noch ohne Probs. Als ich nun in der Firma nochmal zum Testen drauf zugreifen wollte, ging nichts mehr. Zwischen den 2 Versuchen lagen ca. 2,5h, in denen ich nichts dran gemacht hab. Wie schon geschrieben werde ich 1103 nochmal draufspielen, um zu sehen, obs damit auch Probleme gab. Ansonsten kommt 1094 nochmals drauf. Dann können wir weitersehen. Debug hab ich nicht dran. Hab den MAX232 beim letzten Mal nicht ans laufen bekommen. Evt. mag meine Version vom Chip die 3,6V nicht, oder die C's waren mit 0,1µF zu klein. Dirk
ah ok.. hab dir gerade mal ein hex (build1106) gemailt wo ich die vermutete dataflash änderung rückgängig gemacht habe. würde mich zwar wundern da es streng nach datenblatt gecodet ist (statt 1byte auszulesen lese ich 256 pro zugriff, genau wie im datenblatt...) aber evtl ist es das ja ;) Bye, Simon
Hallo Simon... Werde ich morgen nachmittag ( nachdem ich aufgestanden bin ) mal ausprobieren. Kannst Du nochmal kurz versuchen, meinen Server zu erreichen ? Adresse kennst Du ja. Willl nur ausschliessen, dass es hier am Firmennetzwerk liegt. Dirk
adresse kenne ich leider nicht (schick mir mal ne mail bitte avr AT auctionant.de) ich kenn sie nur wenn irgendwer auf den link unten geklickt hat und die ip in meinem logfile ist ;) Bye, Simon
Hallo Simon... Hatte die SW 1106 (die per Mail gekommen ist) drin. Damit hat der Server ca. 0,5h gelaufen. Danach war kein Ping oder ansprechen über Intra- bzw. Internet mehr möglich. Hab nun versuchsweise mal die 1094 wieder eingespielt. Bis jetzt läuft er. Später, wenn ich wieder in der Firma bin und von da aus nochmals testen kann, kann ich Dir mehr sagen. Dirk
Hi! Ok danke! Dann wars nicht die Dataflash Änderung ::) Kannst du mal drauf achten was die Seite war die du zuletzt aufgerufen hast ? Ich hab meinen gestern 1h laufen lassen mit der 1106 und per wget im 0,1 sekundentakt webseiten runtergeladen. Er ist ganz normal weitergelaufen... Bye, Simon
Hallo Simon... Bin nun auf der Arbeit und... die 1094 läuft immer noch :-) Wenn Du sagst, bei DIr läuft die 1106 ohne Problem stellt sich evt. eine andere Frage: Kann es an evt unterschiedlichen Chip Revisionen von enc oder Mega32 liegen ? Gibt es in der Errata zu den Bausteinen Änderungen zw. den Revisionen ? Hatte auch schon an therm. Probleme gedacht, aber die werden wohl nicht bei einer älteren Firmware verschwunden sein... Andere Änderungen gabs nicht zw. 1094 und 1103 ? Evt. Änderungen im Cam-Part, welche den Server runterzieht ? Dirk
Hi! Ne, groß was gemacht hab ich nur am filesystem/dataflash... Sehr merkwürdig... Aber ich habe eine Sourcecode kopie von der 1094. Ich habe gerade mal ein diff gemacht. es sind nicht viele Änderungen gemacht worden. Eine Testversion mit ein paar zurückgeänderten Sachen habe ich dir eben per mail geschickt ;) Danke fürs testen ! Ich vermute fast dass es ein bug ist der nur zb mit dem ie auftritt (warum auch immer!) Ich bin gespannt auf deinen testbericht ;) Gruss, Simon
> Kann es an evt unterschiedlichen Chip Revisionen von enc oder > Mega32 liegen ? > Gibt es in der Errata zu den Bausteinen Änderungen zw. den > Revisionen ? Die Erratas beim ENC28J60 sind gleich.
Hi Simon ;) Ich bin nun gerade auch dabei so was kleines zu bauen. UDP ICMP ARP konnte ich mir durch ethereal mehr oder weniger selbst erklären, aber evt. könntest du mir sagen, woher du den ganzen TCP Kram gelernt hast(?) Sourcen wie uIP hab ich mir schon angeschaut, nur ist der bereits fast zu mächtig, hab dort den Überblick total verloren, bei Ulrichs Code hats auch einige Dinge, die ich nicht nachvollziehen kann. Daher - kennst du zufällig eine Seite, auf der das einigermassen gut Erklärt ist?(vorallem TCP, der Rest geht ja bereits :-) ) Nik
Hi! Zu TCP hatte ich mal was in einer (schlechten!) Vorlesung gehört. Meine Hauptquelle war das inet, also zB http://en.wikipedia.org/wiki/Transmission_Control_Protocol http://www.web-ee.com/primers/files/BeginnersGuide2Ethernet.pdf Bye, Simon
dankeschön ;) Das Pdf mag irgendwie nicht laden (firfox sagt Verbindungstimout) aber die wiki Seite sieht echt gut aus, da gibts sogar ne recht lange Ausführung davon in Deutsch, hätte nie gedacht das man dort sowas auch findet. Ich muss leider zwangsweise alles aus Büchern oder dem Inet lernen, bin noch zu jung für ein Studium und in der Schule haben wir noch nicht mal besprochen, was transistoren etc sind...schnarch. Mein Problem bei tcp sind vorallem die Syn Ack Felder, ich bin mir bezüglich des Programmaufbaus nicht ganz sicher was ich da in dem Fall mache, wenn zB 5 Clients gleichzeitig verbunden sind, dann brauch ich ja für alle einzelne Counter...ich werds mir mal ansehen und hoffentlich auch bald integrieren, hab bis jetzt nämlich nur ein UDP Interface, das kann man mit PHP zwar schön steuern, aber so 'das Wahre' ists auch nicht...:P Nik
>Mein Problem bei tcp sind vorallem die Syn Ack Felder, ich bin mir >bezüglich des Programmaufbaus nicht ganz sicher was ich da in dem Fall >mache, wenn zB 5 Clients gleichzeitig verbunden sind, dann brauch ich >ja für alle einzelne Counter. Nicht nur das! Du musst dir pro tcp verbindung den ack/seq counter merken, evtl den clientport und den aktuellen verbindungsstatus. (bei ulrich radigs code merkst du dir die seq/ack nummern glaub ich nicht) Leider habe ich auch noch keine Doku gefunden wo genau erklärt wird wie genau jetzt ein verbindungsabbau gemacht wird. Da gibt es ja verschiedene Versionen (client baut ab, server baut ab, fin+ack in einem paket etc) Ich hab das dann mehr oder weniger durch probieren rausgefunden :-\ Bye, Simon
Hi Simon... Kurzer Zwischenstatus: Die 1094 läuft immer noch sehr stabil ! Werde gleich mal die 1107 einspielen und weiter testen. Dirk
nachobenschieb Hallo Simon... Erneut ein kurzer Zwischenstatus: Hab jetzt die 1107 drin ! Läuft jetzt seit ca. 8h, scheinbar ohne Probleme. Sieht so aus, als hättest Du den Bug gefunden. freu Alles weiter so in ca. 24h. Dann sehen wir mal weiter... Dirk
>Sieht so aus, als hättest Du den Bug gefunden. *freu*
sag das nicht zu laut g
Ich habe ja zwei Dinge gegenüber der 1006er version geändert.
Aber wenn es die änderung war die ich vermute:
main.c: nic_receive_packet(&buffer[0],NIC_BUFFERSIZE) back to
nic_receive_packet(&buffer[0],600) (buffersize is 1000 !)
dann ist das seeeeehr merkwürdig !
Muss ich nochmal genau nachforschen.
Das ist eigentlich seltsam da der sendebuffer in jedem fall 1000 byte
benutzt. Es kann dann nämlich nur
a) stack vs buffer konflikt sein (müsste dann aber auch beim senden
passieren ?!)
b) irgendein enc28j60 bug (vermutlich dieser ungerade pointerbug aus
der errata, den fange ich nämlich (noch) nicht ab)
Wie auch immer, danke dir fürs testen !!
Ich hab ne gute Nachricht für dich:
So wie ich das sehe hatte ich doch einen output compare pin
rausgeführt!
Hatte mich schon gewundert wieso ich das vergessen hatte g
-> hardware servo support...
Müsste man nur noch testen ob die servos auch mit 3.6V laufen. Sollten
sie aber eigentlich, beim modellbau hat man ja auch gerne mal etwas
weniger .)
Bye, Simon
@Simon: Servos sind normalerweise für 4- oder 5-zellige Akkus gedacht; nominal 4.8 - 6 V, die Entladeschlußspannung liegt also bei 3.6 V bei einem 4-Zeller. Das dürfte dann auch schon die erreichbare Unterkante darstellen; meine Graupner Varioprop zickt da auch schon mal ganz schön herum. Also entweder solltet ihr eine höhere Betriebsspannung für den Servo vorsehen, oder ganz gezielt einen kaufen, der mit 3.6 V klarkommt. Nebenbei bemerkt sind auch die (Anlauf-) Ströme der Servos nicht ohne, mit ein bischen Pech steigt dann auch gleich der Webserver aus... aber ein kleiner Micro-Servo tut es ja vielleicht -- hab' leider nur grad nix passendes da zum Testen. So long, Tillomar
Hi! Ja ich weiss ;) Hab hier so super miniservos. Die ziehen locker 4A (zwar nur kurz aber trotzdem). Das ganze muss ja auch fast nichts bewegen, auf Schnelligkeit kommts ja auch nicht so an ;) Werde ich dann testen wenn ich den Code bastel. Sonst muss man dem Servo halt noch extra 5v geben oder so ;) BYe, simon
Hallo Simon... Ich befürchte, das war es doch noch nicht :-( heul Server hängt wieder. Hab heute nacht noch probiert, da lief noch alles. Heute morgen wieder Timeout und kein Ping möglich. Wobei ich nicht gleube, dass der Server wirklich hängt. So alle ca. 20sec leuchted die rote LED kurz mal auf. Dirk
Ah ok... bzw Mist! g Das heisst der Server bleibt hängen wenn lange keiner drauf zugreift, richtig ? Das würde auch erklären warum das bei mir nicht passiert ist (hab ja immer wie wild dateien geladen) Da werd ich meinen mal ein paar h laufen lassen mit debugoutput... Bye, Simon
Hi Simon... So ungefähr. Wie geschrieben, denke ich nicht, dass der Server komplett hängt. Weisst Du, was der ca. alle 20sec an Daten holt/bekommt ? Das bedeutet doch das aufleuchten der roten LED, oder ? Ist zumindest die LED neben der blauen "Link ok" LED. Dirk
die rote led leuchtet immer wenn er irgendwas sendet oder empfängt. Bzw wenn der enc28j60 was sendet/empfängt. Selbst wenn der avr steht kann der leuchten. Alle 20s wird wahrscheinlich der tcp conn request deines browsers sein. ich schick dir gleich mal eben ein hex was genau wie 1007 ist nur immer mit der status led blinkt wenn er noch läuft... Bye, Simon
Hi Simon... 1108 ist drin und läuft. Mal sehen, wie lange. Dirk
@dirk: hast wieder post! Kann es sein dass der server immer hängt wenn er die 0 uhr schranke überschreitet und man danach die site/temp.htm aufruft ? Ich habe soeben einen (blöden) bug gefunden ! Wenn die Systemuhrzeit zb 33 Uhr ist und man /site/temp.htm aufruft dann bleibt der uc hängen ! Er versucht dann nämlich aus einem eeprom Speicherbereich zu lesen der gar keiner mehr ist :-X bzw eine for schleife tickt dann aus 8) Warum die uhrzeit aber >24uhr werden kann ist mi nicht ganz klar (habs bei mir zum testen manuell mit 33 uhr initialisiert -> tot). Hab noch was an der clock routine gefixt. Bye, Simon
Hi Simon... Du hast auch Post ! Server hängt wieder. LED blinkt aber schön regelmässig vor sich hin. Naja, mit 33 Uhr ist ja nicht ganz so schlimm. So spät wirds bei mir selten ggg Die 1109 werde ich morgen oder so mal einspielen. Für heute ist Schluss. Hatten eben Kindergeburtstag und nun bin ich am Ende :-( Werde wohl früh ins Bett gehen... ggg Dirk
Hi! Mein Webserver ist jett seit >24h durchgängig am laufen... Ich vermute Dirk hat eine andere enc28j60 revision als ich. Ich werde in der nächsten Version mal den pointer workaround aus der microchip errata einbauen. Dirks Server schien nämlich nicht zu hängen (er empfing die ethernetpakete immer noch) nur konnte er keine pakete mehr senden ?! Sehr seltsam... Anbei mal ein Temperaturgraph von heute (links von der linie = 5.5.06, rechts davon ist von gestern). Der Graph zeigt 24h. Der LM75 hängt bei mir aus dem Fenster (Nordseite) Bye, Simon
Hallo Simon... Wie bekomme ich denn die Rev. des enx28j60 raus ? Steht die nur im Chip ? Aufdruck auf meinem enc ist jedenfalls ENC28j60 (e3) Sollte e3 die Revision sein ? Lt. Errata soll die Rev. im Register EREVID (Adresse 0312h) zu finden sein. Vielleicht kannst Du ja mal ne firmware "basteln", welche die Adresse 0312h ausliest und den Wert auf der Startseite mit anzeigt. Evt. hilft das ja bei der Fehlersuche weiter. Dirk
bin grad schon dabei, gibt gleich ne neue rev (mit servo beta)
So, hier die neue version: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1110.hex NEU: *** build 1106 *** - internal bughunt version *** build 1107 *** - internal bughunt version *** build 1109 *** - clock.c: new way to calc next time - logger.c: add security check for eeprom bug (h>24 -> out of bound -> hang!) - lm75.c: do not return 0xFF as valid temp - logger.c: do not use lm75 temp register, added own tempreg! *** build 1110 *** - enc28j60.c: moved rx buffer to begin - enc28j60.c: added ptr bug workaround - logger.c/lm75.c: fixed typo in logpos check ! - main.c: 800ms delay after init before sending any data - servo.c: new, support servo connected to PORTD.7 -> servo support: http://192.168.0.6/servo/000 bis http://192.168.0.6/servo/255 (führende nullen!) setzt servo an PORTD.7 Und nun das beste: meine normalen Modellbauservos gehen direkt mit 3.6V :) Das scheint nochnichtmal irgendwie zu stören :) Aber bitte testen bzw um sicherzu gehen den Servo extern mit 5V versorgen (beide GND verbinden) @Dirk: Wäre cool wenn du den Code mal testest, da ist jetzt der enc28j60 bug umgangen. Ich hoffe dass der fürs stehenbleiben verantwortlich war .-\ Achja und auf der index.htm sieht man jetzt die enc28j60 revision (ich hab rev4). Bye, Simon
so, gibt ne neue version. Diesmal mit servo html seite wo man den Servo per mausklick in die servopos Grafik steuern kann.(siehe screenshot) das javascript ist mit ie,ffox,opera getestet, sollte also gehen ;) http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1111.hex CHANGES: - servopos nun über /servo_000.bmp bis /servo_255.bmp steuerbar - /site/servo.htm als übersicht für den servo Bye, Simon
Laut den Errata-Sheets gibt es aber keine Unterschiede zwischen Revision B1 (EREVID = 0x02) und B4 (EREVID = 0x04). Und von anderen Versionen stand nix auf der HP von Microchip, als ich vor ca. 3 Wochen geschaut hab.
Hi! Das hab ich schon gesehen. Aber komischerwiese scheint der bug nur bei Dirk aufzutauchen und bei mir nicht ?! Evtl gibt es ja noch einen unbekannten bug von der 2er rev oder so. Wobei ich mich schon die ganze Zeit frage warum die eine neue revision rausbringen die dann genauso viele fehler hat wie die alte ?! :-X Schon irgendwie seltsam... Bye, Simon
Vielleicht damit sie die alten Revisionen ohne Reue noch verkaufen können ;). Mir ist das halt vor 3 Wochen aufgefallen, als ich bei meinem die Revision ausgelesen hatte und mich erstmal geärgert hab, warum ich noch die alte bekommen habe, obwohl ich ne Weile auf die neue gewartet hab (wie ihr ja auch). Da hab ich dann erstmals in die Errata-Sheets geschaut.
Hi Simon... Version 1111 ist drin. Hab übrigens auch Rev. 4 des enc. :-( Solangsam glaub ich, mein Server will uns nur ärgern. Warum kannst Du das ganze denn nicht nachvollziehen ? Vielleicht solltes Du mal meinen Server bei Dir aufbauen, und ich nehm Deinen zum Testen mit. Vielleicht liegts ja auch am Erdmagnetfeld unter unserer Wohnung oder so... ;-) Servoabsteuerung ist ja cool. Hab zwar noch keinen Servo dran, aber schön, dass es nun drin ist. Werd ich die nächsten Tage mal probieren. Vor allem das Einstellen der Servoposition, klasse. Meinst Du nicht, ne einfache Auswahlbox mit vorgegebenen Werten (möglichst auf der Webcamseite) hätte gereicht ? ggg Evt. mit automatischem Refresh des Bildes, nach Auswahl der Servoposition. Dirk
>Solangsam glaub ich, mein Server will uns nur ärgern. Glaub ich auch g >Warum kannst Du das ganze denn nicht nachvollziehen ? Wie gesagt, ich bekomms nicht hin bei mir :( Warten wir jetzt mal den Testlauf mit der 1111 bei dir ab. Wenn da wieder was passiert werde ich meinen Server ins Netz stellen und dir die Adresse geben. Dann kannst du den mal genauso "bearbeiten" wie deinen. Wenn dann was passiert hab ich das serielle Logfile und kann evtl sehen woran es liegt. >Vor allem das Einstellen der Servoposition, klasse. Danke :D Das kommt später mal direkt unter das Webcambild. Evtl zusätzlich noch ne Auswahlbox daneben ;) Ich muss mir nur was wegen dem Programmspeicherplatz überlegen, es sind nur noch 30 Byte oder so frei :-X Aber ich hab da ein paar Stellen wo ich ein bissl optimieren kann denke ich :) BYe, Simon
Hallo ich verfolge schon länger das Projekt. Leider arbeite ich mit PIC´s. Ich habe allerdings gleiche Probleme: Es stürtzt immer mal ab. Manchmal hilft auch kein Reset - einfach warten und immer reseten.... Machmal hilft dafür aber ARP -d auf dem PC. Könnt Ihr ja mal testen. ARP.EXE ist ein Dos-Programm für den ARP-Speicher auf dem PC. Mal ne Frage: Die Common-Register sind doch alle gespiegelt? Werden diese gleichzeitig beschrieben? Ich kann (zum debuggen) alle Common-Register auslesen. Nur leider sind die Common-Register nicht in allen Bänken immer gleich. Dachte erst die SPI macht fehler. Ist aber doch wohl eher unwahrscheinlich, oder? Er geht manchmal stundenlang! Könnt ihr mal die Common-Register auslesen? Gruß LM
Hi, Ich hab einen aehnlichen Aufbau wie Simon mit einem Atmega32, und hab meinen eigenen Code geschrieben. Ich hab manchmal auch das Problem, dass der enc28j60 scheinbar abstuerzt, ich bekomme dann zb. keine interrupts mehr fuer reinkommende Pakete (die reinkommen muessten, die Led blinkt). Hat da jemand noch eine Idee? LM, hast du das mal ausprobiert, ob die Common-Register verschiedener Baenke sich unterscheiden? Gruss, - Alexander
Hi! Das hört sich interessant an Alexander! Genau das hat Dirk nämlich beschrieben... Der Webserver läuft weiter, rx led blinkt das wars. In der neuen 1111er Version habe ich die von der Errata empfohlenen Workarounds für das PKTIF Flag (nochmal extra den count checken) und diesen Pointerbug (immer ungerade werte ins register schhreiben + aufpassen beim wrappen) implementiert. Ich hoffe dass das der Fehler war. Warum es aber nur bei Dirk passiert und nicht bei mir ?! Evtl haben einfach nur manche der ENCs diesen Bug ? Schon irgendwie komisch :-\ @LM1: Welchen stack benutzt du ? den von Microchip ? Das mit den ARP paketen hört sich eher wie irgendein Bug in der arp verwaltung an. Oder evtl doch dieser pointerbug und nur durch genügend eingehende pakete kommt er irgendwann wieder auf nen gültigen pointer ? Schon irgendwie komisch... Wegen dem auslesen ? Sind das evtl die Register die nur mit >8mhz fehlerfrei auslesbar sind ? BYe, Simon
Hi Simon, den Pointer-Workaround hab ich drin, den PKTIF-Workaround noch nicht, das werd ich nochmal checken. Der ENC28j60 ist eigentlich sehr geil, aber das gefaellt mir grad garnicht :// Hat jemand mal mit Microchip geredet? Gruss, - Alexander
Hallo, ich nutze "Ethereal" um meine gesendeten Daten im PC anzeigen zu lassen. Ich sende zyklisch ein Packet und bekomme den Inhalt auch richtig angezeigt. Nur spielt es keine Rolle, wie ich TX und RX verbinde. D.h. ich kann TPOUT mit 1-2 oder mit 3-6 vom PC verbinden, in beiden Fällen zeigt mir der PC exakt meine gesendeten Daten. Allerdings nur, wenn ich immer alle 4 Leitungen verbinde, nur Senden allein verbinden geht nicht. Was stimmt bei mir nicht? Oder ist alles i.O.? Danke! Enrico
Hast du evtl nen Switch der Crossover kabel erkennt und dann umschaltet ? Bye, Simon
Hallo, ja ich benutze den Microchip-Stack. ARP: So ganz kapier ich das auch nicht. Ist jedenfalls Definitiv so, daß der ENC28J60 dann wieder geht. Eigentlich speichert das ARP doch nur die MAC-Adresse.? SPI ist bei 10MHZ (geht bei PIC problemlos) Pointerbug? Welchen meinst du denn? Evt. spielt da auch der Router mit (der händelt ja den verkehr über eine ARP-Tabelle). Wenn ich über eine andere Mac (und ip-) adresse (also 2ter PC) anpinge geht er wieder. Ist wirklich komisch. LM, hast du das mal ausprobiert, ob die Common-Register verschiedener Baenke sich unterscheiden? Genau das ist das, was mich stutzig macht. die 0x1A bis 1F sollten eigentlich gespiegelt sein. Wenn der ENC28J60 geht ist das auch so. Aber leider nicht immer! Also scheint es ein SPI-Problem (Takt = 10MHz) zu sein. Gruß LM1
Hi, LM1, hast du das wirklich mal gesehen, dass die Baenke sich unterschieden haben? Das wuerd mich interessieren, denn dazu hast du bisher nichts konkretes gesagt... - Alexander
@Alexander so im Anhang steht es... Für Debug mußt du Bank einsetzen. Wobei nur die letzten Bytes wichtig sind. Das ganze ist mit ICD2 und der "Watch"-Funktion aufgezeichnet. Guß Lars
@Simon Nein, ich gehe mit dem Kabel direkt in meinen PC, also meine Broadcom-Netzwerkkarte. Nur scheint es egal zu sein, ob ich TX-ENC mit TX-PC oder RX-PC verbinde. Die Schaltung ist wie im Datenblatt, nehme als Übertrager einen FB2022. Wie gesagt, ich kann ein gekreuztes Kabel nehmen oder ein eins-zu-eins. In beiden Fällen empfange ich exat die Daten des ENC. Warum? Danke!
HI! Dann schaltet deine Netzwerkkarte wohl um :) Der ENC kann das glaub ich ncht ... Bye, Simon
Gut und danke, dann verbinde ich ENC-TX mit PC-RX (3-6) und ENC-RX mit PC-TX (1-2), oder? Macht es einen Unterschied ob ich dann einen Switch oder direkt eine Netzwerkkarte anspreche?
Hi Simon... Was soll ich sagen ? Firmware 1111 läuft immer noch. ;-) Ich will mich noch nicht zu früh freuen, und Dich nicht zu früh loben, aber vielleicht wars das diesmal wirklich. Immerhin läuft die Dose nun schon seit fast 48h. Weiteres (auch bzgl. Servounterstützung) folgt die nächsten Tage. Dirk
Hi, Ich hab immer wieder das Problem, dass der enc28j60 "abstuerzt", ich bekomme also keine Interrupts mehr, es kommen keine Pakete mehr rein (PKCNT konstant 0) und ich muss das ganze resetten, der Mikrocontroller laeuft noch und der enc28j60 laesst sich auch noch ansprechen, aber es kommt halt nichts mehr. :/ Irgendeine Idee? Die Erratas hab ich soweit implementiert (speziell #6 und #13), das passiert auch mit beiden Hardware-Revisionen (rev02 und rev04)... - Alexander
@Alexander was sagt den RXERIF? hat einer denn ne Meinung zu meinen Debug-Daten? Gruß
Hi, EIR ist 0, soweit hab ich das schon gecheckt. :/ Gruss, - Alexander
Hi, @Simon hast Du noch Platinen zu verkaufen? Hätte gern eine zum probieren. Oder gibst Du die Schaltung (evtl. die Eagle Files) frei? Gruss Holger
Hi, gibt es eigendlich eine zusammenfassung von dem ganzen forum, also sowas wie eine projektpage mit der ganzen schaltung etc, ich würde das gerne nachbauen.
Hi, @Stefan: Website schon weiter oben genannt, aber leider fehlt die Schaltung zum Nachbau :-( Schade. Oder kann ich mal wieder nich richtig gucken? Gruss Holger
Moin, ich verfolge den Thread auch schon eine ganze Weile und kann dir sagen, das es hier keinen Schaltplan gibt. Zumindestens den von Strfan habe ich noch nciht gesehen. Mußt du schon selber machen, wobei zumindestens bei dem Artikel zum ENC28J60 2 Schaltpläne bei sind, nach denen man das ganze selber entwickeln kann. Ist auch eigentlich nicht sonderlich schwierig. Mike
Na ja, das mit dem "selber entwickeln" ist so eine Sache. Die Hardware muss ja auch immer zur Software passen. Mit Hardware hab ich kein Problem, bin beruflich und technisch in der Lage auch Fine-Pitch oder BGA zu löten etc. Mit Software bin ich ein Fossil - bin froh, wenn ich ein paar Portbeinchen zum klappern kriege. Dann hörts ja auch schon fast auf. An einer Übertragung mit UART hab ich 3 Wochen gesessen.... Will sagen, ich bin auf ein komplettes Projekt angewiesen - Webserver Software selber programmieren kann ich nich....... ..na und die MCA-25 Cam würd' mich schon interessieren. Wollte auch erst Ulrich Radigs Webserver nachbauen - kriege keinen RTL8019 mehr. Selbst ein befreundeter Computerhändler hat schon seine alten Kramkisten durchsucht.... Gruss Holger
@Holger: Solche Netzwerkkarten mit dem RTL findest Du in jedem Wertstoffhof oder zur Not bei eb**. Simon hat an alle, die bei ihm Platinen bestellten, einen Plan in Papierform beigelegt. @Simon: könntest Du bitte die Servo-Geschichte so machen, dass es auch im IE und ohne Skripte geht, also nur ein Form, das man mit Enter eingeben kann (Wertebereich 0..9). Bitte auf der Servo-Testseite und der Kamera-Seite. Vielleicht sogar so, dass nach dem Enter der Eintrag gleich markiert ist, so dass für eine Neueingabe nur drübergetippt und Enter gedrückt werden muss. Wäre es möglich, die IPs für den Gateway und die eigene IP aus den oberen EEprom-Stellen auszulesen, damit man eigene Werte eintragen kann. Mit Schlüsselstellen z.B. AA 55 CC 33 davor und danach, wenn diese nicht vorhanden, defaults verwenden. Und das EEprom nicht jedes Mal löschen. Danke
@Holger: Ok, dann gebe ich dir recht, daß ein nachbau einfacher ist. Wenn du noch einen RTL8019 mehr kriegst, kannst du dich gerne nochmal bei mir melden. Ich hab hier noch 2 oder drei Karten davon rumliegen. Wollte auch erst den Webserver damit bauen, habe dann aber den enc28j60 entdeckt und bastel seid dem damit rum.
Hi, mittlerweile (danke Simon!) hab ich meine Bugs gefunden, ich hab Errata #6 uebersehen und #13 falschrum implementiert. Bei Gelegenheit gibts dann von mir mal Schaltunterlagen und Software :) - Alexander
Hi, solltet ihr auch mal Probleme haben, auf SPIF zu pollen, seid bitte sicher, dass ihr den Pin SS entweder als Output konfiguriert, oder per (internem oder auch externem) Pullup diesen Pin auf High zieht, ansonsten kann es zu merkwuerdigen Effekten kommen. Ich hab ne ganze Weile debugged bis ich gemerkt hab, dass der von SPI Master auf Slave umspringt, weil der Atmel meint, dieser Pin (der in meiner Schaltung so erstmal in der Luft hing) waer auf Masse gezogen worden... - Alexander
HI! Danke :) Der SS ist beim avrETH als CS für den ENC verwendet worden. Also nen output ;) @Holger: Die Schaltung werde ich wenn erst nach dem Circuit Cellular Wettbewerb freigeben ;) Platinen habe ich momentan leider keine mehr. @Schreiber: Ja mal sehen wie ich das auch als non javascript machen kann. Wobei das javascript eigentlich auch im ie gehen sollte (wurde im ie, opera und firefox getestet) BYe, SImon
Hi, @Simon: Ja, OK, hab zwar noch nix von diesem Wettbewerb gehört aber ich wünsche Dir auf alle Fälle Erfolg dabei! Das reicht mir auch, wenn ich irgendwann mal an SB und evtl. eine Platine komme. Mir rennt das Projekt ja nicht weg. Mach ich erst mal irgend was anderes: In der Sonne liegen... Haha... Bitte köntest Du an mich denken, wenn es evtl. mal wieder fertige Platinen gibt. ist zwar kein Problem, aber das Rad muss ja nicht zweimal konstruiert werden. Gruss Holger
Ah, ha..... lesen bildet! AVR 2006 Contest! Na dann Simon: viel Glück für die 15.000$ - bis 16. August ist ja nicht mehr lange hin. Gruss Holger
Thread wiederbeleb Gibt es eigentlichen einen ungefähren Termin wann bugfreie ENC28J60 das Werk verlassen? Grüße, Patrick
Simon, ich wünsche dir auch viel Glück beim Wettbewerb! Ich suche momentan eine Möglichkeit die Webseite ein bißchen flexibler werden zu lassen. Mein Webserver liest drei DS18S20-Sensoren aus und stellt die Temperaturen auf der Webseite dar. Nun muss bei mir die Webseite immer neu geladen werden, um den neuen Wert anzuzeigen. Ist nicht so schön. Gibt es eine einfache Möglichkeit, dass ich die Seite stehen lassen kann und nur den Temp.-Wert ändere? Leider habe ich noch keine Erfahrungen in Java oder Javaskript. Gruß Elektrikser
Hi, wie gehts nun weiter hier? Ist ja etwas ruhig geworden mit dem Projekt. Gibt es updates, neuigkeiten?
Hi! Ich schreibe momentan an der Doku für den Circuit Cellular Contest :) BYe, Simon
Hallo alle, Hallo Simon, freut mich, dass Du noch dran bist. Habe in den letzten Tagen ein bisschen gebastelt, werde dazu auch noch im anderen Thread bzgl. Kamera was tippen. Was mir noch in den Sinn kam: was braucht die meiste Zeit bei der Bildübertragung? Es sind ja immerhin einige (ca.6) Sekunden. Würde mich freuen, wenn man da noch optimieren könnte. Die Bilder sind ja so in etwa 40-50 KByte groß, d.h. die theoretische Übertragung bei 460800 dauert eine Sekunde. Klar kommt noch das LAN-Protokoll, aber dauert das wirklich so lange? Andere Möglichkeit wäre, dass man diese Übertragungszeit durch einen höheren Prozessortakt verkürzen kann. Die nächsten geraden Frequenzen wären 11,0592 MHz (Teilfaktor 3*8=24) und 14,7456 (Teilfaktor 4*8=32). Klar läuft der Mega32L bei 11MHz außerhalb der Spec, dürfte er aber schaffen. Andererseits liebäugle ich schon länger mit dem Mega644, wenn ich das Datenblatt richtig interpretiere, ist er bei 3,6V mit 15 MHz innerhalb der Spec. Was meint Ihr? Nochwas zum Servo: meiner (Multiplex MPX Tiny-S) läuft zwar prinzipiell mit 3,6V, jedoch brummelt er oft, nachdem er eine Position angefahren hat, insbesondere aus einer bestimmten Richtung. Muss ich noch untersuchen, warum, evtl. Störungen, Spikes, Überschwingen... Evtl. könnte man dies und hohe Impulsströme vermeiden / verringern, indem man das PWM-Signal in mehreren Schritten auf die gewünschte Position anfährt. Finde ich auch optisch schöner, wenn die Kamera etwas langsamer in die richtige Position schwenkt. Jetzt macht es einen Ruck. Noch ein kleiner Bug: Wenn man den Positionierbalken ganz rechts anklickt, geht er in die Position ganz links. Simon, wäre schön, wenn Du eine neuere Version posten könntest, wenn vorhanden. Also, in ca. 10 Min. gibt es (seit 6 Wochen) was neues auf www.mikrocontroller.net/forum/read-1-232801.html bzgl. Kamera.
>etwa 40-50 KByte groß, d.h. die theoretische Übertragung bei 460800 >dauert eine Sekunde. Klar kommt noch das Also wenn das Bild zb 50 KByte hat kommt noch der Mux Overhead drauf. Wenn ich es richtig im Kopf habe ist das nen Faktor ~1.33 -> 66.5 KB Das größte Problem ist aber der tcp/ip overhead bzw dass der webserver immer nur ein Paket schickt und dann auf ein Ack wartet. Das könnte man evtl verbessern indem man 2 Pakete losschickt. Dazu müsste aber noch etwas am TCP Stack erweitert werden. Das passt in den mega32 bestimmt nicht mehr rein (hab nur noch wenige Byte frei :-X) Ich bin im moment noch am planen einer neuen Version des Webservers mit größerem uC und mehr Anschlussmöglichkeiten. Bye, Simon
> Nun muss bei mir die Webseite immer neu geladen werden, > um den neuen Wert anzuzeigen. Das reload kann man mit einem meta-header automatisch veranlassen. Der Server muß dazu gar nichts machen, sonder nur die Anweisung in die html Seite aufnehmen, daß der Client (WebBrowser) die Seite in x Sekunde refresged werdeb soll. <meta http-equiv="REFRESH" content="5;URL=http://myip/meineurl.html"> veranlaßt den browser nach 5 sekunden meineurl.html zu reloaden
Das stimmt schon. So funktioniert es bei mir ja auch (sie aktualisiert ca. alle 6s). Allerdings möchte ich die Seite stehen lassen und nur den Wert immer neu aktualisieren. Dazu müsste ich eine Art dynamische Webseite machen. Es gibt bestimmt eine Möglichkeit mit Java, PHP oder Jscript. Da fehlen mir leider die Kenntnisse. Gruß Elektrikser
dann schau dir mal AJAX an (asynchronus javascript and XML) Ist aber für nen mega32 wahrscheinlich ein wenig zu dicke ;)
Ich arbeite mit einem 128er. Mal sehen, ob das eingebaut werden kann.
die einfache Variante wäre natürlich über frames. Dann bräuchtest du nur den kleinen frame in dem der Wert dargestellt ist zu reloaden.
Dass wäre wahrscheinlich genau das, was ich bräuchte. Wenn ich den Temperaturwert in einem kleinen Frame anzeigen würde und jedesmal wenn der Wert sich ändert nur den Frame neu schicken bräuchte, wäre das schon schöner. Das Geflackere beim Webseiten-Aufbau nervt mich.
Hi, ich hab dieses Wochenende auch mal einen Prototypen geaetzt, das Ergebnis gibts unter http://www.lochraster.org/etherrape . Das ganze ist 80x100mm gross und ausschliesslich ohne SMD-Teile gebaut, die SMD-Version layoute ich gerade. Meine Software kann bisher arp, ip, udp und icmp, weiteres ist natuerlich geplant. Gruss, - Alexander
@Elektrikser Lad mal bei Rapidshare was hoch, dann siehst du das, was du brauchst sehr schoen in der Praxis...
Hallo Alexander! Ich wollt mal Fragen, ob Du Deine Platinen selber aetzt, oder die in Auftrag gibst. Falls letzteres, waer ich an einer interessiert (weil das SMD-Layout ist mir doch nen bisschen futzelig ;-))
Hi, Ja, ich habe diese erste Testplatine selber geaetzt und ueberlege gerade auch, da welche von fertigen zu lassen. Mein Vater hat dankenswerterweise 20 Jahre Erfahrung im Aetzen und auch das entsprechende Zubehoer alles da, deshalb dauert das mit Prototypen meistens nicht lange. Ob ich mal welche fertigen lasse, weiss ich noch nicht. Erstmal muss die Software das koennen, was ich will. Wer sich auch selber eine aetzen will, kann mir ja eine Mail schreiben und bekommt von mir die Vorlagen. - Alexander
Hi, interessiert mich sehr, hab dir auch gleich mal ne Mail geschrieben ;)
Hi, Ich hab mal die Schaltung, die ich verwendet habe, unter http://lochraster.org/etherrape veroeffentlicht. Diese Schaltung tut bei mir recht gut, aber ueber jegliche Hinweise und Anmerkungen bin ich dankbar :) - Alexander
Hi, Ich hab grad ein Problem mit dem enc28j60: Ich kann unter bestimmten Bedingungen (nc <atmel> <tcp-echo-port> < /dev/urandom) einen Zustand erzeugen, in welchem permanent ein receive error besteht, aber EPKTCNT = 0 ist und auch ERXXWRPT > ERXRDPT ist: net: controller interrupt, EIR = 0x01 = r net: receive error! RevID: 0x04 Cntrl: ECON1 ECON2 ESTAT EIR EIE 0x37 0x80 0x41 0x00 0xDB MAC : MACON1 MACON2 MACON3 MACON4 MAC-Address 0x0D 0x00 0x32 0x00 ACDE48FD0FD0 Rx : ERXST ERXND ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL 0x0000 0x0FFF 0x001E 0x001D 0xA1 0x00 0x0280 Tx : ETXST ETXND MACLCON1 MACLCON2 MAPHSUP 0x1000 0x1068 0x0F 0x37 0x10 DMA : EDMAST EDMAND 0x0FCC 0x1019 Hat vielleicht jemand eine Idee, wodran das liegen koennte und wie ich aus diesem Zustand wieder rauskomm? Es reicht nicht, nach Datenblatt das RXERIF in EIR per BFC zu resetten, das taucht direkt wieder auf... grad etwas ratlos, - Alexander
hehe ich bin nicht der einzige der so verrückt ist und das alles auf Lochraster baut! :D Schöne Sache Alexander, aber eine Frage habe ich noch - und zwar wie du den Magjack dennoch auf das normale Rastermass bekommen hast, ich habe die Buchse nämlich einfach durch leichtes umbiegen der Anschlüsse auf die Rückseite gelötet... ;-) Bei der Software bin ich in etwa so weit wie du, icmp, arp, ip und udp empfang gehen und im Moment stecke ich bei Tcp leider fest, da ich im Moment nicht viel Zeit habe aber in meinen Sommerferien gehts dann sicher weiter :-) Siehe http://www.nikbamert.com/index.php?seite=elektronik&subsite=udp Evt. kommst du aus dem Zustand mit einem Hardware Reset wieder raus...ist vielleicht nicht die feine Methode aber etwas anderes fällt mir leider nicht gerade ein. Ich habe hier mit meinem ENC auch ein Problem und zwar muss ich die Schaltung teilweise 10 mal einschalten bis der Ping endlich klappt, es liegt aber nicht an meiner Software, die läuft nämlich jedesmal an, ich vermute der enc wird nicht jedesmal richtig initialisiert, oder aber ich habe dann genau den Zustand den du hast,ich muss mal den Status auslesen wenn das eintritt.. :P Nik
Hi Nik, soweit ganz nett, dazu ein paar Anmerkungen: * du verwendest zum Selektieren des SPI-Client nicht den Slave-Select (SS/PB2) Port des atmega8, das kann zu Problemen fuehren, wenn dieser Pin freischwebend, als Eingang und ohne Pullup konfiguriert ist. Hat mich nen Tag Debuggen gekostet rauszufinden, warum meine SPI Datentransfers nicht enden (SPI war in den client mode gewechselt...). * R_bias sollte nicht 2k sondern 2k7 sein (-> Errata) * der atmel sollte Blockkondensatoren an den Versorgungsanschluessen haben (100n oder so) * deine ARP-Implementation ist sehr fehleranfaellig, es reicht nicht aus einfach nur Source- und Destinationmac zu vertauschen, du pflegst keinen ARP-Cache usw. * warum macht ihr alle die Checksummenberechnung im Atmel? Der enc28j60 kann das viel fixer (siehe Datenblatt), wobei der Autor des Datenblatts das Einerkomplement nicht verstanden hat, denn das Ueberpruefen von Checksummen geht mit dem enc28j60 viel einfacher, als beschrieben (das hab ich auch schon an Microchip weitergetuetet). Was benutzt du fuer einen ferrite bead? Ich hab mal bei Microchip nachgefragt, was genau die meinen und welchen die verwendet haben... Soweit, - Alexander
Hi, ich versuche mich gerade an der Portierung des Code`s von Nik an den M16C28. Momentan hadert es an der Mehrfacheinbindung von der stack.h. Der Linker beschwert sich über doppelte Definitionen: Error (ln30): C:\Hew3\ethernet\ethernet\release\enc28j60.r30 : '_buffer' is multiple defined Error (ln30): C:\Hew3\ethernet\ethernet\release\enc28j60.r30 : '_myip' is multiple defined Error (ln30): C:\Hew3\ethernet\ethernet\release\enc28j60.r30 : '_mymac' is multiple defined Wie kann ich sowas verhindern? Mfg Sascha
Moin Sascha, normalerweise sollte der Compiler bei doppelten Definitionen nur warnen, solange die Definitionen inhaltlich identisch sind. Ansonsten ist es üblich, den Inhalt der Header-Files mit #if defined(_STACK_H__HEADER_) #define _STACK_H__HEADER_ ... #endif zu klammern, Nach MISRA soll man sich zwar nicht darauf verlassen, aber das wird Dich sicher nicht hindern... Btw,, ich habe hier einen M16C62, den ich gerne mit dem ENC28J60 verheiraten würde; wird Deine Software irgendwann frei verfügbar sein? Simon ist ja noch nicht so weit. Ich suche (für den M16C) einen TCP/IP-Stack, der mehrere gleichzeitige Verbindungen und Sliding Window Buffer beherrscht. So long, Tillomar
Hi Alexander *Ich hab ihn aber als Ausgang definiert, enc28j60.c, Zeile 197 :-), sonst geht bei mir nämlich gar nichts mit SPI *R_bias Bin ich mir nicht ganz sicher, ich dachte falls der falsche dran ist geht gar nichts(bei den früheren revs warens doch noch 2000 Ohm(?)) *Ja ich muss sagen ich hab mir die ARP Implementierung ein wenig abgeschaut(bei U. Radig) aber ich verstehe nicht ganz weshalb ich einen ARP Cache brauche, wenn ich den atmega nur als Server arbeiten lasse, bzw jeweils nur auf Packete antworten lasse (er versendet selbstätig noch keine Packete) *Das mit der Checksumme verstand ich eben nicht ganz, ich hab die Option im Procyon Treiber mal eingeschaltet - doch dann setzt er mir am Ende das Packets eine 4 byte lange Checksumme hin, die, so glaube ich, über das ganze Packet ausgerechnet wird...aber wenn man das irgendwie anders besser hinkriegt...noch so gerne, das würde mir evt. gerade noch den Platz einsparen um den minimal Code <2kb zu bringen Udp bootloader... ;) Zum ferrite bead: Ich hab den enc mittlerweile mehrfach in Betrieb, und beide Male ohne, und zwar aus dem Grund weil ich die Microchip Angabe nicht wirklich verstehe. Ich habe statt der Spule einfach einen Draht genommen, klappt auch :-) Die Sache ist eben die: ich habe bei der einen Schaltung hin und wieder Probleme bis sie anläuft, wenns dann mal läuft ists kein Proble m mehr(tausende Pings ohne Ausfall). Dann wenns nicht klappt mit dem starten liegts aber auch nicht bei meiner ARP Implementierung, da der Computer von dem ich Pinge die Arp noch immer im Cache hat. Die Sache scheint irgendwo bei der Kommunikation enc<-->atmega zu liegen, manchmal glaube ich fast, dass der ENC eine startup zeit braucht, oder vielleicht mein Spannungsregler nicht genügend Saft liefert(beim einschalten vielleicht nicht...) Aber die Blockkondis werde ich natürlich einbauen(sobald CSD liefert...) @Sascha: Ich dachte zuerst du könntest vielleicht eine main.h anlegen und dort dann stack.c einbinden, nur müsstest du ja dann auch in allen anderen files wiederum main.h einbinden wobei man dann wieder beim gleichen wäre...soo erfahren bin ich in C leider noch nicht, arbeite erst ein Jahr mit gcc :( mfg, Nik
@Tillomar #if defined(_STACK_H__HEADER_) #define _STACK_H__HEADER_ ... #endif sollte es nicht heißen #ifndef _STACK_H #define _STACK_H ... #endif was aber leider nicht hilft. Sollte der Source fertig werden, ist er natürlich frei. Wenn ich das erst einmal mit der Mehrfacheinbindung weg kriege. Mfg Sascha
@Sascha:
> sollte es nicht heißen
Ja freilich, war wohl geistig abwesend...
Wenn das wirklich nicht hilft, dann heißt das entweder:
-- irgnedwo wird Dein _STACK_H wieder #undef-ed
-- oder es gibt in unterschiedlichen Headern die gleichen Definitionen;
da hilft dann nur suchen.
Vielleicht hilft es, wenn Du mal ein Cross-Referenz von Deinem
Sourcecode und seinen Includes anlegst; meist sieht man dann recht
schnell, woran es scheitert.
So long,
Tillomar
Hi Nik, im Datenblatt auf Seite 7 hast du gelesen, dass der enc28j60 eine startup-Zeit braucht, und man CLKRDY pollen soll? R_bias muss nach der Errata 2k7 sein, obs anders auch tut, keine Ahnung. Wir reden von verschiedenen Checksummen, du brauchst einmal eine CRC Checksumme (4 Byte) fuer das ethernet-Packet und einmal eine Einerkomplement Checksumme fuer IP/ICMP/UDP/TCP usw. Du redest von ersterer, ich von letzterer, und der enc28j60 kann beide in Hardware. Wenn dus ordentlich machen willst, schaue nicht bei Ulrich Radig ab, da sind unschoene Dinge drin... - Alexander
>im Datenblatt auf Seite 7 hast du gelesen, >dass der enc28j60 eine startup-Zeit braucht, >und man CLKRDY pollen soll? Habe ich zwar übersehen, aber die Procyon lib macht das von selbst habe ich gerade gesehen. Den 2k7k Widerstand probier ich dann mal aus wenn ich einen finde :-) Zu den Checksummen(Seite 76) - sehe ich das richtig dass der Enc den Wert zwar berechnen kann, ihn aber nicht selbst in das Packet schreibt? "The EDMACSH and EDMACSL registers will contain the calculated checksum" Dann muss man dann ja doch noch einen gewissen Aufwand treiben damit die an den rechten Ort kommt, bin mir nicht sicher ob es mir das Wert ist nur um die Sache ein bisschen schneller zu kriegen. >Wenn dus ordentlich machen willst, schaue nicht bei Ulrich Radig >ab, da sind unschoene Dinge drin... Natürlich will ich es ordentlich machen, aber den Bootloader möchte ich so klein wie möglich haben, damit er vielleicht auch noch in eine 2kb section reinpasst (im moment noch 4kb, funktioniert aber tadellos) Das einzige das mich daran hindert, den Code für den Bootloader auf meine Website zu stellen ist, dass ich auf der anderen Seite ein VisualBasic Programm habe, es funktioniert zwar ebenfalls wie gewünscht, man braucht aber eine Runtime und Winsock und und und... Hab mich schon an winsock in C (lcc compiler) ran gewagt, aber dort habe ich den Durckblick noch nicht wirklich. Nik
Hi Nik, das ist richtig, die Checksumme landet dann in den beiden Registern. Zum ueberpruefen, ob die Checksum korrekt ist oder nicht langts allemal, und das noch in ein Paket reinzuschreiben ist trivial, weil das Offset ja immer konstant ist. Ich wage zu behaupten, dass das bei mir kuerzer ist :) Die Magjack-Dose hab ich auch durch Bohren der groesseren Loecher und durch Rumbiegen der kleineren auf die Lochrasterkarte bekommen... - Alex
Hi! Tatsache, der enc kann ja echt selber nen crc berechnen :o Hab ich irgendwie überlesen... Das vereinfacht das natürlich enorm/macht es schneller... Muss ich demnächst mal einbauen :D Bye, Simon
Hi Simon, Du machst _CRC32_ (die Ethernet Checksum) im Atmel?! Huch, weia, das ist echt gross. Oder meintest du die Einerkomplementsumme? %) Haettest du mir mal den Source geschickt, dann haett ich dir das schon frueher gesagt G - Alex
Ja oke ich glaube ich belasse es mal dabei ausser ich brauche für
irgendwas wirklich die paar bytes bzw mehr geschwindigkeit :)
>Tatsache, der enc kann ja echt selber nen crc berechnen
So wie es aussieht braucht es doch aber die CRC gar nicht? (also die,
die ganz am Ende des Packets hin kommt) praktisch 100% der Pakete die
ich mit Ethereal angeschaut habe, haben diese Checksumme gar nicht
erst... Desweiteren ist mir noch aufgefallen, das meine Netzwerkkarte
tonnenweise Pakete versendet die eine falsche Checksumme haben
"[Checksum incorrect!]", der Server/Client am anderen Ende
beantwortet diese Pakete aber anstandslos ... (?)
Nik
Hi Nik, lies mal die Ethereal FAQ, das ist ein bekanntes Verhalten. Die CRC32 Checksum am Ende eines jeden Ethernet-Paketes bekommst du im Userspace garnicht mehr zu sehen und bei versendeten Paketen ist diese Checksumme noch nicht dran, das macht idR. die Netzwerkkarte. Inkorrekte Checksums bei TCP/UDP hab ich im Ethereal auch gehabt, selbst bei Paketen wo ich die Checksumme von Hand verifiziert habe. Scheint irgendein Bug zu sein... - Alex
Hi! Quatsch, ich meinte nicht crc sondern die tcp checksum ;) Aber auch die braucht ja ein bissl rechenzeit... Die haben ja scheinbar echt (mal) mitgedacht bei microchip g Bye, Simon
Hi, nein, haben sie nicht. Der Mensch, der das Kapitel geschrieben hat, hat das Einerkomplement nicht verstanden. Bei empfangenen Paketen reicht es aus, einfach die Checksumme ueber das komplette Paket (inklusive der empfangenen Checksum) zu berechnen und anschliessend einfach auf 0x0000 zu testen. Nicht wie im Datenblatt vorgeschlagen, erst die Checksumme auszulesen, in den Buffer des enc28j60 0x0000 reinzuschreiben, anschliessend die Checksumme zu berechnen und mit der vorher ausgelesenen vergleichen.... - Alexander
Hi! Jo g Aber sie haben mitgedacht und sowas überhaupt eingebaut. Bleibt nur zu hoffen dass in der funktioni kein bug drin ist gg Der Chip hat ja schon so genug :-X Gibt es da eigentlich keinen Plan eine neue Revision zu machen ?! Ist ja irgendwie merkwürdig dass die einen bugfix produzieren (B4) der dieselben bugs wie die vorige Rev hat... Bye, Simon
"Vielleicht hilft es, wenn Du mal ein Cross-Referenz von Deinem Sourcecode und seinen Includes anlegst; meist sieht man dann recht schnell, woran es scheitert" Wenn du mir das auch noch erklärst, in C bin ich nicht so der Held........ Mfg Sascha
@Sascha: Wenn Du kein Tool dafür hast: Einfach eine Liste der Source-Dateien anlegen und dann dazuschreiben, welche Header inkludiert werden. Dann die Header aufschreiben und ebenfalls die Includes dazuschreiben. Und dann -- je nach Komplexität -- siehst Du schon das Problem, oder Du must noch eine entsprechende Baumstruktur bauen. Wichtig ist, die tatsächlichen Abhängigkeiten zu erkennen; wenn es nicht anders geht, mußt Du die Inhalte der Header logischer ordnen, um das Problem zu beheben. Mit diesen Problemen haben schon große Geister gekämpft... Leider ergibt das keine vollständige Cross-Referenz, wie sie die Tools erzeugen -- die enthält normalerweise auch alle Symbole (Typen, Variablen, Funktionen). Es gibt diverse freie Tools dafür, die sind dann im Normalfall auch Compiler-unabhängig. Ich benutze den Resource-Browser von Visual Studio (soweit mein Code compatibel ist), und Doxigen -- das verlangt aber "Mitarbeit" im Code und ist daher nicht einfach so nachträglich zu benutzen. So long, Tillomar
Naja, der Mensch, der das Kapitel über die Checksum im Datenblatt geschrieben hat, hat wohl übersehen, daß das Einerkomplement von -0 sich nicht wesentlich von 0 unterscheidet. Ich habe die Checksummenfunktion im Enc28j60, noch nicht ausprobiert, da ich einen ARM-Controller benutze und das Aufsummieren der Daten quasi nebenbei passiert, während ich mangels DMA auf das SPI warte. Ansonsten und wenn man große Pakete zu verschicken hat kann das Feature aber schon interessant sein. Um die Ethernet-CRC mußt du dich nicht kümmern, das macht der MAC. Du hast aber ja noch die Checksums in IP- und UDP-/TCP-Header zu berechnen. Das was in den Errata steht, ist ernst zu nehmen, ansonsten hat man mit dem Chip nicht wirklich Spaß (gilt mindestens für Chip-Rev. B1), mit ein paar Workarounds bekommt man aber ein zuverlässiges Netzwerk-Interface und nachdem die funktionieren, hat Microchip sich wohl einfach die notwendigen Maskenänderungen gespart: Die Procyon-Lib hat AFAIK die Workarounds nicht drin! 1) Nach einem Soft-Reset via SPI-Kommando funktioniert das Pollen des ESTAT.CLKRDY bits nicht, um den Status des PHY zu checken. Auch das mit den 1mS Wartezeit scheint mir sehr optimistisch. Selbst bei 10mS hats nicht immer geklappt. Ich warte hier jetzt 100mS, um zuverlässig aus einem Reset zu kommen. Daher kommt auch das seltsame Verhalten beim ersten (ARP-)Paket! 2) Der RX-Puffer sollte immer am Anfang des Pufferspeichers stehen und danach der TX-Puffer. Ich hatte das anfangs umgekehrt und ein paar seltsame Phänomene. 3) Pollen von EPKTCNT statt EIR.PKTIF ist definitiv zuverlässiger um auf neue Pakete zu checken. 4) Vor Senden eines Paketes prüfen (EIR.TXERIF), ob das vorhergehende fehlerfrei übertragen wurde, ansonsten durch toggeln von ECON1.TXRST die TX-Logik resetten. 5) In das ERXRDPT-Register sollten nur ungerade Adressen geschrieben werden, wie im Workaround beschrieben (Erratum 13). Also einfach von dem Wert, den du in das Register schreiben willst 1 abziehen und auf einen Wraparound prüfen (s.a. im Microchip-Stack ENC28J60.C: void MACDiscardRx(void)). Zur Hardware: -Ich habe den Chip mit 2k und 2k7 für Rbias betrieben und konnte keinen Unterschied feststellen. 2k7 steht aber im Erratum und ist daher wohl richtiger und außerdem ein E12-Wert. -Auch wenn das Interface ohne Spule nur mit einer Drahtbrücke funktioniert, sollte man mindestens eine Ferrit-Perle über die Drahtbrücke ziehen um wirksamer hohe Frequenzen abzublocken. -Statt der 50Ohm Widerstände können auch 47Ohm eingesetzt werden. Ich konnte keine Probleme feststellen, die Fehlanpassung scheint noch tolerierbar zu sein. Gruß, Christian.
eventuell hilft euch der SI3400 bei der POE Thematik weiter! Datenblatt unter http://www.silabs.com/public/documents/tpub_doc/dsheet/Wireline/High_Voltage/en/Si3400.pdf mfG schuckel
Der sieht nett aus. Kennt jemand eine Bezugsquelle für das Teil?
Hallo, ich bin in der ganzen Thematik neu und habe noch nie etwas mit einem AVR gemacht. Trotzdem finde ich das Projekt sehr interessant. Ich habe vor eine dezentrale Rolladensteuerung in meinem Haus einzubauen. Jedes Fenster soll seinen eigenen µC bekommen. Alle µCs sollen idealer weise über Ethernet vernetzt werden und zentral gesteuert werden können. Dazu scheint mir dieses Projekt eine gute Grundlage zu sein. Da die Webserver aber im Rolladenkasten verbaut sein würden und ich die Kästen so selten öffnen möchte wie möglich, stellt sich mir die entscheidende Frage: Kann man den Mini-Web-Server so modifizieren, daß man ein SW-Update über Ethernet durchführen kann? (Wohlgemerkt nur das update. Die Ursprüngliche Programmierung kann natürlich über ISP o.ä. erfolgen) Besten Dank im Vorraus, Thorsten
Mit einem Controller alleien wird das nicht gehen, da der Webserver wohl kaum in den Speicherplatz des Bootloaders passen wird. ALso bleibt nur die Möglichekit 2 Controller zu verwenden, die sich dann gegenseitig neu programmieren. Ist aber ein ganz schöner Aufwand.
Hi! Prinzipiell ist das angedacht gewesen und auch schon zum Teil implementiert... Man braucht keinen zweiten Controller dazu, es geht auch so. Das neue hex für den controller landet erstmal im dataflash und danach wird der bootloader/flashloader angesprungen der dataflash -> uc kopiert. Wie gesagt, ist zum teil schon drin, nur die www->dataflash routinen sind noch nicht drin. Passen in den mega32 auch nicht mehr rein... Ist aber für das Nachfolgeprojekt vorgesehen ;) Bye, Simon
@ Daniel M.: die volle Produktion des Si3400 startet erst im dritten Quartal 2006 aber Samples sind bereits verfügbar!!! lg schnuckel
Anbei eine Art Netzliste des Digitalteils, also ein Schaltplan in Textform. Hier ein ganz ähnliches HW-Projekt mit OpenSource Eagle-Files: http://www.mikrocontroller.net/forum/read-1-402627.html
Hallo, nach langer Zeit bin ich nun auch dazu gekommen den ENC28J60 zu testen. Der Grundaufbau steht, die LinkLED funktioniert zuverlässig und ich kann schonmal die RevID auslesen. Allerdings habe ich folgendes Phänomen: Wenn ich ein Paket empfange blinkt die gelbe Led an meinem MagJack auf, aber weder PKTIF oder EPKTCNT zeigen etwas anderes als "0" an. Auch komisch: Rbias funktioniert nur mit 2k, nicht mit 2k7. Ansonsten bekomme ich keinen Link. Mein ENC28J60 ist ein B1 Chip(revid 2). Der enc ist per crossover mit meinem Entwicklungsrechner verbunden. Hat jemand da ein paar Tipps für mich? Als Spule habe ich eine 10uH SMD Spule genommen. Ist das auch ok? Grüße
Problem gelöst: Ich habe die beiden Kondensatoren am Quarz entfernt und siehe da: Es funktioniert! Grüße, Patrick
Hallo Simon, Entschuldigung für die vielleicht etwas (zu)direkte frage: Wie sieht es denn nun mit Circuit Cellular, dem Quellcode und Platinen aus ? Sebastian
Hi! Von Circuit Cellar hab ich bis jetzt nur eine Bestätigung dass meine Daten angekommen sind und eine mail mit einem Zugang zur Onlineversion der Zeitschrift (sehr interessant btw). Ich wollte den Code schon eher veröffentlichen, hatte es nur immer aus Zeitmangel verschoben. Hier ist er also nun: http://avr.auctionant.de/avrETH1/software_download.html Bitte beachten: Die Schaltung würde ich so nicht nochmal fertigen lassen, das wird einfach zu warm im Betrieb. Außerdem arbeite ich momentan an einer minimal größeren Nachfolgeplatine: - mega128 + nahezu alle I/Os auf Stiftleisten verfügbar - stepdown regler mit 5-25V Eingangsspannung (bei nahezu null Erwärmung) - mmc karte - 2mbyte dataflash - evtl per addon karte auf poe erweiterbar (alle Verbindungen sind rausgeführt) Diese Platine wird es demnächst fertig bestückt zu kaufen geben. Wann genau steht noch nicht fest ;) Dazu habe ich auch angefangen basierend auf dem avrETH1 Sourcecode einen neuen Webserver zu schreiben. - fat16 zugriff auf mmc und dataflash (kann sämtliche dirs und files im browser anzeigen, wie wenn man per file://tmp/ verzeichnisse im browser aufruft) - komplette konfiguration per browser - komplett neu geschriebener und optimierter httpd - einfach erweiterbarer parser der tags wie <?io_temp0> oder <?io_adc0> durch die ausgelesenen werte ersetzt - mySQL client um zeitgesteuert zB Temperaturwerte in einen mySQL Server zu schreiben - ... Dazu demnächst mehr auf meiner Webseite ;) Bye, Simon
Ganh großes Lob an Simon! Echt super dass du den Code veröffentlichst :-) Damit hast du einen weiteren Meilenstein in der Geschichte der Mini-Webserver für Hobby-Elektroniker geebnet :-) Stefan
Hallo Simon, ich fände es klasse, wenn du bei deinem neuen Projekt den Atmega 128 durch einen LPC21xx ersetzen würdest. Der Atmega 128 kostet mehr als ein LPC21xx und hat bei weitem nicht die Leistung. Beim LPC entfällt ausserdem die nervige 5V Versorgung. Mit den grossen RAM kann man auch superschnelle FAT Routinen implementieren und viele Dateien gleichzeitig offen halten. Ausserdem ist es relativ einfach Linux Code laufen zu lassen. Da kann man gerade bei Netzwerk-SW und Filesystem einiges gebrauchen. Ich bin bei meinen Atmega 128 Projekten schon auf RAM- und Performance Limitierungen gestossen, daher mein Vorschlag...
Hi! Zu spät ;) Prototyp + Layout ist schon fertig. Außerdem sollte es ein atmega sein weil damit einfach mehr Leute etwas anfangen können ;) Wieso nervige 5V Versorgung ? Da läuft alles auf 3.3V :) Bye, Simon
naja pech gehabt... Bei 3.3V läuft der dann ja "nur" auf 8MHz...
hehee cool Simon! Bin schon sehr auf die Sourcen deines neuen Projekts gespannt ... vorallem wegen dem MySql - woher hast du die Informationen wie man einen MySql server anspricht? Sowas würde ich nämlich auch gerne mal bei meinem Proggrämmchen einbauen ;) Nik
Google ;) Bzw ich glaub ich hatte in irgendeinen mysql client source reingeguckt. Die Authentifizierung war hier gut erklärt: http://infosecpotpourri.blogspot.com/2006/03/mysql-41x-authentication-internals.html Da war aber mal ein Fehler drin, hat der Autor aber aufgrund meiner Mail gefixt (hoffe ich ;) ) Am aufwendigsten war die SHA1 Implementierung :-X Da ist nicht viel mit debuggen, entweder der korrekte Hash kommt raus oder totaler murks g Da gabs aber ne gute RFC zu mein ich. Bye, Simon
Danke für den Link .. aber mann mann mann, das sieht ja seeeehr komplex aus =X und braucht ja wahrscheinlich auch noch tcp, und ich hab erst udp implementiert, dann muss es eben warten... :( Gute Nacht, Nik
Also einen mysql-CLient auf einem uC zu implementieren halte ich für wenig sinnvoll. Wer irgendwo einen SQL-Server laufen hat, der hat sicher auch einen Webserver. Dann kann man das lieber über SOAP oder ähnliche Sachen implementieren. Mal abgesehen, dass man damit dann auch unabhängig von einem Datenbank-Hersteller ist.
Nunja, folgendes Szenario mag man sich vorstellen: Kleines Netzwerk mit einem Mini-Webserver(MW) der z.B. Temperaturen loggt und ein "Master PC": Der MW loggt den ganzen lieben langen Tag vor sich herum und speichert die Temperaturen lokal. Alle 5 Minuten schaut er nach, ob der Master PC, welcher einen mysqld laufen lassen hat, online ist. Irgendwann kommt der Hausherr oder die Hausdame nach hause und schaltet den PC an. Der mysqld wird gestartet und der MW schauffelt fröhlich seine gesammelten Daten rüber und kann wieder munter weitere Daten lokal speichern. Um die Daten langfristig und plattformunabhängig zu speichern ist das sicher eine nette Methode.
Hallo Simon, Ist es möglich noch eine Platine des Webservers zu bekommen ? idealerweise mit den Bauteilen dazu . Gruß & Danke im voraus !! Michael
Hi! Sorry, hab keine mehr. Es wird demnächst ein fertig bestücktes Nachfolgeboard zu kaufen geben. Mit mehr Hardware/Features und nur minimal größer. Einfach ab und an auf der avreth webseite gucken ;) Bye, Simon
Hallo Simon, Gibt es dafür eine ungefähre Zeitschine ? Gruß Michael
Hi! Leider noch nicht. Ist grad bissl stressig (uni). Ein erster Prototyp läuft aber schon ;) Software basiert auf avreth1, der httpd wurde aber komplett neu geschrieben. Da ist außerdem einiges neu dazugekommen (mysql client, mmc/fat16 support, anzeigen aller files/verzeichnisse von mc im browser, ...) Hier gibt es ein (schon etwas älteres) Flashvideo davon: http://avr.auctionant.de/tmp/avreth2_demo.htm Bye, Simon
Hallo Simon, würdest Du noch eine kleine Serie der "alten" Platinen bestellen? Damit hättest Du nicht viel Arbeit und mir und einigen anderen wäre auch geholfen. Mir wäre mit einer einzigen Platine (zur Not auch unbestückt) schon sehr geholfen. Wer hat noch interesse an der alten Version? Tschööööö Thorsten
Hi, wenn jemand Interesse an einer Platine (oder einem Bausatz) fuer mein Etherrape-Projekt (http://lochraster.org/etherrape/) hat, schreibt mir doch bitte eine Mail, ich ueberlege davon ein paar Platinen zu bestellen... Gruss, - Alexander
Hi Thorsten, das ist Absicht, das war eins meiner Design-Ziele. Es ist allerdings auch ein Atmel Dataflash in SOIC8 drauf ;) Die Software ist natuerlich GPL. Gruss, - Alexander
Hallo @Alexander ich habe versucht eine Mail abzusetzen geht aber nicht? Adresse unter imprint auf Deiner Seite MfG Achim
Hi Achim, sollte eigentlich tun, bei mir ist keine Fehlermeldung in den Logs zu sehen, versuchs einfach mit alexander _AT__ bumpern __PUNKT_ de. (bitte die Fehlermeldung mitschicken, normalerweise sollte die Adresse tun...) Gruss, - Alexander
Steht leider noch nicht ganz fest... Kommt ja auf die Stückzahlen an etc ;)
dann bin ich mal gespannt! Dann bis in ca. einem Monat ;-)
Hallo Simon Bitte merke mich schon mal für ein bis zwei Platinen von Version2 vor. LG Michael
>> Autor: Ssss Ssssss (sssssss) >> Datum: 19.01.2007 09:53 >> Hi! >> Mitte nächsten Monat wirds spannend ;) >> Bye, Simon So jetzt haben wir ~ Mitte ;-)
Seit einigen wochen formt sich bei mir der Gedanke auch einen mini Webserver zu basteln... Da bin ich heut Nacht auf die Suche gegangen um Informationen zusammen zu tragen... rund 1,5Std hats gedauert, bis ich jeden einzelnen Beitrag zu diesem inzwischen sehr umfangreichen Forumseintrag durchgelesen hatte... Ich muss sagen: RESPEK SIMON! Hab selbst vor ein paar wochen ewig dran rum gefummelt ein VBSript zu schreiben dass sich in ein einer IP Steckdosenleite einloggt, schaltet und wieder ausloggt. Bugs zu suchen ist manchmal echt nervenaufreiben... Wenn man diese Beiträge von ganz oben (Anfang 2006) bis Ende (Feb 2007) durchließt, kann man leider die Veränderung der allg. Gesellschaft wieder erkennen... keiner macht sich mehr Gedanken um den anderen, alle wollen nur noch was haben, und keiner hat mehr Zeit... soviel wollt ich zum Thema push mal loswerden.... So und jetzt dir Simon, weiterhin viel Erfolg! Deinen neuen Webserver werd ich mir vermutlich auch zulegen....auch wenn mich das "zu kaufen" etwas irritiert... gibt es denn zum AVRETH2 keine Sources und Doku mehr und wird das dann ein komerzielles Produkt? Oder meinst du damit einfach nur die neue Platine? Grüße rmknet
Hallo, ich habe mich nun auch mal mit dem avrETH1 beschäftigt. Da wird die Buffergröße im AVR ja mit NIC_BUFFERSIZE festgelegt. Nun steht diese Größe standardmäßig auf 1000 -> also 1000 Bytes RAM für den Buffer. Wenn ich das Ganze nun richtig verstanden habe darf ein Ethernetpaket bis zu 1518 Bytes groß sein. Wenn der ENC28J60 nun aber ein 1500 Byte großes Paket im Buffer liegen hat, was passiert dann im AVR? In der Mainloop werden von dem Paket mit len = nic_receive_packet(&buffer[0],NIC_BUFFERSIZE); die ersten 1000 Bytes eingelesen. Die restlichen 500 Bytes liegen aber noch im ENC28J60. Werden diese restlichen Bytes auch noch irgendwo ausgelesen? Ich stehe da gerade ein bisschen auf dem Schlauch. Gruß, Thomas
Ich wollte nur mein großen Respekt bekunden für dieses Projekt. Gerne nehme ich zukünftig auch eine Platine =)
Hallo, ich versuche mich gerade an Fileuploads per POST und hänge leider an der Erkennung des eigentlichen Dateibeginns. Nehmen wir einmal ein POST Beispiel von W3C.org:
1 | Content-Type: multipart/form-data; boundary=AaB03x |
2 | Content-Length: xxx |
3 | |
4 | --AaB03x |
5 | Content-Disposition: form-data; name="document"; filename="b.txt" |
6 | Content-Type: text/plain; charset=iso-8859-1 |
7 | This is a file. |
8 | It has two lines. |
9 | --AaB03x |
10 | Content-Disposition: form-data; name="title" |
11 | A File |
12 | --AaB03x |
13 | Content-Disposition: form-data; name="summary" |
14 | This is my file |
15 | file test |
16 | --AaB03x-- |
Wie kann ich hier zuverlässig erkennen wo das File beginnt? Soweit ich das richtige interpretiere nimmt der AVRETH Sourcecode einfach alles was nach "filename" kommt. Sehe ich das richtig? Das würde ja in diesem Szenario mit einem korrekt gesetzten Content Type nicht funktionieren. Sollte ich evtl. eine Liste der Parameter "abchecken" die vor einem File erscheinen können? Danke für eure Antworten. Grüße, Patrick
Hallo, worin, außer in der Speichergröße besteht eigentlich der Unterschied zwischen dem "4MBit Atmel SPI Flash" und dem "16MBit Atmel SPI Flash"? Ich denke, daß es nicht ganz so einfach wäre, die Bibliothek für den Flash des 4BBit zu nehmen um damit den 16MBit zu betreiben. Weiß schon jemand, welche Zeilen man diesbezüglich verändern müßte? Hat da jemand ne Idee? Viele Grüße, Micha
Hallo, grundsätzlich habe ich auch Interesse an einer Platine V2. Aber den Preis hätte ich auch gerne gewußt. Danke und weiter so :-) Joachim
@ Ssss Ssssss, Hallo Simon, ich habe mir deinen Code angesehen und bin dabei über eine Anmerkung gestollpert die so nicht ganz stimmt! Du schreibst: //nic ethernet address. i picked an address that is free for experimental/private use (really?) //see the last line: http://standards.ieee.org/regauth/oui/oui.txt //-> AC-DE-48-xx-xx-xx dass ist so nicht korrekt denn PRIVATE in der oui.txt bedeutet nicht "for private use" sondern dass der dem diese Adresse gehört 2000USD mehr bezahlt hat, also (1650USD+2000USD) um PRIVATE zu bleiben. Eventuell sollte man daher diese Zeilen nochmals überdenken! lg Schnuckel
@ Ssss Ssssss, Hallo Simon, gibt es schon was neues bzgl. avreth2? Ich warte sehnsüchtig darauf ;) Gib mal bitte einen kurzen Status ab, danke.
Ssss Ssssss wrote: > Hi! > > Sorry, hab keine mehr. > Es wird demnächst ein fertig bestücktes Nachfolgeboard > zu kaufen geben. Mit mehr Hardware/Features und nur minimal größer. > Einfach ab und an auf der avreth webseite gucken ;) > > Bye, Simon Ein Jahr danach und wo bleibt der Nachfolger???
Hat nicht jemand mal einen Schaltplan in Eagle Format? Braucht ja auch nicht so klein sein wie der von Simon aber eben mit dem Netzwerkchip.. Grüße Jörg
Einen Schaltplan im Textformat gibt es weiter oben: Beitrag "Re: winziger Webserver mit enc28j60+mega32" Ein ähnliches Projekt hier: Beitrag "I/O über Ethernet mit einem ENC28J60"
Hat hier jemand auch die EALE Files von dem Webserver ? (.sch / .brd) mfg
smd-loeten geht ganz einfach mit loetpaste statt 1mm loetzinn von der rolle und eine einer lupen-lampe
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.