mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik 2x 12V Motorsteuerung, stufenlos regelbar, kurvenfahrfähig


Autor: Tom Meyer (mhhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes "kleines" Problem:


an einem kleinen Dreirad sind zwei 12V Motoren (ich hab keine Ahnung wie 
viel Strom die Teile ziehen, da nichts draufsteht) installiert.
Ich würde gern auf konventionelle Art und Weise (keine Microcontroller 
programmieren, da ich die Geräte zur Programmierung nicht besitze) eine 
Steuerung für diese beiden Motoren haben.

Die Motoren sollen auf folgende Weise gesteuert werden:

Ein Poti regelt die Geschwindigkeit nach vor bzw. nach hinten. Ein 
weiteres regelt die Kurvengeschwindigkeit, da z.B. wenn ich das Poti 
drehe und der Widerstand erhöht wird soll das Gefährt nach rechts fahren 
und wenn ich den Widerstand verringere soll es nach links fahren.

Kann man solch eine Regelung nur mit Fets realisieren oder gibt es da 
keine Möglichkeiten?


Ich bin für jede Hilfe dankbar!!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Tom Meyer (mhhh)

>Kann man solch eine Regelung nur mit Fets realisieren

Nur mit FETs kaum, aber ohne MIkrocontroller rein analog.

MFG
Falk

Autor: Tom Meyer (mhhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rein analog hört sich gut an!

Hast du da einen Vorschlag wie man soetwas umsetzt???

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, eigentlich ist es leicht: mit beiden potis steuerspannungen 
erzeugen,
dann addierer und subtrahierer aus opamps.
links=geschwindigkeit+richtung
rechts=geschwindigkeit-richtung

Aber ich glaube nicht, daß Du die Restleistung im Opamp verbraten 
willst, deshalb musst Du aus den Signalen dann noch eine PWM machen da 
gibt es extra ics, vielleicht auch ein 555?
Anschließend eine Leistungsstufe.

Rückwärts würde ich über einen Schalter machen

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch wenn du explizit nicht mit µC werkeln wolltest:

Einen vernünftigen USB Programmer (AVR ISP MKII) gibts für 40 Euronen 
und die entsprechenden Controller kosten 2-3 Euro. Also zusammen mit 
entsprechenden Mosfets und Hühnerfutter bist du mit nem 50er dabei.
Überlegs dir einfach mal...

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch billiger und einfacher mit Arduino.
kostet unter 30€, kommt mit USB-Anschluss, hardware-PWM und 
Programmbeispielen.
Die Leistungsstufe braucht man trotzdem.

Autor: Tom Meyer (mhhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Auch wenn du explizit nicht mit µC werkeln wolltest:
>
> Einen vernünftigen USB Programmer (AVR ISP MKII) gibts für 40 Euronen

Das hört sich interessant an!!

> Noch billiger und einfacher mit Arduino

Habe ich das richtig verstanden, dass ich mit diesem Gerät nur den 
eingebauten Atmel Controller programmieren kann? Oder kann ich damit 
auch andere Controller Programmieren, die ich dann unabhängig von diesem 
Board verbauen und nutzen kann?




Wenn ich also einen AVR ISP MKII habe, kann ich die Schaltung bauen!
Kann mir jemand ein kleinen Schaltplan mailen, da ich in Sachen 
Microcontroller wirklich Anfänger bin!

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ein Arduino ist dafür gedacht ihn komplett irgendwo einzubauen.
Er ist kein Ersatz für ein Programmiergerät, sondern eher als schnelle 
Lösung gedacht, für Leute, die sich nicht so tief in die Technik 
dahinter einarbeiten wollen/können.

Wenn es nicht Dein einziges Microcontroller-Projekt bleiben soll, ist 
die Lösung mit ISP vielleicht sinnvoller, aber auch da würde ich eine 
Experimentierplatine dazukaufen, z.B.
http://shop.embedded-projects.net/product_info.php...

Zu AVR:
http://www.mikrocontroller.net/articles/AVR
http://www.mikrocontroller.net/articles/AVR-Tutorial

Hier Programmer für Studenten zum halben Preis:
http://www.eproo-student.de/

P.S.
Es gibt auch andere interessante Microcontroller,
z.B. von TI,Microchip,Luminary Micro...
Die sind nicht unbedingt teurer, aber oft leistungsfähiger(32 Bit, 
DSP-Anweisungen) oder stromsparender(MSP430)

Autor: Tom Meyer (mhhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hans!

Ich habe mir deine Links mal angeschaut und es hört sich sehr 
interessant an!
Auch wenn ich Assembler bzw. C programmieren kann, bräuchte ich eine 
Weile, bis ich mich
in die Materie gefuchst habe!

Deswegen würde ich gern nochmal auf deinen Vorschlag zurückkommen:

> Naja, eigentlich ist es leicht: mit beiden potis steuerspannungen
> erzeugen,
> dann addierer und subtrahierer aus opamps.
> links=geschwindigkeit+richtung
> rechts=geschwindigkeit-richtung

> Aber ich glaube nicht, daß Du die Restleistung im Opamp verbraten
> willst, deshalb musst Du aus den Signalen dann noch eine PWM machen da
> gibt es extra ics, vielleicht auch ein 555?
> Anschließend eine Leistungsstufe.

> Rückwärts würde ich über einen Schalter machen


Könntest du mir einen Link schicken, wo die einzelnen Schaltungen, die 
du meinst, gezeichnet und erklärt sind? Bzw ein Blockschaltbild wäre 
auch schon super!

Gruß

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit kenne ich mich nicht so gut aus, aber schau Dir mal das an:
http://www.mikrocontroller.net/articles/Operations...

Dann würde ich mir LTSpice 'runterladen und das alles ausprobieren.
Wenn Du die richtige Schaltung hast, kommt die PWM-Erzeugung (falls Du 
die brauchst), da würde ich hier anfangen:
http://www.mikrocontroller.net/articles/Pulsweiten...



Arduino-code für die Aufgabe:
int potPinL = 2;    // lenken
int potPinG = 2;    // gas
int motorRPin = 12;   // rechter Motor
int motorLPin = 13;   // linker Motor
int valL = 0;       // lenkwert
int valG = 0;       // gaskwert

void setup() {
  pinMode(motorRPin, OUTPUT);  
  pinMode(motorLPin, OUTPUT); 
  pinMode(potPinL, INPUT); 
  pinMode(potPinR, INPUT); 
}

void loop() {
  valL = analogRead(potPinL)-512;    // 512 ist die Mitte
  valG = analogRead(potPinG)
  analogWrite(motorRPin,valG-valL*0.2);
  analogWrite(motorLPin,valG+valL*0.2);
}
Ist allerdings auch ohne Rückwärtsfahrt

Autor: Tom Meyer (mhhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort!

Ich habe mir mal die Links angeschaut und habe mich entschieden, dass 
ganze mit Arduino zu machen. Ich würde mir den Arduino Duemilanove 
kaufen.
Weiterhin brauche ich ja noch eine (bzw. zwei) Leistungsstufe(n), die 
ich mit H-Brücken aufbauen würde. Ich habe mal nachgemessen, dass die 
zwei 12V Motoren jeweils 1.5A ziehen!
Welche MOSFET's benutze ich dafür am besten bzw. gibt es schon H-Brücken 
für solche Leistungen?

Sehe ich das richtig, dass ich folgende Komponenten benötige:

- 5V Spannungsversorgung für Arduino
- Arduino Duemilanove
- 2x H-Brücke für Motoren
- zwei Potis für Geschwindigkeit und Lenkung
- andere Kleinteile die noch benötigt werden?


Gruß

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tom,

unsere Roboterfreunde haben sowas schon gemacht.

Das kpl. Projekt:

http://www.rn-wissen.de/index.php/RN-VNH2Dualmotor

Sollt für dein Projekt das richtige sein.

avr

Autor: Tom Meyer (mhhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Vorschlag.

Ich wollte die Kosten für den Aufbau gering halten! Das Modul kostet im 
Bausatz 40 Euro und benötigt noch ein PWM, also zusätzlich nochmals 30 
Euro!

Kann ich nicht einfach einen Arduino Duemilanove mit 2 H-Brücken (aus 
MOSFET's) verwenden?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.