Mahlzeit zusammen ! Das hier ist mein erster Beitrag! Für unser Abschlussprojekt im Techniker brauchen wir einen Mikrocontroller... leider haben wir das nicht ausführlich genug gemacht. Eventuell bekomme ich hier ja Antworten. Wir bauen eine Wasser Filterungsanlage mit Diversen Sensoren, Füllstände , Temperatur etc. zudem wollen wir über den Mikrocontroller die Pumpe steuern und als optionales Ziel die Daten noch an eine App übergeben. Ich habe keine Ahnung welcher dafür in frage kommt. In der Schule haben wir imemr mit einem ATmega 16 gearbeitet. LG Philipp
Philipp schrieb: > Ich habe keine Ahnung welcher dafür in frage kommt. In der Schule haben > wir imemr mit einem ATmega 16 gearbeitet. Dann nimm den doch.
Erste Rückfrage - zur Zeit laufen unter Mikrocontroller 4 verschiedene Konzepte. -Bitfummelei auf 8Bit MCs ohne Debugger -Arduino Programmierung, eingeschränkt aber einfach zu lernen -Low Level Programmierung auf 8Bit MCs mit Libraries und In-Circuit-Debugger -32Bit MCs mit diversen Arten von RTOS. Unterscheidet sich eigentlich nicht von PC Programmierung. Was wollt ihr machen?
>optionales Ziel die Daten noch an eine App übergeben
wie? Das ist wahrscheinlich das Aufwändigste an deine ganzen
Mikrocontroller
Philipp schrieb: > Wir bauen eine Wasser Filterungsanlage mit Diversen Sensoren, Füllstände > , Temperatur etc. zudem wollen wir über den Mikrocontroller die Pumpe > steuern und als optionales Ziel die Daten noch an eine App übergeben. Ich würde damit anfangen, als Vorauswahl die notwendigen Pinne und Peripherien (ADCs, Timer, PWMs, UARTS, I2Cs,...) auszuzählen und grob skizzieren, was an CPU-Ressourcenfressern (RAM, Flash und Zeitkritisches) zu erwarten sind. Wenn Dein ATMega dann dazu reicht, ist es doch gut. Wenn "App" eine App auf dem Android-Handy meint, ist z.B. ein an die UART angeschlossenes HC-06 BT-Modul eine recht einfache Möglichkeit. Für Apple würd ich allerdings wahrscheinlich eher einen ESP-ich-bin-der-Hotspot-und-Du-darfst-Dich-nur-mit-meiner-HTML-Seite-ver binden anflanschen.
Was für Sensoren sollen ausgewertet werden und welche Schnittstellen haben sie? Wenn da eine Kamera bei ist, hat das einen erheblichen Einfluss auf die Wahl des Mikrocontrollers. Wegen der App und der schwierigen Liefersituation würde ich dir empfehlen dir den ESP32 (als Modul) anzuschauen.
Eine Frage schrieb: > -32Bit MCs mit diversen Arten von RTOS. Unterscheidet sich eigentlich > nicht von PC Programmierung. Ich halte diese Klassifizierung für Humbug. 32 Bit bedeutet nicht automatisch RTOS und PC-like Programmierung. Es liegen Welten zwischen kleinen und großen 32 Bittern. Und kleine 32 Bittern werden wie 8 Bitter programmiert. Ebenfalls oft Bare Metal und mit oder ohne Debugger.
Philipp schrieb: > Wir bauen eine Wasser Filterungsanlage mit Diversen Sensoren, Füllstände > , Temperatur etc. zudem wollen wir über den Mikrocontroller die Pumpe > steuern und als optionales Ziel die Daten noch an eine App übergeben. 3 Nummern zu groß für euch. Selbst jemand mit guter Erfahrung in Elektronik und µC würde da einiges an Zeit brauchen. Dann noch mit App... Aber ohne viel Vorwissen und Erfahrung mit ähnliches Projekten: Vergiss es. Mach kleiner. Viel Kleiner. Oder denk größer und nimm ne fertige Steuerung für den Kram, so wie das jeder normale Mensch für diese Anwendung tun würde. Siemens Logo oder Eaton Easy z.B.
Make or buy. Für die Aufgabenstellung würde ich einen ESP8266 mit Tasmota-sensors flashen (ggfs. die Sensoren einkompilieren) und dann an die HomeAssistant App übergeben.
Pete K. schrieb: > Make or buy. > Für die Aufgabenstellung würde ich einen ESP8266 mit Tasmota-sensors > flashen (ggfs. die Sensoren einkompilieren) und dann an die > HomeAssistant App übergeben. Warum dann überhaupt den Aufwand und nicht gleich diverse Shellys als Sensoren und per openHAB oder IOBroker oder NodeRED visualisieren? Nur sehe ich in der Aufgabenstellung des TE eher eine Industrieautomatisierung als SmartHome.
:
Bearbeitet durch User
Wenn es nicht konkret um Softwareentwicklung auf MCs geht würde ich dafür einen Esp32 oder Wemos d1 mini mit EspEasy als "OS" nehmen. Da hast du die Sensorintegration und MQTT gleich inklusive.
Philipp schrieb: > Wir bauen eine Wasser Filterungsanlage mit Diversen Sensoren, Füllstände > , Temperatur etc. zudem wollen wir über den Mikrocontroller die Pumpe > steuern und als optionales Ziel die Daten noch an eine App übergeben. > > Ich habe keine Ahnung welcher dafür in frage kommt. Nimm dir ein Blatt und zeichne dir alles drum herum auf und in der Mitte eine Blackbox. - Was für Sensoren: benötigen diese AD Wandler, I²C, SPI...? Und wieviele davon. - Benötigst du I/O Pins? - Arbeiten die Sensoren mit 3,3 oder 5V? -> daraus ergibt sich evtl. dein Controller, falls nicht extra Pegelwandler verwendet werden sollen. - usw. einfach alles was du ansteuern/auslesen magst. Das dürfte schonmal eine grobe Auswahl ergeben. Flash ist "meistens" nicht so das Problem wie der vorhandene RAM. (Je nach Anwendungsfall) Aber mal so eine Frage: Wer kam auf so eine umfangreiche Aufgabe?
:
Bearbeitet durch User
Philipp schrieb: > Wir bauen eine Wasser Filterungsanlage mit Diversen Sensoren, Füllstände > , Temperatur etc. zudem wollen wir über den Mikrocontroller die Pumpe > steuern und als optionales Ziel die Daten noch an eine App übergeben. Mit einem Arduino Due solltet ihr, wenn es nicht allzu viel Sensoren werden, gut zurechtkommen. Denkt daran, dass ihr die Sensoreingänge (ADC-Ports) passend schützen müsst, aber das habt ihr entweder gelernt, oder ihr fragt euren Betreuer. Und Arduino-Programmierung ist hinreichend einfach, dass ihr innerhalb der Zeit auch zu einem Ergebnis kommen könnt. Je nachdem, wie viele ihr seid, könnt ihr folgende Aufgabenpakete mehr oder weniger parallel abarbeiten: * Liste der anzuschließenden Sensoren und Aktoren (Pumpe) aufschreiben * Für jeden überlegen, wo und wie ihr ihn anschließen und auslesen wollt * Regelalgorithmus (wann läuft die Pumpe wie) auf Papier aufschreiben * Hardware beschaffen und zusammenbauen * Einlesen der Sensorwerte und Ansteuern der Pumpe auf dem Arduino umsetzen * Regelalgorithmus auf dem Arduino umsetzen * Daten auf einer seriellen Schnittstelle rausgeben * Auf einem ESP32 o.ä. das oben schon vorgeschlagene Web-Frontend aufbauen. Hat mit dem Rest der Aufgabe inhaltlich kaum was zu tun, ist aber natürlich schick. Ihr könnt natürlich auch eine SPS nehmen...
Cyblord -. schrieb: > Ich halte diese Klassifizierung für Humbug. Es IST Humbug, und zwar alle 4 Varianten, die der Unbekannte da geschrieben hat. Es heißt zwar (wimre in der Bibel), man solle dem Esel, der da drischt nicht das Maul verbinden - aber ich erlaube mir hinzuzufügen: ...es sei denn, er drischt Phrasen. Schließlich lesen hier ja auch andere Leute mit und da könnte einer sowas ernst nehmen. W.S.
Philipp schrieb: > Wir bauen eine Wasser Filterungsanlage mit Diversen Sensoren,... Bevor du irgend einen Chip suchst, mache lieber einen Plan, was du da so alles verbauen willst und was du für Strippen an den Controller dafür brauchst und ob und welche Interfaces im Controller du dafür tatsächlich benötigst. Zum einen ist es so, daß man oftmals besser fährt, wenn man separate ADC's verwendet anstelle des im Controller eingebauten - gerade wenn es um relativ langsame und dafür eher genaue Messungen geht. Zum anderen ist es manchmal besser machbar, für manche Interfaces wie I2C oder SPI nicht die im Chip vorhandenen Peripherie-Cores zu nehmen, sondern das Ganze per Software zu machen. Gerade für I2C habe ich mehr schlecht benutzbare Cores als gut gemachte Cores bislang gesehen. Also flexibel bei dem Entwurf bleiben. Wenn der schlußendlich gewählte Chip kein benutzbares Interface für irgend einen Sensor etc. hat (weil die Portpins grad von was anderem belegt sind), dann ist das zumeist kein Beinbruch. Überdenke auch, was du eventuell mit den anfallenden Daten im Controller machen willst und ob du dafür größere Mengen an RAM im Controller benötigst oder nicht. Und ob du auch Daten per EEPROM merken willst, damit die nicht bei einem Stromausfall alle weg sind. Ebenso überlege gut, ob und was für eine eventuelle Anzeige du an deiner Wasserfilteranlage haben willst. Ich geb dir mal ne Grobregel: An einem 8 Bitter ein Textdisplay, an einem 32 Bitter auch ein Grafikdisplay. Wohlgemerkt, das ist nicht in Stein gemeißelt, sondern nur eine Faustregel. Also plane erstmal die für das Gerät nötige Peripherie und erst dann den Controller. W.S.
W.S. schrieb: > Zum anderen ist es manchmal besser machbar, für manche Interfaces wie > I2C ... nicht die im Chip vorhandenen Peripherie-Cores zu nehmen, > sondern das Ganze per Software zu machen. Manchmal ja. Dabei aber bitte bedenken, dass die meistens I²C Cores interne Filterschaltungen haben von denen du bei "das Ganze per Software zu machen" nicht profitierst.
Steve van de Grens schrieb: > Manchmal ja. Dabei aber bitte bedenken,... Man kann gar vieles bedenken. Weitaus wichtiger als irgendwelche Filterschaltungen wären Abfragen zum Bus requirieren, zum Clock-Verlängern usw. Aber die Alternative bei schlecht gestaltetem I2C-Core wären zum einen solche, die für jeden Zustandswechsel einen Interupt erzeugen (etwa so: "es hat was gewackelt, also Programmierer bring das mal in Ordnung") oder andere, die alles selbst machen wollen, dabei aber ein unmögliches Interface bieten. Also sowas wie die Anzahl zu übertragender Bytes vorher wissen wollen, was ein geordnetes Treiberinterface zum aufrufenden Programm unmöglich macht. Der Treiber müßte ja vorher wissen, was der aufrufende Algorithmus beabsichtigt. Also: Es gibt eine Menge an Haken und Unpäßlichkeiten, je nach Chip. Aber als Programmierer einer Firmware für ein konkretes Projekt muß man da durch, notfalls durch Ausprobieren (wenn man langsam genug ist, dann braucht es auch kein Clock-Stretching...) W.S.
Moin, Uaaah, Loide... Es ist eine Abschlussarbeit an einer Technikerschule, kein Projekt "aus dem Leben". Und der TO hat in der Schule schon mit dem atmega16 gearbeitet. Welcher µC soll da wohl verwendet werden? Mannmannmann... scnr, WK
Dergute W. schrieb: > Es ist eine Abschlussarbeit an einer Technikerschule Da fängt es ja schon an: Das Projekt ist, so wie beschrieben, völlig ungeeignet für diesen Zweck und den Ausbildungsstand des TE. Egal ob er dafür nun seinen Mega16 nimmt oder nicht.
Hallo, Cyblord -. schrieb: > Da fängt es ja schon an: Das Projekt ist, so wie beschrieben, völlig > ungeeignet für diesen Zweck und den Ausbildungsstand des TE. Genau. Lass dir doch mal von Philipp die E-Mail-Adresse seines Betreuers geben und schreib ihm was das er doch in Zukunft gefälligst geeignetere Projekte auswählen soll. Wenn du das dann noch dem Betreuer in deiner bekannt verbindlichen Art und Weise aufzeigst, wird das bestimmt zum Erfolg führen. Leute gibts... rhf
Roland F. schrieb: > Lass dir doch mal von Philipp die E-Mail-Adresse seines Betreuers geben > und schreib ihm was das er doch in Zukunft gefälligst geeignetere > Projekte auswählen soll. Wenn du das dann noch dem Betreuer in deiner > bekannt verbindlichen Art und Weise aufzeigst, wird das bestimmt zum > Erfolg führen. Was spielt das für eine Rolle? Es ändert nichts an den Fakten. Und meistens suchen sich die Leute solche Projekte selbst aus und bekommen das so nicht vorgelegt.
Cyblord -. schrieb: > Was spielt das für eine Rolle? Es ändert nichts an den Fakten. Und > meistens suchen sich die Leute solche Projekte selbst aus und bekommen > das so nicht vorgelegt. Das stimmt so nicht. 40% meiner Technikerklasse hat Projekte vom AG vorgesetzt bekommen (Materialien wurden bezahlt). Der Rest hat sich eigene Projekte ausgesucht und musste diese selbst finanzieren.
Dergute W. schrieb: > Uaaah, Loide... > Es ist eine Abschlussarbeit an einer Technikerschule,... Ach nee, nix mit Uaaah... und so. Das Projekt ist zumindest keine nichtssagende Pillepalle-Arbeit, sondern eines, wo man sich einen praktischen Nutzen davon vorstellen kann, wenn es realisiert wird. Und es gibt den Leuten einen allerersten Eindruck von dem, was vermutlich deren beruflichen Lebensweg begleiten wird. Nämlich von den Notwendigkeiten der Realität und von der zuvor erforderlichen Entwicklungs- und Planungs-Arbeit. Selbst wenn das Projekt von der ersten Generation von Absolventen noch nicht aufgebaut oder sogar in Betrieb genommen wird, ist es doch für selbige nützlich, nämlich für den Inhalt ihrer Köpfe. W.S.
Moin, W.S. schrieb: > wo man sich einen > praktischen Nutzen davon vorstellen kann, Der praktische Hauptnutzen von so einem Projekt ist der, dass man danach sein "Ich-bin-Techniker"-Bapperl auf die Stirn geklebt bekommt. Das sollte man sich, so man noch kein solches Bapperl hat und eines bekommen moechte, immer vergegenwaertigen. Wenn man jetzt gleich anfaengt, wie man mit sowas die Welt verbessern kann, wird man mit hoher Wahrscheinlichkeit erstmal an seiner Technikerausbildung scheitern. Isso. Gruss WK
hier steht eigentlich alles für einen Anfänger https://www.mikrocontroller.net/articles/AVR_Tutorial
Also ich weiß nicht. Ich kenne es eigentlich nur, dass man das Projekt selbst wählen kann. Nur wenn man keines hat, es zu wenig war oder als nichtrealisierbar galt, hat man eines von der Schule bekommen. Ich hatte mit drei weiteren ein eigenes ausgesucht. Ebenfalls mit Mikrocontroller. Dabei war ich der einzige, der Erfahrungen hatte. Der Rest kannte es nur von ein paar Wochen Grundlagen. Dennoch haben wir das Projekt mehr als rechtzeitig fertig bekommen und auch ein paar Sachen mehr gemacht, wie wir vorhatten. Die Devise ist eigentlich, sich bei dem Projekt mit unbekannten Sachen, Stress und so weiter auseinander zu setzen. Der Lernfaktor ist hoch. Anscheinend wird es aber wohl von Schule zu Schule anders gemacht. Wir hatten eine bestimmte Reihenfolge: Pflichtenheft erstellen. Zwischenpräsentation. Dann das Projekt selbst realisieren mit kompletter Dokumentation samt Abschlusspräsentation.
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.