Forum: Mikrocontroller und Digitale Elektronik Development Board gesucht


von Ti M. (ti_m)


Lesenswert?

Hallo zusammen,

ich bin momentan dabei mein Abschlussprojekt für die staatlich geprüfte 
Techniker Weiterbildung zu entwerfen.

Für mein Projekt möchte ich zwei Sensoren auslesen, die Daten der 
Sensoren verarbeiten und anhand dieser Daten einen Schrittmotor 
ansteuern. Um das ganze noch etwas umfangreicher und schöner zu 
gestalten habe ich mir überlegt eine kleine Weboberfläche zu basteln, 
die quasi in Echtzeit meine Sensordaten ect. graphisch visualisiert.

Bevor ich jetzt anfange direkt eine Platine selber zu layouten würde ich 
mir gerne ein Development Kit zulegen um das ganze schon einmal ein 
wenig zu testen. Mit uC Programmierung kenne ich mich ganz gut aus, 
Geschichten wie Netzwerkinterface und Weboberflächenprogrammierung sind 
völliges Neuland für mich. Wer da vllt. einige gute Literaturtipps hat. 
Immer her damit.

Bisher bin ich bei Microchip fündig geworden. Die bieten ein PIC32 
Development Board an, welches ein integriertes Netzwerkinterface hat.

Meine Frage nun: Hat jemand schon einmal etwas ähnliches gebaut? Kennt 
ihr andere Hersteller, die Development Boards anbieten, die meinen 
Verwendungszwecken entsprechen?

Ich brauche auf jeden Fall einen Controller mit analogen und digitalen 
IOs sowie einem integrierten Netzwerkinterface. 32-Bit Auflösung wären 
auch ganz nett. :-)

Danke für eure Hilfe.

Lieben Gruß

: Bearbeitet durch User
von STMler (Gast)


Lesenswert?

Ti M. schrieb:
> Für mein Projekt möchte ich zwei Sensoren auslesen, die Daten der
> Sensoren verarbeiten und anhand dieser Daten einen Schrittmotor
> ansteuern. Um das ganze noch etwas umfangreicher und schöner zu
> gestalten habe ich mir überlegt eine kleine Weboberfläche zu basteln,
> die quasi in Echtzeit meine Sensordaten ect. graphisch visualisiert.


Ja was denn nun: Echtzeit oder nicht? "Quasi" gibt es nicht...


> Bisher bin ich bei Microchip fündig geworden. Die bieten ein PIC32
> Development Board an, welches ein integriertes Netzwerkinterface hat.
>
> Meine Frage nun: Hat jemand schon einmal etwas ähnliches gebaut? Kennt
> ihr andere Hersteller, die Development Boards anbieten, die meinen
> Verwendungszwecken entsprechen?


Bei ST gibt es die Nucleo-Boards. Da ist dann ein ARM Cortex drauf.
Z.B. NUCLEO-F446ZE, kostet ca. 24,- Euro. ST-Link fürs Flashen und 
Debuggen onBoard. IDEs kostenlos.
Oder deutlich leistungsstärker: NUCLEO-F767ZI. Kostet dann 28,- Euro. 
Ist aber ein bisschen komplexer.
Die ARMs sind insofern anzuraten, als dass die Verbreitung in Industrie 
sowie Hobby deutlich größer ist.

> Ich brauche auf jeden Fall einen Controller mit analogen und digitalen
> IOs sowie einem integrierten Netzwerkinterface. 32-Bit Auflösung wären
> auch ganz nett. :-)


32-Bit Auflösung wofür?

von Ti M. (ti_m)


Lesenswert?

STMler schrieb:
> Ti M. schrieb:
>> Für mein Projekt möchte ich zwei Sensoren auslesen, die Daten der
>> Sensoren verarbeiten und anhand dieser Daten einen Schrittmotor
>> ansteuern. Um das ganze noch etwas umfangreicher und schöner zu
>> gestalten habe ich mir überlegt eine kleine Weboberfläche zu basteln,
>> die quasi in Echtzeit meine Sensordaten ect. graphisch visualisiert.
>
>
> Ja was denn nun: Echtzeit oder nicht? "Quasi" gibt es nicht...
>
>
>> Bisher bin ich bei Microchip fündig geworden. Die bieten ein PIC32
>> Development Board an, welches ein integriertes Netzwerkinterface hat.
>>
>> Meine Frage nun: Hat jemand schon einmal etwas ähnliches gebaut? Kennt
>> ihr andere Hersteller, die Development Boards anbieten, die meinen
>> Verwendungszwecken entsprechen?
>
>
> Bei ST gibt es die Nucleo-Boards. Da ist dann ein ARM Cortex drauf.
> Z.B. NUCLEO-F446ZE, kostet ca. 24,- Euro. ST-Link fürs Flashen und
> Debuggen onBoard. IDEs kostenlos.
> Oder deutlich leistungsstärker: NUCLEO-F767ZI. Kostet dann 28,- Euro.
> Ist aber ein bisschen komplexer.
> Die ARMs sind insofern anzuraten, als dass die Verbreitung in Industrie
> sowie Hobby deutlich größer ist.
>
>> Ich brauche auf jeden Fall einen Controller mit analogen und digitalen
>> IOs sowie einem integrierten Netzwerkinterface. 32-Bit Auflösung wären
>> auch ganz nett. :-)
>
>
> 32-Bit Auflösung wofür?


