@steveLB
Danke vielmals, ich bin aber auch echt bescheuert, dass mir des ned aufgefallen ist.
Im Layout hab ichs sogar angeschlossen.
Ich habs ausgebessert!
Ein Fehler gibts da schon, und zwar an der HBrücke, du willst ja einen Strom oder Spannung, was auch immer durch die Brücke jagen, welchen ? Mit den Transistoren schaltest den Weg den der Strom nehmen soll, aber welchen ? -> Es fehlt VCC und auch GND an beiden H-Brücken.Zitat von RCXv.sASURO
[X] <-- Nail here for new Monitor
@steveLB
Danke vielmals, ich bin aber auch echt bescheuert, dass mir des ned aufgefallen ist.
Im Layout hab ichs sogar angeschlossen.
Ich habs ausgebessert!
Wer Rechtschreibfehler findet, darf sie behalten !!
Hallo,
Du verbraetst gleich 8 (acht!) Ports des 2313 fuer die Motoransteuerung.
Geht doch auch einfacher: Du kannst die Ansteuerung der Diagonalen
jeweils verbinden, spart schon mal die Haelfte der Ports. Dann kannst
Du jeweils das Ansteuerungssignal fuer die eine Diagonale durch einen
ein-Transistor-Inverter aus der anderen Diagonale gewinnen, so dass
Du insgesamt nur noch 2 (PWM)-Ports verbrauchst.
Wenn aber der Platz knapp ist, kommst Du vielleicht mit einem L293 Treiber
sowieso besser zurecht als mit den vielen Einzeltransistoren.
Gruesse,
Klaus
Stand "Heute" 26.5. 08:42. Die Leute nehmen doch nicht ab ? ? ? ? Heute sind es fünf, wie bist Du gestern auf die 12 gekommen???Zitat von RCXv.sASURO
Stimmt, was telefant meint. Mit einem L293D brauchst Du nur noch max. sechs Controllerports, bei sparsamer Verdrahtung (z.B. nur eine Fahrtrichtung) sogar weniger. Und dann gäbs noch Motortreiber in SMD.
Ciao sagt der JoeamBerg
@telefant
Das mit dem Transistorinverter hört sich recht interessant an, ich hab sowas allerdings noch nie gesehen.
Hast du da zufällig einen Link für mich ?
Deine Aussage, dass man die diagonalen Transistoren verbinden könnte, kann so aber nicht stimmen, da die einen PNPs sind und die anderen NPNs.
Demnach brauchen die oberen beiden Transistoren an der Basis GND zum durchschalten, und die unteren beiden Transistoren eine positive Spannung.
Wenn ich die jetzt einfach verbinden würde bekämen beide aber das selbe Signal und das kann ja dann wohl nicht funktionieren.
Sags wen ich mich irren sollte!
Einen L293(D) hab ich bewusst nicht genommen, allerdings wär dieser IC sicher die bessere Lösung.
Meine lokaler Elektronikhändler hatte den aber leider nicht und deswegen extra beim Reichelt bestellen lohnt sich nicht.
@ oberallgeier
Ich habe wie im letzten Post erwähnt den Schaltplan ersetzt!
Der alte wurde 12* heruntergeladen, da ich den aus welchem Grund auch immer mit dem Button "Attachment ersetzten" nicht updaten konnte hab ich die alte Datei gelöscht und die neue Version hochgeladen.
Das hat den Zähler dann wohl auf 0 gesetzt.
![]()
Was du noch geschrieben hast, dass ich mit weniger Ports auskäme, wenn ich auf den Rückwärtsgang verzichte stimmt natürlich, genaugenommen bräuchte ich dann nur noch 2 Ports und pro Motor auch nur noch einen Transistor, aber das ist ja nicht der Sinn der Sache.
Wie soll mein Roboter denn einem Hindernis ausweichen, wenn er nicht zurücksetzten kann??![]()
Wer Rechtschreibfehler findet, darf sie behalten !!
Du hast natuerlich Recht - ich sollte am spaeten Abend nix mehr schreiben.Zitat von RCXv.sASURO
Worauf ich hinauswollte, war was z.B. unter
http://www.barello.net/Papers/Motion_Control/index.htm
als "Locked-Antiphase" beschrieben wird. Dabei wird die Spannung ueber den
Motoren dauernd mit der PWM-Frequenz umgepolt. Ein Tastverhaeltnis von 0%
bedeutet dann Hoechstgeschwindigkeit rueckwaerts, 50% Stillstand und ein
Tastverhaeltnis von 100% Hoechstgeschwindigkeit vorwaerts. Benoetigt fuer
jeden Motor nur einen PWM-Ausgang des Controllers.
Im Stillstand wird auch kaum Strom verbraucht, sofern die Induktivitaet der
Motoren und die PWM-Frequenz hoch genug ist.
Dazu wuerde man die in Deiner Schaltung die uebereinanderliegenden
Transistoren jeweils gemeinsam ansteuern und die beiden Brueckenseiten dann
gegenphasig. Mit "Ein-Transistor-Inverter" meinte ich einfach sowas:
http://www.play-hookey.com/digital/e..._inverter.html
Gruesse,
Klaus
Hi,
danke für die umfassende Antwort, jetzt ist mir einiges klarer.
Dieses Prinzip, den Motor dauerhaft umzupolen ist ja eigentlich genial und hört sich recht simpel an,
allerdings glaube ich, dass das in meinem Fall nicht so günstig ist,
da solche Handyvibrationsmotoren doch eine ziemlich geringe Induktivität haben dürften, und dadurch steigt laut dem paper der "Leerlaufstrom" in Bereiche an die man ja eigentlich vermeiden möchte.
Der Roboter wird ja mit einer CR2032 betrieben und die hat nur knapp 200mAh.![]()
Dieser supereinfache Inverter ist aber glaub ich bestens geeignet.
Das komische daran ist, dass ich die Schaltung schon öfters mal verwendet habe, ohne bewusst darüber nachzudenken.
Kann ich in dem Fall eigentlich dafür jeden beliebigen NPN nehmen ?
PWM hat ja doch eine recht hohe Grundfrequenz.
Meine Grundidee zu dem "digitalen" Liniensensor ist mal angehängt!
Ich hoffe, dass das was ich gestern geschrieben habe nun etwas klarer ist.
!
Wer Rechtschreibfehler findet, darf sie behalten !!
Wie viel Strom ziehen deine Motoren eigentlich? Meine liegen bei etwa 20mA. Da könnte man fast auf den Gedanken kommen, ihn direkt zwischen zwei Pins des AVRs zu hängen. Ist natürlich nicht ganz die feine Art, aber es spart Platz... Es ist aber halt nicht sicher, ob der AVR das dauerhaft so gern hat.
Ich plane den BA8645FS ein, der hat mir bei anderen Mini-Bots schon oft gute Dienste geleistet. Ist aber natürlich nen kleines SMD-Teil, macht aber 1A mit.
Die IR-LEDs Liniensensoren werde ich schaltbar machen (spart Strom) und mit dem ADC auslesen.
Hi,
@uwegw
also meine Motoren ziehen bei 3V so ca 27mA also etwas mehr als deine.
Wie stellst du dir das vor den Motor zwischen 2 Ports zu schlaten ?
Ein Port kann doch nur maximal 3/5mA oder ?
@all
Im übrigen fällt mir gerade auf dass ich zu der Schaltung oben noch ein bisschen was erleutern sollte.
Also zwischen dem Widerstand und der Kollektor des Fototransistors wird der Port des Microcontrollers angeschlossen.
Der Fototransistor und die LED werden wir schon erwähnt in die schwarze "Box" gesteckt, die nach unten hin offen ist.
Diese Box befindet sich nun über einer schwarzen Fläche, die natürlich den selben Albedo-wert haben muss wie die Linie, die der Robter später nachfahren soll.
Dann muss mit dem Poti die Helligkeit der LED so eingestellt werden, dass aufgrund des nicht ganz durchgeschaltenen Fototransistors die Spannung, die am Port des 2313 anliegt gerade noch als HIGH interpretiert wird.
Man muss nun natürlich etwas experimentieren bei welchem Vorwiderstand und welcher Potieinstellung das ganze so funktioniert,
dass eine weiße Fläche dementsprechend als LOW interpretiert wird.
Laut Datenblatt des 2313 muss ein LOW ja nicht bei 0V und ein HIGH nicht bei 5V liegen.
Wenn das so funktionieren würde, könnte man sich die Auswertung eines analogen Signals sparen und ich könnte den 2313 verwenden.
Wenn die Schaltung dann auf dem Breadboard funktioniert werde ich allerdings das Poti durch Festwiderstände ersetzen, da ein Poti viel zu groß ist.
Ist mein Gedankengang richtig ?
Was muss ich noch evtl. verändern?![]()
Wer Rechtschreibfehler findet, darf sie behalten !!
Atmel garantiert 20mA pro Pin, und das Absolute Maximum Rating liegt bei 40mA.
Zwischen zwei Pins zu schalten meine ich wie ich es schreibe: zwei Pins, jeder an einen der Anschlüsse. Damit kann man dann den Motor in beide Richtungen drehen lassen. Ein Pin high, der andere low: Motor dreht sich in eine Richtung. high/low andersrum: Motor dreht andersrum. Beide Pins low: Motor stoppt.
Lesezeichen