Forum: Mikrocontroller und Digitale Elektronik Suche geeignete Simulationssoftware


von Daniel B. (daniel-b)


Lesenswert?

Hi Leute,

ich habe folgendes Problem:
Ich habe keine Ahnung von Elektronik und kann auch nicht löten oder 
ätzen oder sonstwas, muss aber einen Bauplan für eine Maschine 
entwickeln.

Daher suche ich eine Simulationssoftware, mit der ich mich in das Thema 
Mikrocontroller und Platienen einarbeiten kann.

Ich besitze folgende Skills:
-Ich kann gut C++ programmieren
-Ich kann mit ein paar Gattern in AWL und FUP Schaltungen bauen: AND, 
NAND, XOR, OR, NOR, RS-FlipFlop.

Ich weiß, dass ist nicht die perfekte Ausgangslage für mein Problem, 
aber doch bestimmt besser als nichts.
Also meine Maschine soll auf Grund von Messdaten komplizierte 
Algorithmen durchlaufen (daher bräuchte ich was, auf dem ich mit C++ 
Klassen arbeiten kann) und daraufhin bestimmte Sachen in Gang setzen, 
jedoch nicht nur An oder Aus, sondern auf Grund des vom Algorithmus 
berechneten Wertes eine Dosierung vornehmen. So wie ein Regelkreis.

Mit welchen Bauteilen bzw. Simulatoren könnte ich soetwas realisieren?

Ich bin wirklich sehr dankbar für jede Hilfestellung!

MfG
Daniel

von Tom (Gast)


Lesenswert?

versuchs mal mit nem passendem Studium.

von Daniel B. (daniel-b)


Lesenswert?

Versuchs mal mit einer passenden Antwort. Die hat nämlich weder mir noch
dir etwas gebraucht.

Man braucht kein Studium um einen Plan eines Regelkreises zu entwerfe,
der ein in C++ programmierbares Element enthält. So viel weiß ich dann
schon darüber. Die Frage war ja letztendlich nur nach der passenden
Technologie, also "Womit setzte ich soetwas am besten um? Sind AVR dafür
geeignet oder doch eher was anderes?", und dem dafür empfehlenswerten
Simulationsprogramm.

von ChrisV (Gast)


Lesenswert?

Nehme nen PC. Da kannst du schön in C++ programmieren und hast die 
nötige Power für deine Algorithmen. Fehlt dann nur noch der Teil, der 
die Messwerte digitalisiert und die Steuersignale ausgibt. Dafür gibts 
aber Einsteckkarten für PC's, die du dann mit deinem C++ Programm 
ansteuern kannst. Ich meinte so Dinger mal beim großen C im Katalog 
entdeckt zu haben.
Viel Spass

von Klaus (Gast)


Lesenswert?

Ich glaube du suchst weniger eine Software sondern die passende Hardware 
für dein Problem. Es gibt von verschiedenen Herstellern passende 
Hardware
die du über dei C Programm ansprechen kannst.

Schaue dir einmal die Geräte USB-3100-Serie von der Firma Plugin an.
http://www.plug-in.de

Ein anderer Anbieter wäre die Fa. Meilhaus
http://www.meilhaus.de/messkarten/index.htm

mfg Klaus


von Daniel B. (daniel-b)


Lesenswert?

Danke für die Antworten!

Über den PC kann ich das nicht regeln, weil die Maschiene möglichst 
klein sein soll. So ein Tower ist da viel zu unhandlich und ein Laptop 
(eigentlich auch und) lässt sich nicht richtig mit den anderen 
Komponenten verbinden. Ein PocketPC lässt sich ebensowenig mit den 
Komponenten verbinden.

Zu dem was ich suche: Also im Grunde Hard- UND Software. Erstmal brauch 
ich einen Chip, den ich in C++ programmieren kann oder für den es einen 
C++ Compiler gibt. Damit will ich dann einen Bauplan für ne Platine 
entwerfen. Aber ich brauch die Hardware nicht selbst, sondern (wenn ich 
weiß was ich benutzen kann) die Simulationssoftware davon, um meine 
Platine zu entwickeln. Denn ich bin selber kein Mensch für die Praxis. 
Ich wäre mit dem ganzen löten usw. total überfordert, daher entwerfe ich 
nur den Plan. Aber um zu testen ob der Plan funktioniert, brauch ich 
eben die Simulationssoftware.

Sollte es jedoch so sein, dass es keinen Chip gibt, den ich so einfach 
in C++ programmieren kann, kann ich da auch zur Not Abstriche machen und 
auf C umsteigen, wird etwas umständlich, aber die Chance ein bereits 
fertiges Gerät als Hirn der Maschine zu nehmen habe ich nicht.

von Εrnst B. (ernst)


Lesenswert?

Die Atmels kann man alle in C++ Programmieren, mit dem GCC.

Allerdings muss man sich bei C++ schon etwas einschränken, da die 
Hardware einfach etwas "klein" ist.

Also stl-Container sind warscheinlich schon zuviel des Guten, bei 
Parameterübergabe aufpassen, dass keine unnötigen Copy-Konstruktoren 
aufgerufen werden, etc.

/Ernst

von Daniel B. (daniel-b)


Lesenswert?

Hmm, schade da ich sehr gern mit STL Vectoren arbeite, aber das ist 
letztendlich immernoch mehr als ich mir erhofft hatte. Das ist echt 
Prima.
Also Klassen kann ich auch definieren?

Ich lade mir gerade das AVR Studio 4 und WinAVR runter. Mal sehen ob ich 
damit klar komme. Kann ich damit auch die AVRs mit anderen virtuellen 
Bauteilen (Messgeräte oder LCDs) verbinden und die Funktionalität der 
Schaltung prüfen/simulieren?

von Falk (Gast)


Lesenswert?

@Daniel Beckmann

>Zu dem was ich suche: Also im Grunde Hard- UND Software. Erstmal brauch
>ich einen Chip, den ich in C++ programmieren kann oder für den es einen
>C++ Compiler gibt. Damit will ich dann einen Bauplan für ne Platine

AVR z.B.

>entwerfen. Aber ich brauch die Hardware nicht selbst, sondern (wenn ich
>weiß was ich benutzen kann) die Simulationssoftware davon, um meine
>Platine zu entwickeln. Denn ich bin selber kein Mensch für die Praxis.

Ach so. Und DU sollst/willst die Maschine entwickeln, ohne 
Praxiserfahrung und Bezug?
Gewagter Ansatz.

>Ich wäre mit dem ganzen löten usw. total überfordert, daher entwerfe ich
>nur den Plan. Aber um zu testen ob der Plan funktioniert, brauch ich
>eben die Simulationssoftware.

Und du meinst wenn die Simulation läuft, läuft auch das reale Gerät? Du 
musst noch einges lernen.

auf C umsteigen, wird etwas umständlich, aber die Chance ein bereits
fertiges Gerät als Hirn der Maschine zu nehmen habe ich nicht.

Was heisst "fertiges Gerät" Es gibt Evaluation-Boards, die laufen 
bereits. Es gibt viele IOs und und und. Die müssen "nur" angeschlossen 
und programmiert werden.

MFG
Falk

von Falk (Gast)


Lesenswert?

@Daniel Beckmann

>damit klar komme. Kann ich damit auch die AVRs mit anderen virtuellen
>Bauteilen (Messgeräte oder LCDs) verbinden und die Funktionalität der
>Schaltung prüfen/simulieren?

Nein.

Was du suchts ist eher LabView. Aber eine erfolgreiche Simulation heisst 
nochlange keine funktionierede HArdware.

MfG
Falk

von Daniel B. (daniel-b)


Lesenswert?

D.h. wenn in der Simulation alles Prima funktioniert und die Schaltung 
wirklich 1 zu 1 umgesetzt wird (ohne irgendwelche Fehler wie z.B. n 
Kabel nicht richtig anlöten) besteht immernoch eine (scheinbar doch 
schon größere) Chance, dass die Schaltung nicht funktioniert? Das 
versteh ich nicht. Wozu gibts dann die Simulationsprogramme? Zugegeben, 
das klingt nicht optimal, aber ich werds trotzdem versuchen.

Mit "fertiges Gerät" meinte ich nun die Dinge die ich vergessen hatte zu 
nennen, wie z.B. Blackb. Palm, PDA oder sonstwas. Natürlich, wenn die 
Platine klein genug ist, könnte ich vorgefertigte Boards nutzen, doch 
das möchte ich nicht.

Danke für den Tip mit Labview, werde dann auch mal danach suchen.

MfG
Daniel

von Falk (Gast)


Lesenswert?

@Daniel Beckmann

>D.h. wenn in der Simulation alles Prima funktioniert und die Schaltung
>wirklich 1 zu 1 umgesetzt wird (ohne irgendwelche Fehler wie z.B. n

Das 1:1 ist manchmal gar nicht so einfach.

>Kabel nicht richtig anlöten) besteht immernoch eine (scheinbar doch
>schon größere) Chance, dass die Schaltung nicht funktioniert? Das