Soll auf jeden Fall Echtzeitfähig sein.

Das klingt doch schon einmal gut das werde ich mir mal ansehen.

32-Bit Auflösung, weil meine beiden Sensoren einen Spannungsbereich von 
10V haben. Bei minimalen Änderungen soll aber schon eine Reaktion meines 
Motors erfolgen. Ich kann hier nicht zu sehr ins Detail gehen, da ich 
mein Abschlussprojekt für meine Firma entwickel.

16-Bit würden es vielleicht auch noch tun. Aber son 32 Bit controller 
kostet ja auch nicht mehr die Welt von daher.

Bei 8-Bit wären die Sprünge definitiv zu groß.

von Danish B. (danishbelal)


Lesenswert?

Guck mal bei MikroElektronika nach.

http://www.mikroe.com/easy-boards/

von erbse (Gast)


Lesenswert?

STMler schrieb:
> Ja was denn nun: Echtzeit oder nicht? "Quasi" gibt es nicht...

Echtzeit auch nicht.

von fürn Hugo (Gast)


Lesenswert?

Schau mal auf die Olimex Seite die bieten viele Boards mit ETH an, alle 
möglichen Varianten. Vermutlich wirst du als TCP/IP Stack den LWIP 
nehmen, ich würde dir zusätzlich ein OS zB FreeRTOS, ChibiOS, .. 
empfehlen. für Webseiten empfehle ich dir viel RAM zu nehmen und auch 
viel Flash.

von Ti M. (ti_m)


Lesenswert?

erbse schrieb:
> STMler schrieb:
>> Ja was denn nun: Echtzeit oder nicht? "Quasi" gibt es nicht...
>
> Echtzeit auch nicht.

Denke wir brauchen da jetzt keine Grundsatzdiskussion drüber anfangen. 
Wird wohl jeder Wissen, was damit gemeint ist ;-)

von K. J. (Gast)


Lesenswert?

Die sind doch viel zu überdemensioniert.

Ich würde auch nen ARM nehmen um Echtzeit Daten anzuzeigen und Graphisch 
auszuwerten ist schon etwas Leistung notwendig, wenn nebenbei noch die 
Steuerung weiterlaufen soll, würde auch was mit einem Cortex M3 
entfehlen.

z.b.

https://www.olimex.com/Products/ARM/ST/STM32-P103/
+
https://www.olimex.com/Products/Modules/Ethernet/MOD-ENC28J60/

oder nen esp-8266

Bei dem DEV-Bord ist dann auch gleich nen SD slot mit bei da kannst dann 
die Daten daraufschaufeln und die Weboberfläche, und der µC hat dann 
gleich noch nen Boot loder da sparst dir den JTAG zum Proggen.

von Ti M. (ti_m)


Lesenswert?

K. J. schrieb:
> Die sind doch viel zu überdemensioniert.
>
> Ich würde auch nen ARM nehmen um Echtzeit Daten anzuzeigen und Graphisch
> auszuwerten ist schon etwas Leistung notwendig, wenn nebenbei noch die
> Steuerung weiterlaufen soll, würde auch was mit einem Cortex M3
> entfehlen.
>
> z.b.
>
> https://www.olimex.com/Products/ARM/ST/STM32-P103/
> +
> https://www.olimex.com/Products/Modules/Ethernet/MOD-ENC28J60/
>
> oder nen esp-8266
>
> Bei dem DEV-Bord ist dann auch gleich nen SD slot mit bei da kannst dann
> die Daten daraufschaufeln und die Weboberfläche, und der µC hat dann
> gleich noch nen Boot loder da sparst dir den JTAG zum Proggen.


Klingt schonmal sehr interessant. Die Steuerung soll auf jeden Fall 
nebenbei weiterlaufen. Das Development Board soll auch nur dazu dienen, 
erstmal die Software zu entwickeln und zu schauen, ob es vom Konzept her 
so passt. Funktioniert das alles, möchte ich das das ganze dann auf ein 
eigenes Layout bringen.

