Beiträge von da_user

    falls nötig, weil spiel selber zu blöd dafür: zum tasten belegen das tool "JoystickCursorTool" - hoffe, es reicht aus. das ding ist uralt und eher rudimentär. das tool joyToKey gibt's auch noch, würde zu 100% funzen, ist aber shareware. falls wer weiteres kostenloses kennt - ich nehme gerne jeden link an *g*
    NACHTRAG: das proggy scheint besser und freeware zu sein - mal gucken: Products Archive - InputMapper

    Bestimmte Arduinos könnten sich bei einem PC auch als HID-Gerät anmelden. Der könnte dann - komplett ohne weitere Software - direkt Keyboardtastendrücke schicken.

    Ansonsten ggf. noch eine weitere Alternativsoftware: EventGhost.

    Das zweite Loch auch wieder mit zwei Opferplatten. Wobei es ein Loch und ein Topf werden mußte.

    Außen (Topf) 12mm. Dafür habe ich den Fräser aus der Oberfräse verwendet.

    Um Topf und Bohrung wieder zu zentrieren, habe ich mir einen Ring gelasert.

    Ggf. wäre auch ein Flachsenker gegangen, der hätte einen Führungsdorn.

    Ist natürlich nur mit für Zylinderschrauben passenden Durchmessern erhältlich.


    Für das Gewinde von deinem Poti: Einschlagmutter ist keine Option?

    Shellys sollten auch ohne Cloud funktionieren.

    Spätestens mit Tasmota dürfte dass dann klappen, müsste man sich halt in die Rules reinarbeiten.


    Master-Slave wäre eine Idee, ich kann mir aber vorstellen, dass eine Spülmaschine zeitweise auch mal sehr wenig Strom zieht, z.B. wenn der Innenraum in der Trockungsphase warm genug ist und die Heizung abgeschaltet wird. Da bräuchte man dann vielleicht noch eine Abschaltverzögerung.

    Ah... noch ein Kniff...


    Dann muss ich tatsächlich nochmal rechnen, und wohl beides zusammenschmeißen. Da wird wohl definitiv ein Gasflaschenbündel kommen. Laut Internet gibt es die mit 6. 8, 9, 12, 16 oder 18 Flaschen.

    So,.. ich bin jetzt endlich zum Rechnen gekommen, und komme irgendwie auf ein anderes Ergebnis.


    Grundformel: p1*v1 = p2 * v2 => (p1*v1)/p2 = v2


    Da ergibt sich ein Problem: p2 = 0 bar funktioniert als Teiler nicht. Sind die anderen Drücke als Überdrücke oder Atmosphärendrücke angegeben? Nehmen wir fürs erste mal an: Atmosphärendrücke:


    Jetzt berechne ich, wie viel Gas @Atmosphärendruck = 1 bar in die Anlage auf 135bar gepresst werden muss:

    1.100l*135bar/1bar = 148.000l


    Dann wie viel Gas@1bar in der Flasche ist:

    50l*300bar/1bar = 15.000l


    Dann wie viel Gas@1bar in der Flasche ist, wenn noch 135bar drinnen bleiben:

    50l*135bar/1bar = 6.750l


    Damit wäre als Differenz 300/135bar 15.000l-6.750l = 8.250l@1bar pro Flasche entnehmbar.


    => 148.000l / 8.250l = 18


    Für Überdrücke erhöhe ich den Anlagendruck und den Flaschendruck um 1bar auf 136/301bar, damit gilt für die Anlage:

    1.100l*136bar / 1 bar = 149.600l


    Bei der entnehmbaren Menge ändert sich nix, da für beide Werte 50l dazukommen.

    => 149.600l / 8.250l = 18,1333...

    Hi,


    das zeigt doch, dass man nicht unbedingt Ahnung von Hydraulik haben muss, um trotzdem das eine oder andere darin rechnen zu müssen.

    Wenn du also 1100l bei 135bar haben willst, brauchst du bei 300bar 495l, also knapp 10 Flaschen.

    Das wäre doch zu einfach, da wäre ich von selbst drauf gekommen.

    Das setzt aber natürlich voraus, dass du die Flaschen bis auf 0bar leer pumpst. Wie gesagt habe ich keine Ahnung von dem Thema, also habe ich auch mal noch angenommen, dass die Flaschen nur angeschlossen werden und gewartet wird, bis sich der Druck ausgleicht.

    Du erinnerst dich:

    Aus Gründen will ich das gerade eben nicht machen, warum verrate ich später.

    Das ist genau der Grund. Mich hat einfach interessiert, ob andere da auch drauf kommen. Immerhin ist da der Kollege vor 10 Jahren drüber gestolpert (das weiß ich noch, wie viele Flaschen wir brauchten leider nicht mehr...).

    Das kann man dann von Hand oder per Computer ausrechnen, wobei man noch einen Startwert definieren muss.

    Oh man.... sowas habe ich schon öfter einfach in Excel gehackt und dann durchrechnen lassen,... zefix...

    So, jetzt bin ich sehr gespannt, was du gerechnet hast, wahrscheinlich war das von mir alles völliger Stuss.

    Ich habe leider meinen Schmierzettel wirklich nicht mehr gefunden.

    Mein versuchter Lösungsweg damals war m.W., dass ich das Gasvolumen dass bei 135bar in der Hydraulikanlage drinnen ist, auf 0 bar umgerechnet habe (müssten das nicht 148500l sein?). Das gleich dann mit dem Gasvolumen 135 bis 300 bar aus der Flasche. Und daraus wollte ich dann wahrscheinlich per Dreisatz oder so das 0bar-Volumen vom Gas ausrechnen, dass noch bei 135bar in den Flaschen sein muss. Dann wieder auf 300... und.. ja.. hat ja nicht geklappt.


    Aber dank dir habe ich jetzt einen weiteren Ansatz, den ich mir mal für morgen vornehme:

    Erstmal wieder das Gasvolumen Hydraulik auf 0 bar umrechnen und dann für eine Gasflasche ausrechnen, was ich an "0-bar-Gasvolumen" raus bekomme, wenn noch 135bar drinnen bleiben.


    Danke für den Ansatz, ich werde berichten.

    Hi,


    mal ein Thema aus der Arbeit bei dem ich mir etwas die Zähne ausbeiße. Ich habe vor einigen Wochen da schonmal rumgerechnet (müsste "nur" wieder den Schmierzettel von damals finden), aber wie gesagt, ich bin da nicht weitergekommen.


    Gegeben ist eine Hydraulische Kolbenspeicheranlage mit 200l. Gasseitig 18 Flaschen á 50l, insgesamt also ~1100l Volumen + ein paar Literchen Rohrleitungen.

    Diese Anlage soll gewartet werden. Anschließend muss man diese neu befüllen.


    Frage: wie viele N2 Flaschen á 50l@300bar benötigt man um auf 135bar Druck zu kommen?


    Normalerweise würde ich hier jetzt etwas von dem, was ich bereits gerechnet habe präsentieren (zumindest nachdem ich den Schmierzettel gefunden oder neu gerechnet habe). Aus Gründen will ich das gerade eben nicht machen, warum verrate ich später. Und ich glaube dass ich es bei euch machen kann, ohne dass ihr mir vorwerft ich würde meine Hausaufgaben nicht machen wollen... ;-)


    VG

    Matthias

    Wäre auch ganz schick.

    Im Moment ist auch das Problem, dass der Gehäuseausschnitt im Shelly seeehr knapp ist, die Dupont muss man da schon reinquetschen. Evtl. finde ich mal was, was besser passt, ggf. könnte man dass dann sogar auflöten.


    Das Proggy-Tasmotizer würde ja sogar Devices unterstützten, die einen Self-Reset können. Vom Arduino kenne ich dass, dass das mit der DTR-Leitung erledigt wird. Wäre interessant, in wie weit man das benutzen könnte, um den Shelly zu reseten oder gar in den Prog-Mode zu setzen.

    Wenn man dann noch einen Taster anbringt, der auslöst, wenn man den Shelly in das Modul steckt und den Tasmotizer automatisieren kann, ginge das sogar halbautomatisch: Shelly rein, proggen lassen, Shelly raus...

    Hi,


    ich hatte jetzt mal wieder zwei Shellys zum flashen. Mir ging das das letzte mal schon auf den Geist. So liefert z.B. mein USB-TTL-Adapter nicht genügend Strom auf der 3,3V Schiene, also wieder Labornetzteil einstellen und dranfrimmeln, und ja, der GPIO 0 gehört dann auch noch auf Masse gezogen, und wie war das jetzt wieder mit RX & TX, Ach... himmelherrgottsackrament-zefix-birnbaumundholderstaudnnochmal...


    Also statt dem normalen Verhau zum flashen ein noch größeres Chaos gemacht, herausgekommen ist eine Quick & Dirty Lösung:

    Schaltplan ist wohl schneller beschrieben als gezeichnet:

    Herzstück bildet ein MP2315-Board (gibts u.A. bei Ali), fest eingestellt auf 3,3V. Der USB-TTL-Adapter bleibt auf 5V eingestellt und steckt in einer Buchsenleiste, VCC dann auf VIN von dem MP2315-Board, GND ist klar, VOUT kommt zur anderen Buchsenleiste für den Shelly, EN bleibt unbelegt, zwischen VIN und GND noch ein kleiner Kerko, Ausgangsseitig ebenfalls und einen (wirklich!) kleinen Elko dazu. LED für 3,3V ist noch ein Gimmick.

    Dann noch ein Schalter er GPIO 0 auf GND schaltet.

    Foto von der gelöteten Rückseite gibt es nicht - aus Gründen...

    Aus dem Tasmota-Wiki die Anschlussgrafik kopiert und bearbeitet, und zwar so, dass man noch einen Umrissteil des Shellys sieht. Dann weiß man gleich, wie rum man den halten muss und so muss man nur noch 1:1 durchverdrahten.


    Kurz zum MPS2315-Board:

    Ich habe die schon lange rumliegen, ist jetzt mein erster Einsatz für so eines. Vorteil ist, dass die kompatibel zu den Standard-Linearreglern LM*irgendwas* ist, zumindest laut Chinesen. Standardmässig stellt man den per Poti ein, man kann aber auch Lötbrücken setzten. Dann ist es aber wichtig, dass man die Leiterbahn über der Lötbrücke "Adj" trennt. Ganz genau hingucken, die ist wirklich winzig klein.


    So, was könnte man besser machen?

    Ganz klar: Umdrehen, die GND-Leitung nach unten, dann steckt man den USB-TTL-Adapter anders herum rein, aber der Shelly kommt auch andersherum an das Board ran. Dürfte bequemer zum Ein&Ausstecken sein. Und dann noch ein Schalter ran, um die 3,3V zum Shelly zu unterbrechen - für den Neustart.

    Direction Strind in boolean gewandelt, geht das schneller im Vergleich?

    Arbeiten mit Strings sind immer sehr CPU-Aufwendig. Hier wurde immerhin die "String"-Klasse verwendet (statt "string"), dass ist ggf. schonmal effizienter.

    Du musst aber einfach bedenken:

    Bei einem Vergleich muss die CPU jedes Byte vergleichen. Bei einem String "forward" sind das schonmal mindestens 7 Byte, bei einem bool eines und du bist hier auf einer 8/16MHz 8-bit CPU unterwegs.


    Soweit ich das verstehe, ist Timing hier (BLDC Steuerung) wirklich alles, und das ist für "puren Code" wohl nur möglich wenn absolut nichts dazwischen kommt.

    Irgendwie läuft dass auf nen eigenen IC raus der das dann regeln sollte.

    Du könntest auch zwei µCs (Arduinos) dafür verwenden.

    Einer der sich um das HMI kümmert (Human-Maschine-Interface - also Display und Eingabe) und der die Soll-Werte - am besten schon gut aufbereitet - z.B. per I2C an deinen zweiten µc weitergibt welcher den Motor steuert. Das geht dann in die Richtung vom ersten Beispiel, aber statt der seriellen Schnittstelle (und deren Auswertung) die I2C-Kommunikation.


    Also,.. um mal mit Kanonen auf Spatzen zu schießen... ;-)

    Auf Anhieb kann ich nix erkennen, mir fehlt gerade aber auch etwas die Zeit.


    Interessant finde ich, dass die für die "direction" tatsächlich Strings verwenden. Normalerweise würde ich da eine enum verwenden, strings auszuwerten kostet sehr viel CPU-Zeit.


    Du hast nicht nur das Display hinzugefügt, sondern auch den Analogeingang. Mach mal wirklich eines nach dem anderen. Evtl. wackelt dein Analogeingang kräftig rum. Ggf. könntest du auch mal probieren, deinen Analogeingang einfach immer auf die Serielle Schnittstelle zu schreiben. Wenn der kräftig wackelt, hast du ein Problem mit der Beschaltung. Wenn der etwas wackelt, dann ist das rauschen. Da könnte es helfen, z.B. über 100 Durchläufe den Mittelwert zu bilden.

    Code
    if(abs(intProzentOld - intProzent) >= 10 ) {

    Hier wertest du aus, ob sich der Wert des Analogeinganges weit genug geändert hat, dass es Wert ist, die Motordrehzahl anzupassen und das Display neu zu schreiben?

    Mach das doch mit dem RAW-Wert und spar dir die CPU-Zeit für die Umrechnung vorher.


    BTW:

    die Arduino-IDE hat m.W. einen Menüpunkt "Autoformat". Wenn die Einrückungen schöner sind, lässt sich das auch wieder einfacher lesen.

    Da brauchen wir den Code dafür, und ggf. auch Links zu den jeweiligen Bibliotheken, Display, bzw. Motorlibs gibts ja wie Sand am Meer.

    Und wenn du uns den Code hier lieferst, bitte an die "Code" Tags denken.


    Und dann natürlich auch die Frage: woher weißt du, dass diese Zeile für den Fehler verantwortlich ist?

    Was macht diese Zeile? Den jeweiligen Wert auf das Display schreiben?

    Wenn ja, dann der erste Ansatz: dass muss nicht bei jedem loop-Durchlauf passieren, sondern nur, wenn sich der Displayinhalt ändert.

    Zwecks der Arduinos mag ich die Nanons gerne. Lassen sich gut mit den Jumper-Wires verbinden, aber auch mal auf einer Platine einsetzen. Sehr viel mehr als der klassische "Uno" kann das Dingens auch nicht. Es passen halt die Shields nicht drauf. Einen konkreten Klon kann ich dir jetzt allerdings nicht nennen.

    Wenn mehr Power benötigt wird, wären auch Boards aus der STM32-Familie interessant. BluePill und wie sie alle heißen. Sind halt oft 3,3V statt 5V, muss man aufpassen.


    Zwecks Stepper & BLDC-Motoren kann ich dir jetzt leider nicht weiterhelfen.

    Ich weiß aber, dass es für Stepper richtige Boards gibt, die sich dann mehr oder weniger selbst um die Ansteuerung des Steppers kümmern - du selbst gibst nur noch die Richtung und die Impulse vor, und reine "Endstufenboards", da muss der µC dann mehr oder weniger alles selbst machen (du selbst kannst auf Bibliotheken setzen).

    Ich würde eher ersteres bevorzugen.

    Mit BLDC-Motoren habe ich mich noch gar nicht beschäftigt.


    Wenn du nur drehen willst: es gibt auch Treiber für Gleichstrommotoren.