Archiv verlassen und diese Seite im Standarddesign anzeigen : ir gesteuerter bot (Status: neues Bild. LCD problem!)
rideyourstyle
16.04.2007, 23:04
hallo leute
ich bin schon seit längerer zeit an meinem roboter am bauen, wurde aber mangels parallelen schnittstellen am notebook ein bisschen ausgebremst... :-)
auf jeden fall baue ich ein 2-rad gesteuerter minibot ähnlich asuro programmiert in assembler. mommentan mit sharp frontsensor, geplant ist aber die stuerung mit phillipsfernbedienung (rc5).
antireb ist das doppelgetriebe von robitikhardware.de via mega16 und L298. die steuerung funktioniert soweit. nun bin ich auf eine "problem" gestossen. wie macht ihr das mit pwm? da die meisten kontroller nur 3 pwm ausgänge haben, habe ich einen zuwenig für die vier brücken!
oder ist es möglich an irgendeinem pin am controller per timer vier (resp. max 2 gleichzeitig) pwms zu erzeugen ohne dass der prozessor nur damit seine zeit "verdödelt"??
PS: ich werde morgen einige fotos zeigen, der bot ist leider an der arbeitsstelle geblieben...
Rob.Anfänger
17.04.2007, 19:24
Für zwei Motoren braucht man doch nur zwei PWMs (Geschwindigkeit) und 4 Digitalports (Richtung). Oder hast du mehr Motoren? Dann bräuchtest du aber auch noch einen zweiten L298N, da dieser nur zwei Motoren ansteuern kann.
Zu dem Timer kann ich dir leider auch nichts sagen.
Bin auch gerade dabei meinen ersten Roboter zu bauen. O:)
rideyourstyle
17.04.2007, 21:41
ja aber da die PWMs auf bestimmten pins angeschlossen werden, brauche ich trotzdem 4, um retour auch regulieren zu können! oder sehe ich da etwas falsch an der sache!
ach ja heute ist mein isp mkII gekommen. freu, das programmieren des controllers funktionierte auch nach etwa 3 kurzschlüssen ;-)
rideyourstyle
17.04.2007, 22:17
wie versprochen habe ich da noch die ersten pics!
Elektronik mit zwei verschiedenen isp schnittstellen:
http://www.rideyourstyle.ch/other/fotos/RYS_9862.jpg
Heckspoiler ;-)
http://www.rideyourstyle.ch/other/fotos/RYS_9863.jpg
Getriebe:
http://www.rideyourstyle.ch/other/fotos/RYS_9865.jpg
Mommentaner Status:
http://www.rideyourstyle.ch/other/fotos/RYS_9866.jpg
Und das wäre das Ziel: (im momment nur provisorisch)
http://www.rideyourstyle.ch/other/fotos/RYS_9867.jpg
Sieht gut aus, vorallendingen mal ne günstige, trotzdem gute Version =)
Gefällt mir!
rideyourstyle
17.04.2007, 22:46
ja relativ günstig, wenn man sieht welche dimensionen einige roboter hier im forum annhemen.
kabel, kühlkörper und stecker aus alt tv und computer. mechanik und sensor (noch nicht montiert) von robotikardware.de.
und der rest ist dann auch nicht mehr so teuer...
Besonders IR ist sehr günstig
rideyourstyle
17.04.2007, 23:02
ja sogar gratis da fernbedienung und ir epfänger von einem alt-fernseher...
:-$
rideyourstyle
17.04.2007, 23:40
so jetzt habe ich ein wenig links-rechts drehen geübt. alles funktioniert noch nicht sauber. kann das sein, dass ich dank fehlender enstörung der beiden motoren je nach umdrehungsgeschwindigkeit und richtung der controller mit dem programm von neuem beginnt???
ich werde morgen die beiden entstören. aber kann das so viel ausmachen???
Hast du ein Elko vor dem µC?
Beim Anlauf der Motoren bricht bestimmt die Spannung zusammen.
PS: Aber nimm nicht die alten aus der Glotze ;)
rideyourstyle
18.04.2007, 08:02
nein elkos habe ich gekauft! vor em uC habe ich den abblockkondensator! müsste da noch ein grösserer elko dran??
Ja mach vor den Abblockkondensator noch ein Elkos dran, die Motoren brauchen beim Anlauf zuviel Strom
nett nett.. endlich mal jemand der nich nur die fertigen boards benutzt..
wie sieht die platine so von der unterseite aus?
rideyourstyle
18.04.2007, 19:01
darf ich das zeigen??? :oops:
okay ich mache heute noch ein bild davon. obwohl diesmal habe ich mit einer streifenplatine gearbeitet und an den entsprechenden stellen mit dem cutter gecuttet! sieht also halb so schlimm aus...
ja aber da die PWMs auf bestimmten pins angeschlossen werden, brauche ich trotzdem 4, um retour auch regulieren zu können! oder sehe ich da etwas falsch an der sache!
Das stimmt nicht wirklich.
Du brauchst pro Motor zwei I/O Ports und ein mal PWM. Mit den I/O Ports kannst du die Fahrtrichtung ändern, mit dem PWM die Geschwindigkeit, egal ob vorwärts oder rückwärts geht in beide Richtungen.
Also brauchst du zum regeln der Motoren insgesamt 4 "normale" I/Os und zwei PWM Ports.
Oder meinst du mit retour etwas anderes als rückwärts?
jon
rideyourstyle
18.04.2007, 19:28
nein retour=rückwärts!
die pwm ports werden dann mit dem enable eingang des motortreibers l298 verbunden? und mit den I/O ports die normalen eingänge?
es ist übrigens das erste mal wo ich ein fahrender bot mit motoransteuerung baue!
rideyourstyle
18.04.2007, 22:01
da kommt noch die platinenansicht:
http://www.rideyourstyle.ch/other/fotos/RYS_9868.jpg
http://www.rideyourstyle.ch/other/fotos/RYS_9869.jpg
zu den fertigen boards: wenn ich etwas "erfinde" dann mach ich das am liebsten alles selber. ich habe mir damals auch sin isp parallelportprogrammer selbst gebastelt. und ich programmiere auch in assembler. denn da weiss man genau was in welchem schritt gemacht wird. vielleicht wäre bascom für den anfang auch nicht schlecht, aber ich habe einmal mit assembler angefangen und dabei bleibe ich auch!
und billiger sind die selbstgebastelten dinger auch noch, da nur das drauf ist was man braucht. sieht halt nicht so suupppi aus, aber das muss es ja auch nicht. und vielleicht macht das auch die vielen bots so einzigartig in diesem forum, da nicht jedes ein x-board, y-antrieb und z-sensoren verbaut hat...
Ich bau meine Boards auch immer selber, bin aber jetzt nach langer Zeit von den Streifenrastern weggegangen, denn das dieses Bahnen trenen ging mir langsam auf die Nerven (hab immer gebohrt und gefräst).
Daher jetzt wieder Punktraster.
Aber Assembler würde ich persönlich nicht lernen wollen.
Der Grund ist das solche "alten" Sprachen irgendwann aussterben (meiner Meinung nach), und man das Rad nicht jedesmal neu erfinden muss ;)
rideyourstyle
18.04.2007, 23:04
Zitat: das rad neu erfinden müssen...
tja das steht wohl in jedem zweiten tutorial in dem es um die frage hochsprache oder nicht geht!
ich habe mir auch mal ein c tutrolial ausgedruckt, bin aber nie dazu gekommen es zu versuchen! obwohl in visual basic, html, css, php-mysql und sogar Q-BASIC habe ich alles mehr oder weniger erfolgreiche projekte erstellt! aber das ist wieder eine andere geschichte, äh sprache :-)
plusminus
19.04.2007, 00:08
ASSEMBLER wird sicher nie aussterben, wenn es auf extreme Genauigkeit ankommt kommst du um eine fast "Maschinensprache" nicht herum. Da hilft dir auch der beste Compiler nichts, wenn es darauf ankommt, dass in jedem CPU-Takt genau die geplante Operation stattfindet!
was alles so hinter 2-3 Zeilen Bascom steckt willst du gar nicht wissen und wirst du nur extrem schwer "exakt planen" können!
nein retour=rückwärts!
die pwm ports werden dann mit dem enable eingang des motortreibers l298 verbunden? und mit den I/O ports die normalen eingänge?
Genau!
Die Platine geht doch. Ich habe auch anfangs auf Streifenraster gebaut. Mittlerweile bin ich beim Punktraster. Ist nicht so viel schwieriger. eher etwas leichter, da man nichts trennen muss.
jon
rideyourstyle
19.04.2007, 18:45
hey super
ich habe heute noch ein elko 15oouF vor den uC montiert und jetzt funtkioniert es perfekt. die motorentstörung hat auch einiges gebracht aber jetzt ist suppi. erstaunlich was ein eklo ausmachen kann, obwohl die batterien auch "genug" strom liefern könnten...
rideyourstyle
25.04.2007, 21:54
so gestern hatte ich nicht viel zu arbeiten und da habe ich mein bot noch weiter bestückt. LED's, quarz oszillator und max232 motiert, sharp sensor, ein überflüssiger 16c24 in der schublade gefunden---> auch montiert..
riesen freude!!! ABER jetzt funktioniert nichts mehr! ich kann nicht einmal mehr die LED's ein oder ausschalten. Der quarzoszillator schwingt! auch mit dem internen oszi funktionierts nicht mehr!
Ich kann zwar den controller programmieren, wird also vom avrISPmkII richtig erkannt!!! Jetzt weiss ich leide nicht mehr weiter ](*,) ich habe auch bereits "alles" auf kurzschlüsse und co untersucht und nichts gefunden!!!
vielleicht werde ich das nächste mal eine neuerung nach der anderen testen...
hatte jemand schon ähnliche probleme???
PS: ein anderer kontroller habe ich auch ausprobiert! an den LED ports messe ich spannungen von 1.7 1.3 0.4 Volt. (pull down auf masse) und ohne prozessor im sockel kann ich problemlos mit 5v die leds zum leuchten bringen!
rideyourstyle
30.04.2007, 17:39
okay es funktioniert wieder. ich hatte doch noch kurzschlüsse verbaut! und mein LCD habe ich auch noch montiert. bald ist alles auf dieser platiene, was mein "lager" hergibt! :-)
Bilder werde ich morgen posten....
Cool, poste mal Bilder wenn du fertig bist ;)
rideyourstyle
02.05.2007, 22:06
nun habe ich versucht eine testnachricht auf das lcd zu senden. hat leider nicht funktioniert! darf ich für die lcd ansteuerung die gleichen pins benutzen, die auch für die programmierung verwendet werden???
ich denke die verbindung uP -> LCD sollte in ordnung sein. das programm habe ich aus dem tutorial von mikrocontroller.net genommen. aber leider sehe ich nichts...
und da ist wider einmal ein bild:
http://www.rideyourstyle.ch/other/fotos/DSC00308.jpg
Hey,
sieht doch gut aus!
In welcher Sprache codest du denn?
Poste doch mal deinen Code, dann kann ich evtl. helfen.
Keksdose
03.05.2007, 10:44
assembler, hat er doch schon geschrieben ;)
wirste ihm wohl nicht viel helfen können aber das bekommt er schon hin denke ich wenn er schon assembler kann. Hab auch mal bisschen probiert aber grad mal ne blinkende LED hinbekommen aber nur dank tutorial. Ansonsten super Bot wo mal komplett alles selbstgemacht ist und sogar in assembler geschrieben. echt geil...
Ah sorry, hab nicht den ganzen Thread durchgelesen ;)
rideyourstyle
05.05.2007, 09:23
ja ich habe zuerst das ganze in assembler programmiert ("Kopiert"), weil ich noch nie mit einem lcd zu tun hatte. das hat leider nicht funktioniert. also das bascom beispiel aus dem wiki genommen und probiert. hat leider auch nicht funktioniert.
vielleicht muss ich doch noch einmal die ansteuerung genau überprüfen. oder liegt das problem vielleicht auch am kontrastregler, an dem ich 0 - 2.5 Volt einstellen kann? im datenbatt des lcds stand 0.5 Volt! aber wahrscheinlich müsste es 0 - 5 Volt heissen. ich werde am montag nochmals ausprobieren...
Jo daran wirds wohl liegen, das Problem hatte ich auch.
Siehst du den die obere Reihe überhaupt leuchten?
Wenn nicht dann check echt nochmal den Kontrast.
rideyourstyle
05.05.2007, 21:08
ja bei 0 Volt leuchet die obere Reihe und die untere auch einfach ein wenig schwächer...
bei 2.5 Volt sehe ich nichts mehr leuchten, ausser der hintergrundbeleuchtung ](*,) !
Hm, poste doch bitte mal ein Bild mit deiner Pinbelegung und welche Bus Art du verwendest (4/8 mit/ohne Busy).
rideyourstyle
07.05.2007, 11:06
Tja Bild wird schwierig. Aber ich kanns beschrieben. Das mit dem Kontrast hat leider nicht geklappt.
Ich habe alle Pins am Port B. 4 Bit ansteuerung ohne Busy...
DB 4 --> PB0
DB 5 --> PB1
DB 6 --> PB2
DB 7 --> PB3
RS --> PB4
Enable --> PB5 (gleichzeitig MOSI?)
ca 15 cm Flachbandkabel als Verbindung zwischen LCD und AVR.
rideyourstyle
07.05.2007, 13:22
ja genau... vom anfang an!
rideyourstyle
07.05.2007, 15:22
ach ja ich habe den code auch unter
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=30375&highlight=
geopstet... aber wie gesagt, assembler. obwohl bascom (da kenn i^ch mich nicht gut aus) auch nicht funtioniert hat.
Auch kein JTAG oder so auf den Pins?
Sorry ich schreib morgen Mathe Abschlussprüfung und dannach Technik hab nicht viel Zeit.
rideyourstyle
07.05.2007, 21:27
no problem... ich sollte eignetlich auch lernen, für die aufnahmeprüfung...
[-X
rideyourstyle
15.05.2007, 23:15
also ich habe mein bot im momment zur ausstellung frei gegeben (auf der externen Festplatte aufgestellt) ich werde nach meiner prüfung weiterbauen. und zwar werde ich dann noch jeweils das busy abfragen. ich hoffe, dass ich so sehe wie weit das lcd funktioniert und warum ich nichts sehe...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.