Hi,
ich komme gerade irgendwie nicht mehr weiter. Vielleicht könnt ihr mir da helfen.
Hier mein Schaltungsaufbau:
Mein Treiberbaustein ist ein L293DNE
![]()
Ich hab meinen Arduino so programmiert, dass er abwechselnd den Pin 2 (vom L293) auf HIGH und den Pin 7 auf LOW bzw. anders herum, setzt.
Auf dem Bild ab ich die Drähte vom L293 jeweils zur bessern Sicht herausgezogen und eine Led mal angeschlossen. (links Pin7, rechts Pin2).
Wenn ich jetzt den Unterschied von Pin7 und Pin 2 messe bekomme ich abwechselnd zwischen -0,3V und 0,2V.
Wenn ich Pin 7 oder Pin 2 zu GND messe bekomme ich abwechselnd 4,5V und 3,16V (wenn ich eine externe Stromversorgung anschließe dann sind es statt 4,5V genau 5V)
Warum sind das 3,16V und keine 0V![]()
![]()
Wenn ich jetzt einen 10k Ohm Widerstand nehme und ihn zwischen Pin 2 und GND setze, dann läuft der Motor.
Wenn ich ihn von Pin2 wegnehme und ihn auf Pin 7 steck (Pin7 und GND), dann läuft der Motor anders herum.
Wenn ich jetzt beide Pins mit einem 10k Ohm auf GND lege, dann läuft der Motor nicht.
Ich schätze, dass der L293 nicht durchschaltet weil die Schwellspannung nicht erreicht ist oder?
Was kann ich machen dass ich ihn bei LOW auf 0V bringe?
Ich hab auch schon einen Arduino Mega probiert geht allerdings auch nicht! Genau der gleiche Effekt!
Ich bin echt am Verzweifeln hab schon Stunden probiert und Gegoogled aber keine Lösung gefunden!
Übrigens hab ich das mit der Lichtschranke doch noch hinbekommenich hab ihn einfach auf einen Analog Eingang gelegt und vergleiche hier die Spannung ist zwar nicht viel (Wertunterschied von 890 und 980) aber es reicht
sieht man auch am Bild die eine Led neben dem Arduino leuchtet
![]()
Ich hoffe ihr könnt mir hier helfen und vielen Dank schon mal![]()
Wie ist den Pin 1 (enable) beschaltet?
Welche Spannung liegt denn an Pin 8 an?
Der Motor stammt doch aus einem CD-Rom Laufwerk?
Ist das ein 5V Motor?
Sind die Freilauf Dioden vorhanden?
http://www.ti.com/lit/ds/symlink/l293.pdf
Seite 7 (8.2 Functional Block Diagram)
In welcher Frequenz toggelst Du denn die Pins 2 und 7?
Geändert von i_make_it (11.01.2016 um 21:29 Uhr)
Also auf Pin1 liegen 5V an.
Der Pin 8 hat 5V allerdings bin ich meistens so auf 3V da der Motor sonst so schnell auf Anschlag ist
Den Motor hab ich oben schon beschrieben: PPN13LB10C
http://www.suzushoweb.com/pdf_file/1484000000006.pdf
Die Freilaufdioden sind im L293DNE (das sagt ja das DNE aus (hab ich im Buch gelesen))
Und wegen der Frequenz, also ich schalte bis jetzt zum besseren messen und testen alle 3 Sekunden die Spannung um.
Später wenn die Schaltung läuft nehm ich dann die PWM
OK,
der Motor ist für 3,5 bis 10V (Nennspannung5V) und 20mA Leerlaufstrom. Das passt also schon mal.
Der L293 ist soweit richtig (stimmt das D steht für die internen Dioden)
Das E steht dafür das er nach RoHS Bleifrei ist.
Das N steht für das Gehäuse, PDIP (plasic dual inline package)
Von Deiner Beschreibung bekommt der Arduino die Ausgänge nur mit externen Pull-down Widerständen sauber nach Low, dafür dann aber nicht mehr sauber nach High.
Wenn die Arduino Pins ohne das der L293 angeschlossen ist, sauber zwichen 5V und GND schalten, dann können sie die Innenbeschaltung des L293 nicht auf die gewünschten Pegel ziehen.
Was aber eigentlich funktionierne sollte.
Eine Möglichkeit wäre erst mal die Stütz- und Siebkondensatoren mit in die Schaltung zu integrieren um ungewollte Seiteneffekte durch die Spannungsversorgung zu minimieren.
Auf dem Schaltplan von einem Arduino Motorschield kann man die gut erkennen.
http://yourduino.com/docs/Multi-Moto...dSchematic.jpg
Also ich hab jetzt alles noch mal runtergerissen und neu aufgebaut hier die Bilder vielleicht hat ja jemand zeit sich das anzuschauen:
![]()
![]()
![]()
![]()
Die Widerstände sind 47k Ohm
Wenn ich einen von den beiden entferne dann läuft der Motor. Und wenn ich den anderen entferne läuft er anders herum.
Die Kondensatoren hab ich jetzt auch reingebaut.(hab ich nicht da gehabt deshalb hab ich sie von der Laufwerkplatine heruntergelötet)
Ich hoff ihr könnt mir helfen.
Meint ihr dass der Treiberbaustein kaputt ist?
Hast Du den Motor von der Platine getrennt?
(rot und schwarz)
https://www.roboternetz.de/community...4&d=1452374266
Und nur an braun uns weiß angeschlossen, oder hängt da noch was anderes dran?
Bei den Kondensatoren versucht man normalerweise möglichst kurze Zuleitungen zu haben und die dicht an den Chip zu setzen.
Also den Motor hatte ich nicht von der Platine getrennt.
Jetzt hab ich ihn mal von der Platine gelöst aber geht immer noch nicht!
Und nein es hängt nichts mehr dran siehe Bild
![]()
Und die Kabel von den Kondensatoren hab ich auch gekürzt und so nah wie möglich an den Chip platziert.
Was ratet ihr das ich jetzt machen soll?
So wie es aussieht seid ihr auch ratlos oder?
- - - Aktualisiert - - -
Jetzt geht es!!!
Ich hab einfach mal ein Testprogramm geschrieben und siehe da es geht.
Dann hab ich noch mal in mein Programm geschaut und hab auch den Fehler gefunden aber komisch dass es vorher als die alte Schaltung noch auf dem Brett (die alte die ich vorher aufgebaut hatte (siehe erste Bilder)) war nicht funktioniert hat weil da war der Code korrekt.
Na ja egal Hauptsache es geht![]()
Tut mir leid das ich euch wegen so einer nichtigen Sache belästigt habe.
Jetzt kann es dann weiter gehen![]()
![]()
![]()
![]()
Vielleicht lag es auch da dran das ich der Motor noch auf der Platine war
Schön zu hören das Dir geholfen werden konnte, ob es an was einzelnem lag oder oder in der Summe aller Störeinflüsse wird sich vermutlich nicht mehr feststellen lassen.
Lange Leitungen sind wenn kein Gleichstrom fließt (Wechselstrom, PWM etc) halt sowohl Induktivitäten wie auch Kapazitäten (und Antennen).
Und unbekannte/tote Schaltungsteile könne ungeahnte Überraschungen bergen.
Also zukünftig, was nicht gebraucht wird ablöten/trennen, Kondensatoren die zur Entstörung von Bauteilen gehören dicht an die Bauteile ran mit möglichst kurzen Anschlüssen.
Lieber einen Entstör-,Stütz-, Siebkondensator mehr als einen zu wenig (Wenn es erst mal geht kann man immer noch optimieren)
Wo es geht kurze Leitungen, wo es nicht geht auf Dämpfung, Rauschen, Nebensprechen achten.
Wenn Du parallel mit der Mechanik des 6-Achs Knickarm weitermachen willst, Wenn die Maschinenausstattung nicht so berauschend ist, versuchen so zu konstruieren, das man z.B. nur mit Bohren, Reiben, Sägen auskommt. Eine Tischbohrmaschine mit einem Kreuztisch und Kantentaster lassen da schon sehr präzise Teile zu die auch größer als der Verfahrweg des Tischs sein können. Ein Plan- und Ausdrehkopf für den Morsekegle der Pinole lassen dann auch größere und sehr genaue Bohrungen z.B. für Lager zu.
Ein Vierbackenfutter mit einzeln verstellbaren Backen das auf den Kreuztisch passt erlaubt dann mit einem Ausdrehkopf auch einfache Drehoperationen ohne Drehbank.
Es ist bei Alu halt schon ziemlich langsam, und bei Stahl ist man im 0,01mm Bereich bei der Zustellung und der Vorschub darf auch nur gemächlich sein, aber es ist möglich.
Ich habe meine eigene 5-Gang Tischbohrmaschine mit einer Phasenanschnitt Steuerung für die Drehzahl nachgerüstet und habe den Tiefenanschalg umgebaut.
Kunststoffplatte an der Pinole gegen Stahlplatte getauscht und Gewindestange des Tiefenanschlag gegen Feingewindestange. So kann ich mit 2 gekonterten Muttern und 0,01mm Langhub Messuhr (100mm) die Z-Achse auf 0,02mm Einstellen.
Von der Lagerung der Pinole her, sollte man eigentlich nur Bohroperationen ausführen, aber mit minimaler Zustellung und sehr langsamen Vorschub kann man da brauchbare Teile mit Passungen herstellen.
Um nicht tagelang zu kurbeln, habe ich damals das Kemo LPT Motorinterface und 2 Stepper interface Module geholt. Programm war in Turbopascal.
Also ich habe jetzt meinen Greifer konstruiert und auch schon gefertigt!
Er wiegt 150g.
Auf dem Bild ist er noch nicht ganz fertig aber ich hab auch ein Bild vom 3D-Model gemacht und da sieht man es wie es fertig aussieht![]()
Ich hab das Zeichenprogramm Autodesk Fusion 360 verwendet. Ist absolut einfach und für Hobbyisten das erste Jahr kostenlos und soweit ich weis danach auch nochDa kann ich dann sogar gleich meine Portalfräse programmieren da in Fusion 360 ein CAM Programm dabei ist
und was das beste ist da gibt es auch schon einen fertigen Postprozessor für die Steuerung EdingCNC (USBCNC) und wer die Steuerung Mach3 hat braucht sich auch keine sorgen zu machen auch da gibt es einen PP (Mach2, Mach3) und noch einige mehr. Lohnt sich auf jeden fall sich das mal Runterzuladen!
Hier noch die Bilder vom Kassettengreifer:
![]()
![]()
Jetzt bin ich gerade auf der Suche nach den Motoren.
Ich hab mich jetzt für DC-Motoren entschieden!
Ich schau gerade auf dieser Seite nach den Motoren:
https://www.pololu.com/category/51/p...tal-gearmotors
Da würde ich dann entweder 25D oder 37D Motoren nehmen da dort eine Encoder dabei ist bei den anderen nicht!
Was mir da nicht so gut gefällt ist, dass die kein Winkelgetriebe haben.
Von der Roboterkonstruktion her würde ich mir so etwas vorstellen:
http://www.globalrobots.ae/robot_gui...Amovements.jpg
Die Achse 6: Ist ja kein Problem da bauch ich kein Winkelgetriebe.
Die Achse 5: Da ist doch eigentlich ein Winkelgetriebe nicht schlecht weil der Motor seitlich so weit rausschaut oder?
Ich hab mir auch schon überlegt ob ich den Motor einfach weiter hinter setzt und in den Greifarm innen rein (ist auch besser für die Gewichtverteilung und sieht auch besser aus) und die Achse dann einfach mit einem Zahnriemen verbinde?!?
Die Achse 4: Ist ja auch kein Problem
Die Achse 3: vielleicht auch das Prinzip von der Achse 5
Die Achse 2: ist ja auch kein Problem
Die Achse 1: eigentlich auch nicht.
Aber jetzt will ich mich erst mal auf die Achse 6, 5 und 4 Konzentrieren.
Da ich den Roboter vielleicht auch mal anderweitig einsetzte würde ich ihn schon für 500g eher noch ein bisschen mehr konstruieren!
Dann hab ich mir noch ein paar Gedanken für die spätere Programmierung (Positionierung) gemacht:
Und zwar währe es sehr vorteilhaft wenn ich den Roboter mit der Hand auf die Position ziehen könnte auf die er später fahren soll.
Wenn ich die Variante mit dem Zahnriemen nehme könnte ich doch da auch einen Encoder mit einbauen oder nicht?
Der Sinn und zweck des ganzen ist dann, wenn ich den Roboter ziehe, dann hat er ja auch ein bisschen Spiel und ich kann ihn dadurch auch ein bisschen bewegen. Das fang ich dann mit dem Encoder in der Mitte ab und verrechne dann die Richtung in die der Motor dann langsam fahren soll.
Ich hoffe dass ich das verständlich geschrieben habe. Wenn nicht bitte noch mal nachfragen.
Meint ihr dass das funktioniert?
Habt ihr auch noch irgendwelche anderen Stellen wo man Motoren herbekommt?
Lesezeichen