Hallo! Ich wende mich an dieses Forum weil ich auf der Suche nach einem Mikrocontroller bin. Für ein Projekt dessen Vorgaben fix einzuhalten sind, möchten wir (Ich und zwei weitere Freunde) einen freiwilligen Zusatz realisieren. Die Vorgaben der Pflichtaufgabe kann sicherlicht fast jeder moderne Mikrocontroller: - 3.3V ODER 5V Versorgung - 1x UART (rs232) - 1x SPI (min. 8MHz) - 8 GPIO Pins. - 2 Analog Inputs Bei der Aufgabe geht es darum verschiedne Geräte anzusteuern und Befehle über RS232 zu empfangen und bei Bedarf zu Antworten. Die Befehle sind meist 3-Stellig wie zb. "AW1" für Analog Wert Pin 1. Nun zum Zusatz: Da RS232 via PC heutzutage wohl nicht mehr all zu zeitgemäss sind, darf man i einer Freiwilligen Aufgabe eine alternative Eingabe/Auslesung realisieren. Wie schwer zu erwarten, entschieden sich alle für "Web/IOT". Damit unsere Lösung etwas anders ist und sich von anderen abgrenzt, möchten wir eine Weboberfläche machen. Die meisten anderen Teams versuchen eine Geräteabhänige Lösung (z.b. Android App) zu realisieren. Bei uns wäre es "Geräteunabhänig", also man gibt z.b. die IP ein, und erhält eine Website auf der man verschiedene Optionen anwählen kann, und Werte abrufen. Das benötigt natürlich einen Mikrocontroller der 1.) Viel Speicher für die Website (ca. 1-5MB) hat 2.) Die nötige Rechenleistung Nun möchten wir hier Nachfragen welcher Mikrocontroller sich dafür eignen würde? Grundsätzlich dürfen natürlich auch 2 Mikrcontroller verwendet werden, die dann auf der Platine platzfinden. Eine fertige Lösung darf soll nicht benutzt werden (zb. "Externes Gerät anschliessen und dann die Werte per RS232 senden, denn das ganze soll dann als "ein Gerät" sein. Grundsätzlich soll eine moderne, 1-seitige Website realisiert werden auf der Pins gesetzt bzw. deren Stand ausgelesen werden kann, ebenfalls sollen Analogwerte (auf "abfrage" oder optional "live) abelesen werden können. Welchen Mikrocontroller bzw. welche IC's würded Ihr uns so empfehlen? Viele Grüsse Dominik
Dominik L. schrieb: > Die Vorgaben der Pflichtaufgabe kann sicherlicht fast jeder moderne > Mikrocontroller: Das sagen euch die Datenbätter. Dominik L. schrieb: > Das benötigt natürlich einen Mikrocontroller der > 1.) Viel Speicher für die Website (ca. 1-5MB) hat > 2.) Die nötige Rechenleistung Dto. - wobei nicht unbedingt jeder MC Web-Fähigkeiten hat :-)
Dominik L. schrieb: > Das benötigt natürlich einen Mikrocontroller der > 1.) Viel Speicher für die Website (ca. 1-5MB) hat > 2.) Die nötige Rechenleistung Das benötigt weniger als Du glaubst (es sei denn es sollen fette Grafiken mit auf die Reise gehen). Für eine einfache HTML-Seite langt ein einfacher AVR mit wenigen KByte SRAM. Der kann diese dann via kleinem ESP8266 Modul über den Äther schicken. Klar kann letzteres die Aufgabe auch ganz allein erledigen.
Dominik L. schrieb: > Wie schwer zu erwarten, entschieden sich alle für "Web/IOT". Damit > unsere Lösung etwas anders ist und sich von anderen abgrenzt, möchten > wir eine Weboberfläche machen. > > Die meisten anderen Teams versuchen eine Geräteabhänige Lösung (z.b. > Android App) zu realisieren. Nicht sehr geschickt. Nicht umsonst gibt es standardisierte IoT-Protokolle. > Bei uns wäre es "Geräteunabhänig", also man > gibt z.b. die IP ein, und erhält eine Website auf der man verschiedene > Optionen anwählen kann, und Werte abrufen. Auch nicht so geschickt im praktischen Gebrauch. Schließlich will man automatisieren und sich nicht in GUIs einen Wolf zusammenklicken müssen. Aber egal, für ein bisschen Basteln, Hausaufgaben, Kurspunkte, usw. kann man das schon machen. > Das benötigt natürlich einen Mikrocontroller der > 1.) Viel Speicher für die Website (ca. 1-5MB) hat 5MB? Jetzt übertreibt mal nicht. 5MB braucht man wenn man richtig scheiße Webseiten mit ranzigen JavaSkript-Frameworks zusammenklebt. > 2.) Die nötige Rechenleistung Viel wichtiger: Ein vorhandener TCP/IP Stack und das Ethernet-Interface, zum Beispiel RMII. TCP/IP und Ethernet ist nämlich eine ganz andere Nummer als RS232. > Nun möchten wir hier Nachfragen welcher Mikrocontroller sich dafür > eignen würde? Schon was dickeres, weil man dann mehr "rumsauen" kann, statt die Zeit mit Optimierungen zu verbringen. Beispielsweise ein Board wie http://www.st.com/en/evaluation-tools/nucleo-f429zi.html Kostet so um die 25 Euro. > Grundsätzlich dürfen natürlich auch 2 Mikrcontroller verwendet werden, > die dann auf der Platine platzfinden. Eine fertige Lösung darf soll > nicht benutzt werden (zb. "Externes Gerät anschliessen und dann die > Werte per RS232 senden, denn das ganze soll dann als "ein Gerät" sein. Ok, d.h. das Board dürft ihr eventuell so nicht verwenden. Trotzdem würde ich mit dem fertigen Board anfangen, denn: - Parallele SW und HW Entwicklung möglich - Für das Board gibt es den Schaltplan, BOM, Layout (Gerbers) - TCP/IP Stack (mehrere) verfügbar - Kommt mit einem Programmer den man auch für ein eigenes Board verwenden kann
:
Bearbeitet durch User
Dominik L. schrieb: > - 3.3V ODER 5V Versorgung > - 1x UART (rs232) > - 1x SPI (min. 8MHz) > - 8 GPIO Pins. > - 2 Analog Inputs > - 5MByte Webspace > - WLAN (leicht von mir erweitert) Naja.... Vorschlag: ESP8266-12E Hauptprozessor - 3.3V - 80/160 MHz Takt - WLAN - 1x UART - 1x SPI (min. 8MHz)??? Doku befragen - 8 GPIO Pins. (knapp, eher nicht genug wenn SPI/I2C/UART genutzt wird) - 1 Analog Input - 4MByte Flash (1MB Programm + 3MB SPIFFS evtl. für Webspace) Zusatz: ATMega328P als Slave über I2C mit dem ESP verbunden - 3,3V oder 5V - 5(7) Analog Input - viele Digitale IO - 1 UART - 1 SPI usw. An beiden: - SD Karte möglich - UART zu USB Wandler - UART zu RS232 Wandler
Momentan bekommt man alternativ zum ATmega328 auch STM32F103C8T6 Module ungefähr zum selben Preis. Die sind in fast jeder Hinsicht Leistungsstärker. Eine andere theoretische Möglichkeit wären Module, die den ESP8285 verwenden. Die können bis zu 6 I/O Pins mehr haben, als der ESP8266. Leider konnte ich kein Modul finden, wo die zusätzlichen Pins herausgeführt sind. Man könnte den ESP8266 auch mit einem I²C Expander oder einen Schieberegister erweitern. Das hätte den Vorteil, dass man nur einen µC Programmieren muss. Vielleicht gefällt Dir dieser Artikel: https://www.amazon.de/gp/product/B074ZJVL5D/ref=s9u_simh_gw_i1 in Kombination mit einem PCF8574 oder einem 74HC595. Infos zu den ESP Chips: http://stefanfrings.de/esp8266/index.html
Dominik L. schrieb: > Nun zum Zusatz: > Da RS232 via PC heutzutage wohl nicht mehr all zu zeitgemäss sind, darf > man i einer Freiwilligen Aufgabe eine alternative Eingabe/Auslesung > realisieren. > Wie schwer zu erwarten, entschieden sich alle für "Web/IOT". Damit > unsere Lösung etwas anders ist und sich von anderen abgrenzt, möchten > wir eine Weboberfläche machen. Häh? Wo ist jetzt das Besondere eurer Lösung? > Das benötigt natürlich einen Mikrocontroller der > 1.) Viel Speicher für die Website (ca. 1-5MB) hat > 2.) Die nötige Rechenleistung Zur Auslieferung einer Webseite reichen auch sehr kleine µC bezüglich der Rechenleistung bereits vollkommen aus. Jedenfalls, wenn nicht 200000 Clients gleichzeitig die Seite abrufen, sondern nur eine Zahl im kleinen einstelligen Bereich. Übrigens: Mit einer hinreichend großen Zahl gleichzeitiger Abrufe kriegt man JEDE Hardwarebasis dazu, dass sie nix mehr ausliefert. Oder was glaubst du, was DoS-Angriffe tun? Und natürlich ist der angegebene Speicherbedarf völlig überzogen. Eine einfache Webseite passt in sehr wenige kB Speicher. Naja, wenn's etwas hypsch sein soll, werden wohl ein paar Bitmaps fällig, die kosten natürlich etwas mehr Speicher, bei sinnvoller Aufbereitung der Grafiken aber auch nicht so sehr viel mehr. Jedenfalls nix, was nicht auch schon ein kleiner 8Bitter+SD-Card hinreichend schnell ausliefern könnte... Wer glaubt, es wäre mehr nötig, kann nur einfach nicht wirklich programmieren. That's all...
Hannes J. schrieb: > 5MB? Jetzt übertreibt mal nicht. 5MB braucht man wenn man richtig > scheiße Webseiten mit ranzigen JavaSkript-Frameworks zusammenklebt. Selbst wenn man JQuery verwendet, zieht das nur so um die 100kB in der minifizierten Version. Das braucht man aber auch nur, wenn man interaktive, zustandsbehaftete Sachen einbauen will. Ein paar Buttons (mit Feedback) und sogar kleine Animationen kann man auch mit HTML und CSS machen.
> Das braucht man aber auch nur, wenn man > interaktive, zustandsbehaftete Sachen einbauen will. Du meinst, das kann man dafür benutzen. Die Browser unterscheiden sich nicht mehr so sehr, wie zu IE4 Zeiten. Damals war jQuery kaum vermeidbar, heute ist es tatsächlich nur noch nice to have.
Alles schön und gut. Aber wie gut sind denn die Programmmierfähigkeiten des Teams? Blackbird
Stefan U. schrieb: > Du meinst, das kann man dafür benutzen. Es ist zumindest bequem, und man bekommt zahllose Anwendungen, die man nur noch anpassen muß. > Damals war jQuery kaum vermeidbar, heute ist es tatsächlich nur noch > nice to have. Du meinst, man solle stattdessen in Javascript direkt programmieren? Kann man natürlich machen, aber dann ist die eigentliche Anwendung halt wesentlich mehr Code, den man obendrein auch noch testen und debuggen muß. Zumal der eigentliche Grund, wieso Webseiten lahm laden, ja nicht das bißchen JS und JQuery ist, sondern immer mehr und immer größere Bilder sowie immer mehr Dateien von zig Domains, die im Wesentlichen dem Ausspionieren des Nutzers dienen. Wobei man heute, wenn es nicht zustandsbehaftet sein muß, ja auch sehr viel mit CSS machen kann, beispielsweise das komplette Layout inklusive Anpassung auf unterschiedliche Fenstergrößen.
Dominik L. schrieb: > Die meisten anderen Teams versuchen eine Geräteabhänige Lösung (z.b. > Android App) zu realisieren. Bei uns wäre es "Geräteunabhänig", also man > gibt z.b. die IP ein, und erhält eine Website auf der man verschiedene > Optionen anwählen kann, und Werte abrufen. Ich habe das mal vor Jahren mit einem kleinen PIC18F67J60 gemacht. Der hat Ethernet eingebaut, 128k Flash, 4k RAM, kostet 3.50€ in 10'er Packs und die damit realisierte Schaltbox läuft seitdem 24/7 ohne irgendwelche Probleme. IP-Stack und Webserver gibts von Microchip, das kann man einfach so benutzen. Die Webseite hat nur wenige kByte. Heutzutage würde man vielleicht so etwas wählen: http://www.ti.com/lit/ds/symlink/cc3220moda.pdf Ist ein Cortex M4 mit WiFi, Antenne, TCP/IP-Stack und allem, was man dafür so braucht. Und mit ETSI Funkzulassung. Du kannst Dir ja mal so ein EIntwicklungsboard besorgen, bevor Du Dir Deine eigene Platine machst. http://www.ti.com/tool/launchcc3220modasf fchk
Dominik L. schrieb: > Grundsätzlich dürfen natürlich auch 2 Mikrcontroller verwendet werden, > die dann auf der Platine platzfinden. Eine fertige Lösung darf soll > nicht benutzt werden (zb. "Externes Gerät anschliessen und dann die > Werte per RS232 senden, denn das ganze soll dann als "ein Gerät" sein. Hallo Dominik, wenn ich das richtig lese, fallen damit eigentlich alle fertigen Module wie z.B. ESP8266 raus. Ich weiß nicht, wie es um eure Fertigkeiten steht, aber anhand der Aufgabenstellung dürftet ihr gerade erst am Fußende des Wissensberges "Elektronik" stehen. Einen Wlan-Chip auf eigenem Board zum laufen zu bekommen dürfte zuviel für euch sein. Ulrich Radig hat mal ein tolles Projekt gezeigt, in dem er mit einem Atmel128 einen fertigen Webserver zeigt und eine Netzwerk-Schnittstelle implementiert. Sein Webserver könnte eure GPIOs anzeigen und schalten. Zum lernen wäre das sicherlich der beste Ansatz. http://www.ulrichradig.de/home/index.php/avr/webserver von Pollin gab es auch mal den passenden Bausatz dazu: https://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin Um die Diskussion in die richtige Richtung zu lenken müsstest du dringend folgendes mitteilen: Über welche Fähigkeiten verfügt ihr (Hardware-Layout/Programmiersprachen) wieviele Mannstunden habt ihr zur Verfügung (Teamgröße und Zeit die ihr einbringen wollt) Über welche Technik verfügt ihr (Programmer/Oszi/LA) Und vor allem, was dürft ihr verwenden und was darf es kosten.
Frank K. schrieb: > Und mit ETSI Funkzulassung. Die (hoffentlich) erfolgreiche Modulintegration muss trotzdem nachgewiesen werden... Dominik L. schrieb: > Eine fertige Lösung darf soll nicht benutzt werden Definiere das genauer. Auch ein hochintegrierter uC ist eine fast fertige Lösung... Und was müsst ihr jetzt eigentlich machen? Software oder Hardware oder beides? Wann muss das Ganze fertig sein? Und wieviel Zeit habt ihr dafür?
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.