Entwicklung eines softwaregesteuerten Prüfstandes

  • VB.NET

Es gibt 49 Antworten in diesem Thema. Der letzte Beitrag () ist von obersniggy.

    Entwicklung eines softwaregesteuerten Prüfstandes

    Hallo,
    ich bin noch ganz neu hier und habe auch gleich mal eine dicke Frage: ich beginne im nächsten Semester meine Diplomarbeit zu scheiben (Kommunikationstechnik) und habe was VB betrifft noch nahezu keine Erfahrungen. Wir hatten mal ein Semester Strukturiertes Programmieren in C, doch das liegt erstens schon ne Weile zurück und zweitens war es auch nicht unbedingt mein Steckenpferd.
    Im Rahmen meiner Diplomarbeit soll ich einen Prüfstand automatisieren, dessen Prozessabläufe wahrscheinlich über ein Programm gesteuert werden, das mit VB programmiert wird. Daher frage ich mal so ins Blaue: hat von euch schon jemand Erfahrungen auf dem Gebiet sammeln können und könnte mir ein paar Tipps geben, damit ich nicht völlig blauäugig vor meinem Betreuer stehe wenns losgeht?

    Danke und Gruß
    Die wichtigste Frage wäre zuerst zu klären:
    Wie erfolgt die Komm. mit dem Prüfstand? Eine "einfache" serielle Komm. mit einem entsprechenden "Protokoll" oder gibt es ein (Hardware-)Modul das mithilfe eines Programms bzw einer DLL angesprochen wird?
    Im ersten Fall ist die Wahl der Programmiersprache dann ziemlich egal (solange sie den seriellen Port ansprechen kann), im zweiten Fall ist zu klären ob und inwieweit die (zb) DLL mit B.Net verwendet werden kann, bzw wie gut sie dokumentiert ist.

    NACHTRACH:

    Strukturiertes Programmieren in C

    Dann solltest du dich vorab schon mal mit ereignis- und objektorientiertem Programmieren beschäftigen. Das ist dann nämlich die "Folgestufe" zu dem was du hast.
    Ereignisorientiert: Nicht ständig fragen, OB etwas passiert ist, sondern so arbeiten, DASS man informiert wird, WENN etwas passiert
    Objektorientiert: Zusammenhängende Funktionalitäten in eigene Klassen packen (C kennt ja nocht nicht wirklich Klassen, das kam erst mit C++) die "nach außen hin" wie Blackboxen arbeiten und die sich "um sich selbst kümmern".

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()

    Danke für die schnelle Antwort,

    die Komm. soll über eine serielle Schnittstelle erfolgen, eine bestimmte Hardware gibt es nicht. Mein Firmenbetreuer meinte zu mir, man könnte zusätliche HW wie Mikroprozessoren und deren seperate Programmierung einsparen, indem man direkt ein Programm für Windows schreibt, was all diese Dinge (mittels Treiber?) managed. Es wäre dann eine serielle Kommunikation (RS232) zwischen PC und Präzisionswaage mögl. Desweiteren müssen Schrittmotoren für einen Wagen sowie Pumpen und Lichtschranken von der Software ausgelesen und befehligt werden.
    Wäre VB grundsätzlich für soetwas geeignet? Es werden also verschiedene Teilsysteme abgefragt und gesteuert, jedoch größtenteils mit definierten Anfangs- und Endwerten wie bei den Schrittmotoren mit zeitlichem Bezug (z.B. 10 Messstrecken a 30 Sekunden).Gibt es empfehleswerte Lektüre diesbezgl.? Habe einen dicken Schinken von "Kofner" zu Hause zu liegen, für VB2008. Ist dieser SChmöker für Einsteiger denn in Ordnung oder würdet ihr mir zu anderem raten?

    Vielen Dank!
    Schrittmotoren und Sensoren hängen auch an seriell?
    Solange du seriell arbeitest, brauchst du keinen "Treiber". Es macht aber Sinn Hardware, Logik und Darstellung zu trennen. D.h. du hättest drei "Ebenen" mit denen du arbeitest und die auch jeweils (mehr oder weniger) voneinander unabhängig sind.

    Mit VB kannst du das ganze machen, WENN du keine zu hohe zeitliche Auflösung brauchst. Windows ist nunmal kein "Echtzeit"-BS.

    picoflop schrieb:

    Schrittmotoren und Sensoren hängen auch an seriell?

    picoflop schrieb:

    Schrittmotoren und Sensoren hängen auch an seriell?
    Solange du seriell arbeitest, brauchst du keinen "Treiber". Es macht aber Sinn Hardware, Logik und Darstellung zu trennen. D.h. du hättest drei "Ebenen" mit denen du arbeitest und die auch jeweils (mehr oder weniger) voneinander unabhängig sind.

    Mit VB kannst du das ganze machen, WENN du keine zu hohe zeitliche Auflösung brauchst. Windows ist nunmal kein "Echtzeit"-BS.

    Ob die Schrittmotoren seriell dranhängen weiß ich noch nicht, das Projekt befindet sich noch in der Grobplanung.
    Was Echtzeit in einer Simulation ist weiß ich zwar, doch was bedeutet sie beim Betriebsystem? Ist das immer in Bezug zu sehen auf fest definierte Zeitgrenzen in denen ein Prozess abgearbeitet werden muss inkl. der Reaktionszeit? Oder wie kann man das beim OS sehen?
    de.wikipedia.org/wiki/Echtzeitbetriebssystem

    Bei windows (oder Linux, oder MacOS, oder ...) kann man halt bestimmte Zeitabstände nicht UNBEDINGT zuverlässig einhalten. Wenn wir über Sekunden reden, dürften wir im grünen Bereich sein. Im einstelligen (!) Millisekundenbereich sieht das ggfs anders aus!

    Bzgl. Sensoren, Schrittmotoren etc. Meist gibt's für sowas Steckkarten (ISA, PCI, PCIe usw), die dann mit einer DLL angesteuert werden kann. Vor anschaffung einer solchen Karte wäre also zu klären, WIE und OB das mit .Net geht.
    Oder halt sowas: de.nanotec.com/schrittmotorste…NLTu5OihqACFYaRzAodtnTZkA
    Da gibt's vermutlich diverseste Lösungen ;)
    Wago io ist da sicherlich passend, du bekommst Module für Stepper, Analog, Digital, PT, DMS ect. ansich alles was man in der Industrie braucht

    Vorteil ist dass du alle Werte bei diesem System in einem Coil auslesen kannst, dass spart Zeit

    wenns Zeitlich zu langsam ist kann mann auch einen wago controler verbauen, der allerdings soweit ich weiß in codesys programmiert wird,
    du hast also beide Möglichkeiten Controler und Direkt vom Pc

    Dll für .Net ist auch erhältlich...

    ich habe die ersten Module letzte woche bestellt, da ich selbst jetzt erst auf Wago umsteigen werde

    mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „GÄRTNER“ ()

    picoflop schrieb:

    Bei windows (oder Linux, oder MacOS, oder ...) kann man halt bestimmte Zeitabstände nicht UNBEDINGT zuverlässig einhalten.
    Das kann ich leider SO nicht stehen lassen. Für Linux gibt's schon längere Zeit einen RT (RealTime) Patch, der nach und nach auch in den Upstream Kernel Einzug hält. Neben schneller abarbeitung von Hardwareinterrupts, wird ein passendes Prioritätsmodell für Tasks/Prozesse angeboten, mit dem es in der Tat möglich ist schnell zu reagieren. Es ist hier nichtmehr von Millisekunden die Rede, sondern von Mikrosekunden (zwar meist nicht einstellig, aber immerhin!). Voraussetzung ist natürlich, dass die Rechenleistung ausreicht um zwischen den HW-Interrupts auch noch die nötigen Tasks zu erledigen.

    GÄRTNER schrieb:

    ich habe die ersten Module letzte woche bestellt, da ich selbst jetzt erst auf Wago umsteigen werde
    Es würde mich da mal der Preis interessieren. Sind sicher nicht billig?!

    So... nun zum Thema:
    Auf Steckkarten würde ich generell weitgehendst verzichten, dass das EOL (End of Life) bei PC-Komponenten recht schnell erreicht ist, man nicht sagen kann, ob es kompatible Nachfolger (besonders über .DLLs) gibt und man nicht unbedingt X PCI-Ports voraussetzen will, zumal das Zukunftsfeld der Industriecomputer - besonders durch Embedded Systems - offen liegt.

    RS232, was so ziemlich Standard am PC ist, im schlimmsten Fall über Adapter/Zusatzkarten, funktioniert out-of-the-box nur von Endgerät zu Endgerät. Sog. Multiplexer oder HUBs sind Firmen-/Protokollspezifisch. In der Industrie sind da wohl, u.A. deswegen, eher RS485 und der CAN-Bus üblich, evntl. auch noch andere Busse wie z.B. Profibus. Da du das ganze aber mit einem normalen PC lösen willst, würde ich mal zu RS232 mit z.B. 9600 oder 19200 Baud raten, da erreicht man ne schöne Kabellänge und es läuft eigentlich überall. Wenn du mit mehreren Endgeräten auf RS232-Basis arbeiten willst, benötigst du ausreichend Ports, bei deiner Auflistung wird das dann schon langsam eng ;) Um eine "Logik" wirst du somit eher nicht herum kommen, es stellt sich viel mehr die Frage, ob du eine Fertig-Lösung, wie Gärtner sie anbietet, nehmen willst, oder etwas selbst basteln willst. Eine andere Fertig-Lösung wären die Komponenten von NI (National Instruments), wie z.B. eine Schnittstellenkarte für Analoge und Digitale Singale, über USB versorgt. Diese lassen sich afaik auch mit VB ansprechen, wir haben die in der Schule aber nur mit LabView bedient. Achtung: Kostet alles ein Haidengeld ^^ Zwei Ansätze für "Bastellösungen" wären entweder eine Art Relaiskarte mit digitalen und analogen Ein- und Ausgängen oder eine Platine komplett von Null weg zeichnen. Als Microcontroller kannst du z.B. 'nen ATMEGA 16/32/64/... von Atmel nehmen, die sind recht einfach mit C zu bedienen, gibt viele Tutors im Netz, und es gibt Nicht-SMD-Equivalenten, die man wunderbar auf einer Steck oder Lochrasterplatine verwenden kann. Das praktische an der µC-Lösung ist, dass du kritische Zustände direkt im Controller "abfangen" kannst, und sonstige Messauswertungen kannst du einfach "durchschleifen". Es lässt sich mit einem µC auch eine flotte Regelung erstellen, wo von VB nurnoch der Zielwert (und ggf. Regelparameter) übergeben werden müssen. Last but not least gäbe es auch noch die Möglichkeit überhaupt nur mit einem µC zu arbeiten, jedoch ist die Benutzerinteraktion dann erstaunlich schwer. Da nen Touchscreen zu verbauten ist evntl. ein zeitlicher Overkill ^^ ... auch wenn ich genau sowas in meiner Diplomarbeit hatte :)

    Wie du deine Diplomarbeit löst, ist vollkommen dir überlassen, du musst Vorteile und Nachteile (Eignung, Preis, Aufwand, ...) gleichermaßen abwägen und eine Entscheidung treffen. Sofern du dich für eine Bastel-Lösung entscheidest, unterstütze ich dich natürlich gerne so gut ich kann. Wenn ich mal nicht reagiere kannst du mir auch einfach eine PM mit Link zum Thread hinterlassen, ob ich auf die PM reagiere ist dann wieder ne andere Sache. :D


    So, hoffe ich hab dich nicht zu sehr zugetextet, hast ein Bild deiner Möglichkeiten und findest eine gute Entscheidung :)
    Edit: Die Entscheidungsfindung und das Abwägen der Möglichkeiten, inkl. Vor- und Nachteile, ist übrigens bereits Teil der Diplomarbeit ;)


    mfG Andy

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()

    Hi @ all,
    vielen Dank zunächst für die rege Anteilnahme! Ich werde in den nächsten Tagen mit meinen Vorgesetzten über diese Problematik sprechen und eure Lösungsvorschläge natürlich mit einbringen! Ich melde mich dann wieder hier im Board, was die Besprechung erbeben hat. Dann können wir diesbzgl. weiterdiskutieren :D

    @Andy: vielen Dank für deine angebotene Hilfe, ich werde darauf zurückkommen.
    Das mit der Abwägung von Vor- und Nachteilen und einer Lösungsfindung wird von mir dann protokolliert und in die Diplomarbeit aufgenommen, wie soll ich sonst auf min. 80 Seiten kommen :P

    LG

    Mad Andy schrieb:

    Es würde mich da mal der Preis interessieren. Sind sicher nicht billig?!



    Der Eco Ethernet 100Mbit/s Koppler kommt so auf 200€

    Die CD mit der Dll 100 €

    8 Kanal DO 44 €

    4 Kanal AI singel endend 120€

    Stepper modul ab 110€

    Starterkit ist grad im Angebot 399€

    sicherlich sind RS485 Module von Adam zB. günstiger aber ich will nur Industrie Qualität also sowas wie Phönix oder Wago wobei Wago am stärksten ist

    und wie Andy schon aufgezeigt hat ist es am wichtigsten erstmal zu wissen Was genau gesteuert werden soll , welche anforderungen gestellt sind
    dabei ist der gesamt Umfang der Anlage entscheident (wie viele DO/AI, Stepper ect.) für die wahl der Hardware


    mfg
    So, da bin ich wieder :)
    Man muss sich die Geschichte wie folgt vorstellen: Es soll zunächst ein Wagen konstruiert und gesteuert werden, der (z.B. auf Schienen) immer von rechts (Pkt. 1) nach links (Pkt. 2) und wieder zurück fährt (von einem definierten Punkt zum anderen). Hintergrund: Es ist ein Wasserkreislauf, der an Punkt 1 und 2 seine "Schnittstelle" hat. D.h. an Punkt 1 fließt das Wasser in ein Behältnis auf dem Wagen, welches auf einer Präzisionswaage mit RS232 Interface steht, für eine definierte Zeit. Wenn diese Zeit vorüber ist, soll der Messwert (das Gewicht in Milligramm) von der Waage an den PC übermittelt werden. Unmittelbar danach sollte der Wagen dann langsam zu Punkt 2 fahren, bei dem das Wasser dann wieder in das Behältnis fließt, aus dem der Kreislauf auch gespeist wird. Dieser ist dann quasi wieder in sich geschlossen. In dem Kreislauf befindet sich natürlich noch die Pumpe und der Durchflussmesser, für den die Messwerte aufgenommen werden. Da mehrere dieser Messwerte aufgenommen werden sollen, jeweils für verschiedene Geschwindigkeiten der Pumpe, muss der Wagen dann entsprechend immer von Punkt 1 zu Punkt 2 "hin- und herfahren". Die real ermittelten Messwerte der Waage sollen der Heizleistung des Durchflussmessers für die bestimmten Flussgeschwindigkeiten zugeordnet werden. Diese Tabelle wird dann in die Messelektronik eingespielt, wo die abgegebene Heizleistung an das Flussmedium jeweils einem Wert in der Tabelle zugeordnet wird (per Interpolation).

    Frage: Habt ihr einen Tipp, wo ich dafür Schrittmotoren herbekomme? Wie könnte man diese steuern? Oder gibt es gar eine "fertige" Alternative bei der ich nicht so viel bauen müsste?

    Die Pumpe muss natürlich auch gesteuert werden. Dafür haben wir hier ein Netzteil, welches mittels PC die verschiedenen Spannungsbereiche für die unterschiedlichen Flussgeschwindigkeiten erzeugen kann. Ein 8bit Controller (extern, USB) sollte dafür die Steuerung übernehmen. Ich habe mal kurz gerechnet: max. Spannung / 256 ergäbe eine Schrittweite von 37,1mV pro step. Die Auflösung wäre also geeignet. Kann mir jemand sagen, wie ich das ganze in die Praxis umsetzen kann :D

    Vielen Dank schonmal,

    LG
    Was darf es denn kosten, wer steht dahinter? Über wen werden Bauteile bestellt? Gibt es bevorzugte Distributoren? Stepper soll(en) für den Wagen sein oder auch für was anderes? Da könntest du auch nen DC mit 2 Endschaltern hernehmen.

    Soll das ganze später wirklich praktisch genutzt werden? Wie exakt muss die definierte Zeit sein? Welche Größenordnung? (Windows ist KEIN Realtime OS - auch nicht bei Timer ISRs und schon garnicht mit .net dazwischen!)

    Was ist das für ein Controller für die Spannung? Sollst/musst du den unbedingt verwenden? Bezeichnung/Datenblatt?

    Die real ermittelten Messwerte der Waage sollen der Heizleistung des Durchflussmessers für die bestimmten Flussgeschwindigkeiten zugeordnet werden.
    Was für ne Heizleistung!? Wie funktioniert der Durchflussmesser? Gibt ja mehrere Prinzipien.

    Edit: Nebenbei: du solltest mehrere Durchläufe pro Wert machen und auch den Wertebereich / die Werteverteilung aufzeichnen und dann Mittelwert und (maximale) Abweichungen bilden. Und dann musst du noch sicherstellen, dass die Ausgangsbedingungen immer gleich sind. Bei unterschiedlicher Umgebungs-, Hardware- und Flüssigkeitstemperatur kann sich da was ändern und somit lässt sich der erste Wert evntl. nicht mit letzten Wert vergleichen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()

    Mad Andy schrieb:

    Was darf es denn kosten, wer steht dahinter?
    Kosten sollte es nicht so viel, ist ein kleines (Startup-) Unternehmen. Mit teuren Anschaffungen ist das immer so eine Sache. Lichtschranken und Pumpen, Waage (RS232), PC, Stative, Schläuche, Netzteile etc. sind natürlich vorhanden. Gekauft werden müssten der Schrittmotor, die Steuerung und ein Magnetventil damit das Wasser im Behälter auf der Waage abgelassen werden kann wenn dieser voll ist.
    Am besten also die "günstigste Variante" die sich am schnellsten realisieren lässt ;)

    Mad Andy schrieb:

    Gibt es bevorzugte Distributoren? Stepper soll(en) für den Wagen sein oder auch für was anderes? Da könntest du auch nen DC mit 2 Endschaltern hernehmen.

    Ja richtig, die Stepper nur für den Wagen. Bevorzugte Distributoren gibt es eigentlich nicht, Conrad u.a. gingen auf jeden Fall - sofern man die Sachen dort bekommt.

    1) Würde nicht auch einer langen, der dann eine Achse antreibt?

    2) Wie ließe sich denn eine die Variante mit dem DC mit 2 Endschaltern umsetzen, wäre dies die bessere Alternative?

    Mad Andy schrieb:

    Soll das ganze später wirklich praktisch genutzt werden? Wie exakt muss die definierte Zeit sein? Welche Größenordnung?
    Ja, es soll dann genutzt werden. Einige Komplexe muss ich wahrscheinlich einfach mangels Zeit weglassen. Mein Chef wollte z.B. noch eine Niveauregulierung für das Gefäß aus dem der Kreislauf gespeist wird, welche auf eine Art Fahrstuhl basiert. Da der Wasserstand sinkt, wenn Wasser abgepumpt wird, ändert sich ja der Höhenvordruck. Somit fließt bei geicher Pumpleistung weniger Wasser, was zur Verfälschung der Messergebnisse führt. Ich habe mir jetzt überlegt, anstatt des Fahrstuhls einen einfachen Überlauf zu konstruieren. D.h. in das Speisebehältnis fließt ständig Wasser hinein, welches dann durch einen definierten Ablasspunkt abfließt. Damit würde ich erreichen, dass die Wasseroberfläche an einem konstanten Punkt bleibt. Somit entfiele zumindest schonmal eine Steuerung für dieses Element des gesamten Kreislaufs.

    3) Kann man in der DA eigentlich schreiben, dass man aus Kosten und Zeitgründen sich eben für bzw. gegen eine bestimmte Methode entschieden hat oder sollte man andere Gründe heranziehen?

    Mad Andy schrieb:

    Was ist das für ein Controller für die Spannung? Sollst/musst du den unbedingt verwenden? Bezeichnung/Datenblatt?
    Controller ist ein "LabJack U12" von Meilhaus Electronics: meilhaus.de/produkte/usb-mobile-messtechnik/?user_produkte[PR]=84&cHash=f7a6f4a536
    Ich sollte schon darauf zurückgreifen, doch wenn es eine viel bessere Variante gibt, würde ich versuchen die anderen davon zu überzeugen ;)
    4) €dit: Habe soeben erfahren, dass die Büchse sehr langsam sein soll und ein externes Controller Board vorzuziehen wäre. Hättest du eine Idee?

    Mad Andy schrieb:

    Was für ne Heizleistung!? Wie funktioniert der Durchflussmesser? Gibt ja mehrere Prinzipien.
    Das Prinzip beruht auf dem kalorimetrischen Messverfahren. Dieses ist entgegen einschlägiger Internetseiten hier jedoch etwas abgewandelt: Der Flüssigkeitsdurchflussmesser besteht salopp gesagt aus einem Glasröhrchen, welches am Anfang und am Ende mit einer Wicklung aus einem temperaturabhängigen Widerstandsmaterial versehen ist (Platindrähte, PT100). Eine Wicklung dient als Referenz, die andere als Heizelement. Einer der Drähte dient als ein reiner Temperaturmesser, als „Referenz“, der andere der beiden Drähte ist ein Heizelement, welches konstant durch elektrische Energie auf 40 °C Übertemperatur gehalten wird. Durch die Menge der in das Heizelement einzuspeisenden elektrischen Energie lässt sich dann die Geschwindigkeit und damit auch die Menge des jeweiligen strömenden Mediums ermitteln. Der hineingesteckten Heizleistung werden dann mittels Tabelle die aus der Kalibrierung gewonnenen Messwerte zugeordnet.

    Will mich jetzt langsam aber sicher mal an die Gliederung / Strukturierung der DA wagen, habe schon 1,5 Bücher dazu gelesen. Doch irgendwie verwirren die mich ein bisschen...

    Viele Grüße und ein schönes Wochenende wünsche ich!
    Moin

    Ich hatte schon Angst, weil so lange nix von dir gekommen ist ;)

    0) Conrad hat Apothekenpreise. Wenn's ne Alternative gibt, würd' ich zur Alternative greifen. Wir verwenden in der Firma für einzelne Stück, bei manchen Bauteilen auch für größere Mengen, Farnell (farnell.com).
    1) Stepper sind recht teuer, was das Preis/Leistungsverhältnis angeht (Leistung im Sinne von Kraft/Moment). Bei nem DC würde ich zu nem (Zahn-)riemen greifen. kA, wie man das am besten lagert; ein Rutschlager ist wohl evntl. etwas zu "reibhaft" ab einer gewissen Last (bestimmte Menge Wasser).
    2) Als Endschalter montierst du auf deinen Aufbau einfach Rollentaster (bei Conrad heißen die Microschalter; den hier z.B.). Die geben dann beim Schließen eine Flanke ab, die du mit einem Controller auswerten und die Stromzufuhr unterbrechen kannst. Wenn du die Geschwindigkeit von dem Teil einstellen können musst, oder ein langsames Anfahren ermöglichen willst, damit nichts übergeht, brauchst du dann noch eine H-Brücke, die du mit PWM auf einen durchschnittlichen Spannungswert bringst. Mit passender Übersetzung und keinen besonderen Geschwindigkeitsanforderungen, kannst du da ggf. aber drauf verzichten und einfach mit einem FET und einer Diode, durch trennen der Masse, das Teil an- und abknipsen.
    3) Eine Auflistung der Möglichkeiten, Pros und Kontras zeigt, dass du dich mit dem Thema befasst hast. Du musst dich dann für eine Entscheiden und das natürlich auch begründen. Kosten- und Zeitgründe sind immer gut. Evntl. kannst du auch Informationen zusammentragen, die aufzeigen, warum eine bestimmte Möglichkeit nicht geeignet ist - z.B. die Verzögerung von Event zur Abarbeitung auf einer Windowsplattform. Dass man auf ein "echtes" OS als Benutzerschnittstelle greifen will, lässt sich auch gut begründen. Jedenfalls sollte es so klingen, dass es gut ist, dass man sich gegen/für etwas entschieden hat. Alles eine Sache der Formulierung :) ("Keine Kohle, darum rumgepfuscht" sollte man eher nicht schreiben ;))
    4.1) Zum LabJack:
    Execution time for this function is 20 milliseconds or less (typically 16 milliseconds in Windows).
    Der .net-Wrapper und die Timer-Verzögerung kommt dann auch noch dazu.
    Ohne Verstärker wirst du dann auch nicht weit kommen: maximaler Ausgangsstrom von 30mA. Und reichen die 0 bis 5V eigentlich? Da kann man eigentlich schon fast einen DAC mit einem µC basteln ;)
    4.2) Brauchbare, fertige Controllerboards gibts eher wenige. Meistens sind da einfach nur die Pins rausgeführt oder es ist ausschließlich Zeug drauf, das man sowieso nicht braucht.
    Wie schaut's bei dir mit Ätzmöglichkeiten aus? Prototypen kann man auf einer Lochrasterplatte auflöten oder in eine Laborplatine stecken, aber zum herzeigen bietet sich eine selbst oder prof. geätzte Platine deutlich besser an.
    4.3) Für den Durchflussmesser musst du also den Strom messen, richtig?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()

    Hallo,
    keine Sorge, ich hatte in den letzten Tagen nur wenig Zeit. Bin zum Ende der Woche zur Cebit gefahren (hat sich leider nicht gelohnt :( ) und war daher etwas im Stress. Vielen Dank für deine ausführliche Antwort, finde es echt klasse, dass du mir hilfst.

    Ätzmöglichkeiten haben wir im begrenzten Sinn. Ein Mitarbeiter hat das schon des Öfteren gemacht. Aber ich denke, ein Übungsboard mit Drähten anstelle von Leiterbahnen ginge notfalls auch?
    Hatte mich in den letzten Tagen mal auf dieser Seite (shop.robotikhardware.de/shop/catalog/index.php) umgesehen. Dort gäbe es fertige Controllerboards. Aber da du ja sagtest, diese seien für meine Zwecke eher Overkill, bin ich jetzt ein bisschen verunsichert.
    Zum Basteln eines solchen µC-Boards: ich habe so etwas noch nicht wirklich gemacht (also geplant), hättest du dafür evtl. eine Anleitung oder Vorgehensweise? Es gibt so elendig viele Varianten und ich sehe den Wald vor lauter Bäumen nicht.
    Was das Ätzen und Bestücken angeht, dass hatten wir auch schon im Rahmen des Studiums im Labor. Doch ich bräuchte halt irgendeinen konkreten Plan für so ein µC-Board, wie ichs aufbaue, die Software Geschichte etc..
    Deinen Vorschlag mit dem Endschalter hatte ich auch schon in Erwägung gezogen. Da dies die günstigste Variante für den Wagen zu sein scheint, werde ich darauf zurückgreifen. Dann also ein DC mit Zahnriemen (Zahnriemen haben wir genug in der Firma). Welchen DC sollte ich nehmen, einen normalen 12V? Getriebe braucht man dann doch eigentlich nicht, wenn man mit Zahnriemen arbeitet - man könnte die Übersetzung ja mittels der Zahnradgröße einstellen (die wir auch da hätten).
    Zum Durchflussmesser: ich kann dir nicht 100%ig sagen, ob wir den Strom messen, die Geräteelektronik ermittelt immer die Leistung, die von ihr in den Durchflussmesser gesteckt wird. Da P=U*I ist, nehme ich an, dass der Strom durch den sich ändernden Widerstand des Thermoelements fließt und dann die Spannung gemessen wird, die an ihm abfällt. Ich bringe das aber morgen nochmal in Erfahrung. Der Durchflussmesser nebst Geräteelektronik funktioniert jedoch einwandfrei. Wir haben auch ein fertiges Terminal dazu, welches uns am Rechner alle relevanten Daten (Volumenstrom, Temperatur des Mediums, V und P) ausliefert.

    LG und ein schönes Restwochenende...

    Edit: Hier nochmal ein Link zum Board: rn-wissen.de/index.php/RN-Control

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „obersniggy“ ()

    obersniggy schrieb:

    Aber da du ja sagtest, diese seien für meine Zwecke eher Overkill, bin ich jetzt ein bisschen verunsichert.
    Ne, Overkill ist der falsche Ausdruck. Es passt einfach nicht. Wenn du auf ne Lochraster- oder Laborplatte nen konventionellen µC steckst (z.B. ATMEGA16) hast du mehr, davon, weil du wirklich alle PINs beschalten kannst. Die Demoboards sind nur gut um rumzuspielen.

    obersniggy schrieb:

    hättest du dafür evtl. eine Anleitung oder Vorgehensweise? Es gibt so elendig viele Varianten und ich sehe den Wald vor lauter Bäumen nicht.
    Ich persönlich bevorzuge ATMEL µCs (z.B. ATMEGA16 mit 8MHz oder 16MHz Quarz (Quarz ist wichtig wegen der RS232)).

    obersniggy schrieb:

    konkreten Plan für so ein µC-Board
    Das gilt es ja zu erarbeiten ;) Erstmal musst du dir überlegen, was du direkt am PC machst und was du in externer Elektronik machst.
    Besonders interessant ist auch das mit der (einzustellenden) Pumpenspannung. Am schönsten / einfachsten / angenehmsten wäre es wenn man die Pumpengeschwindigkeit über ein PWM-Tastverhältnis einstellen könnte.

    obersniggy schrieb:

    Welchen DC sollte ich nehmen, einen normalen 12V?
    12V oder 5V. Was du so rumliegen findest :D Leistung * Übersetzung muss hald ausreichen um die Last zu bewegen - wobei ich keinen Schimmer von Größenordnungen hab :S

    obersniggy schrieb:

    man könnte die Übersetzung ja mittels der Zahnradgröße einstellen
    Ist ja ne Übersetzung ;)


    EDIT: Wie willst du die Spannungsversorgung lösen? DC + Pumpe + Was-weiß-ich-was braucht dann doch einiges an Saft. Nen Steckernetzteil für 12V und dann nen Step-down-Wandler auf 5V wäre recht schnell gebaut.
    Habe mich heute mal in die Thematik Atmel / AVR reingelesen. Wollte mir morgen dazu ein Buch von Roland Walter ausleihen: "AVR-Microcontroller-Lehrbuch". Darin wird aber mit Bascom programmiert. Was denkst du über diese Sprache, hast du evtl. Erfahungen damit?

    Edit: Wenn ich z.B. einen ATMega16 verwende, könnte ich an einem Port doch diesen Microschalter anschließen und mit einem anderen Port die Drehzahl des Motors solange aufrecht erhalten, bis der als Input für den Mikroschalter definierte Port ein High bekommt. Doch zwischen Motor und µC müsste doch ein Verstärker geschaltet werden, damit der µC nicht abraucht oder?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „obersniggy“ ()

    Bascom ist schon OK. Der erzeugte Code ist meist größer als der vom gcc beim Win-AVR. Wenn der Speicher knapp wird, kann man manuell optimieren und den Code kleiner bekommen. Das ist aber nur notwendig, wenn man vorgesetzte Hardware proggen möchte, so wie ich z.B. den Frontprozessor der Telekom IPTV Kiste. (t-hack.de)
    Ansonsten für bisher alle meine Projekte ausreichend. Win-AVR nehme ich nur, wenn ich Programme aus dem Netz (angepasst oder nicht) verwende. Ich steh nicht so auf {[]};

    Ein Projekt wie Deines wäre in recht kurzer Zeit programmiert.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Moin!

    Wenn du Realtime-Fähigkeit willst - was du willst ;) - dann solltest du keine Rechenzyklen verschwenden. Ich würde eher zu C greifen.

    @ Drehzahl: naja... eine Drehzahlregelung geht nur mit einem Drehzahlmesser (Messgeber, TEUER!). Eine hingepfuschte Drehzahlsteuerung geht, indem du einfach mit PWM den Motor vorprogrammiert schnell an- und abdrehst ("gemittelte Leistung").

    @ Motor anknipsen: Mit dem µC steuerst du einen Leistungsschalter (z.B. selbstsperrender MOSFET) an, der lässt dann Strom durch oder auch nicht.


    @ Taster: den hängste normalerweise an GND und verwendest einen internen Pull-Up-Widerstand. Das hat den Vorteil, dass die Konstruktion unabhängig vom Versorgungsspannungspegel ist.

    Am besten nimmst du dafür Interrupt-Pins vom µC - da kannst du dann mit nur 1 Takt Verzögerung drauf reagieren (im Gegensatz zum Pollen).

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()