Hallo zusammen, zuerst einmal: Bin absoluter Microcontroller-Einsteiger. Habe folgendes Problem: Habe in Simulink einen Regelkreis aufgebaut (siehe Anhang). Wie setzte ich diesen in einem Mikrocontroller um? (bzw. kann man das überhaupt...?) Welchen Mikrocontroller würdet ihr vorschlagen? Kurz zur Funktion der Temperaturregelung: Es wird eine Solltemperatur vorgegeben. Diese geht auf einen PI-Regler. Das Stellsignal am Reglerausgang wird auf 0...20mA begrenzt. Mit diesem Signal wird ein Leistungssteller angesteuert, der abhängig vom Eingang (0...20mA) eine gewisse Leistung(in W) auf die Regelstrecke ausgibt. Als Störgröße ist die Umgebungstemperatur. Der Ausgang der Regelstrecke (Temperatur) soll dann mit der Umgebungstemperatur im Mikrocontroller addiert werden und die "Summe" wieder an den Eingang geführt werden. Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe! :-) Über Antorten würde ich mich sehr freuen! Viele Grüße
solange du die regelstrecke in software realisieren kannst (z.b. C) ist eigentlich nur entscheidend für den µC, dass er deine Perepherie auslesen bzw. ansteuern kann, dass er schnell genug rechnet und dass er genug Speicher für das Programm hat. im Hobby-bereich sind PIC und AVR als 8bit µC gut vertreten. beide Familien bieten auch modelle mit viel speicher, A/D- wandlern und genügend I/O's. ich würde ja die µC-familie wählen, mit der ich am besten klarkomme.
> Wie setzte ich diesen in einem Mikrocontroller um? Man startet die Programmierumgebung und legt los. :-) Gedanken ueber die Grundlagen hast du dir ja schon ausreichend gemacht. > (bzw. kann man das überhaupt...?) Selbstverstaendlich. > Welchen Mikrocontroller würdet ihr vorschlagen? Ehrlich gesagt, es geht mit jedem Controller. Ich selbst wuerde fuer Regler immer mindestens einen 16bit Controller nehmen weil wir ja nicht mehr im Mittelalter leben, aber vermutlich laesst sich soetwas sogar in einem Tiny15 realisieren wenn man wirklich will. Ich wuerde nur empfehlen einen eher groesseren Controller zu nehmen, also mindesten 1kB Ram, 8k-16kFlash damit du nicht als Anfaenger an Grenzen stoesst die auf deiner Ahnungslosigkeit beruhen, und du genug Reserven fuer Debugging hast. Ich wuerde dir auch empfehlen einen RS232 vorzusehen an der dein Controller staendig Daten ausgibt. Das macht die Fehlersucher und die Parametrierung deutlich einfacher. Im Gegensatz zu vielen anderen Projekten kannst du einen Regler nicht mal eben im laufenden Betrieb im Debugger anhalten. Jedenfalls nicht wenn du die Regelung pruefst. Problem ist nur das dies nicht gerade ein Projekt ist fuer jemanden der noch nie mit so einem Controller gearbeitet hat! Du solltest erstmal etwas kleineres durchziehen um mit dem Microcontroller vertraut zu werden. Und du solltest nicht erwarten das es schon klappen wird wenn du es einfach machst. Du musst zu Beginn deines Programms schon ein paar wichtige Designentscheidungen treffen die Vorraussetzen das du mit dem Controller vertraut bist. > Das Stellsignal am Reglerausgang wird auf 0...20mA begrenzt. Dein Controller liefert keinen Strom. Da wird also mindestens noch ein Operationsverstaerker haengen. Ich hoffe du hast also wenigstens noch etwas Ahnung von Analogelektronik. Das Problem ist gewiss nicht die Machbarkeit, sondern die steile Lernkurve die vor dir liegt. Olaf
@Johann Hallo Johann, 1. Temperatur zu regeln ist kein Problem. Temperatur zu messen schon eher ;-) 2. Du scheinst dich ja mit Simulink auszukennen. Die m-Files (bzw. sim-Files) kann man doch in C-Code umwandeln, oder nicht? Dann brauchst du selber nur noch den uC zu initialisieren und die Ports anzusteuern (gibt hier im Forum ein super Turorial) und deinen Regelalgorithmus laufen zu lassen.
> 1. Temperatur zu regeln ist kein Problem. Temperatur zu messen schon > eher ;-) Das ist wahr, aber es hat das Problem ja umgangen indem er irgendwas fertiges nimmt das ihm mA liefert. Vermute ich jedenfalls mal. > Dann brauchst du selber nur noch den uC zu initialisieren und die Ports > anzusteuern (gibt hier im Forum ein super Turorial) und deinen > Regelalgorithmus laufen zu lassen. Er muss sich aber mit den Timern auskennen um sich eine Zeitbasis zu verschaffen, und mit Interrupts muss er klar kommen. Er muss wissen wie er Daten zwischen Interruptfunktion und extern austauscht usw.... Also ich finde das fuer jemanden der noch nie mit so einem Controller gearbeitet hat schon heftig. Olaf
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.