-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Pulverwaage elektronisch geregelt

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.06.2016
    Beiträge
    14

    Pulverwaage elektronisch geregelt

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo, mein Name ist Andy,
    hab mich grad registriert nachdem ich schon ne ganze Weile mitgelesen hab.

    Ich hoffe ihr könnt mir helfen bei meinem neuesten Projekt.

    Ich habe eine mechanische Waage über die ich Pulver abwiegen kann. Das Pulver kommt über ein sich drehendes Rohr in die Waagschale und hebt bei einem bestimmten Gewicht den Waagbalken an bis er irgendwann Strich auf Strich steht. Fertig.

    Das Rohr möchte ich nun gerne über einen Schrittmotor drehen, und zwar auf zwei verschiedenen Drehzahlstufen.
    Zuerst höhere Drehzahl, und sobald sich der Balken hebt auf sehr niedriger Drehzahl bis die Markierungen übereinstimmen.
    Die Stellung des Balkens wird durch zwei Lichtschranken abgefragt.

    Zu meiner Hardware:
    Arduino Uno Board mit Motor Shield R3
    Schrittmotor Emis E547-52500 0.25 Nm 0.6 A
    Lichtschranken TCST 2103

    Motor läuft, mit einigen Sketches ausprobiert.

    Zu meiner ersten Frage:

    Bei ständiger Drehung werden Motor und Shield leicht warm, aber je niedriger die Drehzahl wird umso heisser wird beides.
    Zum Schluß des Wägevorganges muss sich der Motor ca 10 Sekunden nur noch Schrittweise bewegen und dabei wird er so heiss dass ich ihn nicht mehr anfassen kann. Gleiches gilt für den Prozessor auf dem Shield.

    Wie kann ich die Temperaturen so niedrig wie möglich halten?
    Der Motor braucht so gut wie keine Kraft aufzuwenden, schon gar keine Haltekraft.
    Gibts ne Möglichkeit den Strom zu begrenzen oder ähnliches?


    Vielen Dank schon mal
    Andy

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo Andy,
    Zitat Zitat von Shag Beitrag anzeigen
    Wie kann ich die Temperaturen so niedrig wie möglich halten?
    Der Motor braucht so gut wie keine Kraft aufzuwenden, schon gar keine Haltekraft.
    Gibts ne Möglichkeit den Strom zu begrenzen oder ähnliches?
    Ist alles Klar, der Motostrom ist viel zu hoch.

    Das Problem bei Schrittmotoren ist, dass mit zunehmender Drehzahl und konstanter Spannung die Stromaufnahme ab nimmt. Im Stand ist dann nur noch der Ohmsche Widerstand der Wicklung massgebend.

    Das Shield hat einen PWM-Eingang und einen CurrentSensing Analogausgang um den Motorstrom zu messen.

    Entweder hast du da die Jumper falsch gesetzt und/oder due verwendest eine falsche Software.
    Über den PWM-Eingang kann man den Motorstrom festlegen.

    In deinem Fall, kann es genügen mit nur zwei PWM-Einstellungen zu arbeiten. Also mehr Strom bei der hohen Drehzahl und ein kleiner, wenn du nur noch Einzelschritte fährst oder der Motor steht.

    Kannst du natürlich selber programmieren oder eine passenden Treiber/Bibliothek verwenden.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Das passt leider alles gut zusammen:

    Dein Motor hat einen Wicklungswiderstand von etwas über 3 Ohm.
    Der Motortreiber ist ein L298; der will (aus dem Kopf) wenigsten 7,5..8V Motorspannung haben. (vermutlich arbeitest du mit 12V !? )
    Mit dieser Motorspannung fließen je Windung weit mehr als zwei Ampere. Das ist in jedem Falle jenseits der Leistungsfähigkeit eines L298, erst recht für die verwendete SMD-Variante.
    (real ist der Strom wegen der Spannungsverluste im L298 deutlich geringer, was aber seinerseits das thermische Problem verschärft)
    Die Schaltung des Shields macht auch keine Strombegrenzung, sie bereitet lediglich die Spannungen der Messshunts auf.

    Bei höheren Schrittfrequenzen, also beim anfänglichen schnellen Lauf, begrenzt die Motorinduktivität den maximalen Spulenstrom.
    Je langsamer der Motor dreht, desto länger werden die Einschaltzeiten der Wicklungen und desto höhere Werte erklimmt die Induktivitäts-"gebremste" Stromrampe.
    Im Beinahe-Stillstand tritt dann der worst case ein: Der Spulenstrom wird zu hoch, weil er nur noch durch den ohmschen Wicklungswiderstand begrenzt wird.

    Edit: Da hatte ich Mist geschrieben - das muss der Nachwelt nicht erhalten bleiben. Ja, mit PWM ist das Shield durchaus zu gebrauchen, aber zeitgemäß ist es trotzdem nicht mehr.
    Geändert von RoboHolIC (24.06.2016 um 22:55 Uhr)

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    24.06.2016
    Beiträge
    14
    Danke erstmal. Seh schon, Profis am Werk..

    Könnt ihr mir das mit dem Jumpern noch näher erklären bzw. wo setz ich die?
    Wieviel Spannung ist denn optimal?
    Ich hab mit 12 Volt getestet.
    Wo find ich die entsprechenden Treiber/Bibliothek?

    Sorry für die dummen Anfängerfragen..

    Gruß
    Andy

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.443
    Die Jumper sind auf der Rückseite vom Shield

    To avoid possible damage to the Arduino board on which the shield is mounted, we reccomend using an external power supply that provides a voltage between 7 and 12V. If your motor require more than 9V we recommend that you separate the power lines of the shield and the Arduino board on which the shield is mounted. This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield. The absolute limit for the Vin at the screw terminals is 18V.
    Function pins per Ch. A pins per Ch. B
    Direction D12 D13
    PWM D3 D11
    Brake D9 D8
    Current Sensing A0 A1

    If you don't need the Brake and the Current Sensing and you also need more pins for your application you can disable this features by cutting the respective jumpers on the back side of the shield.
    https://www.arduino.cc/en/Main/ArduinoMotorShieldR3

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    24.06.2016
    Beiträge
    14
    Ah, cutting Vin Connect.

    Hab immer nach Pins zum Jumper setzen gesucht.
    Gut, wird heute Abend probiert.

    Danke

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    24.06.2016
    Beiträge
    14
    Also Jumper trennen bringt nichts.

    Zitat Peter(TOO)
    "über den PWM Eingang kann man den Strom begrenzen" - wie geht das?

    Noch was:
    Wenn ich am UNO die Lichtschranke anschliesse bekomme ich die richtigen Signale, also von 180 - 1023 im Serial Monitor.
    Wenn ich das selbe mit aufgestecktem Motor Shield mache bekomme ich 34 - 36.
    Was stimmt da jetzt nicht?

    Der Code, falls interessant:

    int sensorPin = A0;
    int sensorValue = 0;
    int ledPin = 13;

    void setup()
    {
    pinMode(ledPin, OUTPUT);
    Serial.begin(9600);
    }

    void loop()
    {
    sensorValue = analogRead(sensorPin);
    Serial.println(sensorValue);

    if (sensorValue > 512) {
    digitalWrite(ledPin, HIGH);
    }
    else
    {
    digitalWrite(ledPin, LOW);
    }

    delay(100);
    }


    Danke,
    Andy

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.443
    int sensorPin = A0;
    Current Sensing A0 A1
    https://www.arduino.cc/en/uploads/Ma...-schematic.pdf
    Man beachte R1 mit 0R15 zwichen SNSA und GND.
    Also anderen Analogeingang als A0 oder A1 nehmen oder SNS0-ENABLE auftrennen, sonst wirken die 0,15Ohm nochmal als unterer Zweig eines Spannungsteilers dessen oberer Teil die Lichtschranke ist, die selbst wohl auch schon ein Spannungsteiler ist.
    Also eine Parallelschaltung von Wiederständen im unteren Zweig. und dazu noch mit einem ziemlich kleinen Wiederstand.
    Daß da alles in Richtung deutlich keinerer Spannungen verschoben ist, wundert da nicht wirklich.
    Die Info hatte ich Dir aber zwei Posts weiter oben geliefert.
    Function pins per Ch. A pins per Ch. B
    Direction D12 D13
    PWM D3 D11
    Brake D9 D8
    Current Sensing A0 A1
    If you don't need the Brake and the Current Sensing and you also need more pins for your application you can disable this features by cutting the respective jumpers on the back side of the shield.
    https://www.arduino.cc/en/Main/ArduinoMotorShieldR3
    Prüf mal ab ob Du einen (oder mehrere) dieser 8 Pins für was anderes als zu Ansteuerung des Shields nutzt. Wenn ja kann es nicht funktionieren
    Geändert von i_make_it (29.06.2016 um 19:43 Uhr)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    24.06.2016
    Beiträge
    14
    Das Shield ist direkt auf den UNO draufgesteckt.
    Aber ok, ich besorg mir nen anderen treiber, dann sind die Pins frei, und das Wärmeproblem müsste auch gelöst sein.

    Danke
    Andy
    Geändert von Shag (29.06.2016 um 18:31 Uhr)

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.443
    Zitat Zitat von Shag Beitrag anzeigen
    Das Shield ist direkt auf den UNO draufgesteckt.
    Aber ok, ich besorg mir nen anderen treiber, dann sind die Pins frei,
    Mann könnte auch:
    int sensorPin = A0;
    ändern in:
    int sensorPin = A2;
    oder bis
    int sensorPin = A6;
    dürfte kostengünstiger sein als neue Hardware zu kaufen.

    Zitat Zitat von Shag Beitrag anzeigen
    ich besorg mir nen anderen treiber
    und das Wärmeproblem müsste auch gelöst sein.
    Das Motorshield hat als Einflußmöglichkeit:
    PWM
    Brake
    und
    Current Sensing
    als feedback, damit ist es möglich einen Regelkreis zu programmieren, bei dem der Strom bei kleinen Drehzahlen reduziert wird.
    OK, nicht einfach aber es geht.
    Was soll ein anderer Treiber an dem Problem ändern.
    Du nimmst einen größeren Treiber?
    Gut daß ändert nichts am Wiederstand der Motorwicklung.
    Dann wird halt nicht der Treiber heiß, sondern der Motor brennt durch.

    Weißt Du denn was der Treiber können muß, damit das Problem der Erwärmung bei kleinen Drehzahlen nicht auftritt?

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Spannungs geregelt ein/aus schalten
    Von goara im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 16.07.2010, 19:24
  2. asuro lernt geregelt fahren
    Von radbruch im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 19.01.2007, 12:20
  3. ir diode geregelt treiben
    Von leif im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 28.11.2004, 00:41
  4. Antworten: 4
    Letzter Beitrag: 29.08.2004, 13:25
  5. [ERLEDIGT] Power-Netzteil, geregelt
    Von im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 16.04.2004, 13:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •