Guten Tag Freunde des Programmierens,
ich bin gerade an der Einarbeitung zu einem Hochschulprojekt und auf der
Suche nach einer passenden Steuerung für die Anwendung. Grundsätzlich
sieht die Aufgabenstellung folgendermaßen aus:
Es soll eine kleine Druckprüfmaschine (max. 50N) entwickelt werden
(ähnlich einer Zwick Roell). Die Hardware steht
soweit(Vorgängerprojekt), nun geht es um die Ansteuerung der einzelnen
Komponenten. Dabei soll ein NEMA 23 JK60HS88-2008 Schrittmotor über ein
Riemengetriebe eine Spindel drehen, wodurch der Prüfstempel auf- und
abgefahren wird. Der Verfahrweg soll über ein potentiometrischen
Wegsensor (Typ 8719, Firma burster) gemessen werden, der Druck über eine
Plattform Wägezelle (PW6CC3MR, Firma HBM). Die Daten sollen auf einem
größeren Bildschirm (Die Prüfmaschine soll in einem Labor für Lehrzwecke
dienen) in einer Grafik visualisiert werden. Beim programmieren des
Verfahrwegs sollten einzelne Features eingebaut werden wie
beispielsweise das Beenden des Vorschubs sobald ein Druckabfall
vorliegt, also eine Art Brucherkennung.
Ich persönlich kenne mich zu wenig mit der Materie aus, um einschätzen
zu können, welche Steuerung hier die geeignetste ist. Deshalb würde ich
mich um jeden Tipp und jede Hilfe freuen, was sich hier anbietet(wenn
möglich mit kurzer Begründung).
P.S.Es ist schon eine Siemens Logo!8 im Labor vorhanden, habe aber nach
meiner Recherche den Eindruck, dass sich die Logo nicht besonders zum
Visualisieren eignet. Wäre nett wenn mir das jemand bestätigen könnte.
Vielen Dank schon einmal im Voraus.
Die Frage zunächst ist, soll der Bildschrim direkt an den Controller
angeschlossen werden oder gibt es noch einen PC?
Dann würde ich zu einem Arduino raten. Für die Sensoren kannst du die
ADC's zum einlesen verwende. Den Schrittmotor über die vorhandenen
Ausgänge ansteuern. Sollte ein PC vorhanden sein kannst du die Daten
über eine Serielle Schnittstelle an diesen schicken und diese dann über
ein einfaches PC-Programm visualisiern
Einfach mal mit der Logo rumspielen oder das Handbuch lesen;p
Ansonsten wago, Sabo. Die sind günstig und haben Visualisierung onboard,
außerdem lassen sich I/O leicht anklemmen und CodeSyS gibts kostenlos
dafür. Arduino ist für sowas reine frickelei und hat keine Visu.
kasba schrieb:> P.S.Es ist schon eine Siemens Logo!8 im Labor vorhanden, habe aber nach> meiner Recherche den Eindruck, dass sich die Logo nicht besonders zum> Visualisieren eignet. Wäre nett wenn mir das jemand bestätigen könnte.
Kenne mich mit den Logos nicht aus, aber bevor ich was eigenes machen
würde (und das ist mein tägliches Brot) würde ich mir das nochmal ganz
genau anschauen. So wie ich das sehe haben die Ethernet (oder sind
zumindest leicht anzubinden). Dann gibt es scheinbar noch eine App
worüber man Visualisieren und Steuern kann:
http://w3.siemens.com/mcms/programmable-logic-controller/en/logic-module-logo/Documents/logo_app_de.pdf
Also direkt ans Netzwerk hängen.
Programm zur Steuerung läuft auf der Logo.
Dann über die App auf die Logo zugreifen (parametrieren, evtl. Update,
Lesen von Werten für die Visualisierung).
Da es die App für Android und iOS zu geben scheint, kannst Du Dir dann
überlegen was du zur Visualisierung verwendest (Mac, Smartphone, Tablet,
Raspi,...)
kasba schrieb:> Ich persönlich kenne mich zu wenig mit der Materie aus, um einschätzen> zu können, welche Steuerung hier die geeignetste ist.
Na ja, deine billige Wägezelle hat keinerlei Auswertelektronik, also
musst du ihre kleinen Signale erst mal verarbeiten können,
dein Poti ist eines welches mit weniger als 100uA belastet werden will,
mit der Frage wie genau du es denn auswerten willst (0.01mm von 900mm
wären 17 bit),
und dein Schrittmotor hat keine Anstuerelektronik, also musst du die
grossen Ströme von 2 bis 4 A je nach Verschaltung erst mal schalten
können, möglichst im Mikroschritt.
Da ist die Frage nach der Steuerung erst mal zweitrangig, für die
geringen bisher genannten Anforderungen tut es ein Arduino, aber du
wirst sicher gleich nachtragen was du alles tolles brauxchst, von
Touchstreen über Internetanbindung bis zu Profibus-Anbindung.
Nimmt man eine Arduino, tun es als Interface MCP3550 ratiometrisch, kann
man auch für's Poti nehmen, und als Schrittmotortreiber
http://www.ebay.de/itm/Single-Axis-TB6600-DC12-45V-Two-Phase-Hybrid-Stepper-Motor-Driver-Controller-ZE-/111909491933
, teuer muss das also nicht werden.
Also erstmal danke für die schnellen Antworten.
Stefan schrieb:> Die Frage zunächst ist, soll der Bildschrim direkt an den Controller> angeschlossen werden oder gibt es noch einen PC?
Die Entscheidung liegt bei mir. Höchstwahrscheinlich werde ich noch
einen PC anschließen. Meine Überlegung wäre eine CSV Datei generieren,
diese an den PC weiterzusenden und hier die Visualisierung vorzunehmen.
Was ich noch recht elegant fände, wäre den PC wegzulassen und nur einen
Raspberry Pi zu benutzen (Bitte korrigier mich falls das völliger
Blödsinn sein sollte).
Frank schrieb:> Dann gibt es scheinbar noch eine App> worüber man Visualisieren und Steuern kann:
Guter Tipp die habe ich mir angeschaut, bin jedoch im Moment der Meinung
dass ich mich mit der App nicht "frei" genug bewegen kann, falls ich
hier eigene Änderungen vornehmen will.
MaWin schrieb:> Da ist die Frage nach der Steuerung erst mal zweitrangig, für die> geringen bisher genannten Anforderungen tut es ein Arduino, aber du> wirst sicher gleich nachtragen was du alles tolles brauxchst, von> Touchstreen über Internetanbindung bis zu Profibus-Anbindung.
Was ich bisher genannt habe sind sozusagen die Grundanforderungen. Alles
darüber hinaus bleibt mir persönlich überlassen, ob ich es einbaue oder
nicht. Die Internetanbindung wäre auf jeden Fall interessant, um die
Daten direkt weiterzusenden.
Es gibt mehrere Möglichkeiten sowas zu machen. Es hängt aber zum
Großteil auch davon ab, was für Fähigkeiten Du hast.
Die einfachste Möglichkeit wäre mit Sicherheit fertige Komponenten zu
verwenden. Das wird zwar etwas teurer, wenn das aber keine Rolle spielt
solltest Du so am schnellsten und am einfachsten ans Ziel kommen. Ich
denke eine Profi macht sowas an 1-2 Tagen.
Die nächste Stufe wäre wie oben bereits erwähnt mit einem Arduino die
Regelung und Datenerfassung zu machen. Die Visualisierung übernimmt dann
ein getrennter Rechner (ob PC oder Rapsi sei dahin gestellt). Die
Schnittstelle zwischen uC und Rechner würde ich entweder Ethernet oder
RS485 machen. So bist Du ziemlich Störsicher und kannst evtl. bereits
vorhandene Protokolle relativ leicht auf beiden Seiten verwenden. Der
Rechner muss dann "nur" noch die Daten die vom uC kommen entsprechend
entpacken und anzeigen. Gleiches geht natürlich auch in die andere
Richtung zum steuern des uC. Mit C# oder Python geht das relativ schnell
(wenn man es kann).
Programmieraufwand würde ich selbst für einen Profi mindestens 1 Woche
planen bis das einigermaßen stabil läuft.
Als weitere Möglichkeit sehe ich ein einzelnes Embedded Linux System
(Raspi, Beaglebone, ...). Neben der Regelung/Datenerfassung übernimmt er
auch die komplette Visualisierung. Die kann er sowohl direkt an einem
Monitor ausgeben, als auch über eine Website (ich würde HTML5/Canvas
nehmen). Die Kommunikation zwischen Applikationssoftware und
Visualisierung(Browser) könnte man z.B. über (Web)Sockets machen.
Aufwand für einen Profi mind. 2 Wochen.
So wie MaWin aber schon geschrieben hat, musst Du Dir natürlich auch
noch klar machen (egal was für ein System du letztlich verwendest) wie
Du die Daten überhaupt in und aus Deinem System bekommst. Sprich Du
brauchst einen Schrittotortreiber. Meine Meinung: nimm einen Fertigen.
Vom Chinamann sind die ziemlich günstig zu bekommen. Dann brauchst Du
nur noch über Drehschalter den richtigen Schrittmotor und Schrittzahl
parametrieren und kannst gleich über Direction und Step Pins im
Microschrittbetrieb in der Gegend rum fahren. Die Wägezelle ist mit
Sicherheit auch nicht zu unterschätzen. Du hast gesehen dass sie
schreiben dass die für "statische Anwendungen" ist. Reicht die aus für
Deine Applikation? Für die würde ich wahrscheinlich entweder auf einen
fertigen Messumformer von der gleichen Firma zurückgreifen (schreiben
sie ja auch schon im Datenblatt dass sie da was haben
dafür...wahrscheinlich die "Clip") oder gleich eine digitale Wägezelle
nehmen (haben sie auch im Angebot). Auch der Poti finde ich suboptimal.
Du solltest auf jeden Fall auf kurze Wege der Analogsignale achten,
geschirmte Leitungen verwenden und die Schirme schön breit auflegen
(keine PigTails!). Wenn da nebendran die Motoren/Schaltnetzteile usw.
tackern wirst Du Dir sonst schön viel Dreck einfangen.
kasba schrieb:> Was ich bisher genannt habe sind sozusagen die Grundanforderungen. Alles> darüber hinaus bleibt mir persönlich überlassen, ob ich es einbaue oder> nicht. Die Internetanbindung wäre auf jeden Fall interessant, um die> Daten direkt weiterzusenden.
Es war mir klar, daß die tatsächlich für die Auswahl der Steuerung
wesentlichen Gründe erst hinterher kommen und nicht in deiner
Ursprungsfrage zu erkennen waren. Ich kenne nämlich Leute die so fragen
wie du.
Gehen wir also andersrum: Was taugt NICHT: Der PC. Ein Notebook. Das
iPhone. Ein rPi. Alle sind nicht in der Lage zeitkritisch genug zu
reagieren, weil sie sich mit 99.99% Müll beschäftigen müssen. Also auch
kein Linux, Windows oder Android. Eine kleine SPS weil die zur
Visualisierung nichts taugt. Ein ESP8266, weil der zwar WiFi kann, aber
nicht besonders reichhaltige schnelle I/O Pins hat.
Zur Visualisierung kann man diese einfacher zu programmierenden
Gigantomaniesysteme einsetzen, aber nicht zur Schrittmotorsteuerung (man
erinnere sich an den Krampf den Mach3 mit Windows hat, spätetsetns bei
Mobile-Prozessoren flippt er aus).
Wenn dir also noch so ein paar Wünsche einfallen, neben 3d-Viualiserung
in Echtzeit und Internetzugang vielleicht auch Spracheingabe und
internes Backup in einer MySQL Datenbank dann kannst du dich von der
tatsächlichen Aufgabenstellung so weit entfernen, daß du das Projekt in
den Sand setzt, obwohl es kindereinfach ist.