Mikrocontroller und Komponenten -> evtl. für Serienproduktion

OP #3701244
Lesenswert?

Hallo an alle!

Ich bin neu hier im Forum und habe im Rahmen eines Uni-Projektes einige 
Fragen.

Wie bereits erwähnt, geht es um ein Projekt für die Uni. Es soll ein 
System entwickelt werden, welches

- 1-2 digitale Signale einlesen soll (DI)
- Ein externes Gerät mittels eines analogen Signals (0-10V, 20mA) 
schalten soll (AO)
- Eine analogen Wert 0-5V einlesen kann (AI)
- ein LCD Display ansteuern soll (3-4 Zeilen)
- Messdaten auf einer SD-Karte (ö.ä -> es sind nur max. 500kB an Daten) 
speichert. Die Daten sollen dann per USB-Kabel wieder am PC ausgelesen 
werden können (Prinzip eines Wechseldatenträgers)

Welchen Mikrocontroller könnt ihr mir hier empfehlen? Das Produkt soll 
sozusagen ein Prototyp werden, aber in Zukunft EVTL auch in 
Serienproduktion (max. 100Stk im Monat) gehen. Ich bin noch ziemlich am 
Anfang meiner Arbeit, möchte jedoch beim Auswahl der Komponenten 
(besonders beim Mikrocontroller) keine Fehler begehen.

Arduino ist ja eine ganz nette Sache, aber für die Serienproduktion und 
industriellen Einsatz wohl nicht geeignet oder? Was wird stattdessen in 
der Industrie so verwendet? Gibt es sowas ähnliches wie Arduino für 
industrielle Anwendungen?

Weiters soll die Programmierung nicht allzu komplex werden. Ich habe gut 
Kenntnisse in C/C++ und Grundkenntnisse in Assembler.

LG
#3701250
Lesenswert?

My Mikrocontroller schrieb:
> Arduino ist ja eine ganz nette Sache, aber für die Serienproduktion und
> industriellen Einsatz wohl nicht geeignet oder?

Nein. Zu Teuer.

My Mikrocontroller schrieb:
> Weiters soll die Programmierung nicht allzu komplex werden. Ich habe gut
> Kenntnisse in C/C++ und Grundkenntnisse in Assembler.

Programmier in C, ist am weitesten verbreitet.

My Mikrocontroller schrieb:
> Welchen Mikrocontroller könnt ihr mir hier empfehlen?

Jeder USB fähige Mikrocontroller. Den rest der Anwendungen kann 
eigentlich jeder Standard uC.

My Mikrocontroller schrieb:
> Das Produkt soll
> sozusagen ein Prototyp werden, aber in Zukunft EVTL auch in
> Serienproduktion (max. 100Stk im Monat) gehen

Auch hier erinnert man sich an die X-Tausend Diskussionen was es denn 
nun alles braucht um ein Produkt auf den Markt zu bringen. Aber dazu 
wird hier bestimmt wieder jemand einen Kommentar abgeben, vielleicht 
findet sich da ja auch ein Link. ;)
Moderator (Firma: Titel) Persönliche Seite #3701271
Lesenswert?

My Mikrocontroller schrieb:
> Ich habe gut Kenntnisse in C/C++
Das hilft dir ein wenig. Aber du brauchst für eine effiziente 
Programmierung eines uC die entsprechende Denkweise. 
Fließkommaberechnungen sollten vermieden werden. Und vergiss den Befehl 
delay(). Diese aktive rechenzeitvernichtung braucht man bestenfalls ganz 
am Anfang oder zur Fehlersuche...

> und Grundkenntnisse in Assembler.
In welchem Assembler?
OP #3701355
Lesenswert?

Lothar Miller schrieb:
> My Mikrocontroller schrieb:
>> Ich habe gut Kenntnisse in C/C++
> Das hilft dir ein wenig. Aber du brauchst für eine effiziente
> Programmierung eines uC die entsprechende Denkweise.
> Fließkommaberechnungen sollten vermieden werden. Und vergiss den Befehl
> delay(). Diese aktive rechenzeitvernichtung braucht man bestenfalls ganz
> am Anfang oder zur Fehlersuche...
>
>> und Grundkenntnisse in Assembler.
> In welchem Assembler?

Nur in so einem "virtuellen" Assembler. Auch im Rahmen eines 
Uni-Projektes (http://introcs.cs.princeton.edu/xtoy/).
OP #3701369
Lesenswert?

Der Laberer schrieb:
> Als Anfaenger schafft man es nicht einen Prototypen fuer eine
> Serienproduktion zusammenzukloppen. Also mach mal ein Stueck.

Das ist auch so der Plan. Sollte es aber dennoch einmal in Serie gehen, 
egal ob von mir oder von einem anderen entwicklerteam, sollten möglichst 
geringe Umbauarbeiten bzw. Änderungen von Komponenten erforderlich sein.
Gast #3701428
Lesenswert?

My Mikrocontroller schrieb:
> - 1-2 digitale Signale einlesen soll (DI)
> - Ein externes Gerät mittels eines analogen Signals (0-10V, 20mA)
> schalten soll (AO)
> - Eine analogen Wert 0-5V einlesen kann (AI)

Das ist Alles zu ungenau. Welche Auflösung, Geschwindigkeit, ...

> möchte jedoch beim Auswahl der Komponenten
> (besonders beim Mikrocontroller) keine Fehler begehen.

Damit machts Du bereits den größten Fehler. Ohne Bereitschaft, auch 
Fehler zu machen, brauchst Du garnicht erst anzufangen.

> Weiters soll die Programmierung nicht allzu komplex werden.

Dann mußt Du etwas Fertiges kaufen.

Lothar Miller schrieb:
> Fließkommaberechnungen sollten vermieden werden.

Wenn man Fließkommaberechnungen braucht, dann muß man sie auch nehmen. 
Wenn es sein muß, auch in Interruptroutinen ;-)
#3701462
Lesenswert?

@ My Mikrocontroller (oachkatzlschwaf)

>Das ist auch so der Plan. Sollte es aber dennoch einmal in Serie gehen,
>egal ob von mir oder von einem anderen entwicklerteam, sollten möglichst
>geringe Umbauarbeiten bzw. Änderungen von Komponenten erforderlich sein.

Dann NIMM Arduino, Launchpad & Co. Alles von der Pike auf selber machen 
lohnt sich nicht und kostet MASSIV Zeit und Resourcen!
Deina Anforderungen sind einfach, das kann praktisch jeder uC heute. 
Wenn man die passenen Libs dazu hat (SD-Karte), ist der Rest recht 
einfach.
#3701502
Lesenswert?

ADCler schrieb:
>> Weiters soll die Programmierung nicht allzu komplex werden.
>
> Dann mußt Du etwas Fertiges kaufen.

Was ist das für ne Aussage? Digitale & Analoge Eingänge schreiben/lesen 
ist nun wirklich nicht komplex. Ein LCD ansteuern kriegt man hin. Die SD 
Karte dürfte auch nicht das riesige Problem sein, findet man viele 
Beispiele. Das mit dem Daten per USB rausholen weiss ich nicht wie 
schwer es ist, denke ist aber machbar... und ich meine, er ist an der 
Uni. Ein bisschen war können tut er bestimmt auch. ;)

Falk Brunner schrieb:
> Dann NIMM Arduino, Launchpad & Co. Alles von der Pike auf selber machen
> lohnt sich nicht und kostet MASSIV Zeit und Resourcen!
> Deina Anforderungen sind einfach, das kann praktisch jeder uC heute.
> Wenn man die passenen Libs dazu hat (SD-Karte), ist der Rest recht
> einfach.

Einerseits stimme ich dir da zu. Wenn es aber sein Ziel ist einen 
Prototypen zu fertigen, welchen man später einfach zu einem 
Produktionsfertigen Produkt umbauen kann, weiss ich nicht ob es so ein 
schlauer Ansatz ist. Ich meine klar, ein Prototyp wäre mit Arduino 
bestimmt um einiges schneller aufgebaut, allerdings kommt dann die ganze 
Arbeit ein zweites mal.
#3701532
Lesenswert?

Wenn es ein Uni Projekt ist, dann ist vor allem eines anzustreben:

Den Professor glücklich stellen.

Und bei Uni Projekten denk ich da eigentlich weniger an Serienreife.
Der Professor will sehen, ob Du einen Mikrocontroller auswählst, der die 
Kriterien erfüllt und deine Planung zu deinem Projekt passt.

Gibt es eine Anwendung für dieses "Board"?

