- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 27

Thema: Motoren direkt an Microcontroller?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213
    Hallo Besserwessi,

    dein Hinweis mit „super hohe Anforderungen an die Störungsfreiheit“ verstehe ich nicht so richtig. Ist zwar in der Digitaltechnik das A und O diese zu vermeiden. Aber je besser die Glättung je träger wird der Signalfluss. Auch die Anzahl der PWM Ports ist bei den meisten Controllern auf 2 begrenzt. Somit bin ich auf Digitalpotis umgestiegen. Wollte ja nur meine Erfahrung mitteilen.
    Als kleines Beispiel: Habe für ein Motelbauer eine Funksteuerung für sein Track mit Allrad (4 Motoren) aufgebaut. Am Empfänger mit Controller Mega32 und 2
    I²C Digitalpotis (DS1803-010 DIP ) auch noch am Bus angeschlossen. Somit 4 getrennte Potis.
    Jeder IC hat zwei die nur mit einem Befehl als Tandem funktionieren somit absolut Synchron und sehr schnell von Null auf Max. (Software mit Bascom)
    Natürlich muss man sein Projekt im Ganzen sehen.
    Der DS1803 hat „nur“ 8Bit bei 5 Volt sind die Spannungsschritte somit 20mV .
    Vorteil keine Außenbeschaltung und für ca. 3 € pro Stück ,finde ich, dies Lösung für viele Anwendungen als optimal.
    Zur Anfrage ob man ein Motor direkt vom Controller speisen kann, rate ich grundsätzlich ab.
    Die Controller können zwar 10mA bei L liefern bei H wird es schon gefährlich. Sind im Fusse die Einstellung für Reset auf 4,7 Volt eingestellt , führt ein kleiner Spannungseinbruch schon zum Programmablaufproblem „ man sucht sich Dumm und Dämlich“ warum geht’s mal dann wieder nicht.

    Mit freundlichen Grüßen
    fredred

  2. #2
    shedepe
    Gast
    Ein Digitalpoti ist im Vergleich zu einer PWM (sinnvoller weise natürlich mit einem Motortreiber) eine ziemlich schlechte Option, da man dabei die überschüssige Leistung verfeuert. Um noch mal alles zusammenzufassen (insbesondere ob man Motoren direkt am Pin betreiben kann): Ja man kann Motoren direkt an einem mC Pin betreiben solang diese nicht mehr als 20-40 mA (Abhänging vom Controller) ziehen. Man muss natürlich an die passenden Leerlaufdioden denken, um sich nicht den Port zu grillen. Ansonsten ist die Lösung mit einem stinknormalen Motortreiber in der Regel vorzuziehen es sein denn man baut gerne Heizungen.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213
    Guten Tag Forum,
    Hallo shedepe

    freue mich grundsätzlich wenn ein Thema diskutiert und eigene Meinungen veröffentlicht werden. Mann kann ja nur dazu lernen.
    Deshalb meine Frage an Dich.

    PWM erzeugt in Abhängigkeit des Digitalwertes eine pulsierende Gleichspannung die der Controller direkt liefern muss.
    Mit IC Digitalpoti wird auch nur der Digitalwert umgesetzt, nur mit dem Unterschied, die saubere Gleichspannung wird direkt vom Netzteil bezogen. Somit stellt sich mich die Frage „ wo baue ich gerne Heizungen“ Ob Controller z.B. 2 Volt liefert oder das Poti.

    Wer oder was erzeugt die Verlustleistung (Heizung) in meiner Variante die Motoren oder die I²C IC ?
    Im erwähnten Projekte wird nichts warm. Außer die Motoren wenn diese mit Volllast ca. 1 Watt ihre Leistung nicht in ein Drehmoment abgeben können.

    Ist doch physikalisch so oder nicht?

    Leerlaufdioden ist ein Muss aber wichtiger ist eine Drossel am Motor. HF sollte nicht vernachlässigt werden.
    PWM Nachteil diese Drossel beeinflusst bedingt die nachgeschaltet „Glättung“.

    Noch was: Sollten am Controller 2 PWM Ports für 2 Motoren mit Max 40 mA den Strom liefern müssen und noch andere Abnehmer an Ports hängen, könnte dieser bald im „Siliziumhimmel“ sein.
    Schlimm für Anwender die ein fertiges AVR Industriebord nutzen.

    Zu beachten: Wir diskutieren hier um die Ansteuerung eines normalen Gleichspannungsmotor
    ansonsten habe ich das Thema verfehlt und Entschuldige mich vorab.


    Mit freundlichen Grüßen
    fredred

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Bei der Lösung mit Digitalpoti und Transistor dahinter wird ggf. der Transistor heiß: nicht so sehr bei voller Geschwindigkeit, vor allem bei etwa halber bis 2/3 des Maximums. Aber selbst bei maximalem Tempo geht etwa 1-2 V am Transistor verloren. Das maximal mögliche Tempo ist also begrenzt. Je nach Digitalpoti kann die Motorspannung auch nicht höher als die des digital-Poti sein.

    Bei der PWM Lösung mit MOSFET kann der Spannungsverlust bei vollem Tempo dagegen bei etwa 0,2 V bleiben. Auch bei Zwischenwerten der Geschwindigkeit gegen nur etwa 0,2 V am MOSFET bzw. etwa 0,5-0,7V an der Freilaufdiode verloren - im Mittel also eher 0,5 V. Dazu kommen eher geringe Ummagnetisierungsverluste im Motor. Die Restliche Leistung wird einfach gar nicht aus der Quelle entnommen. Der Witz bei der PWM Regelung ist, das der Motor mehr Strom bekommen kann als im Mittel aus der Versorgung entnommen wird. Die Motoren können auch aus einer höheren Spannung (etwa der Akku ungeregelt) versorgt werden.

    Die Freilaufdiode ist bei der Lösung mit Digitalpoti tatsächlich nicht einmal so wichtig - im Prinzip kann das in der Schaltung auch der Transistor auffangen - wird dabei aber natürlich etwas warm. Schaden tut die Freilaufdiode natürlich nicht, aber ein Ersatz für eine HF Entstörung ist sie sowieso nicht. Da ist eher die Frage Drossel oder Kondensator oder ggf. beides. Die Drossel am Motor ist für den PWM Betrieb kein Problem, sondern sogar eher hilfreich - problematisch ist da die Entstörung nur mit einem Kondensator.

  5. #5
    shedepe
    Gast
    Noch mal kurz: Die Heizung ist in deinem Fall dein Digitalpoti. Irgendwo muss die Spannung ja abfallen, wenn du langsamer fahren willst.

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213
    Hallo,
    Fragen ohne Ende, möchte ja was dazu lernen.
    Benötige eine Erklärung warum dies nicht linear ist und somit zu extreme Verluste führt.
    Der Verwendete IC hat (10 k Ohm gesamt) werden durch int. Multiplexer pro Schritt ca. 40 Ohm gegen GNC zugeschalten
    („Schleifer" = Ausgang) Wo liegt mein Denkfehler wo die Verluste herkommen sollen denn bei 5 Volt und diesem Widerstand können doch nur max. 0.5 mA fließen???


    Trotz alledem hier mein Testcode in Bascom.
    ' Achtung: nicht mehr aktuell und nicht noch mal getestet
    Für ein I²C Digitalpoti DS1803-10 erst wird Poti1 „hochgedreht“ dann Poti 2 und zum Schluss beide als Tandem zurück drehen.
    '*********** war mein erster Test mit disen IC's *****************************
    '* *
    '* ist die Poti-Demo zum kennen lernen wie die 2 Potis angesprochen werden. *
    '* für Test alle Werte auf Terminal ausgeben *
    '* *
    '************************************************* ****************************


    '!!!! Regfile natürlich anpassen !!!!
    $regfile "m32def.dat"
    $crystal = 16000000
    $hwstack = 32
    $swstack = 32
    $framesize = 40
    $baud = 19200

    'gibt den Erstellungszeitpunkt im europäischen Format DD-MM-YY hh:nn:ss aus
    Print "Erstellt am " ; Version(1)
    Print
    Waitms 100

    '+++ Ist Hardware Variante +++
    $lib "i2c_twi.lbx"
    Config Twi = 100000 'Bus-Takt = 100kHz
    '+++++++++++++++++++++++

    '**** Variablen für IC-Poti ****
    Dim Poti0 As Byte 'ist Daten Variable Poti0
    Dim Poti1 As Byte 'ist Daten Variable Poti1
    Dim Potix As Byte 'ist Daten Variable tandem Poti
    Dim W0 As Single 'Echtwert
    Dim W1 As Single 'Echtwert

    Do
    For Poti0 = 0 To 255 'Poti0 = Zähler. Später durch Ereignis ersetzen
    I2cstart
    I2cwbyte &B01010000 'control-byte(=IC "Addr"für schreiben)
    I2cwbyte &B10101001 'ist Poti0
    I2cwbyte Poti0 'Byte-Wert schreiben
    I2cstop 'Bus frei geben
    'ab hier Umrechnung in Volt
    'abgleichen da ein Transistor npn als Stromtreiber nachgeschaltet ist.

    W0 = 0.018 * Poti0
    Print "Volt-P0 = " ; W0
    Next

    'zweites Poti
    For Poti1 = 0 To 255 'Poti1 = Zähler. Später durch Ereignis ersetzen
    I2cstart
    I2cwbyte &B01010000 'control-byte
    'hier kommt der Unterschied
    I2cwbyte &B10101010 'ist Poti1
    I2cwbyte Poti1 'Byte-Wert schreiben
    I2cstop
    'ab hier Umrechnung in Volt
    W1 = 0.018 * Poti1 'abgleichen
    Print "Volt-P1 = " ; W1
    Next

    'beide Potis gleichzeitig abregeln
    Print "beide Potis gleichzeitig abregeln"
    For Potix = 255 To 0 Step -1 'Potix = Zähler. Später durch Ereignis ersetzen
    I2cstart
    I2cwbyte &B01010000 'control-byte
    'hier kommt der Unterschied
    I2cwbyte &B10101111 'Potix = Poti0 und Poti1= Tandempoti
    I2cwbyte Potix 'zu schreibende Werte
    I2cstop
    W0 = 0.018 * Potix 'Nur Test
    W1 = 0.018 * Potix
    Print "Poti0 " ; W0 ;
    Print " Poti1 " ; W1
    Next
    Wait 5
    Loop
    '********* End Test *********

    - - - Aktualisiert - - -

    Hallo ich bin’s noch mal,

    habe mal auf der Schnelle ein kleines Projekt aufgebaut und den I²C Digital ein MOSFET statt Transistor als Stromtreiber nachgeschaltet. Bitte beachten die Spannung ist führend Strom liefert in Abhängigkeit der Spannung der MOSFET.
    Als Verbraucher ein 12 Lüfter 6 Watt.
    Ergebnis er läuft sehr sauber an und dreht auch sauber Hoch/Herunter und nichts wird warm . Somit bin ich mich fast sicher, wenn keine Leistung „verbraten“ wird, ist alles OK
    Wenn der Verbraucher nur so viel Spannung bekommt und somit nur soviel Strom ziehen kann ist es doch Optimal
    Oder nicht ??

    .
    Mit freundlichen Grüßen
    fredred

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    @fredred
    Mich würde interessieren ob du das mit dem Digipot schon mal praktisch gemacht hast. Ich kann mir das nicht so recht vorstellen.
    Wenn ich das Datenblatt den DS1803 richtig gelesen habe, dann ist der Wiper-Current max. 1mA (das 1MA im Datenblatt ignoriere ich mal).
    Wie willst du damit einen Motor ansteuern?
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo fredred,

    De Variant mit dem Digi-Pot ist einfach und macht wenig EMV-Probleme.
    Allerdings gibt e auch Nachteile, gegenüber PWM:

    1. Die lineare Lösung verheizt einen Teil der Energie. Somit braucht man recht schnell Kühlkörper um die Wärme wegzuführen.
    2. Die verheizte Energie kommt aus dem Netzteil. Bei Akku-Betrieb läuft der Motor mit PWM einfach länger, als mit einer linearen Ansteuerung, zumindest wenn der Motor nicht mit voller Spannung betrieben wird.

    MfG Peter(TOO)

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.713
    ... Digi-Pot ist einfach ... wenig EMV-Probleme ... auch Nachteile, gegenüber PWM ...
    Braucht man für die Digitalpotilösung nicht auch zwei Ports - wenn man ne Drehrichtungsumkehr möchte? Einmal Drehrichtung rechts und einmal links?

    Zur Genauigkeit schon einer 8Bit-PWM hätte ich wenig Sorge: die Motörchen haben - wenn die Fahrzeuge nicht grad mikroskopisch sind - mechanische Zeitkonstanten von zehn und mehr Millisekunden aufwärts - als Zeitkonstante im kompletten System. Da kann ne Regelung im 100Hz-Raster ne gute Genauigkeit ins System bringen. Ich denke mal z.B. ans Auto: wenn ich bei 250 theoretischer Spitze auf 1 kmh genau fahren will - das kriegt kaum ein Autofahrer gebacken. Ein PID schaffts locker und wenns noch genauer sein soll müsste man einen Beobachter mit Vorhersagefunktion basteln.
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo,

    Zitat Zitat von oberallgeier Beitrag anzeigen
    Braucht man für die Digitalpotilösung nicht auch zwei Ports - wenn man ne Drehrichtungsumkehr möchte? Einmal Drehrichtung rechts und einmal links?
    Der vorgeschlagene DS1803 hat ein IIC-Interface

    Zitat Zitat von oberallgeier Beitrag anzeigen
    Zur Genauigkeit schon einer 8Bit-PWM hätte ich wenig Sorge: die Motörchen haben - wenn die Fahrzeuge nicht grad mikroskopisch sind - mechanische Zeitkonstanten von zehn und mehr Millisekunden aufwärts - als Zeitkonstante im kompletten System. Da kann ne Regelung im 100Hz-Raster ne gute Genauigkeit ins System bringen.
    Der DS1803 hat auch 8 Bit. Und mit 400kHz Bustakt bekommt man die Daten auch mit 100Hz da rein.

    MfG Peter(TOO)

Ähnliche Themen

  1. Schaltung direkt am PC testen
    Von highcom im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 11
    Letzter Beitrag: 25.07.2010, 23:01
  2. Daten von Microcontroller zu Microcontroller reichen
    Von MiniMax im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 9
    Letzter Beitrag: 07.12.2009, 15:48
  3. 4x 20 LCD direkt an CCRP5
    Von Matthias 321 im Forum Robby CCRP5
    Antworten: 10
    Letzter Beitrag: 29.09.2009, 19:48
  4. Vierquadrantensteller direkt ansteuern
    Von Jokill im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 14.02.2008, 15:03
  5. H-Brücke direkt ansteuern?
    Von einballimwas im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 19.10.2007, 21:05

Berechtigungen

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

12V Akku bauen