Sehr geehrte uC-Programmierer :D Habe gerade eine Regelung für mein Aquarium entworfen. Dafür messe ich diverse analoge Werte und habe zum anpassen der Werte einen Zweipunktregler gebaut. Spreche ca. 8 Relais dafür an :) Da mir die SPS auf ~1000 € gekommen ist und das absolut unverhältnismässig teuer ist, wollte ich gerne diese Regelung mit einem Mikrocontroller nachbauen. Da meine Kenntnisse dahingehend allerdings gleich 0 sind, da ich das damals in der Schule gelernte leider wieder vergessen habe, wollte ich euch fragen wie ich das am besten angehe...also welcher da passen würde, was ich brauche usw. Habt ihr da Tipps für mich? Wäre mega dankbar. Lg Dominik und noch einen schönen Tag :)
> Dafür messe ich diverse analoge Werte und habe zum anpassen > der Werte einen Zweipunktregler gebaut. ... der wahrscheinlich ein Ventil schaltet, durch welche 'Gegenmittel' zugeführt werden. Richtig? D.h. du hast das Problem, das du zumischt und dann eine zeitlang warten musst, bis die Durchmischung im Aquarium soweit fortgeschritten ist, dass du wieder einen realistischen Messwert hast.
Ganz genau so ist es :)) Aber als Problem hätte ich das jetzt nicht bezeichnet. Funktioniert mit der SPS eigentlich ganz gut :) Nur in Sachen Mikrocontroller hab ich da keine Erfahrung nur mit SPS, wäre aber für meine Zwecke viel besser, da günstiger :) Lg Dominik
Dominik schrieb: > Ganz genau so ist es :)) > Aber als Problem hätte ich das jetzt nicht bezeichnet. Na ja. Problem nicht gerade. Ich würds so machen. Aus der Abweichung errechne ich eine Korrekturmenge (die zb experimentell bestimmt wurde) und die so bemessen ist, dass ich nicht übers Ziel hinausschiesse. Man kannt ja seine Pappenheimer und weiß ungefähr, wieviel zur pH Korrektur bei welcher Abweichung zuzusetzen ist. Und das mach ich halt alle paar Minuten wieder mal. Messwert aufnehmen - Korrekturmenge ermitteln - zusetzen Bei der Temperatur ist das sowieso eher unkritisch. Temperatur zu niedrig - Heizung ein, Temperatur zu hoch - Heizung aus. Bei den Zeitkonstanten im Aquarium ist das alles ziemlich unkritisch. > Nur in Sachen Mikrocontroller hab ich da keine Erfahrung So wild ist das auch wieder nicht. Ich würd da erst mal etwas C lernen und dann ist das ein Standardaufsatz: Timer erzeugt einen Basistakt, in der ISR wird die Zeit runtergeteilt, Jobflag gesetzt dass es wieder an der Zeit ist einen Korrekturzyklus einzulegen, der dann auch durchgeführt wird.
Ansonsten Etwas generelles Wissen, wie man so mit AVR arbeitet *** AVR-Tutorial *** Erste Schritte in C am besten auf dem PC mit einem guten Buch ( zb Kernighan&Ritchie Programmieren in C ) und danach den µC-spezifischen C Teil drüberstreuen. *** AVR-GCC-Tutorial ***
Hallo, und schon habt ihr wieder einen Anfänger verscheucht! Gratuliere! Adam
Adam schrieb: > und schon habt ihr wieder einen Anfänger verscheucht! Gratuliere! Wieso verscheucht? Willst du uns aufklären?
Adam schrieb: > Hallo, > > und schon habt ihr wieder einen Anfänger verscheucht! Gratuliere! > > Adam Warum hast du es nicht besser gemacht? Im Gegensatz zu Karl Heinz Buchegger findet man dich hier ja mindestens 20 mal pro Tag jemandem helfen, während Karl Heinz eigentlich nur Anfänger verscheucht...
Ach ja, was ich eigentlich fragen wollte: Dominik, wie sollten denn die Logik in der SPS aussehen?
was machst genau mit der sps? kleine sachen kannst mit der µsps erledigen. ist so ähnlich wie ne logo. als controller dient n atmega32 + die firmware 0.88. programmiert wird mit eagle + der µsps erweiterung v0.88. programmieren muß man nicht können aber es ist günstig wenn man mit und , oder , nicht umgehen kann. mfg
Das Problem wird sein, wenn man kein Interesse an uC, will man nur schnellstmöglich das Problem lösen und nicht lange rumsaften mit Büchern. Dazu kommt die Einarbeitungszeit. Gegenvorschlag, gegen Bezahlung mache ich ne Platine incl. Programm. Lieferzeit ca. 4 Wochen. Ingo
Ingo schrieb: > Das Problem wird sein, wenn man kein Interesse an uC, will man nur > schnellstmöglich das Problem lösen und nicht lange rumsaften mit > Büchern. Dazu kommt die Einarbeitungszeit. stimmt ! bin mit analogkram gut ausgelastet. m-s-r kram mach ich daher mit der logo oder mit der µsps . hab weder zeit noch lust mich auch noch mit controllern zu beschäftigen. hab die atmega auch nur für die sps im schrank. mfg
Nönö, ihr habt mich doch ned verscheucht :) Also großen Dank an alle die hier mitmischen...kam grade erst wieder an einen PC. @ Ingo: Danke für das Angebot, aber ich hab großes Interesse an der Sache und hab auch kein Problem mich da zu informieren, mich einzuarbeiten. Bin da auf was interessantes bei Conrad gestoßen, wäre das ok um mich einzuarbeiten, oder verschwendetes Geld, da schon sehr teuer: http://www.conrad.at/ce/de/product/191026/MYAVR-EINSTEIGERSET-MK2-USB-PLUS/0213028&ref=list uSPS klingt sehr interessant :D Was kann ich mir da drunter vorstellen? Mit AND, OR, NOT hab i kein Problem, aber bräuchte da auch noch Vergleicher zB <= oder >= um mir die Schalthysterese zu basteln. Danke für eure Hilfe, echt SPITZE von euch :)) Lg Dominik und GUTE NACHT :)
Karl Heinz Buchegger schrieb: > Und das mach ich halt alle paar Minuten wieder mal. > Messwert aufnehmen - Korrekturmenge ermitteln - zusetzen Da würde ich noch mal über die Zeitkonstanten nachdenken. Um in ein "paar Minuten" alles halbwegs homogen zu verteilen, müssen die Fische schon ganz schön strampeln bzw. von einer kräftigen Pumpe unterstützt werden. Besser ist, sich nach der Zugabe einer Dosis den Zeitverlauf der Messwerte aufzuzeichnen. Dann hat man sowohl die Zeitkonstante als auch die erforderliche Dosis für eine bestimme Parameteränderung und kann die Dosierpumpe entsprechend steuern.
Dominik schrieb: > uSPS klingt sehr interessant :D Was kann ich mir da drunter vorstellen? > Mit AND, OR, NOT hab i kein Problem, aber bräuchte da auch noch > Vergleicher zB <= oder >= um mir die Schalthysterese zu basteln. moin !! eingänge analog :5 ( 0 ...5 oder 0 ...10v ) eingänge digital :8 ausgänge digital :7 ausgang pwm :1 4*20 lcd / 44780er controller batt. gepufferte uhr mit ds1307 ext. 8kb eeprom i2c anschluß für erweiterungen isp rs232 4 systemtasten erweiterung 8* dig. eingang , 4*dig. ausgang gib mal ne mailadresse dann kann ich dir ne pdf schicken (handbuch). da werden alle blöcke u.s.w. beschrieben. mfg
Wenn schon µC dann richtig, und nicht son µSPS Kram, oder?!
Auch hier kann man dem Threadersteller guten Gewissens zu einem Arduino raten www.arduino.cc http://arduino.cc/en/Main/Buy Ab ca. 20€ gehts los
so eine uSPS klingt ja ganz interessant, aber ist für mich vermutlich nicht das richtige... die Messumformer welche ich im Einsatz habe, liefern mir 4-20mA Signale und im großen und ganzen komme ich mit dir Anzahl der IOs nicht ganz zurecht. :/ @Ingo: Muss ich dir recht geben, da dieses Projekt auch nicht weiss Gott welche Eile hat, lieber will ich es richtig angehen und am Ende ein Produkt haben auf welches ich stolz sein kann :) @Werner: Das mit der Zeitkonstante ist nicht das Problem, verwende zum Durchmischen eine Luftpumpe auf Ausströmersteine und da geht das ganze in unter einer Minute :) Lg Dominik
Zum Arduino: http://www.physicalcomputing.at/shop/article_A-1111000/Einsteiger-Kit-mit-Arduino-Uno-R3.html?shop_param=cid%3D5%26aid%3DA-1111000%26 Wäre das etwas geeignetes? Sieht vernünftig aus und der Preis ist absolut ok, für ein Kit :) Kann ich dann quasi schon loslegen mit Programmieren ? :D Lg
Ehe du anfängst dir Hardware zu kaufen solltest du klären ob und wie aufwändig deine Sensoren da dran passen, und ob dir Programmierung mit Assembler oder C dein Ding ist. Das kann man auch erst man mit Simulatorprogrammen bwz C auf dem PC ausprobieren. Viel Spass und viel Erfolg
Ja, mit den Arduinos kannst du so loslegen. Du brauchst im Endeffekt erstmal nur die Basisplatine. Kann per USB programmiert werden, und die IDE gibts auf der Homepage zum downloaden. Wenn du sonst keinerlei Ausrüstung hast, dann macht so ein Starterkit mit Steckbrett usw schon Sinn
Dominik schrieb: > Zum Arduino: > http://www.physicalcomputing.at/shop/article_A-1111000/Einsteiger-Kit-mit-Arduino-Uno-R3.html?shop_param=cid%3D5%26aid%3DA-1111000%26 > Wäre das etwas geeignetes? Sieht vernünftig aus und der Preis ist > absolut ok, für ein Kit :) Kann ich dann quasi schon loslegen mit > Programmieren ? Leg doch erst mal deine Anforderungen fest. * Welche Sensoren hast du? Welche Anschlüsse (Analog/Digital) brauchst du für jeden Sensor? * Wie siehts mit Tasten aus? Wenn ja, wieviele? * Brauchst du ein LCD? * Wie siehts mit einer Uhrzeit aus? Soll der µC zb auch die Licht- steuerung in deinem Aquarium übernehmen? Dann wirst du eine Uhr brauchen. Da gibts wieder 2 Möglichkeiten: entweder eine Uhr, die bei jedem Stromausfall neu gestellt werden muss oder einen IC, der (wie beim PC) die Uhrzeit laufend mitführt. Auch ein DCF77- Empfänger wäre eine Möglichkeit, wie man an die aktuelle Uhrzeit kommen kann. * Was fällt dir sonst noch ein, was du mit dem µC verbinden willst? Damit hast du dann dein 'Mengengerüst' für die notwendigen Anschlüsse. Und dann kannst du einen Kit suchen, der diese Anzahl an Anschlüssen mitbringt.
Also, ich habe 5 analoge Eingänge 4-20mA und 5 digitale :) Ausgänge habe ich 15 digitale :) Tasten brauche icheigentliche keine und ein LCD ist auch nicht zwingend erforderlich. Eine remanente Uhr is auch notwendig wie du schon richtig sagst fürs Licht :D Lg
Dominik schrieb: > Also, ich habe 5 analoge Eingänge 4-20mA und 5 digitale :) > Ausgänge habe ich 15 digitale :) > Tasten brauche icheigentliche keine und ein LCD ist auch nicht zwingend > erforderlich. > Eine remanente Uhr is auch notwendig wie du schon richtig sagst fürs > Licht :D Und wie stellst du die Uhr, bzw. die Lichtzeiten ein? :-) Und ich wette, die Messwerte werden dich auch interessieren. (Also brauchst du Tasten und mindestens ein LCD) Edit: von der Erleichterung, die dir ein LCD bei der Programmentwicklung bringt, gar nicht erst zu reden. Das Schlimmste, gerade für jemanden mit wenig Erfahrung, ist Programmentwicklung nach der Methode "Stochern im Nebel".
Hallo Dominik, du brauchst also schon mal einen AVR mit mindestens 30 oder mehr freien Pins ( 5+5+15+LCD ). Mit dem Mega 8 wie beim myAVR MK2 Board kommst da nicht so einfach um die Runden. Aber denkbar ist folgendes Konfiguration wenn du bei dem übrsichtlichen M8 bleiben möchtest: * m8-Board dort nutzt du die Analogen Kanäle und hängst das LCD dran * USB To UART Bridge für Konfiguration * TWI Echtzeituhr * zwei TWI Portexpander der Zweipunktregler ist nicht schwierig den baust dann ungefähr so:
1 | ...
|
2 | // weiter oben im Deklarationsteil
|
3 | #define SENSOR1_MIN 100
|
4 | #define SENSOR1_MAX 200
|
5 | ...
|
6 | |
7 | ...
|
8 | // Zweipunktreglung
|
9 | if ( sensor1.getValue() < SENSOR1_MIN ) |
10 | aktor1.on(); |
11 | if ( sensor1.getValue() > SENSOR1_MAX ) |
12 | aktor1.off(); |
13 | ...
|
Für die Konfiguration baust dir nen kompfotables PC-Programm mit GUI... die Konfig-Daten sendest dann per USART an den Kontroller ;-) Aber mit einem Hat Karl heinz recht ... erst mal lernen lernen nochmals lernen :-D Gruß J.
@ Karl Heinz: Da hast du recht, in diesem Sinne macht das LCD selbstverständlich Sinn... ich dachte ich kann wie bei einer SPS online gehen und meine Werte beobachten, bzw. so die Uhr einstellen, aber wenn dann gleich ordentlich mit Display und Anzeige der Werte :) @ Jahat: Danke für diese tolle Zusammenstellung. Gebe dir und allen anderen natürlich Recht das jetzt mal Lernen angesagt ist. Ich wollte euch nur bitten mir eine Hardwareempfehlung zu geben, was ich denn alles brauche, würd gerne Learning by Doing machen, kann mir dann darunter besser etwas vorstellen als so ganz ohne irgendetwas :) Lg Dominik
Dominik schrieb: > @ Karl Heinz: > Da hast du recht, in diesem Sinne macht das LCD selbstverständlich > Sinn... > ich dachte ich kann wie bei einer SPS online gehen und meine Werte > beobachten, bzw. so die Uhr einstellen, aber wenn dann gleich ordentlich > mit Display und Anzeige der Werte :) Kannst du natürlich auch machen. Aber willst du wirklich jedesmal deinen PC hochfahren, nur weil du die Temperatur ablesen willst? > Ich wollte euch nur bitten mir eine Hardwareempfehlung zu geben, was ich > denn alles brauche, würd gerne Learning by Doing machen, kann mir dann > darunter besser etwas vorstellen als so ganz ohne irgendetwas :) Arduino wurde ja schon genannt. Auch wenn die Meinungen auseinander gehen: Ich halte das nicht für schlecht. DIe Arduino IDE muss man ja nicht nehmen (bringt aber in dem Fall auch keine Nachteile wenn man es tut). Der bestechende Vorteil der Arduinos ist meiner Meinung nach: Der ganze Themenkreis "Programmer" bzw. Kontaktaufnahme vom PC zum µC ist mit einem Arduino schon erledigt. Und sowas kann sich schon zu einer ersten ernsten Hürde ausarten. Und preislich halten sich die Arduinos auch im Rahmen.
Hast du natürlich vollkommen recht !! :D So ein Display is eigentlich dann schon sehr praktisch, ja fast schon notwendig in der Praxis :) Werde in Punkto Arduino nochmal genauer nachforschen was für mich da in Frage kommen würde und dann vermutlich wieder mit Fragen auftauchen :DD Vielen Dank für eure Unterstützung!! Lg und GUTE NACHT
So, hat mir wieder keine Ruhe gelassen und ich habe noch etwas gestöbert :D Also ein von der Größe ausreichendes Teil wäre dieses hier oder was meint ihr ? :D http://physicalcomputing.at/shop/article_A-1100100/Arduino-Mega-2560-R3.html?sessid=ZfFZJuRTMZIxPTOoi6uYn8ahYpefHXN1Z4c4n2OP1VgQy0b6AftzdWRjolCX0LP5&shop_param=cid%3D1%26aid%3DA-1100100%26 Display dazu hätte ich mir das hier gedacht: http://physicalcomputing.at/shop/article_A-1111500/LCD-Display-Kit.html?shop_param=cid%3D18%26aid%3DA-1111500%26 Und ausser einem USB Kabel sollte ich auch schon nichts mehr brauchen um das alles zum Laufen zu bringen oder was meint ihr ? Lg Dominik
Dominik schrieb: Hui. Das ist ja ein ordentlicher Bolide :-) Soviel Flash Speicher brauchst du nie und nimmer. (mit 32K wärst du mehr als üppig bedient). Aber wenn er die Anschlusszahlen hat, die du brauchst, passt das. 50 Euros schrecken mich da jetzt nicht besonders. > Und ausser einem USB Kabel sollte ich auch schon nichts mehr brauchen um > das alles zum Laufen zu bringen oder was meint ihr ? Stromversorgung. Aber eine 9V Wandwarze (Steckernetzteil :-)) hat man meistens noch im Haushalt von bereits ausrangierten Geräten übrig. Uhrenmodul (RTC) würde ich mir noch überlegen.
Hahahaaa, ja die Handwarze war klar :D Dann nehme ich noch ein RTC mit dazu :) Mir fällt gerade auf ich brauche im weiteren ja noch 15 5V Relais richtig? Wie sind solche Komponenten, Relais, RTC..denn anzuschliessen? Lg
Nur mal so als kleiner Input meinerseits. Ihr ratet ihm hier zu Displays und RTC (die wahrscheinlich per IIC ausgelesen werden müssen) und der Threadersteller hat noch keine Zeile programmiert? Wie stellt ihr euch das bitteschön vor? An den Threadersteller: Ich würde das Etappenweise angehen. Bis du nur schon mal den A/D Wandler so wie du willst zum Laufen kriegst und ab einem gewissen Messwert dann auch noch was bestimmtes machst wird dich schon einen Haufen Zeit kosten, da du, wie du sagst, keine Ahnung hast von C resp. µC's. Das Display ist sicher eine super Erweiterung und der RTC sowieso aber gerade eine Uhr ist etwas, wobei ein C Anfänger sehr viel lernen kann! Ich würde deshalb auf jeden Fall probieren das mit der Uhr selbst hinzukriegen (sobald du das mit dem A/D Wandler geregelt hast). Und was ich dir auch noch raten könnte: Nichts überstürzen :) C braucht Zeit. Gruss Gordon
Ah ja und ein Relais schliesst man über einen FET oder einen anderen Transistor einfach an einen Pin des µC's. Und nur so aus Interesse, wie gross sind deine Kenntnisse bezüglich Elektrotechnik resp. Elektronik? Gruss Gordon
15? Musst du nicht nur ein Ventil schalten? Für die Sensoren brauchst du keine Relais
gordon51freeman schrieb: > Nur mal so als kleiner Input meinerseits. > Ihr ratet ihm hier zu Displays und RTC (die wahrscheinlich per IIC > ausgelesen werden müssen) und der Threadersteller hat noch keine Zeile > programmiert? Wie stellt ihr euch das bitteschön vor? Genauso wie bei allen anderen. Tutorium durcharbeiten, C lernen, die Dinge in Betrieb nehmen. Das das alles nicht von heute auf morgen geht, ist klar. Das ist auch ihm klar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.