Der Erfolg einer Simulation steht und fällt mit der Übereinstimmung der 
Modelle bzw. dere Parameter mit der Realität.

>versteh ich nicht. Wozu gibts dann die Simulationsprogramme? Zugegeben,

Die haben schon ihren Sinn, aber man muss einige grundlegenden Dinge 
wissen und beachten.

MFG
Falk

von Daniel B. (daniel-b)


Lesenswert?

Achso.

Ok, habe abschließen noch ein paar Verständnissfragen:
-Kann ich Programme die ich im AVR Studio geschrieben habe in Labview 
benutzen?
-Kann Labview auch solche Pläne generieren:?
http://www.cinetix.de/avise/a168circ.gif
-Gibt es eine Trial Version von Labview?

von Falk (Gast)


Lesenswert?

@Daniel Beckmann

>-Kann ich Programme die ich im AVR Studio geschrieben habe in Labview
>benutzen?

Nein.

>-Kann Labview auch solche Pläne generieren:?
>http://www.cinetix.de/avise/a168circ.gif

Du meinst Schaltpläne? Nein, dafür braucht man einen Schaltplaneditor. 
verblüffend, was?

http://www.mikrocontroller.net/articles/Eagle

>-Gibt es eine Trial Version von Labview?

Keine Ahnung.
http://www.ni.com/products/d/

Und du bist sicher, dass DU eine Maschinensteuerung entwerfen willst.
Mal eine Frage, in welchem Rahmen läuft das? Bist du 
Praktikant/Werkstudent oder schon richtiger Angestellter?

MfG
Falk

von Daniel B. (daniel-b)


Lesenswert?

Ja ich bin sicher. Und nun hör auf mich zu necken, ich weiß ja dass ich 
(noch) n N00b auf dem Gebiet bin, doch ich bin nicht lernunfähig. Also 
ich kann AVR Studio Programme nicht im Labview nutzen und aus einem 
anderen Thread weiß ich, dass in Labview selber keine AVRs programmiert 
werden können bzw. das wohl ziemlich schlecht ist und sowieso nicht in 
C/C++ läuft. Wieso sagtest du dann, dass ich soetwas wie Labview suche? 
Was hab ich dann davon? Mittlerweile seh ich mich schon fast am 
Lötkolben rumhantieren :( Irgendwie scheint das dann ja wohl nicht so zu 
funktionieren mit der Simulation, wie ich mir das gedacht hatte.

von Falk (Gast)


Lesenswert?

@Daniel Beckmann

>C/C++ läuft. Wieso sagtest du dann, dass ich soetwas wie Labview suche?

>>damit klar komme. Kann ich damit auch die AVRs mit anderen virtuellen
>>Bauteilen (Messgeräte oder LCDs) verbinden und die Funktionalität der
>>Schaltung prüfen/simulieren?

Mit LabView kann man Messgeräte steuern, und damit grosse 
Anlagensteuerungen aufbauen. Zu Testzwecken kann man die Messgeräte auch 
virtualisieren, d.h. man kann die Steuerung ohne reale Messgeräte 
betreiben, das Verhalten wird in Software simuliert.

>Was hab ich dann davon? Mittlerweile seh ich mich schon fast am
>Lötkolben rumhantieren :( Irgendwie scheint das dann ja wohl nicht so zu

Der Lötkolben kommt so oder so erst am Schluss. Du musst erstmal wissen 
was du willst und herausfinden, welche Technologie dazu geeignet ist.

MfG
Falk

P.S. Wie ist denn nun dein Status? Student oder Angestellter?

von Daniel B. (daniel-b)


Lesenswert?

>>>damit klar komme. Kann ich damit auch die AVRs mit anderen virtuellen
>>>Bauteilen (Messgeräte oder LCDs) verbinden und die Funktionalität der
>>>Schaltung prüfen/simulieren?
>
> Mit LabView kann man Messgeräte steuern, und damit grosse
> Anlagensteuerungen aufbauen. Zu Testzwecken kann man die Messgeräte auch
> virtualisieren, d.h. man kann die Steuerung ohne reale Messgeräte
> betreiben, das Verhalten wird in Software simuliert.

Ja aber meine Maschine soll ja Daten messen, dann mit diesen Daten einen 
Algorithmus durchlaufen und je nach Ergebnis des Algorithmuses 
verschiedene Ventile für eine gewisse Zeitspanne öffnen oder schließen. 
Dazu brauch ich den Algorithmus auf dem AVR, wenn Labview den nicht 
realisieren kann, und dazu auch keinen Schaltplan generieren kann, kommt 
mir das für meine Zwecke fast sinnlos vor.

Also ich bin (nun wird mir hier wohl keiner mehr antworten g) 
Biologie-Student. Komme aber von einem Technischen Gymnasium und konnte 
auch schon vorher gut programmieren. Nun möchte ich gerne für Botanik 
diese Maschine entwerfen, die eine Pflanze versorgen soll (in einer 
Glaskuppel). Dazu muss die Zusammensetzung der Atmosphäre gemessen 
werden und die feuchtigkeit der Erde usw. Je nachdem was und wie viel 
benötigt wird, ob Wasser, Dünger oder Sauerstoff, soll die Maschine der 
Pflanze das über Ventile zuführen. Dabei soll die Maschiene jedoch nicht 
zu groß sein. Wie ich das Messen und umrechnen realisiere, dabei können 
mir an der Uni welche helfen, doch das Herzstück, also die Platine mit 
dem AVR muss ich nunmal selbst entwerfen. Ich bin auch nicht faul und 
will hier alles vorgesetzt bekommen. Lese z.B. gerade dieses Buch:
http://www.rowalt.de/mc/avr/avrbuch/cover.png
Aber ein paar Grundinformationen wie ich meinen Plan am besten 
realisiere brauch ich schon.

von anworter (Gast)


Lesenswert?

> Aber ein paar Grundinformationen wie ich meinen Plan am besten
> realisiere brauch ich schon.

...und ich möchte gerne ein Auto - ein Amphibiencabrio.... ich habe 
sogar schon einen Führerschein.

Jetzt muß ich nur wissen, welche Teile ich brauch und wie ich die 
verbinden muß - fahren kann ich es dann selbst...

...kann mir denn keiner helfen, bitte ???



;-)

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

>Nun möchte ich gerne für Botanik diese Maschine entwerfen, die eine >Pflanze 
versorgen soll (in einer Glaskuppel).

Endlich mal etwas, womit mal als Entwickler etwas anfangen kann (Die 
Aufgabenstellung!).

Du wirst für die einzelnen Sachen, die du bei der Blume messen willst, 
einen Sensor haben. Dazu müsste ein Botaniker sagen können, wie man was 
misst.
Als Stellglieder kann man dann irgendwelche Ventile nehmen oder sich was 
spezielles (preiswertes) ausdenken.
Wie schnell muß die Regelung denn sein? Stunden? Tage?
Das sollte ein AVR hinbekommen...Man kann notfalls auch noch UV-LEDs 
schalten...
http://www.lumitronixforum.de/viewtopic.php?t=429

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

>ein Amphibiencabrio....
Sowas gibt es von Playmobil... musst du nur noch mit dem Spirograph 
vergrössern.

von Ulrich (Gast)


Lesenswert?

ich habe zwar damit noch nicht gearbeitet aber ich denke du könntest 
damit glücklich werden: (Allerdings Bereitschaft für Linux und Geld 
ausgeben müssen vorhanden sein)

kaufe dir ein Foxboard. Das Hat Netzwerk/USB und zig schnittstellen

von Bri (Gast)


Lesenswert?

1. Für deine Aufgabe brauchst du kein C++

2. Nur weil man irgendwas studiert hat, bedeutet das nicht, dass man 
Regelungstechnik, Schaltungsdesign etc. mal fix in ein paar Stunden 
lernen kann. Da gehört schon etwas mehr dazu.

3. 2-Punkt Regler werden wohl das einzige sein, was du mit dem Wissen 
vom Technischen Gymnasium bauen kannst. Das würde hier aber auch 
reichen.

-> Such mal die Elektrotechnische Fakultät an deiner Uni und lass das 
von denen entwerfen und bauen. Die kennen sich damit aus.

Falls du das nicht willst, dann findest du hier was passendes 
http://www.c-control.de

Passende Sensoren und Aktoren müsstest du natürlich auch noch finden.

von tom (Gast)


Lesenswert?

Wieso keine SPS?
Gut dem widersprechen "komplizierte Algorithmen", aber "kompliziert" ist 
ja relativ. Ich denke, dass man die Aufgabe mit Sicherheit mit einer 
kleinnen SPS gelöst bekommt. Vielleicht sogar eine C-Control.

Alles andere, was in die Richtung Selbstbau geht, ist für zum Scheitern 
verurteilt. Da kann ich "Bri" nur zustimmen.

von Falk (Gast)


Lesenswert?

@Daniel Beckmann (daniel-b)
Datum: 18.01.2007 15:03

>Dazu brauch ich den Algorithmus auf dem AVR, wenn Labview den nicht

Also zuerst wolltest du SIMULATIONSSOFTWARE. Siehe Topic.

>diese Maschine entwerfen, die eine Pflanze versorgen soll (in einer

Wir sind BORG! ;-)

>will hier alles vorgesetzt bekommen. Lese z.B. gerade dieses Buch:
>http://www.rowalt.de/mc/avr/avrbuch/cover.png

Schon mal ein ganz guter Anfang.

>Aber ein paar Grundinformationen wie ich meinen Plan am besten
>realisiere brauch ich schon.

Das muss man aber brauchbar kommunizieren!

Also. In deinem Fall könnte man a) ein fwertiges AVR Evaluationboard 
nehemen oder b) selber einen ATmega 16 oder so auf eine kleine Platine 
bringen und dort sämtliche IO dranhängen. Dem AVR kann man in Assembler 
(AVR Studio) oder C (WinAVR) programmieren.

MFG
Falk

von Daniel B. (daniel-b)


Lesenswert?

>Wie schnell muß die Regelung denn sein? Stunden? Tage?

Die Regelung soll für einige Dinge auch im Minutenbereich liegen, also 
schnell.

>kaufe dir ein Foxboard. Das Hat Netzwerk/USB und zig schnittstellen

Wie ich bereits sagte möchte ich keine vorgefertigte Platine nehmen.

>1. Für deine Aufgabe brauchst du kein C++

Tz, woher willst du wissen auf welche Weise ich die Daten verknüpfen 
will. Ein Teil des Algorithmus ist bereits fertig und ich brauche C++ 
oder C weil ich keine 700 C++ Zeilen mal eben so in ASM umcoden kann. 
Ich bin sogar am überlegen ob der ganze Algo überhaupt auf den AVR 
passt, oder ich da beim Algo absprecken muss.

>2. Nur weil man irgendwas studiert hat, bedeutet das nicht, dass man
>Regelungstechnik, Schaltungsdesign etc. mal fix in ein paar Stunden
>lernen kann. Da gehört schon etwas mehr dazu.

Na und? Hab ich behauptet, dass ich um 20:00Uhr fertig sein will? Lass 
mich doch lieber entscheiden, ob ich damit fertig werde oder nicht ;)

>Wieso keine SPS?

1. Will ich die Platine selber erstellen. 2. Ist ne SPS nicht billig. 3. 
Kann ich zwar ne SPS in AWL, FUP und KOP programmieren, aber ich hab 
dafür nie eine C/C++ Schnittstelle gefunden.

>Alles andere, was in die Richtung Selbstbau geht, ist für zum Scheitern
>verurteilt. Da kann ich "Bri" nur zustimmen.

Ja das stimmt wohl, wahrscheinlich konnte Bri schon seit der Geburt 
Platinen bauen, vom lernen scheinen hier ja viele nochnie was gehört zu 
haben. Wenn mich jemand fragen würde wie man ne Protoplastenfusion 
durchführt würd ich dem auch nicht schreiben "Öh das kriegste eh nicht 
hin also lass es!".


>b) selber einen ATmega 16 oder so auf eine kleine Platine
>bringen und dort sämtliche IO dranhängen. Dem AVR kann man in Assembler
>(AVR Studio) oder C (WinAVR) programmieren.

Das habe ich ja nun auch schon seit mehreren postings vor. Ich brauch 
nur eben irgend ne Kontrolle um zu sehen, dass das ganze auch 
funktioniert. Aber mittlerweile hab ich festgestellt, dass so wie ich 
sie mir vorgestellt hatte, keine Simulationssoftware existiert (die das 
AVR Programm umsetzten kann UND verschiedene Teile wie LCD und ein paar 
Ventile simulieren kann).
Ein weiteres Problem das ich sehe ist die Geschwindigkeit der AVRs, ich 
weiß nicht ob sie den gewünschten Algo packen. Je mehr ich mich damit 
auseinander setzte, desto unsicherer werde ich ob das der richtige 
Ansatz ist.

von Ulrich (Gast)


Lesenswert?

Du sagst die Regelung soll schnell sein. z.B. 1Min. Weißt du wie 
ewigviel Zeit 60Sekunden sind? Da kann ein AVR mit 20MHz 12000000 
Befehle ausführen. Und damit jetzt nimand sagt das ein paar Befehle 
länger dauern wie die anderen habe ich auch angenommen das jeder 
C-Befehl in 10Takten abgearbeitet wird.

Den Algo zeigst du mir jetzt wo das nicht schafft....

von Daniel B. (daniel-b)


Lesenswert?

Z.B. die Lernphase von Backpropagation. Der eigentliche Durchlauf zum 
Regeln, den schafft der AVR bestimmt in der Zeit von 30s bis 1min, aber 
die Lernphasen dazwischen benötigen einfach viel mehr. Daher überlege 
ich, ob ich die Lernphasen soweit runtertakten müsste bzw so viele 
Delays einbauen müsste, dass der AVR Jahre zum Lernen braucht, dann 
könnte ich mir den Backprop Algo gleich schenken und müsste eben selber 
nach den idealen Verhältnissen suchen. Anders ersparrt es mir jedoch 
sehr viel Arbeit. Um dir nochmal genau klarzumachen was ich meine: Die 
Lernphasen schlucken was sie kriegen können, die haben auch bei nem 4Ghz 
Rechner ne Auslastung von 100% (natürlich nur wenn man kein einziges 
Delay einbaut).

von Basti (Gast)


Lesenswert?

Moment mal, 4GHz mit 100% auslastung um BLUMEN ZU GIESSEN?????????????

Sorry aber ich glaube da musst du schon nen etwas dickeres kalieber als 
nen AVR nehmen

von Ulrich (Gast)


Lesenswert?

Ich kann mir auch einen Spamfilter programmieren der dann meinen Rechner 
zu 100% auslastet und immer die gleichen 10emails durchscannt.

Aber es würde auch reichen wenn ich jede email nur einmal scanne.

Du willst doch eigentlich nur einen Regler aufbauen und ihn dann mit 
diesem Algo perfekt anlernen damit die Pflanzen perfekt gegossen 
werden???

Aber was willst du die ganze zeit rumrechnen? innerhalb von wenigen 
Sekunden ändert sich nicht schlagartig die ganze Biosphäre in deinem 
Glaskasten...

von Martin (Gast)


Lesenswert?

Der Algo wird wohl auf 'nem µC nicht unterzukriegen sein. Muß es denn 
wirklich so eine komplizierte Art der Regelung sein? Sagt Dir ein PID 
Regelkreis was? An sonsten bleibt Dir wohl nur, einen PC zum rechnen 
abzustellen, als schnittstelle zu den Sensoren kann dann ein µC dienen.
Dein Algo klingt auch so, als ob er auf 'nem ziemlich großen set von 
Daten Arbeitet. In welcher Dimension bewegen sich die zu speichernden 
Daten denn?

Was die Hilfe bei der Hardware angeht, so wär es vielleicht sinnvoll, 
wenn Du mehr über die Sensoren und Aktoren an informationen mitteilen 
könntest, dann kann man schauen, wie dort die Ansteuerung läuft, was Du 
an Schnittstellen oder IO Pins brauchst.

von Εrnst B. (ernst)


Lesenswert?

Wenns unbedingt ein NN fürs Blumengiessen sein soll:

Trainieren auf dem PC, und nur die Auswertung auf dem µC packen.

Nächster Punkt: ohne vernünftige Float Performance wird das auswerten 
recht langsam, besonders wenn da noch sigmoid-aktivierungsfkt. etc dabei 
sind. Besser nen µC nehmen, der mit Floats besser klar kommt als ein 
8bitter.
z.B. Diverse ARMs mit FPU. Die kommen auch mit C++ besser klar.

Oder, wenns ganz schnell regeln soll: Dein vortrainiertes Netz in einen 
FPGA packen, der kann dann auch alle Knoten simultan auswerten.

/Ernst

von Daniel B. (daniel-b)


Lesenswert?

Ulrich wrote:
> Du willst doch eigentlich nur einen Regler aufbauen und ihn dann mit
> diesem Algo perfekt anlernen damit die Pflanzen perfekt gegossen
> werden???

Nicht nur das gießen, aber ja so mein ichs.

> Aber was willst du die ganze zeit rumrechnen? innerhalb von wenigen
> Sekunden ändert sich nicht schlagartig die ganze Biosphäre in deinem
> Glaskasten...

Das ist auch gut so, sonst müsste ich nämlich wirklich n PC nehmen. Aber 
das hängt auch sehr von der Pflanze ab. Bei einer Kalluskultur z.B. 
können Änderungen schon Recht schnell passieren.

> Was die Hilfe bei der Hardware angeht, so wär es vielleicht sinnvoll,
> wenn Du mehr über die Sensoren und Aktoren an informationen mitteilen
> könntest, dann kann man schauen, wie dort die Ansteuerung läuft, was Du
> an Schnittstellen oder IO Pins brauchst.

Das lässt sich noch nicht so genau sagen. Aber es werden wohl ca. 6-8 
Sensoren sein, die z.T. zusammenarbeiten um erstmal den Wert 
auszurechnen den ich brauche. Und naja bei den Aktoren bin ich mir nicht 
so sicher. Ich schätze so ca 10. Kann sich aber im extremfall auf bis zu 
30 steigern. Kommt drauf an wie gut das alles Funktioniert.
Über die Sensoren selber kann ich wenig sagen, ich weiß nochnicht genau 
welche Sensoren ich brauche. Was die Aktoren angeht sind das alles ein 
und auslass Ventile.


> Trainieren auf dem PC, und nur die Auswertung auf dem µC packen.

Ich weiß nicht ob das so einfach ist. Tower ist wie gesagt schlecht, 
wenn überhaupt n Laptop, aber krieg ich die Daten denn von den µC über 
die USB-Schnittstelle auf den Laptop übertragen? Obwohl doch, das sollte 
doch eigentlich gehen oder? Aber naja....mitem Laptop ins Labor ist auch 
nicht das tollste.

> Nächster Punkt: ohne vernünftige Float Performance wird das auswerten
> recht langsam, besonders wenn da noch sigmoid-aktivierungsfkt. etc dabei
> sind. Besser nen µC nehmen, der mit Floats besser klar kommt als ein
> 8bitter.
> z.B. Diverse ARMs mit FPU. Die kommen auch mit C++ besser klar.

Klingt logisch, könntest du mir da was empfehlen?

von Bri (Gast)


Lesenswert?

Ich glaub du gehst die Sache viel zu kompliziert an. Sag uns doch 
erstmal, welche Mess- und Regelgrößen du hast. Hier sind so viele 
Regelungstechniker im Forum, die können dir mit Sicherheit was 
sinnvolleres als ein neuronales Netz entwerfen.

Ein neuronales Netz ist eigentlich das letzte Mittel zu dem der 
Regelungstechniker nur im äußersten Notfall greift. Du weißt z.B. nie 
genau, was das neuronale Netz eigentlich gelernt hat, auch wenns im 
ersten Moment zu funktionieren scheint. Genaugenommen ist das angelernte 
neuronale Netz auch nichts anderes als eine große Tabelle.

Hier ein passendes Zitat von Sergei Koroljow:

„Die Genialität einer Konstruktion liegt in ihrer Einfachheit. 
Kompliziert bauen kann jeder.“

von Daniel B. (daniel-b)


Lesenswert?

Nein im Gegenteil, ein KNN ist die einfachste Methode, die mir im 
Nachhinein am meisten Arbeit ersparrt. Außerdem ist das Gebiet der KNN 
sozusagen mein Steckenpferd. Ohne KNN bringt mir der ganze Aufbau 
nichts, dann kann ich es auch per Hand machen. Ich will damit ja für 
bestimmte Pflanzen die idealsten Vorraussetzungen finden.


Was die Regelgrößen angeht:
Ich versteh echt nicht wozu das wichtig für den Kern sein soll, 
letztenendes kommen alle Werte als Datenstrom von den jeweiligen 
Messgeräten an, egal welches Messgerät das ist. Wie viele es ungefair 
werden also IO das habe ich ja schon angedeutet. Ca. 6-8 Input und 10 
Output. Basieren soll das ganze natürlich auf Floatwerten, sonst ist da 
ja mit nem KNN wenig zu reißen.
Welche Zentrale Verwaltungseinheit würde man dafür verwenden?
Also nachdem ich nun so viele Antworten von euch gelesen habe die z.T. 
auch wirklich hilfreich waren, Danke nochmal, denke ich es ist irgendwie 
doch am Besten wenn ich das über den Laptop regele.
Aber da bräuchte ich dann nochmal kurz Auskunft mit welchem uC ich am 
besten die Daten die er erhält, über USB an den Rechner übertrage und 
die Daten vom Rechner zurück an den uC sende. Der uC sollte dann sehr 
stabil laufen, und dementsprechen auch die Inputs der 8 Messgeräte und 
des USB sowie die 10 Ausgänge (+ den USB ebenfalls als Ausgang?) 
verwalten können. Das ganze natürlich auf Floatbasis.

von Sascha (Gast)


Lesenswert?

Die Art der Sensoren/Aktoren ist wichtig, da hier ja keiner weiß, ob das 
kleine Sensoren sind die man an einen AD-Converter-Port anschließen 
muss, oder ob die Daten bereits digital, und wenn digital in welcher 
Form, anliegen bzw bei den Aktoren anliegen müssen.

von Bri (Gast)


Lesenswert?

Wenn du unbedingt ein neuronales Netz nehmen willst, dann ist der Laptop 
wirklich die beste Lösung. Dann brauchst du auch keinen Mikrocontroller. 
Die Daten kannst du mit den entsprechenden Geräten direkt über USB 
einlesen und ausgeben.

Hier könntest du mal nachschaun, ob sich das richtige für deine Sensoren 
findet:

http://www.ni.com/dataacquisition

von Daniel B. (daniel-b)


Lesenswert?

Naja, das mit dem direkten Anschließen wird kaum vernünftig 
funktionieren, da brauch ich dann schon n 18 Port USB-Hub, und die 
Dinger laufen meist nicht sehr stabil.

@Sascha:
Ich kann doch an alle nicht digitalen Teile n AD-Converter vorschalten 
und den dann mit dem uC verbinden.

von Falk (Gast)


Lesenswert?

@Daniel Beckmann

>@Sascha:
>Ich kann doch an alle nicht digitalen Teile n AD-Converter vorschalten
>und den dann mit dem uC verbinden.

Viele uC, so auc die AVR, haben bereits AD-Wandler integriert.
Nochmal zum Thema "schnell". Du hast KEINE reale Vorstellung, wie 
schnell ein uC ist. Die AVRs, können teilweise ein Video-Testsignal 
erzeugen, in Echtzeit. Das ist hundertmal schneller, als es deine 
Gehächshausteuerung braucht. Glaub mir.

Zum Thema Programmgrösse. Die AVRs haben mittlerweile bis zu 256 kB 
FLASH, das muss man erstmal sinnvoll mit Inhalt füllen. Für dich tuts 
wahrscheinlich ein MEGA32 (32 kB) oder MEGA64 (64kB).

MFG
Falk

von 1001. Rahul (Gast)


Lesenswert?

>Ich kann doch an alle nicht digitalen Teile n AD-Converter vorschalten
>und den dann mit dem uC verbinden.

Diverse Controller haben AD-Wandler schon integriert.
(Nur so zur Info)

Ich würde sagen, du klammerst dich zu sehr an deine C++-Kenntnisse.(Eine 
Feststellung meinerseits...)

Wenn jemand danach fragt, wie du was messen willst, steckt da meistens 
ein gewisses Eigeninteresse hinter (die meisten, die sich hier 
rumtreiben lernen auch ganz gerne was dazu...), aber auch das Interesse, 
dem Fragenende Hilfestellungen zu geben.
Wenn dich bspw. die Temperatur und die rel. Luftfeuchte in deine 
Biosphäre interessiert, wirst du diese irgendwie messen müssen.
Dazu gibt es Sensoren, die diese Grössen messen und digital zur 
Verfügung stellen.
Bodenfeuchte sollte man wegen der Elektroklyse mit einer Wechselspannung 
messen.

Manchmal ist es halt einfach so, dass sich der Fragesteller in irgendwas 
"verrannt" hat, und jemand mit mehr Erfahrung den Fragesteller (zurück) 
auf den "richtigen" Weg bringen will, in dem er Gegenfragen stellt oder 
die eigentliche Idee als "nicht wirklich gut" bezeichnet.
Werde dir darüber klar, welche Eingangsgrössen du hast, wie du sie 
messen willst (Sensoren), wie die Sollwerte aussehen und wie du die 
Abweichung zwischen Ist und Soll einstellen kannst (Ventile...).
Alles über einen PC zu steuern ist vermutlich etwas "oversized".

Falls du schon weißt, womit (Gerät/Sensor) du was messen willst, 
solltest du das mal hier reinschreiben.

von OliverSo (Gast)


Lesenswert?

Zurück zu Ausgangsfrage: Natürlich gibt es Simulationssoftware, die das 
alles kann. Z.B. das oben genannte LabView. Oder auch Matlab/Simulink. 
Mit diesen Programmen kann man ALLES simulieren, von der Eieruhr bis zum 
Spaceschuttle. Du kannst auch deinen echten Mikroprozessor dranklemmen, 
und nur die Umwelt simulieren. Es geht alles, wenn man weiss, wie.
Leider gibt es diese Programme nicht für lau, die kosten richtig feste 
Geld, und wenn man sie hat, braucht es noch ein paar Jährchen, um die 
dann auch benutzen zu können. Etwas einfacher gestrickt ist vmlab, aber 
auch das erfordert jede Menge Gehirnschmalz.

Und das alles für ein paar zeitunkritische Regelalgorithmen und 'ne 
handvoll Sensoren. Völlig falscher Ansatz.

Wie du richtig erkannt hast, bist du kein Mann der Praxis. Aber was 
fertige Hardware willst du auch nicht verwenden, sondern es muß ja 
gleich eine komplett Eigenentwicklung sein. Warum schreibst du nicht 
auch noch schnell den C++-Compiler selber? Und ein kleines real-time-OS 
auf dem Mikro macht das Leben auch angenehmer, also schnell noch ein 
paar Zelien getippt.

Also: Gelbe Seiten :-) Such dir jemanden der sich damit auskennt. Es ist 
Zeit für ein Team.

Und wenn du nur deine Regelalgorithmen testen möchtest, dann mach es, 
wie oben schon vorgschlagen, auf einem PC. Häng da ein paar 
I/O-Bausteine dran, klemm die Sensoren an, und fertig.

Es gibt übrigends auch wirklich kleine PC's, die gar nicht mehr wie ein 
PC aussehen :-)

Oliver

von Daniel B. (daniel-b)


Lesenswert?

Leute ich will hier von niemandem mit Gewalt "auf den richtigen Weg 
geführt werden", das kann ich mit den nötigen Informationen schon gut 
selber einschätzen.
Für Protokolle und einfache Parameteränderungen des Programms etc. ist 
es wirklich eine gute Idee gewesen den Rechner zu benutzen. Das hat 
viele Vorteile die mir Arbeit erleichtern. Die Frage, die noch offen 
ist, ist doch nur, welche uCs haben mindestens 8 Input und 10 Output 
(plus die I/O die ich dann noch für den USB-brauche) und laufen mit 
Floats?

Zu euren Fragen/Aussagen:
Wieso ich keine vorgefertigte Platine haben will ist doch egal. Aber 
weil es euch so sehr interessiert: Ich brauch nur die Funktionen die ich 
will, 200 andere, durch die ich eh nicht durchsteige und die vielleicht 
dadurch noch zu potenziellen Fehlerquellen werden, brauch ich nicht.
Zu den Sensoren:
Ich sagte bereits, dass ich es imoment einfach noch nicht weiß wie ich 
manche Sachen messe und Temperatur und Luftfeuchtigkeit als elementare 
größen sind ja logisch. Das beste wäre außerdem noch wenn ich Sensoren 
habe die einzelne Bestandteile des Wassers ermitteln können, aber wie 
gesagt, mit welchen Sensoren sowas möglich ist weiß ich noch nicht.

von Basti (Gast)


Lesenswert?

>Leute ich will hier von niemandem mit Gewalt "auf den richtigen Weg
>geführt werden", das kann ich mit den nötigen Informationen schon gut
>selber einschätzen.

dann frag hier erst garnicht sondern vergrab dich irgendwo in ner 
bibliothek und such dir passende bücher. wenn jemand gut gemeinte 
vorschläge nicht annehmen kann dann ist jeder versuch ihm zu helfen 
einfach überflüssig.

nur so als kleiner tip: wenn du noch nicht weißt was für sensoren du 
benutzen willst und wie deren ausganssignal beschaffen ist dann kannst 
du dir erst recht keinen passenden µC aussuchen!

von Daniel B. (daniel-b)


Lesenswert?

@Basti

So ein Blödsinn. Ich habe eine Frage gestellt und hoffte bzw. hoffe 
darauf eine Antwort zu bekommen. Und wenn du wirklich jemandem helfen 
willst, machst du das sicher nicht indem du klug rumschnaggst und 
versuchst ihm eine andere Problemstellung einzureden, sondern indem du 
ihm bei eben dieser Problemstellung hilfst. Und in die Bücher schauen tu 
ich logischerweise schon noch, aber das hat erst Sinn, wenn ich weiß, 
was ich am besten nehmen sollte. Z.B. las ich ja das Buch über die AVRs, 
nun wurde gesagt AVRs kommen nicht mit Float klar, also war das 
Zeitverschwendung das Buch zu lesen.

Aber keine Angst, ich werd euren Stammtisch nicht wieder betreten. Eine 
einfache klare Auskunft ist wohl einfach zu viel verlangt, kann ich auch 
irgendwie verstehen ;)

Zu deinem Tipp:
Kann ich doch, weil ich das Ausgangssignal durch andere Teile beliebig 
verändern kann bevor es beim uC ankommt. Du solltest da vielleicht 
nochmal in die Bücher gucken wenn dir das ein N00b wie ich sagen muss ^^

von tom (Gast)


Lesenswert?

hab ich doch gleich gesagt, ein theoretischer Biologe

wissenschaftliches Arbeiten war wohl noch nicht dran im Studium

@ Daniel:
überleg dir doch erstmal ne vernünftige Frage

ich will ne komplizierte Maschine mit C++ und nem AVR bauen, wie geht 
das?

lol

von Daniel B. (daniel-b)


Lesenswert?

@tom

Wundert mich das du überhaupt weißt was wissenschaftliches Arbeiten 
bedeutet:
Falls dus nicht nötig hast meine Postings zu lesen antworte doch auch 
nicht. Die frage ist schon seit einigen postings unverändert:
Welche uCs haben mindestens 8 Input und 10 Output
(plus die I/O die ich dann noch für den USB-brauche) und die besser mit 
Floats umgehen als n 8bitter.

Und desshalb sind AVRs schon längst aus dem Rennen.

Es ist doch sehr erstaunlich, dass hier 90% der Antworten hier eher auf 
irgendwelchem trivialen Müll basieren, als fachlich konkret zu antworten 
(wahrscheinlich weil man hier so viel Wert auf wissenschaftliches 
Arbeiten legt XD)

Aber mal im ernst, wem bringt dieses dumme Wortgefecht etwas? Niemandem, 
also wieso lassen wir es nicht einfach?

von Stefan (Gast)


Lesenswert?

Puh, bin jetzt durch mit dem ganzen Thread zu lesen. Sieht doch schon 
gut aus, was bisher diskutiert wurde...

Der Einstieg in die Diskussion ist erstmal gründlich schief gelaufen. 
"Ich habe keine Ahnung von Elektronik und kann auch nicht löten oder 
ätzen oder sonstwas, muss aber einen Bauplan für eine Maschine 
entwickeln" ist auch nicht wirklich ein guter Einstieg. Da werden den 
Leuten, die ihr täglich Brot mit Entwicklung verdienen, einige rote 
Tücher gezeigt. Die nachgeschobene Erläuterung des an sich interessanten 
Projekts wäre am Anfang sicher besser gekommen.

Ein Großteil des Programms (neuronales Netz) liegt schon vor und zwar in 
C++. C++ wird auch weiter als Entwicklungssprache bevorzugt. Und man hat 
sich auch schon darauf geeinigt, dass es wohl günstig wäre, das Programm 
auf einem PC/Laptop laufen zu lassen.

Jetzt geht es darum die vielen Sensoren (Temperatur 
(Boden?/Luft?/Wasser?), Feuchte (Boden?/Luft?), Licht?, ?) und die 
Aktoren (An/Aus-Ventile) mit dem Programm zu verbinden. Ein direkter 
Anschluss an den Laptop über USB-HUBs ist wegen der potentiellen Menge 
an Sensoren/Aktoren (bis 30) nicht gewünscht.

Eine Anschlussalternative könnte ein µC sein, der sich um die externe 
Hardware kümmert und seinerseits dem PC Report über die Sensoren 
erstattet und von dem die neu ausbaldowerten Parameter für die Aktoren 
erhält. Diese Kommunikation soll bevorzugt über USB laufen.

Mit der externen Hardware am µC und dem PC als Steuerrechner ist es auch 
einfach ein Simulationssystem zu nutzen. Dazu wurden verschiedene 
Softwarepakete für PC bereits empfohlen. In der ersten Stufe könnte die 
externe Hardware noch als virtuelles Gerät an der Simulation hängen. Und 
wie die Hardware wächst, kann sie später die Simulation nach und nach 
mit immer mehr realen Daten füttern.

Allgemein ist man der Meinung, dass als externer µC ein AVR dicke 
ausreichen müsste. OK, die genaue Ausstattung (Anzahl der Portpins, 
Busse...) des AVRs hängt von den angeschlossenen Sensoren/Aktoren ab. 
Kann man ja noch drüber reden. Ich bin z.B. der Meinung, dass man eine 
FPU auf dem µC nicht benötigt bzw. drumherumkommt, wenn man geschickt 
Fixed Integer nutzt. Großartige Berechnungen macht der µC ja nicht, da 
dies auf den PC ausgelagert ist.

Es wächst...

von Weinga-Unity (Gast)


Lesenswert?

Weil div. kostenpflichtige Software oben erwähnt wurde. Es gibt ja auch 
noch z.B. www.SciLab.org und www.scicos.org. Da kannst du deinen 
Algorithmus implementieren, simulieren, indem du ihn mit Testsignalen 
anregst und auch, wenn du dich mehr damit beschäftigst, direkt über z.B. 
RS232 Ein- und Ausgänge ansteuern.

Wie das alles geht, ist eigentlich alles unter www.scilab.org zu lesen 
(Dokus, Toolboxen, ...)

mfg W.K.

von Daniel B. (daniel-b)


Lesenswert?

@ Stefan
Träne aus dem Auge wisch
Das hast du wirklich super zusammengefasst, danke!

Zum Thema FPU:
Wenn FPU nicht benötigt wird, wäre das für mich natürlich von Vorteil, 
weil ich dann ja den AVR nehmen kann und das AVR Buch schonmal als Hilfe 
habe. Ich dachte nur dies sei nötig um die Daten von den Messgeräten 
ohne "Rundungsfehler" weiter zum PC zu leiten. Kann mich da natürlich 
auch geirrt haben.

Zum Thema Sensoren/Aktoren:
Vielleicht wäre es für den Anfang besser erstmal ein Ökosystem für eine 
Kultur zu entwickeln als für eine ganze Pflanze. Dann könnte ich auch 
schon sagen welche Aktoren und Sensoren ich brauche und wie viele. Bei 
der Pflanzenkuppel ist das doch etwas komplizierter.
Bei der Kultur bräuchte ich nur:
Sensoren:
-Temperaturmesser
-PH-Messer

Aktoren:
-Pumpe für Mediumzirkulation (Regelbare Geschwindigkeit)
-Heizplatte (Regelbare T.)

Da sollte jedoch noch etwas "Platz" für Erweiterungen sein falls 
möglich. Vielleicht fällt mir im Nachhinein noch etwas sinnvolles ein.

Das wäre dann sowas wie ne selbstgebaute Perfusionskultur.

@ Weinga-Unity:
Danke für den Tipp.

von AVR-Jünger (Gast)


Lesenswert?

>Es ist doch sehr erstaunlich, dass hier 90% der Antworten hier eher auf
>irgendwelchem trivialen Müll basieren, als fachlich konkret zu antworten
>(wahrscheinlich weil man hier so viel Wert auf wissenschaftliches
>Arbeiten legt XD)

Klingt, als bräuchtest du keine Hilfe...

>Wenn FPU nicht benötigt wird, wäre das für mich natürlich von Vorteil,
>weil ich dann ja den AVR nehmen kann und das AVR Buch schonmal als Hilfe
>habe. Ich dachte nur dies sei nötig um die Daten von den Messgeräten
>ohne "Rundungsfehler" weiter zum PC zu leiten. Kann mich da natürlich
>auch geirrt haben.

Wie übertragen deine Messgeräten denn die Daten? Vermutlich im 
ASCII-Format als Buchstaben, damit auch "Biologen" etwas in Hyperterm 
erkennen können.

>-Temperaturmesser
Pippifax!

>-PH-Messer

Gibts den schon?
Welche Schnittstelle hat der?

-Pumpe für Mediumzirkulation (Regelbare Geschwindigkeit)
12V? 230V? Lässt sich auch alles zusammenbauen.

-Heizplatte (Regelbare T.)
dito.

Ich wünsche dir viel Spaß mit deinem Neuronalen Netzwerk.

von Daniel B. (daniel-b)


Lesenswert?

>>Wenn FPU nicht benötigt wird, wäre das für mich natürlich von Vorteil,
>>weil ich dann ja den AVR nehmen kann und das AVR Buch schonmal als Hilfe
>>habe. Ich dachte nur dies sei nötig um die Daten von den Messgeräten
>>ohne "Rundungsfehler" weiter zum PC zu leiten. Kann mich da natürlich
>>auch geirrt haben.
>
> Wie übertragen deine Messgeräten denn die Daten? Vermutlich im
> ASCII-Format als Buchstaben, damit auch "Biologen" etwas in Hyperterm
> erkennen können.

Ha-Ha. Entweder als analoge oder digitale Daten, aber ich weiß eben 
nicht in wie weit der AVR das weitergeben kann. Kann der nur 0 oder 1 
(hab da was von High und Low gelesen) oder kann der auch Integer 
übertragen? Sowas weiß ich ja nochnicht.

>>-Temperaturmesser
> Pippifax!

Das klingt doch gut :)

>>-PH-Messer
> Gibts den schon?
> Welche Schnittstelle hat der?

Weiß nicht obs den schon gibt, aber es gibt PH-Meter, dann wirds den 
Sensor auch so geben oder vielleicht gibts auch PH-Meter die man direkt 
anschließen kann. Schnittstelle ist mir noch unbekannt.

> -Pumpe für Mediumzirkulation (Regelbare Geschwindigkeit)
> 12V? 230V? Lässt sich auch alles zusammenbauen.

Dafür verwendet man normalerweise eine Peristaltik Pumpe:
Bei Dauerbetrieb max. 14V

> -Heizplatte (Regelbare T.)

Weiß noch nicht genau was ich da nehme.

> Ich wünsche dir viel Spaß mit deinem Neuronalen Netzwerk.

Danke, aber wenn ich diese abgespeckte Version nehme, brauch ich kein 
KNN. Trotzdem lass ichs über den PC laufen, weil ich mich mit dem 
Gedanken schon so angefreundet hab.

von Marco S. (masterof)


Lesenswert?

Hallo

Ich würde dir den den ATmega32 empfehlen.
Da er in DIL Bauform erhältlich ist.

Und zur anbindung vom AVR zu PC und zurück.
Könnte man die Interne UART nehmen und mit hilfe
eines USBtoRS232 adapter mit dem PC verbinden.

Der ATmega32 hat 32 I/O-Pins.
Der AD-Wandler hat eine 10Bit Auflösung.


Zur an Steuerung der Pumpe und der Heizplatte.
Wenn die Geräte keine eigne Steuerung haben könnte man die
mit hilfe einer PWM-Modulation ansteuern.

von Stefan (Gast)


Lesenswert?

Daniel, es ist schon gut, dass du weisst, was du messen willst. Einen 
kleinen Einstieg in das Thema Sensoren bietet die Artikelsammlung.

Serielle Übertragung von Daten zwischen µC und PC ist Standard bei jedem 
µC-Bastler. Temperaturmessung ist auch fast Standard ("Pippifax") bei 
jedem µC-Bastler. Aber da kann man schon gut festmachen, dass es im 
Speziellen doch detailliert zugeht ;-)

Solche Sensoren gibt vom einfachen Draht mit einer Kontaktstelle 
unterschiedlicher Metalle, der eine minimale Thermospannung abgibt, die 
mit Operationsverstärkern behandelt und dann dem analogen Eingang des µC 
zugeführt werden muss und dort digitalisiert wird. Über 
temperaturabhängige Bauteile wie Dioden, Widerstände etc. die eigens 
versorgt werden müssen. Und es gibt bis zu vollintegrierten ICs, die per 
1, 2... Drahtverbindung an über einen Bus wie 1-Wire oder I2C oder... 
digital an den µC angeschlossen werden. Bis zu kompletten Geräten oder 
Baugruppen mit eigener Anzeige und z.B. serieller Schnittstelle...

Bevor nicht feststeht, welcher Sensor verwendet werden soll, kann man 
kaum sagen, wie der µC genau aussehen muss bzw. was am µC benutzt wird 
und was für anderes frei ist.

Was an Periferie verwendet werden soll, kann wieder von vorhandenen 
Geräten/Bauteilen, lokal erhältlichen Bauteilen, dem Budget, 
Bastelkönnen und Vorlieben vom Kunden oder Betreuer (sic!) abhängen. 
Wenn du im Onlinekatalog von Reichelt "Sensor" eingibst, kommen 103 
Treffer und das ist noch lange nicht alles, was es gibt. Ein 
Teufelskreis...

Wie kommt man da raus?

Ich meine durch viel recherchieren, aufmerksam lesen und gelesenes auf 
die eigene Aufgabe übertragen. Ich denke, das war auch mit dem Hinweis 
oben auf wissenschaftliches Arbeiten gemeint. Beim AVR hast du ja schon 
angefangen.

Beim pH-Messen geht es weiter, ich denke, das ist eine grössere 
Herausforderung. pH-Elektroden mit Membranen aus Glas oder Kunststoff 
und die richtige Messung können eine kniffelige Angelegenheit sein 
(Kalibrierung mit Pufferlösungen, Abhängigkeit des pH-Werts vom 
Salzgehalt, Abspülen zwischen den Messungen, ja - wo messen? Die 
empfindliche Glasmembran in den Boden stecken?). Unter den 103 Treffern 
oben ist kein pH-Sensor dabei. Je nach gewünschter Umgebung und 
Genauigkeit kann es sinnvoll sein, ein kleines Handgerät zu schlachten 
oder die Mimik um eine Ersatzelektrode selbst zu bauen.
http://www.kuebelpflanzeninfo.de/shared/versand.htm

Dein Projekt ähnelt in grossen Teilen einer Aquariums- oder 
Terrariumssteuerung. Da habe ich schon Projekte gesehen und bei denen 
könnte man was zu Sensoren/Aktoren lernen.
http://www.aquarix.de/de/diy/phmeter.asp
http://www.laureanno.com/x10-7.html

Eine weitere Methode kann sein, sich ein Team zu suchen. Das hängt 
natürlich vom Projekt ab, ob es zulässig und/oder gewünscht ist. So ein 
Team kann man auch online zusammenstellen, indem man eine Projektseite 
zum ganzen Projekt oder zu einem Teilprojekt in einem Wiki aufmacht 
(Bsp. Hausbus, Logikanalyzer, GPS). Die Hauptarbeit macht man zwar immer 
noch selbst, aber ab und zu haben doch andere Lust Zeit und Wissen 
reinzustecken. Das hängt auch davon ab, wie schmackhaft man das Thema 
anderen machen kann. Man hätte dann mit der Zeit eine ordentliche Doku 
und man sieht wie es von der ersten Projektskizze an immer weiter 
wächst.

von Falk (Gast)


Lesenswert?

@ Daniel Beckmann

> Ha-Ha. Entweder als analoge oder digitale Daten, aber ich weiß eben
> nicht in wie weit der AVR das weitergeben kann. Kann der nur 0 oder 1
> (hab da was von High und Low gelesen) oder kann der auch Integer
> übertragen? Sowas weiß ich ja nochnicht.

Und mit DEM Wissensstand meinst du auch nur ANSATZTWEISE einschätzen zu 
können, welche Qualität die Aussagen bzw. Kritiken der Leute hier haben?
Und du meinst, dass man dir "nur sagen muss, welcher uC 10 IOs hat und 
noch ein paar IOS für USB" und dann ist dir schon geholfen und deine 
"Maschine" ist fix gebaut?
Du bist ein ziemlich abgehobener, weltfremder Theoretiker, der sich viel 
zu weit aus dem Fenster lehnt. Schuster bleib bei deinen Leisten.
Das musste mal gesagt werden.

Gute Nacht, ist nun wirklich spät
Falk


von Oliver (Gast)


Lesenswert?

Um es noch deutlicher zu sagen: Sein einziger sinnvoller Satz war direkt 
am Anfang: "Ich habe keine Ahnung..."

Bei einer realen Steuerung, die über Tage oder Wochen stabil 
funktionieren soll, stecken 99% des Aufwandes nicht in dem eigentlichen 
Regelalgorithmus, sondern werden durch die "ach so primitive und 
unwissenschaftliche" Praxis verursacht. Dir werden die Ausgänge 
durchbrennen, wenn mal jemand ein Kabel an der selbstgelöteten 
Bastellösung ungünstig abzieht, oder dein neuronales Netz bekommt den 
Gehirnschlag, weil ein Sensorsignal fröhlich rauscht. Ohne richtig 
gemachte Stromversorgung stürzt dir der Micro ab, wenn irgendwo ein 
Magentvetil schaltet, in deinem C++-Code gibt es doch noch memory-leaks, 
und so weiter.

Aber "Erfahrung" kommt von erfahren, also mach es selber. Wenn du in 
natura genauso arrogant rüberkommst, wie hier, wird dir eh keiner helfen 
wollen.

Oliver

von dernixwois (Gast)


Lesenswert?

An Alle!

Ich verfolge schon eine weile den Thread und muss jetzt mal "Stop" 
sagen.

So wie ihr hier hilfe Stellung gebt kann er gleich einpacken und 
vorallem diese Feindseligkeit die ihr ihm engegenbringt ist doch 
wirklich zum kotzen.

Schließlich wollte er nur Wissen ob es einen passenden µC gibt worauf 
sein bereits geschriebenes Programm läuft.

Ich bezweifle auch, das Daniel ohne Grundlagen in Elektronik oder µC, 
nicht weit kommt und es zum scheitern verurteilt ist.

Daniel sollte sich einen Schulkamaraden suchen der sich damit auskennt 
wenns was werden soll.

Was die Programmierung von µC'er angeht wird er sowieso abspecken müssen 
oder einige sachen sogar evtl. in Assembler realisieren müssen.

Es kommt auch darauf an wieviel Daten er Loggen möchte, d.h. wenn er die 
Speicherkapazität des µC sprengt muss er sich dies bezüglich sowieso 
ettwas anderes einfallen lassen.

Ich würde mal von Atmel den AT89C51AC2 empfehlen oder wenn er sich es 
traut kann er ja mal den Propeller von Parallax
http://www.parallax.com/propeller/index.asp

anschauen.




von AVR-Jünger (Gast)


Lesenswert?

>Daniel sollte sich einen Schulkamaraden suchen der sich damit auskennt
>wenns was werden soll.

Da hat jemand was falsch verstanden... der studiert Biologie...

von Daniel B. (daniel-b)


Lesenswert?

@Falk und Olli
Schööön macht ihr das, Mama is stolz auf euch g

@Dernixwois
Würd mir ja gern jemanden suchen der sich damit auskennt, die Sache ist 
nur, dass es da in meinem Bekanntenkreis niemanden gibt.

@Stefan
Danke für die Links, die sind wirklich nützlich.
Das mit der Projektseite ist ne gute Idee. Denn wie ich sehe bringen 
hier schon viele Leute Dinge durcheinander, weil sich im laufe des 
Threads so viel geändert hat. Werde nachher mal die URL posten.

von dernixwois (Gast)


Lesenswert?

@Daniel

Ich denke es wäre zu Naiv zu Glauben das man mit irgend einer 
Simulation-Software mal kurz die ganze Zusammenhänge Simulieren kann.

Du müstest auch mind. 2Jahre Elektrotechnik Studieren bevor Du überhaubt 
wirklich zum Zug kommst.

Wenn Du nicht gerade mal 14 bis 30 Tausend Euro überig hast für 
Professionelle Software wirst dich mit einzel Lösungen durchkämpfen 
müssen.

Dass Du Programmieren kannst ist schon mal ein großer vorteil.

Um Elektronik, Löten, Ätzen usw. wirst Du nicht herumkommen.

Lad Dir mal die Demo Eagle von Cadsoft herunter und die Teile hier

http://www.cadsoft.de/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.de&dir=microsps

Zitat:
"
Mit der Software des EAGLE-MicroSPS-Projekts können Sie eine SPS 
grafisch programmieren und simulieren. Alles, was Sie brauchen und 
wissen müssen, finden Sie unter den folgenden Links"

von dernixwois (Gast)


Lesenswert?

@Daniel

Noch ne Frage ist dein Projekt ein Schulprojekt und muss es in einem 
Jahr fertig sein oder ist es einfach nur Hobby?

von Daniel B. (daniel-b)


Angehängte Dateien:

Lesenswert?

@  dernixwois
Beides. D.h. wenn es funktioniert kann ich da n Projekt draus machen. 
Aber solange das noch alles so waage ist würd ichs noch als Hobby 
bezeichnen.

@ Topic
Habe jetzt mal n Schema für die aktuelle (abgespeckte) version des 
Ökosystems gezeichnet (für Kulturen). Bild ist im Anhang.

von Daniel B. (daniel-b)


Lesenswert?

Ich hab hier im Forum nochmal in den PH-Threads gestöbert, und wenn das 
wirklich so schwer und teuer zu realisieren ist, kann der PH-Sensor auch 
gestrichen werden, da er keinen Aktor beeinflusst, sondern einfach nur 
nützlich gewesen wäre.

von Bri (Gast)


Lesenswert?

Dann bleibt also nur noch der Temperatursensor übrig?

von Marco S. (masterof)


Lesenswert?

wie genau soll die Temperatur sein?

von Daniel B. (daniel-b)


Lesenswert?

@ Bri
Was die Sensoren angeht ja.

@ Marco
Die Temperatur ist sehr wichtig, die sollte schon auf 0,1° genau sein.

von Peter D. (peda)


Lesenswert?

Daniel Beckmann wrote:

> Die Temperatur ist sehr wichtig, die sollte schon auf 0,1° genau sein.

Puh, ist dieser Thread lang (hab nur quer gelesen).

0,1° zeugt ja doch von gewisser Blauäugigkeit, das kriegt man mit 
Amateurmitteln kaum kalibriert.
Da sind schon professionelle Meßgeräte der 1000,-€ Klasse nötig.

Wenn Dir allerdings 0,1° Auflösung reichen, nimm einfach nen DS18B20, 
der hat 0.0625° Auflösung. Und der große Vorteil, der gibt schon digital 
aus.