von STMler (Gast)


Lesenswert?

K. J. schrieb:
> Die sind doch viel zu überdemensioniert.
>
> Ich würde auch nen ARM nehmen um Echtzeit Daten anzuzeigen und Graphisch
> auszuwerten ist schon etwas Leistung notwendig, wenn nebenbei noch die
> Steuerung weiterlaufen soll, würde auch was mit einem Cortex M3
> entfehlen.
>
> z.b.
>
> https://www.olimex.com/Products/ARM/ST/STM32-P103/
> +
> https://www.olimex.com/Products/Modules/Ethernet/M...
>
> oder nen esp-8266
>
> Bei dem DEV-Bord ist dann auch gleich nen SD slot mit bei da kannst dann
> die Daten daraufschaufeln und die Weboberfläche.


Also vom STM32F103 mit externem Ethernetcontroller würde ich ganz klar 
abraten. Kostet ja nicht weniger und ist deutlich leistungsschwächer. 
Von den anderen Nachteilen ganz zu schweigen.

Wenn Du viel Flash-Speicher für die GUI brauchst, dann kannst Du ganz 
simpel einen (billigen) Quad-SPI-Flash an die grossen (die auf den 
genannten Boards können das) STMs anklemmen und dann sogar Memory-Mapped 
ansprechen, als wäre es interner Flash. Je nach Frequenz-Einstellung 
hast Du dann Waitstates mehr, aber in der Software brauchst Du keine 
Klimmzüge zu machen wie bei einer SD-Karte.

von K. J. (Gast)


Lesenswert?

Ok hab nochmal geschaut für nen 10er mehr mit Ethernet, ist dann 
günstierer als das extra zu kaufen

https://www.olimex.com/Products/ARM/ST/STM32-P107/

Sonst selber bei Olimex mal durchklicken kann die Bords entfehlen und 
die Doku ist sehr gut zudem sind die recht weit verbreitet so das man an 
Infos recht schnell rankommt.

von W.A. (Gast)


Lesenswert?

STMler schrieb:
> Ja was denn nun: Echtzeit oder nicht? "Quasi" gibt es nicht...

Echte "Echtzeit" gibt es nicht. Es gibt nur Mindestanforderungen an die 
maximale Reaktionszeiten.

Vergiss das Schwarz-Weiss-Denken

von Ti M. (ti_m)


Lesenswert?

STMler schrieb:
> K. J. schrieb:
>> Die sind doch viel zu überdemensioniert.
>>
>> Ich würde auch nen ARM nehmen um Echtzeit Daten anzuzeigen und Graphisch
>> auszuwerten ist schon etwas Leistung notwendig, wenn nebenbei noch die
>> Steuerung weiterlaufen soll, würde auch was mit einem Cortex M3
>> entfehlen.
>>
>> z.b.
>>
>> https://www.olimex.com/Products/ARM/ST/STM32-P103/
>> +
>> https://www.olimex.com/Products/Modules/Ethernet/M...
>>
>> oder nen esp-8266
>>
>> Bei dem DEV-Bord ist dann auch gleich nen SD slot mit bei da kannst dann
>> die Daten daraufschaufeln und die Weboberfläche.
>
>
> Also vom STM32F103 mit externem Ethernetcontroller würde ich ganz klar
> abraten. Kostet ja nicht weniger und ist deutlich leistungsschwächer.
> Von den anderen Nachteilen ganz zu schweigen.
>
> Wenn Du viel Flash-Speicher für die GUI brauchst, dann kannst Du ganz
> simpel einen (billigen) Quad-SPI-Flash an die grossen (die auf den
> genannten Boards können das) STMs anklemmen und dann sogar Memory-Mapped
> ansprechen, als wäre es interner Flash. Je nach Frequenz-Einstellung
> hast Du dann Waitstates mehr, aber in der Software brauchst Du keine
> Klimmzüge zu machen wie bei einer SD-Karte.


Der Aussage mit dem externen Ethernet Controller stimme ich voll und 
ganz zu. Ich möchte nachher möglichst wenig externe Bauteile auf meinem 
Board haben. Da müssen sowieso noch 2 Messverstärker und ein Step 
Direction Treiber + H Bridge drauf mit entsprechen Transistoren und 
Kühlkörpern. Da will ich mir nicht noch die Arbeit mit einem externen 
Ethernet Controller machen zumal es mittlerweile ja eine ganze Menge uC 
mit integriertem gibt.

