Wo liegen denn jetzt eigentlich die konkreten Probleme?
(oder hab ich was übersehen?)
Hallo Leute,
Ich brauche ein wenig Hilfe bei der Ansteuerung von 4 12 Volt Motoren über USB. USB liefert eine Betriebsspannung von 5 Volt. Ich habe 4 von diesen Motoren. Ich möchte jetzt über USB die Drehzahl der Motoren einzeln regeln können. Ich komme eigentlich komplett aus dem Programmierer-Milieu und mache nur ab und zu einfachere Sachen. Die 12 Volt sollen von 3 Parallel geschalteten 12 Volt Akkus kommen. Als Contoller habe ich mir den PIC18F4550 ausgeguckt, wenn jemand findet, dass ein anderer Controller besser geeignet wäre, bitte anmeckern Außerdem wäre es schön, wenn ich die Schaltung um 4 Stellantriebe erweitern könnte, wenn ich das so weit erst einmal geschafft habe, es ist aber auch möglich, das ganze auf ein anderes USB betriebenes Board zu packen, das ganze soll in einen Roboter gepackt werden, der innen drin ein normaler Linux-PC mit 12 Volt Netzteil ist, ist am besten zu Programmieren. Das heißt, dass ich als Eingangssignale an das Board ne Motorenkennung und einen uint8_t bekomme, wobei eine 0 bewirken soll, dass der Motor 0 Volt bekommt und eine 255 bewirken soll, dass der Motor 12 Volt Spannung bekommt.
Ich bedanke mich schonmal für die Hilfe
Liebe Grüße
Lukas
Wo liegen denn jetzt eigentlich die konkreten Probleme?
(oder hab ich was übersehen?)
Grüße
Thomas
Das Problem liegt darin, dass ich zwar weiß, dass ich einen DA-Wandler brauche und einen vv-Operationsverstärker, Aber nur mit dem Wissen alleine Finde ich die Teile in Eagle nicht, welche der Belastung durch die Motoren standhalten könnten.
Das heißt, wenn ich möchte auf der 12 Volt Leitung so viel Prozent der Spannung anliegen haben, wie ich auf der 5 Volt Leitung anliegen habe. Brauche ich dafür Leistungs Transistoren und wenn ja welche?
Anbei eine Schaltung, welche meinen Ansatz zeigt.
Geändert von entdecker93 (10.08.2012 um 17:11 Uhr)
Ich brauche ein Bauteil/eine Schaltung welche Folgende Anschlüsse hat:
- Referenzspannung VCC Steuerspannung
- Referenzspannung GND Steuerspannung
- Referenzspannung VCC verstärkte Steuerspannung
- Referenzspannung GND Verstärkte Steuerspannung
- Eingang Steuerspannung
- Ausgang verstärkte Steuerspannung
Wenn man dafür einen Operationsverstärker nehmen kann, weiß ich deswegen ja noch nicht, welcher das ist, der die Leistung des Motors tragen kann.
Ich denke da liegst du falsch. Die 5V der USB-SChnittstelle kannst du nicht verändern.
Du kannst über USB dem µC sagen Motor1 100 und der µC setzt das um auf PWM mit dem Wert 100 von z.B. 255.
An den µC schaltest du dann Motortreiber mit der den Motoren entsprechenden Leistung.
Genau das war mein Problem, dass ich die 5 Volt nicht verändern kann und auch angesichts des schwachen Netzteils am PC auch nicht will. ich will steuern, wie viel der 12 Volt, die direkt aus der Batterie kommen der Motor bekommt, ich weiß leider nicht, wie ich es besser beschreiben soll.
Du kannst mit deinem µC PWM erzeugen. Die Impulsbreite der PWM kannst du z.B. in 255 Schritte einstellen und sagst du über USB.
Den Microcontroller so zu Programmiern, dass er einen vom Computer vernünftig eingegebenen Wert bekommt und den auf eine X-Beliebige Art umzuwandeln ist kein Problem. Das einzige Problem was ich habe ist, dass hier zwei getrennte Stromkriese vorliegen, von welchem ein Stromkreis den anderen Steuern soll, nämlich der 5 Volt Stromkreis den 12 Volt Stromkreis. Das müsste mit einem Hochleistungstransistor oder nem Hochleistungs OPV kein Problem sein. Ich kenn nur leider die Bauteile in der Richtung nicht, weshalb ich gerne Hilfe bei der Wahl der Bauteile hätte. Der Tipp mit dem Motortreiber war dabei Gold wert Danke Ich war wie gesagt bisher nur Programmierer und Datenverarbeitungstechniker. Ich kenn mich mit Logikschaltungen aus wie zum Beispiel die 74..XX aber weiteres Wissen bin ich gerade erst dabei mir das anzueignen.
Ich habe jetzt das hier gefunden: Motortreiber.
besteht die chance das 4 Mal, also für jeden Motor einmal mit auf die Platine mit dem Microcontroller draufzupacken? Ich kann sehr gut löten, habe alle Materialien zur Verfügung, die zum Ätzen benötigt werden, habe also kein Problem mit SMDs in dieser Größe, wenn also jemand die Bezeichnungen und die Verschaltung dieser Bauteile kennt wäre mir sehr geholfen
Und noch etwas: Weiß jemand, ob der PIC18F4550 vier analoge Ausgäge hat oder ob ich für jeden Motor ein einzelnes USB gerät bauen muss, oder noch besser jemand dann einen anderen PIC kennt, der 4 analoge Ausgänge hat.
Vielen Dank für die große Geduld und die Hilfe
µCs mit analogen Ausgängen sind bei den kleineren Größen eher unüblich. Das Schlagwort dazu heißt übrigens DAC (Digital-Analog-Converter). Was dein gewählter PIC hat oder nicht hat, kannst du im Datenblatt nachlesen, um dessen Lektüre wirst du sowieso nicht umhin kommen.
Dir reicht die PWM-Funktionalität, die quasi jeder µC mit den Timern mitbringt. Mit dem Signal kannst du dann (bei gemeinsamer Masse von USB-Teil und Leistungsteil) direkt an den Motortreiber ran (Integrierte Treiber haben üblicherweise getrennte Anschlüsse für Logikspannung und Versorgungsspannung) oder du baust noch einen Optokoppler dazwischen, um die USB-Seite komplett vom Leistungsteil zu trennen. Letztere Variante hat den Vorteil, dass du dich deutlich mehr anstrengen musst, um den USB-Port zu rösten, der Nachteil besteht darin, dass du vielleicht etwas mehr Arbeit darin investieren musst, das PWM-Signal sauber durch den Optokoppler zu befördern.
Ach ja: Wenn du keinen PIC mit genug PWM-Ausgängen findest, kannst du auch einfach mit zwei PICs arbeiten die untereinander kommunizieren. Oder mit einem kleinen der sich um den USB-Kram kümmert, und einen größeren/spezialisierten der die Signalerzeugung macht. Letzterer kann dann über Optokoppler abgetrennt werden, dann kann der sein PWM-Signal direkt an die Motorendstufe weitergeben und der USB-Port ist dennoch entkoppelt/geschützt.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
Lesezeichen