- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Maximalwerte DC-Motor bestimmen

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937
    Anzeige

    Praxistest und DIY Projekte
    Zitat Zitat von Klebwax Beitrag anzeigen
    Das hilft Cysign aber nicht weiter. Er muß ihn mit höherer Spannung, also mit mehr Strom als bei 3V fließen, betreiben.
    Mit der Strombegrenzung würde man ja auch erreichen, dass der maximale Strom, den der Motor aushält, nicht überschritten wird. Wenn häufiger der Maximalstrom überschritten wird, macht der Motor das eh nicht lange mit. Da würde wirklich nur ein größerer Motor helfen.

    Gibt es denn ein Bild oder so, wo man sehen kann, wie der Motor verbaut ist?
    AI - Artificial Idiocy

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von Klebwax Beitrag anzeigen
    Es darf nur nicht zu lange sein, sonst überhitzt er wie
    Was man rausbekommen muß ist, wie lange hier die "3 Minuten" sind, oder wie heiß er wirklich ist.
    Da müsste man halt messen.
    Möglichst die Temperatur der Wicklung messen.
    Dann den Motor 1-2s mit einem bestimmten Strom (Last) laufen lassen und wieder die Wicklungstemperatur messen.

    Alles wirklich wieder abkühlen lassen und mit einem anderen Strom messen.

    Die Kurven entsprechen dann e-Funktionen, also der Ladekurve eines Kondensators.

    Die erste Messung sollte man mit dem gänzlich unbelasteten Motor machen.
    Die Zweite würde ich mit blockiertem Motor machen.
    Weitere Kurven müssten dann dazwischen liegen.

    Zur Überwachung müsste man dann den Strom über die Zeit Integrieren.

    Per Software würde man dann den Strom während Laufzeitzeit z.B. jede Sekunde in einer Variablen addieren.
    Diese Variable wird in der Stromlosen Zeit jede Sekunde mit einem Faktor <1 multipliziert.
    Wenn die Variable einen bestimmten Wert überschreitet hat der Motor zu heiss.

    Kann man natürlich noch etwas genauer und komplizierter machen, indem man über die e-Funktion rechnet.

    Grundsätzlich sollte man über den aktuellen Strom gehen, da die Motorbelastung ja sehr unterschiedlich sein kann.

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

  3. #13
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Naja, wenn es ein 3V-Motörchen ist wird das Temperaturmessen schwierig.
    Ich vermute mal das Ding wird nicht allzu groß sein -> wenig Masse -> geringe thermische Kapazität -> ergo wird er sich ein gutes Stück wieder abgekühlt haben bevor der Sensor ein brauchbares Ergebnis anzeigen kann (Zeit zum Auseinanderbau mit einbezogen).

    Den Motor nach seiner Temperatur zu regeln wäre zwar theoretisch machbar, wird aber wahrscheinlich ziemlich aufwändig. Zum einen die Regelung selber, zum anderen wird die Temperturmessung im Betrieb ein Problem sein, dessen Lösung bei kleinen Baugrößen ebenfalls recht aufwändig sein dürfte.

    Vorschlag: Bau dir eine Konstantstromquelle aus einem LM317 und schalte den davor. Dann würden zwar im Maximalfall nur noch ca. 5,7V am Motor anliegen, aber dafür kann dein Motor nicht mehr durchbrennen wenn du ihn belastest. Im Überlastfall würde er einfach stehenbleiben weil der LM317 die Spannung über dem Motor runternimmt.

    Unter der Vorraussetzung, dass Wirkungsgrad und thermische Kapazität bekannt sowie die maximale Betriebszeit definitiv begrenzt sind könntest du den Motor auch definiert überlasten, dazu mußt du nur den über die Betriebszeit maximal verträglichen Dauerstrom berechnen und die LM317-Stromquelle entsprechend auslegen.

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.04.2013
    Beiträge
    526
    Soo doof ist die Idee mit dem Vorwiderstand gar nicht. Wenn der Motor 4 Ohm hat und du noch einen 4 Ohm Widerstand davorschaltest, fließt beim blockierten Motor nur noch der halbe Strom, was dann nur noch ein viertel der Wärmemenge ergibt. Die Leerlaufdrehzahl wird sich kaum ändern und auch die Drehzahl, bei der du den besten Wirkungsgrad hast, die ist ungefähr 80 % der Leerlaufdrehzahl. Da fließt dann nur noch ein kleiner Strom, und der Widerstand stört nicht sehr. Allerdings wird auch der Widerstand warm, du musst also einen entprechend leistungsfähigen Typen auswählen.

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.178
    Da er prinzipiell bei etlichen Testläufen kein Problem mit den 7V hatte, habe ich vorhin mal versucht, eine Einschalttauerüberwachung in meinen Code zu implementieren. Simples C-Gefrickel, aber die While-Schleife, welche die Positionen abruft und wartet, dass der Stop-Sensor sein Auslösesignal abgibt, mag meine Ideen zur Zeitbegrenzung nicht.
    Sobald die Bewegung einsetzt, speichere ich den aktuellen Zeitwert. Wenn dieser nun um 5 Sekunden überschritten wird, würde ich gerne eine Zwangspause einlegen und einen reneuten Versuch nach einer kurzen Abkühlphase starten. Aber genau da liegt das Problem.
    Theoretisch sollte ich mir mit der Funktion millis() die aktuellen Millisekunden auf meinem Diyplay ausgeben können. Aber das funktioniert genau einmal, kurz nach dem Aufruf der Funktion.
    Also habe ich ohne zeitliche Konstante eine Zahl inkrementiert. Das klappt super, ich kann sie mir auch auf meinem Display anzeigen lassen, rasselt schön sauber hoch.
    Sobald ich das jedoch als if-Abfrage in meine While-Schleife (kopfgesteuert) einbinde, zählt da nichts mehr. Irgendwie muss es in While-Schleifen mit Abfragen geben. Auch n kurzes Delay hat keine Abhilfe geschafft...

    Code:
    void turn()
    {
        if (karusellInAction == 0)
            {
            karusellInAction = 1;
            karusellPosition = 0;
            digitalWrite(relayVoltagePin, HIGH);
            digitalWrite(motorPin, HIGH);
            delay(leadTime);                        // adjust for each model
            relay1 = 0;
            relay2 = 0;
            relay4 = 0;
            relay8 = 0;
    
    
            while (analogRead(relayStop) <= 20)                         // A0 default: 40 active: 340
            {
                if (analogRead(relayeins) >= 50) { relay1 = 1; }        // A1 default: 42 active: 342
                if (analogRead(relayzwei) >= 50) { relay2 = 1; }        // A2 default: 41 active: 341
                if (analogRead(relayvier) >= 50) { relay4 = 1; }        // A3 default: 40 active: 340
                if (analogRead(relayacht) >= 50) { relay8 = 1; }        // A4 default: 41 active: 340/341
            }
    
            writePosition();
            delay(overTravelTimings[(karusellPosition-1)]);                  // adjust for each model
            digitalWrite(motorPin, LOW);
            digitalWrite(relayVoltagePin, LOW);
            previousTurn = lastTurn;
            buttonTime = millis();
            if (jumpedOver <= 1)
            {
                jumpedOver++;
            }
            lastTurn = millis();                    // moved before stop-sensing
            karusellInAction = 0;
            //lcd.clear();
            }
    }
    Wenn die While-Schleife zu lange läuft, muss ich den MotorPin wieder auf low setzen. Aber irgendwie komm ich da nicht raus.

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Phasenverschiebung bestimmen
    Von Maverick89 im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 22.10.2010, 15:52
  2. Postion bestimmen
    Von horsty im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 14.11.2009, 21:24
  3. Drehmoment bestimmen, jedoch nicht vom Motor...
    Von DBDüsentrieb im Forum Mechanik
    Antworten: 8
    Letzter Beitrag: 23.07.2008, 23:45
  4. Rauschamplitude bestimmen
    Von Felix G im Forum Software, Algorithmen und KI
    Antworten: 6
    Letzter Beitrag: 20.01.2008, 23:20
  5. Umdrehungszahl bestimmen
    Von Robotik84 im Forum Asuro
    Antworten: 18
    Letzter Beitrag: 19.11.2006, 10:27

Berechtigungen

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

12V Akku bauen