Ich danke euch allen aber auf jeden Fall schonmal für die Tipps. Ist 
einiges dabei was echt interessant aussieht. Habe auf jeden Fall für 
heute genug zum einlesen :-)

von Ti M. (ti_m)


Lesenswert?

W.A. schrieb:
> STMler schrieb:
>> Ja was denn nun: Echtzeit oder nicht? "Quasi" gibt es nicht...
>
> Echte "Echtzeit" gibt es nicht. Es gibt nur Mindestanforderungen an die
> maximale Reaktionszeiten.
>
> Vergiss das Schwarz-Weiss-Denken

Ich glaube jedem hier ist bewusst, dass es keine wirkliche 
Echtzeitsteuerung gibt, da selbst die schnellste Steuerung immer noch 
eine Verzögerung drin hat.

Trotzdem weiß denke ich jeder, was mit Echtzeit gemeint ist ;-) Und es 
ist ein gängiger Begriff.

Falls es dich beruhigt nenne ich es eben Microcontroller mit 
kleinstmöglicher Reaktionszeit. Besser?

von STMler (Gast)


Lesenswert?

K. J. schrieb:
> Ok hab nochmal geschaut für nen 10er mehr mit Ethernet, ist dann
> günstierer als das extra zu kaufen
>
> https://www.olimex.com/Products/ARM/ST/STM32-P107/


Auch hier wieder ein ST32F1er Controller. Der M7 kann dreimal so hoch 
takten, hat eine bessere interne Struktur, erheblich mehr Speicher (8mal 
soviel RAM!) und auch andere Funktionen, wieso also mehr ausgeben für 
weniger?


> Sonst selber bei Olimex mal durchklicken kann die Bords entfehlen und
> die Doku ist sehr gut zudem sind die recht weit verbreitet so das man an
> Infos recht schnell rankommt.


Hmmm, was ausser einem Schaltplan und den ST-Dokus braucht man denn 
noch?

von awzseddc (Gast)


Lesenswert?

Ti M. schrieb:
> 32-Bit Auflösung, weil meine beiden Sensoren einen Spannungsbereich von
> 10V haben.

Du willst also zwei analoge Spannungen mit jeweils einem ADC mit 32 Bit 
abtasten?

Extrem praxisfern.

awzseddc

von Ti M. (ti_m)


Lesenswert?

awzseddc schrieb:
> Ti M. schrieb:
>> 32-Bit Auflösung, weil meine beiden Sensoren einen Spannungsbereich von
>> 10V haben.
>
> Du willst also zwei analoge Spannungen mit jeweils einem ADC mit 32 Bit
> abtasten?
>
> Extrem praxisfern.
>
> awzseddc


Ich sehe das Problem nicht. Zwei Spannung, jeweils von einem ADC 
abgetastet und Softwareseitig bilde ich daraus eine Differenz. Anhand 
dieser Differenz wird mein Motor geregelt. Was wäre denn besser oder 
praxisnäher?

von awzseddc (Gast)


Lesenswert?

Ti M. schrieb:
> Ich sehe das Problem nicht. Zwei Spannung, jeweils von einem ADC
> abgetastet und Softwareseitig bilde ich daraus eine Differenz. Anhand
> dieser Differenz wird mein Motor geregelt. Was wäre denn besser oder
> praxisnäher?

Das ist schon OK, aber 32 Bit sind extrem praxisfern.

awzseddc

von Ti M. (ti_m)


Lesenswert?

awzseddc schrieb:
> Ti M. schrieb:
>> Ich sehe das Problem nicht. Zwei Spannung, jeweils von einem ADC
>> abgetastet und Softwareseitig bilde ich daraus eine Differenz. Anhand
>> dieser Differenz wird mein Motor geregelt. Was wäre denn besser oder
>> praxisnäher?
>
> Das ist schon OK, aber 32 Bit sind extrem praxisfern.
>
> awzseddc


Ich habe ja weiter oben erwähnt, dass 16 Bit auch reichen würden. 8-Bit 
wären definitiv zu wenig. Und mal ehrlich, mag vielleicht nicht nötig 
sein aber ein 32-Bit Controller kostet nun nicht die Welt. Wieso dann 
nicht mehr nehmen als man braucht :-P

Gibt auch genug Leute die ein 500PS Auto fahren. Brauchen tut man das 
auch nicht :-)

: Bearbeitet durch User
von STK500-Besitzer (Gast)


Lesenswert?

Ti M. schrieb:
> Wieso dann
> nicht mehr nehmen als man braucht :-P

Weil ein 32-Bit-ADC Mehraufwand bedeutet, den die Firma am Ende bezahlen 
muss, wenn das Ding in Serie geht. Das ist verschenktes Geld.