Alternativ kann man statt einem fertigen Board auch selbst eines 
entwickeln / bauen.

My Mikrocontroller schrieb:
> - 1-2 digitale Signale einlesen soll (DI)
> - Ein externes Gerät mittels eines analogen Signals (0-10V, 20mA)
> schalten soll (AO)
> - Eine analogen Wert 0-5V einlesen kann (AI)
> - ein LCD Display ansteuern soll (3-4 Zeilen)
> - Messdaten auf einer SD-Karte (ö.ä -> es sind nur max. 500kB an Daten)
> speichert. Die Daten sollen dann per USB-Kabel wieder am PC ausgelesen
> werden können (Prinzip eines Wechseldatenträgers)

Kann man alles bspw. mit einem Atmega von AVR machen.

Evtl.ist das noch abhängig von der Frequenz die über die digitalen 
Eingänge eingelesen wird.

Für alles über 5V oder in manchen Fällen auch 3,3V wirst Du externe 
Beschaltung benötigen und musst etwas passendes suchen. Mit einem 
eigenen Board wäre das relativ einfach...
Gast #3701538
Lesenswert?

My Mikrocontroller schrieb:
> Die Daten sollen dann per USB-Kabel wieder am PC ausgelesen
> werden können (Prinzip eines Wechseldatenträgers)

Richtig USB HID konform? Oder kann es auch ein selbst geschriebenes 
Programm zum Auslesen sein? Wenn das Erste zutrift, dann viel Spaß. Dann 
brauchst du einen größeren USB fähigen µC und es wird um einiges 
aufwändiger. Wenn nicht reicht eigentl. jeder beliebiger 8Bit µC und 
dazu noch ein RS232 -> USB Wandler IC.
#3701557
Lesenswert?

Nimm einfach ein STM32F4 Discovery Board mit der IDE Coocox. Da kriegst 
du viel fürs Geld und kannst recht einfach in die Programmierung 
starten. C-Kenntnisse reichen für 99% der Aufgaben aus, Assembler wirst 
du für das Projekt wahrscheinlich nicht brauchen. Eine eigene Platine 
für den uC entwerfen ist auch nicht so schwierig.

Liebe Grüße,

Jan
Gast #3701586
Lesenswert?

Da sonst wohl einer was konkretes schreiben will werfe ich mal als Tipp 
zum ansehen den ATMega32U4 in die Diskussion.

http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Summary.pdf

Warum?
Der ist auf dem Arduinos Leonardo und Micro drauf, gibt auch Clones 
davon, damit kann man erstmal loslegen und entweder mit der Arduino 
Software was schnitzen oder direkt in C auf dem Controller 
programmieren.

Preise? Völlig uninteressant bei den Stückzahlen.
Die Entwicklung wird das teuerste und da hilft es einen Controller zu 
benutzen über den man auch Informationen finden kann.

Solange den Stückzahlen entsprechend die Hardware-kosten egal sind,
bleibt man auch bei dem was man schon kennt.
#3701649
Lesenswert?

ADCler schrieb:
> Das Problem ist noch nicht beschrieben, aber die Lösung steht schon
> fest.
> Ich kann nur staunen!

Indirekt. Wieso ist das Problem noch nicht beschrieben? Weil er noch 
nicht geschrieben hat, welche Auflösung / Geschwindigkeit sein Projekt 
braucht?

Ich wage es mal zu behaupten, wer ein Zeitkritisches Projekt angeht hat 
sich bestimmt schon om Vorfeld wesentlich mehr mit Elektornik 
beschäftigt und würde kaum in einem Forum fragen, welcher uC sich dafür 
eignet.

Ein normaler Mikrocontroller reicht für extrem vieles in der heutigen 
Zeit. Denke kaum, dass ein Uni-Student welcher sich nicht einmal sicher 
bei der uC Auswahl ist ein Projekt aufgetragen bekommt, in welchem 
extrem Zeitkritische Anwendungen ablaufen müssen.
#3701658
Lesenswert?

@ Gerald G. (gerald_g)

>Bin auch für das stm32f4

Warum nicht gleich QuadCore Pentium?

Mein Gott, bei der Aufgabe wird sich selbst ein 8051 mit 1 MHz 
langweilen.

>Bei Uwe (http://mikrocontroller.bplaced.net/wordpress/ ) findest du
>sogar libs, die dir das zusammenklicken all deiner Vorgabe ermöglichen.
>Selbst ohne Einarbeitung kann man das in einem Arbeitstag schaffen.
>Sdkarte und USB ebenfalls.
>Das ganze gibts für um die 20€ fertig ohne zu löten.

Ok, das wäre ein Argument.
OP #3701675
Lesenswert?

Zuerst möchte ich mich einmal bei allen für die vielen und sehr 
schnellen Antworten bedanken.

Ich möchte bei dem Uni-Projekt nicht nur den Professor zufrieden 
stellen, sondern ich persönlich möchte mit dem Endergebnis zufrieden 
sein (Die Note ist dabei nebensächlich).

Wie einige von euch bereits vermutet haben, ist die Anwendung überhaupt 
nicht zeitkritisch. Es geht darum von einem Gerät ein GO-Signal 
auszulesen und innerhalb von einer 1sec ein anderes Gerät zu starten.
#3701683
Lesenswert?

My Mikrocontroller schrieb:
> Ich möchte bei dem Uni-Projekt nicht nur den Professor zufrieden
> stellen, sondern ich persönlich möchte mit dem Endergebnis zufrieden
> sein (Die Note ist dabei nebensächlich).

Respekt für die Einstellung.

My Mikrocontroller schrieb:
> Wie einige von euch bereits vermutet haben, ist die Anwendung überhaupt
> nicht zeitkritisch. Es geht darum von einem Gerät ein GO-Signal
> auszulesen und innerhalb von einer 1sec ein anderes Gerät zu starten.

Dann dürfte das mit dem STM Teil wirklich am billigsten und einfachsten 
gehen, zumindest für den Anfang. Wenn dein Produkt irgendwann verkauft 
werden soll, kommen da natürlich rechtliche Probleme hinzu. Aber für 
einen ersten Versuch, wieso nicht.
(Firma: EleLa - www.elela.de) #3701699
Lesenswert?

Ich empfehle für Deine Aufgabe ebenfalls einen STM32F4xx µC.

Der hat bis zu 2MB Flash schon drin, also genügend um deine 500Kb Daten 
+ Programm speichern zu können. Damit könntest du problemlos auf die 
SD-Card verzichten.

Auch genügend AD-Wandler und DA-Wandler und sonstige Schnittstellen.

Falk sieht für diese Aufgabe natürlich immer nur "Kanonen" und 
"Spatzen". Wobei man mit einem STM32F4 sogar noch günstiger davon kommt 
wenn man kein SD-Kartenslot + Karte kaufen muss. Abgesehen vom 
Platzbedarf.

Außerdem hat der STM32F4xx eine FPU drin, was das Rechnen mit 
Analogwerten (FLOAT) vereinfachen sollte. Sowie genügend RAM.

Lese mal hier, Artikel: STM32

Um die andere auch zufrieden zu stellen:
NXP, Freescale, Atmel usw. bieten auch µC mit Cortex-M3 Kern, es muss 
somit nicht unbedingt ein STM32 sein. Der Compiler ist der gleiche, geht 
alles mit Coocox.
Auch ein PIC32 hat viel Flash und RAM und könnte das auch.
Ich persönlich favorisiere den STM32 da es von dem über 370 
verschiedene Ausführungen gibt - je nach Anwendungsfall von super 
Günstig bis Super Leistung und jede Menge Peripherie schon mit im Chip 
hat.
#3701701
Lesenswert?

San Lue schrieb:
> Dann dürfte das mit dem STM Teil wirklich am billigsten und einfachsten
> gehen, zumindest für den Anfang. Wenn dein Produkt irgendwann verkauft
> werden soll, kommen da natürlich rechtliche Probleme hinzu. Aber für
> einen ersten Versuch, wieso nicht.

Absoluter Overkill, aber am billigsten und einfachsten könnte 
zutreffen...

Diesmal bin ich auch dabei mit "Kanonen" und "Spatzen"...

:-P
Gast #3701714
Lesenswert?

Ein Paar Punkte über die du direkt nachdenken solltest:

Willst du dich in einem ARM, AVR, PIC oder 8051 einarbeiten ? (oder mit 
was willst du dich in Zukunft beschäftigen ?)
Soll jemand das Projekt noch in 20 Jahren nachbauen können ?
Nach was für Standards soll das Projekt konform sein ? (CE, ROHS)
Wie soll die Datenübertragung zum PC funktionieren ?

My Mikrocontroller schrieb:
> Ich möchte bei dem Uni-Projekt nicht nur den Professor zufrieden
> stellen, sondern ich persönlich möchte mit dem Endergebnis zufrieden
> sein (Die Note ist dabei nebensächlich).

Gute Einstellung, es geht ja schließlich auch um deine Ausbildung :)
Gast #3701762
Lesenswert?

Dennis K. schrieb:
> San Lue schrieb:
>> Dann dürfte das mit dem STM Teil wirklich am billigsten und einfachsten
>> gehen, zumindest für den Anfang. Wenn dein Produkt irgendwann verkauft
>> werden soll, kommen da natürlich rechtliche Probleme hinzu. Aber für
>> einen ersten Versuch, wieso nicht.
>
> Absoluter Overkill, aber am billigsten und einfachsten könnte
> zutreffen...

Absolute Zustimmung. Nur falls das Teil dann tatsächlich in Serie gehen 
sollte, wars das mit dem "am billigsten", denn dann wirds richtig teuer. 
Das sollte der TO wissen.
#3701790
Lesenswert?

TriHexagon schrieb:
> Absolute Zustimmung. Nur falls das Teil dann tatsächlich in Serie gehen
> sollte, wars das mit dem "am billigsten", denn dann wirds richtig teuer.
> Das sollte der TO wissen.

Ist so. Genau deshalb weiss ich nicht ob es gut ist ihm zu dem STM Board 
anzuraten. Denn schlussendlich wird ihm das Board zwar schnell zu einem 
ersten Prototypen verhelfen, will er allerdings das Produkt später 
einmal vermarkten, werden Materialkosten schnell wieder zu einem 
entscheidenden Punkt. Und da ich mal vermute, dass man ein STM Board 
nicht einfach so ohne weiteres weiterverkaufen kann (Kenne mich mit dem 
Rechtskram nichts o aus, ist aber eigenltich das einzige was sinn 
ergibt), wird er um das selber entwickeln kaum drum herum kommen. Und 
spätestens dann bringt ihm der STM Prototyp nichtmehr wirklich viel..
Gast #3701833
Lesenswert?

USB auf dem µC ist doch gar nicht notwendig.
Er will die SD Card nur als Wechseldatenträger benutzen.

Wenn der TO sich grob auf eine Prozessorfamilie festlegt, kann er doch 
ein beliebiges Entwicklerboard mit LCD und Programmer aus dieser Familie 
benutzen.

Ist die SW fertig, kann man immer noch ein abgerüstetes µC-Board 
entwickeln.

Blackbird
Gast #3701849
Lesenswert?

Blackbird schrieb:
> USB auf dem µC ist doch gar nicht notwendig.
> Er will die SD Card nur als Wechseldatenträger benutzen.

Das hört sich aber anders an:

My Mikrocontroller schrieb:
> Die Daten sollen dann per USB-Kabel wieder am PC ausgelesen
> werden können (Prinzip eines Wechseldatenträgers)

Das sollte der TO genauer erklären. Könnte man interpretieren, dass das 
Board sich als USB HID Massenspeicher melden soll.
Gast #3701883
Lesenswert?

Markus Müller schrieb:
> Der hat bis zu 2MB Flash schon drin, also genügend um deine 500Kb Daten
> + Programm speichern zu können. Damit könntest du problemlos auf die
> SD-Card verzichten.

SD Karten kann man aber wechseln wenn die voll sind und problemlos 
auslesen. Du bräuchtest noch eine Ausleseschnittstelle und das passende 
Programm dafür (USB mit Massenspeicheremulation), die 10 mal mehr Arbeit 
ist als der Rest.
(Firma: EleLa - www.elela.de) #3701964
Lesenswert?

ADCler schrieb:
> Na klasse, da gibt es dann bestimmt auch einen mit einem 0-10V/20mA DAC.
> Einfach nur zusammenstecken, ohne zu löten!

Ja, genau. Von Analog gibt es massig 0..10V/20mA Chips. Nur anstecken 
auf einem Steckbrett. 0..10V / 0..20mA sind standardisierte 
Industrieschnittstellen für z.B. Sollwert/Istwert Übermittlung.
Und das schon seit mindestens 40 Jahren.

Oder hast Du schon mal einen anderen µC gesehen der das direkt kann???

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