Hallo liebe Community, Habe gerade mit einem Schulprojekt gestartet: Lichtsteuerung über das LAN Dazu benötigen wir einen µC oder einen µC + einen weiteren Baustein mit dem wir folgendes realisieren können: Ethernet Anbindung USART / RS232 Schnittstelle I2C Bus 25 I/O Pins In der Schule haben wir bis jetzt nur mit dem Atmega16 gearbeitet und für diesen auch ein eigenes Board. Wie realisiert man dies nun am besten? (Vor allem für Einsteiger wie uns) Für uns ist auch wichtig, dass wir hier ein eigenes System aufbauen und nicht ein fertiges Nutzen (Stichwort Raspberry Pi) Bis jetzt sind wir auf Ethernet Controller wie den ENC28J60 gestoßen Atmel µC wie den AT32UC3C164C und die PIC18F97J60 FAMILY Freue mich auf eure Inputs LG flying12
Vielleicht arduino mit Ethernet Shield. Man könnte anstatt lan auch wlan über nen esp8266 machen aber das ist evtl nicht die Aufgabe. Wenn ihr unbedingt selbst bauen wollt, dann nimmt zumindest gängige Ethernet Controller wie z.B. auf den Shields verwendet werden oder vom Pollin NetIO.
:
Bearbeitet durch User
Also wenn man (W)LAN machen will, dann braucht man ja auch das ganze DHCP und Co. Gedöns. Da tut es verdammt gut wenn das jemand für einen selber erledigt hat. Beim ESP8266 ist das in dem SDK enthalten, beim ENC28J60 müsstet ihr halt sehen woher ihr die Implementation nehmt (gibt sicher was für). Alternativ seid ihr faul und nehmt nen raspi, der bringt für alles fertige Treiber mit und hat auch gleich ein OS, das diese korrekt verwaltet.
Auf Euer Atmega16-Board paßt ein 1284P, der zusammen mit einem ENC28J80 und µIP/lwIP Euer Schulprojekt durchaus realisierbar erscheinen läßt, und auch der Anforderung "eigenes System" einigermaßen nahe kommt.
Das einfachste für LAN ist das hier: http://www.lantronix.com/products/xport/ Da kommt am Ende eine serielle Schnittstelle raus, an die Ihr Euch ranhängt. Das ganze Web/Netzwerk-Zeug wird im XPort gemacht. Ist also was für Dumme oder Eilige, kostet aber auch einiges. Die mit Abstand billigste Lösung ist der PIC18F67J60. Schaltung gibts hier https://www.olimex.com/Products/PIC/Proto/PIC-P67J60/ Software gibts von Microchip, alles da, wenn auch ein wenig unübersichtlich. Nachteil: Lochraster ist nicht. Das ist ein Chip mit 0.5mm Rastermaß. Lässt sich problemlos löten, wenn man das richtige Flussmittel (Gel, nichts flüssiges) hat, erfordert aber eine professionell gefertigte Leiterplatte. Mit Selberätzen macht Ihr Euch nur unglücklich. Das Ergebnis kann dann wie auf den Fotos aussehen. ARM oder AVR32 ginge auch, hat für Euch aber keine Vorteile, sondern nur den Nachteil, dass Ihr neben dem Prozessor mit Ethernet-Controller auch noch einen extra PHY (den Analogteil der Ethernet-Anbindung) braucht, und schon habt Ihr zwei Chip im 0.5mm Raster, zwei Quarze und noch einiges mehr an Schaltungsaufwand. Im PIC ist das alles eingebaut, das ist viel weniger Hardware-Aufwand. Der ENC28J60, der oft mit AVRs verwendet wird, ist im Prinzip das gleiche, was als Peripherieeinheit im PIC verbaut ist. Mit dem Unterschied, dass der PIC direkt per Speicherzugriff auf die Ethernet-Register und das RAM zugreifen kann und nicht durch das SPI-Nadelöhr gehen muss, was natürlich sehr umständlich ist und bremst. Der Schaltungsaufwand ist auch deutlich höher, vor allem, wenn der AVR mit 5V und der ENC mit 3.3V läuft. Der einzige Vorteil liegt daran, dass Ihr hier keine geätzte Platine braucht, sondern ein Lochrasteraufbau möglich ist. fchk
:
Bearbeitet durch User
Solche Projekte laufen meist nicht auf Anhieb. Und dann kommt sofort die Frage "Hardware oder Software? Wer hat gepfuscht?". Wenn dann noch Routine fehlt, kommt schnell Frust auf. Ich würde eine fertige Hardware nehmen und eine vorhandene Software nach und nach ändern. So hat man schnell ein Erfolgserlebnis und wird motiviert. Wenn es dann läuft, kann man immer noch auf die eigene Hardware umstellen. Den ATMega16 vergiss mal schnell wieder, nimm dir einen ATMega1284. Dann hast du eine Engstelle weniger. Als Hardware würde ich den AVR NETIO von Pollin nehmen. Für die Hardware gibt es diverse Software als Vorlage (mehr oder weniger komplex). Der Radig Webserver ist imho hinreichend fehlerarm und noch überschaubar, also eine gute Basis für eigene Entwicklungen.
Georg G. schrieb: > Als Hardware würde ich den AVR NETIO von Pollin nehmen Für das NETIO fällt mir so gar keine Existenzberechtigung mehr ein ... http://www.ti.com/tool/EK-TM4C1294XL - gleicher Preis wie NETIO - 1M Flash, 256k RAM, Eth 10/100, viel mehr I/O als NETIO - Programmer/Debugger on Board - Arduino-like oder "richtige" IDE
> ein eigenes System
Das ist heutzutage nicht mehr so einfach. Es gibt ja nur mehr 3
Möglichkeiten. Ein Chip mit allem drauf. Oder 2 Chips plus eine fertige
Library. Oder eine Linux-Platine plus ein ausgereiftes Betriebssystem.
Komponenten, mit denen man so ein IO-Teil selbst entwickeln kann, werden
nicht mehr angeboten.
Auf dem Arduino Ethernet Shield werkelt ein W5100. Der lässt sich einfach über SPI ansteuern, macht aber etwas Programmieraufwand. Für den Fall, dass ihr den ATmega16 weiterhin nutzen wollt. Von diesem Hersteller gibt es ebenfalls fertige UART to LAN Wandler, die außerdem mal viel günstiger sind, als der XPort.
:
Bearbeitet durch User
flying12 schrieb: > eigenes System IMO kommen wir hier ohne Erläuterung des Begriffs "eigenes System" und Darlegung der Lernziele nicht wirklich weiter :)
Vielen Dank mal für die ganzen Antworten werde sie mir jetzt mal alle durchschauen. Nochmal ein Paar Details zum Projekt: Ist ein Schulprojekt mit 2 Wochenstunden zu zweit. (+Freizeit) Haben das ganze Schuljahr zeit jedoch sollte im Halbjahr (Februar) 1. Ergebnisse zu präsentieren sein. Zum Thema eigenes System: Projektanforderung ist in erster Linie eher auf Hardware bezogen. (eigener Print usw. ) Lichtsteuerung soll an einem Modelhaus mit LEDs aufbaut werden. Dies lässt sich über nen LED Ansteuer Chip sehr leicht realisieren. Wenn wir nen Rasberry Pi verwenden, bleibt uns dort an eigener Hardware nur 2 dieser Chips mit I2C Anbindung und eventuell wenn wir nicht die I/O Pins des Rasperrys benutzen noch 2 I/O Chips die dann wahrscheinlich ebenfalls am I2C Bus hängen. An der USART hängt auch nur ein fertiges GSM Modul. Deshalb wollten wir den µC Controller Teil + LAN Anbindung auch selbst realisieren. LG flying12
flying12 schrieb: > Projektanforderung ist in erster Linie eher auf Hardware bezogen. > (eigener Print usw. ) Könnt ihr gute zweiseitige Platinen mit Durchkontaktierung machen? Die modernen Chips haben durchweg Minigehäuse mit engen Abständen. Oder wollt ihr nur das Layout selbst machen und dann (in China) fertigen lassen? Für THT oder gar Steckbrett ist das Angebot sehr begrenzt.
flying12 schrieb: > Ist ein Schulprojekt mit 2 Wochenstunden zu zweit. (+Freizeit) > Haben das ganze Schuljahr zeit jedoch sollte im Halbjahr (Februar) 1. > Ergebnisse zu präsentieren sein. > Projektanforderung ist in erster Linie eher auf Hardware bezogen. > (eigener Print usw. ) Realistisch bleibt da wohl nur ein Atmega1284P (wg. Eurer Vorkenntnisse mit Atmega16) mit ENC28J80 (wg. Steckbrett/Lochraster-Prototyp-Tauglichkeit) und µIP (wg. Steuerung über http zur Vermeidung zusätzlichen Aufwandes für spezielle Bediensoftware).
Hallo Flying12, flying12 schrieb: > Dazu benötigen wir einen µC oder einen µC + einen weiteren Baustein mit > dem wir folgendes realisieren können: > > Ethernet Anbindung > USART / RS232 Schnittstelle > I2C Bus > 25 I/O Pins > > In der Schule haben wir bis jetzt nur mit dem Atmega16 gearbeitet und > für diesen auch ein eigenes Board. > > Wie realisiert man dies nun am besten? > (Vor allem für Einsteiger wie uns) Ich rate euch zu einem WIZ820IO oder WIZ550IO, z.B. von TME oder Watterott. Damit liegt ihr vom Schwierigkeitsgrad her zwischen einem Arduino-Ethernet-Shield und einem rohen W5500 (der aber für ein Hardware-Projekt natürlich auch interessant wäre). In jedem Fall solltet ihr euch das Gefrickel mit ENC28J60 und AVR NETIO und die dabei wirklich aufwendige low-level-Programmierung des TCP/IP-Stacks ersparen, die Anwendungsprotokollebene von DHCP und DNS ist Aufwand genug. LG, Sebastian PS: Vielleicht ist für euch http://s.wangnick.de/doku.php?id=iot-basisstation interessant.
:
Bearbeitet durch User
Sebastian W. schrieb: > wirklich aufwendige low-level-Programmierung Der Unterschied zwischen einem IP-Stack in Hardware oder als lib ist jetzt nicht sooo signifikant, die > aufwendige low-level-Programmierung des TCP/IP-Stacks hat sicherlich niemand ernsthaft in Erwägung gezogen.
Sebastian W. schrieb: > das Gefrickel mit ENC28J60 und AVR NETIO hat den Vorteil, dass es hier und an vielen anderen Ecken des Netzes etliche Leute gibt, die sich damit auskennen und helfen können. Auch das Angebot an funktionsfähiger Software für diese Lösung ist gut.
Ethernet Anbindung bedeutet nicht TCP/Ip wenn man einfach etwas sehen will. Wenn man sowieso bei Null anfaengt kann man nach ausgibigem Studium des Datenblattes irgend ein Packet ausgeben und auf einem identischen Device empfangen. Falls irgend ein Packet dann geht, im Interrupt mode, bastelt man sich etwas mit variablem Blocklaengen und einem Buffer fuer mehrere Packete. Dann schaut man sich mal ein dickes Buch ueber TCP/IP an und sendet ein IP Packet, ohne Sinn. Wenn das dann geht wird die Zeit eh um sein, und man kann nachgaengig noch etwas drueber nachdenken was die oberen Schichten des TCP/IP Protokolles sollen, weshalb sie so sind usw. Die oberen Schichten werden nicht mehr so spannend zu implementieren sein. Auf IP Ebene kommen dann noch BOOTP, ARP & RARP. Ohne 32bitter macht's allerdings wenig Sinn. Der 29J60 ist eher sinnlos, die Anbindung sollte Parallel sein.
:
Bearbeitet durch User
Oder D. schrieb: > Ethernet Anbindung ... > Wenn man sowieso bei Null anfaengt Ein eigener Netzwerkstack, auf welchen Level auch immer, ist für ein Schulprojekt im gegebenen Zeitrahmen ebenso realistisch wie eine bemannte Marsmission in gleichen Zeitrahmen :) > die Anbindung sollte Parallel sein. Völlig unnötig für ein paar HTML-Seiten zum Licht Ein-/Ausschalten.
Unser Lehrer hat uns mal nen Link zum Chip KSZ8851SNL/SNLI in Bezug auf den Atmega16 geschickt. Noch zu den Prints: Doppelseitig ohne Durchkontaktierung sind an der Schule fertigbar. Ansonsten über Firmenkontakte sicher auch Prints mir Durchkontaktierung.
flying12 schrieb: > Unser Lehrer hat uns mal nen Link zum Chip KSZ8851SNL/SNLI in Bezug auf > den Atmega16 geschickt. Dieser Chip erfordert ein SRAM-artiges Speicherinterface. Klar, man kann das in Software auf einem Mega16 nachbilden, aber empfehlenswert ist das nicht. Wenn Dir unbedingt bei AVR bleiben müsst, wäre ein Mega64/128/1281/2561/640/1280/2560 das Mittel der Wahl, weil der genau so ein External Memory Interface in Hardware eingebaut hat (Ports A,C,G). Buszugriffe sind über das Hardwareinterface mindestens Faktor 5 schneller als per Bitfriemel-Software. Die genannten AVRs sind aber alle im TQFP64 oder TQFP100 Gehäuse, der Ethernet-Controller ebenso. Plus: Wenn der AVR mit voller Geschwindigkeit laufen soll, braucht er 5V und damit am External Memory Interface zwei Pegelwandler wie zB 74LVCC4245. Also nochmals mehr Schaltungsaufwand. Gegenüber dem PIC18F67J60, der alles komplett in einem einzigen Chip hat, habt Ihr nur Nachteile. > Noch zu den Prints: > Doppelseitig ohne Durchkontaktierung sind an der Schule fertigbar. Vergesst das. Bei TQFP-Chips wollt Ihr 0.3mm Vias haben, galvanisch durchkontaktiert, und Ihr wollt Lötstopplack beidseitig haben. > Ansonsten über Firmenkontakte sicher auch Prints mir Durchkontaktierung. Genau. Gibt ja genügend Angebote im Netz. fchk
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.