von Ti M. (ti_m)


Lesenswert?

STK500-Besitzer schrieb:
> Ti M. schrieb:
>> Wieso dann
>> nicht mehr nehmen als man braucht :-P
>
> Weil ein 32-Bit-ADC Mehraufwand bedeutet, den die Firma am Ende bezahlen
> muss, wenn das Ding in Serie geht. Das ist verschenktes Geld.

Wird eine einzelne Anfertigung bleiben. Von daher ist der finanzielle 
Mehraufwand doch recht überschaubar.

Hab es aber gerade nochmal durchgerechnet. Bei 16 Bit ist man schon bei 
einer Auflösung im 100uV Bereich. Ist eig. mehr als ausreichend, also 
ganz unrecht hast du nicht :-P

von STK500-Besitzer (Gast)


Lesenswert?

Ti M. schrieb:
> Hab es aber gerade nochmal durchgerechnet. Bei 16 Bit ist man schon bei
> einer Auflösung im 100uV Bereich. Ist eig. mehr als ausreichend, also
> ganz unrecht hast du nicht :-P

Hast du schon mal eine Schaltung mit einem 32Bit-ADC gebaut?
Das Drumherum ist auch nicht ohne...

von neuer (Gast)


Lesenswert?

Würfelst du hier etwas?

Meinst du
- eine int32_t-Operation pro Takt
oder
- 2.33nV analoge Auflösung
???

Da du eh von 10V auf den uC runter musst, kannst du auch die Subtraktion 
im Vorfeld per OP durchführen. Dann brauchst du nur noch einen ADC. 
16-Bit Auflösung ist auch nicht ohne, wenn es denn auch 16-Bit genau 
sein soll.

von Blechbieger (Gast)


Lesenswert?

Ti M. schrieb:
> awzseddc schrieb:
> Ti M. schrieb:
> Ich sehe das Problem nicht. Zwei Spannung, jeweils von einem ADC
> abgetastet und Softwareseitig bilde ich daraus eine Differenz. Anhand
> dieser Differenz wird mein Motor geregelt. Was wäre denn besser oder
> praxisnäher?
>
> Das ist schon OK, aber 32 Bit sind extrem praxisfern.
> awzseddc
>
> Ich habe ja weiter oben erwähnt, dass 16 Bit auch reichen würden. 8-Bit
> wären definitiv zu wenig. Und mal ehrlich, mag vielleicht nicht nötig
> sein aber ein 32-Bit Controller kostet nun nicht die Welt. Wieso dann
> nicht mehr nehmen als man braucht :-P
> Gibt auch genug Leute die ein 500PS Auto fahren. Brauchen tut man das
> auch nicht :-)

Du scheinst Datenwortbreite des Mikrocontrollers (sehr stark vereinfacht 
die Geschwindigkeit) und die Datenwortbreite des ADC (sehr stark 
vereinfacht die Auflösung) durcheinander zu bringen. Beide sind 
unabhängig von einander.

- es gibt keine MCU mit integriertem 32 Bit ADC
- externer wie AD7177-2 kostet 15 €
- 32 Bit Auflösung wären theoretisch 2,5 nV, real sind es aber eher 20 - 
24 Bit
- selbst das wären noch 10 uV
- deine Schrittmotoren erzeugen so viele Störungen das wahrscheinlich 
alles mit mehr als 12 Bit verschwendet wären

von Lothar (Gast)


Lesenswert?

Ti M. schrieb:
> Soll auf jeden Fall Echtzeitfähig sein
> 16-Bit würden es vielleicht auch noch tun

Mit durchdachter Programmierung lässt sich auch auf einem 8-Bit 8051 
harte Echtzeit erreichen. Zudem gibt es diese mit höher auflösenden ADC 
als ARM z.B.

http://www.silabs.com/products/mcu/8-bit/efm8-laser-bee/Pages/efm8-laser-bee-starter-kit.aspx

Einfacher ist es natürlich mit mehreren Kernen die separat programmiert 
werden und über gemeinsames RAM Daten austauschen. Ein Ansatz ist hier 
ein Cortex M4 mit mehreren Cortex M0 z.B. LPC4370: dann macht ein M0 den 
ADC, ein anderer Schnittstellen, und der M4 die Motorsteuerung. Der 
integrierte 12-Bit ADC mit 80 MSPS sollte durch Oversampling für Deine 
Anwendung reichen.

http://www.mikrocontroller.net/part/LPC4370
http://www.embeddedartists.com/products/lpcxpresso/lpclink2.php
https://community.nxp.com/thread/389142

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
Noch kein Account? Hier anmelden.