Peter

von Peter D. (peda)


Lesenswert?

Wenn ich das richtig verstanden habe, geht es hier um eine sehr langsame 
Anwendung.

Da ist also keine große CPU notwendig
Eine 64-Bit-CPU mit FPU kann keinen Deut besser rechnen, als ein 
8-Bitter, sondern nur schneller.

Also brauchst Du Dir um die Rechenleistung keine Sorgen zu machen.

Eher darum, daß C++ auf MCs kaum verbreitet ist. Es könnte also 
überhaupt nichts schaden, sich in die C-Programmierung (ohne ++) 
einzufuchsen.

Und man muß als Schleifenzähler usw. nicht unbedingt immer float nehmen, 
wenn ein unsigned char vollkommen ausreicht.


Peter

von Daniel B. (daniel-b)


Lesenswert?

Das versteh ich jetzt nicht. Wo is der Unterschied zwischen 0,1° 
genauigkeit und 0,1° Auflösung?

Also um die 1000€ is natürlich nicht drin. Also auf 1° genau würde im 
Notfall auch reichen, aber das wäre unschön. Vielleicht kann man da was 
drehen, weil das Ding nur den Bereich zwischen 35°-40° abdecken muss.

Edit: Das mit der Geschwindigkeit is ja auch schon längst geklärt.

von Stefan (Gast)


Lesenswert?

Genauigkeit
http://de.wikipedia.org/wiki/Genauigkeitsklasse

Digitale Auflösung
http://de.wikipedia.org/wiki/Digitale_Aufl%C3%B6sung

Digitale Auflösung kann auch auf dein Problem übertragen werden. Wenn du 
ein Temperaturschätzeisen hast, welches auf eine Kommastelle anzeigen 
kann, kannst du eine max. Auflösung bzgl. der Anzeige von 0,1° haben.

Wie genau du damit die wahre Temperatur tatsächlich messen kannst, ist 
eine ganz andere Frage.

von Falk (Gast)


Lesenswert?

@ Daniel Beckmann

>@Falk und Olli
>Schööön macht ihr das, Mama is stolz auf euch *g*

Tja Daniel, damit hast du dich endgültig als ernst zu nehmender 
Diskussionspartner disqualifiziert.

Meine Grossmutter sagt immer. "Wem nicht zu raten ist, ist auch nicht zu 
helfen"

Viel Erfolg mit deinem Projekt.

MFG
Falk

von Bri (Gast)


Lesenswert?

Also wenn ich es richtig verstanden habe, willst du jetzt nur noch die 
Temperatur regeln, oder? Da ist das neuronale Netz echt total für den 
Arsch. Da reicht ein 2-Punktregler völlig aus.

Könnte es sein, dass du das neuronale Netz programmiert hast und jetzt 
ein Problem für deine Lösung suchst? Ich hatte auch mal ein neuronales 
Netz programmiert und das dann Tic Tac Toe lernen lassen. Vielleicht ist 
sowas das bessere Problem für deine Lösung. :-)

von Daniel B. (daniel-b)


Lesenswert?

@ Bri
In meinem Post vom Datum: 19.01.2007 19:33 hab ich ja auch geschrieben 
das ich bei dem neuen sozusagen Einführung-in-die-Materie-Projekt kein 
KNN brauche.

Nein ich versuche nirgends krampfhaft mein KNN reinzustecken, ich habe 
schon für viele KNNs multible Simulationen programmiert, die alle prima 
laufen ^^. Aber beim eigentlichen Projekt und eventuell auch bei einer 
großen Erweiterung dieses abgespeckten Projekts, wäre ein KNN nützlich 
gewesen.

Ich will jetzt nurnoch Temperatur und schnelligkeit der Pumpe regeln. 
Die Temperatur bzw. die Wärmeplatte über den Temperatur-Sensor und die 
Pumpe manuel. Ich würde es aber trotzdem gerne so verwirklichen, dass 
ich den PC anschließen kann.

@ Stefan
Ach so ist das, danke!

von Martin (Gast)


Lesenswert?

wie wärs mit einem neuen Thread, in dem Du einmal das Aktuell gewünschte 
Projekt zusammenfasst, Deine Wünsche, wie es laufeh könnte ect. Ich 
verfolge diesen Thread nun schon 'ne weile und finde seine Dynamik 
durchaus recht interessant. Ich muß aber auch gestehen, dass ich 
vielleicht etwas abgehängt worden bin (man liest als aussenstehender 
auch noch andere threads und ist nebenbei noch mit eigenen Projekten und 
Ideen beschäftigt)
Mir ist z.B. nicht mehr gnaz klar, welche aufgabe der PC jetzt 
übernehmen soll, wenn doch nicht so große berechnungen durchgeführt 
werden sollen.
Vielleicht einfach mal 'ne auflistung nach komponenten machen:
PC:
- aufgaben
- offene Fragen
µC:
- aufgaben
- offene Fragen
Sensoren:
- temp sensor
  - aufgaben
  - offene Fragen
-
Aktoren
....

Ich glaube, dann kann Dir evtl auch besser geholfen werden. Kannst ja 
zur Sicherheit noch mal 'nen link zu diesem Thread mit reinposten. Ich 
glaube, so wird sich kaum ein neuer Leser alles durchlesen und wenn man 
nur die letzten paar Beiträge liest, fehlt die hälfte der infos.
Viel erfolg weiterhin

von Felix (Gast)


Lesenswert?

Hi Leute,

dieser Thread hier ist ja nu über die Zeit, ein wenig von der 
eigentlichen Frage abgewichen, und ich wollte nocheinmal nachfragen, ob 
sich denn nun schon zur eigentlichen Frage, eine Lösung ergeben hat?
Gibt es irgendwo eine Simulationssoftware, in der man programmierte 
µc'ler (am liebsten AVR's ;-) ) mit dazugehöriger peripherie simmulieren 
kann?
Es gibt ja nu schon tolle Schaltungssimulatoren, wie Spice und Multisimm 
(und noch viele mehr), auch für avr's hab ich schon tolle Simulatoren 
gesehen (auch das avr Studio kann ja teilweise schon gut Simulieren), 
habe aber noch nie etwas gehört, wo man Schaltung und Prozessor in einem 
Simulieren kann.
(toll wäre ja schonmal nin einfacher avr-simulator, wo man die ports mit 
led's, tastern und vieleicht nim lcd bestücken kann)

Hat da vieleicht jemand von euch ne idee?

von Frank (Gast)


Lesenswert?

Für 68k gibts einen Simulator, ide 68000 oder so, bei dem man einfache 
Peripherie (Leds, Balkenanzeigen, Schalter) einbinden kann.

von Felix (Gast)


Lesenswert?

Danke,
das ist ja schon mal tool, besser wäre natürlich pic oder avr (cool wäre 
ja auch mal x86er), da ich leider keine 68k's besitze, und damit auch 
noch nie wirklich was gemacht habe.
Aber, sowas in der Art hab ich mir vorgestellt.

Cool wäre ja, sowas wie ein Plugin, für einen bestehenden 
Schaltungssimulator, ich weiss aber leider nicht, in wie weit die Plugin 
fähig sind, aber bei Spice z.B. kann ich mir das gut vorstellen. Dann 
könnte man es so gestallten, das man nur noch den avr als Bauelement 
setzen brauch und dann doppelklick rauf und Programm einladen, und schon 
kann mann simulieren. ;-)  Man könnte auch für einen bestehenden 
AVR-Simulator, ein grafisches Frontend programieren, und wenn man die 
komplizierte Schaltungssimulation umgehen will, kann man es ja in Form 
von einem Virtuellem "developement board" machen, wo schon ein paar 
taster, led's, nin paar potis und ein lcd an den Ports hängen, besser 
wäre natürlich schon ein wenig Freiheit in der Peripheriegestaltung.

Aber irgendwie  hoff ich ja, das es sowas schon irgendwo gibt, in den 
grossen weiten des Netzes, und ich es nur noch nicht gefunden hab.

von tom (Gast)


Lesenswert?

proteus

kann mixed mode und auch Mikrocontroller simulieren, inkl. PIC und AVR

von Felix (Gast)


Lesenswert?

Proteus sieht echt viel versprechend aus, ich probier gleich mal die 
demo aus.

Besten Dank

von OliverSo (Gast)


Lesenswert?

vmlab

ist freeware, und selbst (oder gerade) für Laien wie mich manchmal Gold 
wert. Bringt simulierte LED's, analoge Geber, UART-Terminal, I2C-Monitor 
fertig mit. Dazu graphische Timingdiagramme, Scopefunktion für Ports, 
etc.

Benutzt als Compiler WINAvr.

Oliver

von Felix (Gast)


Lesenswert?

Mensch, das ist ja auch nin verdammt geiles Tool.

Besten dank an alle, da hab ich erstmal nin bisserl was zum basteln.

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.