Fragen zu Mikrocontroller

OP #7218173
Lesenswert?

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
Gast #7218182
Lesenswert?

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?
Gast #7218232
Lesenswert?

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.
Gast #7218233
Lesenswert?

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.
#7218239
Lesenswert?

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.
#7218241
Lesenswert?

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.
#7218256
Lesenswert?

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.
#7218263
Lesenswert?

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?
Persönliche Seite #7218266
Lesenswert?

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...
Gast #7218269
Lesenswert?

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.
Gast #7218286
Lesenswert?

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.
Gast #7218688
Lesenswert?

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.
Gast #7218822
Lesenswert?

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.
#7218934
Lesenswert?

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
#7218936
Lesenswert?

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.
Gast #7218940
Lesenswert?

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.
Gast #7218956
Lesenswert?

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.
#7219019
Lesenswert?

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
Persönliche Seite #7219346
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren