Wieg dich doch einfach mal mit und dann ohne Bot, die Differenz isses :-)
Mit was lädst du die Akku's?
Druckbare Version
Wieg dich doch einfach mal mit und dann ohne Bot, die Differenz isses :-)
Mit was lädst du die Akku's?
Hast du schonmal ausprobiert auf der Stelle zu drehen?
@Reeper,
wir haben keine Digitalwaage, sondern so eine mit einem schönen Zeiger. die ist nicht so hochauflösend.
Ich werde aber eine Lösung finden!
@3TageBart,
habe ich, und das geht auch sehr gut. Ein Video dessen wird auch noch kommen.
Eben gab es mal eine Regenpause, in der ich mit dem Bot draußen war. Nur leider gab es eine kleine Störung im Bot, sodass er anstatt nach hinten zu fahren nach vorne in die Büsche gefahren ist und sich dort mit Wasser eingedeckt hat. Er fährt aber noch normal.
Ein Video dessen hier: http://video.google.com/videoplay?do...58387514&hl=en
Dann nochmal so, wie es sein sollte: http://video.google.com/videoplay?do...62328291&hl=en
Jetzt soll IMADEIT-V2 erstmal trocken, danach geht es weiter.
jon
Nun ein Video vom Drehen auf einer Stelle: http://video.google.com/videoplay?do...72421553&hl=en
jon
Hi,
ich finde dein Projekt auch super ! Ich bin schon gespannt, wenn ich ihn live sehe..
Viele grüße
Bis zum nächsten Robotest dauert es aber noch so lange... :(
jon
neia.. es gibt ja auch noch die robotliga.. vielleicht kannst du ja doch hinkommen..
viele Grüße
Mal ehrlich Leute, ich finde eure Signaturen total nervig.... man sieht ja vor lauter Signatur keien Beiträge mehr ;-)
das stimmt. Ich muss irgendwie mal das Bild kleiner machen.Zitat:
Zitat von Xtreme
jon
P.S.: Hättest du das nicht als PN schreiben können? So spamst du nur meinen Thread schön zu ;)
Ist der Bogen den der Roboter auf diesem Video fährt der weiter oben beschriebene "Rechtsdrall"?Zitat:
Unter "Rechtsdrall" hätte ich mir eigentlich vorgestellt, dass der Roboter in beide Fahrtrichtungen einen Bogen in dieselbe Richtung fährt, also denselben Weg zurückfährt, den er gekommen ist.
Da er Rückwärts einen Bogen in die andere Ricntung fährt, kann es eigentlich nicht an der "Achsgeometrie" liegen.
Dass die Motoren der einen Seite bei identischer Spannung langsamer oder Schwächer sind, kann eigentlich auch nicht der Grund sein.
Es könnte daran liegen, dass die Motoren alle eine (dieselbe) bevorzugte Drehrichtung haben. Das glaube ich aber eigentlich auch nicht.
Ich würde eher vermuten, dass bei den Fahrtreglern die "Nullpunkte" nicht richtig programmiert sind, oder das die Fahrtregler vor- und rückwärts nicht symmetrisch regeln.
Fährt der Roboter vor- und zurück auch in Unterschiedliche Richtungen, wenn die Motoren ohne Regler direkt an den Akkus hängen?
Mir ist gar nicht aufgefallen, dass der Bot auch rückwärts einen Drall hat :-bZitat:
Zitat von recycle
Ich finde aber in der Achsgeometrie keinen Fehler ](*,)
Die Motoren sind alle im Rechten Winkel zum Rand des Bodens angebracht, und auch zw. den Motoren sind an allen Stellen die Abstände um 0,5mm genau. Oder machen die 0.5mm so viel aus? Liegt es vielleicht doch daran, dass die Räder recht stark eiern?
Die Nullpunkte sind richtig eingestellt.Zitat:
Zitat von recycle
Die Fahrtregler würde auch eigentlich gleichzeitig anfangen zu regeln, wenn BASCOM nicht so lange bräuchte einen Befehl durch zu arbeiten. Ich habe gestern mal bei einem Freund mit einem Oszilloskop gemessen, raus kam, dass immer der "Servo", der im Programm als zweites genannt wird bis zu einer Sekunde später sein Signal bekommt. Je nachdem, was man als Wert beim Servo-Befehl angibt dauert es länger oder kürzer.
Hab ich gerade mal getestet: Leider ja :cry:Zitat:
Zitat von recycle
jon
EDIT: Hab gerade meine Website um einen kleinen Roman bei Elektronik-V2 erweitert. Nach diesen Schaubildern baue ich gerade auch die Platinen zusammen.
Ich glaube wie oben schon geschrieben, dass es auch gar nicht an der Achsgeometrie liegen kann.Zitat:
Mir ist gar nicht aufgefallen, dass der Bot auch rückwärts einen Drall hat
Ich finde aber in der Achsgeometrie keinen Fehler
Wenn die Räder so stünden, dass das Fahrzeug einen Bogen in eine Richtung fährt, würde es rückwärts denselben Weg zurück fahren und keinen Bogen in die andere Richtung machen.
Wenn er es ohne Regler auch macht, kanns es ja auch nicht an den Regler oder deren Programmierung liegen. Was bleibt da noch?Zitat:
Hab ich gerade mal getestet: Leider jaZitat:
Fährt der Roboter vor- und zurück auch in Unterschiedliche Richtungen, wenn die Motoren ohne Regler direkt an den Akkus hängen?
Mir fällt da eigentlich nur noch ein, dass die Motoren oder Getriebe tatsächlich eine Vorzugsrichtung haben.
Ist mir bei meinen noch nie aufgefallen, habe aber ehrlich gesagt auch noch nie genauer drauf geachtet.
Auf dem Video sieht es aber so aus als sein der Bogen ziemlich gleichmässig. Dann müsste er sich eigentlich verkleinern lassen, wenn man den Motoren abhängig von der Drehrichtung mit ein bischen mehr- oder weniger Spannung gibt.
Die Ursache für den Bogen kann das eigentlich auch nicht sein.Zitat:
Die Fahrtregler würde auch eigentlich gleichzeitig anfangen zu regeln, wenn BASCOM nicht so lange bräuchte einen Befehl durch zu arbeiten. Ich habe gestern mal bei einem Freund mit einem Oszilloskop gemessen, raus kam, dass immer der "Servo", der im Programm als zweites genannt wird bis zu einer Sekunde später sein Signal bekommt. Je nachdem, was man als Wert beim Servo-Befehl angibt dauert es länger oder kürzer.
Wenn die Motoren auf einer Seite etwas später anlaufen, würde er nur beim Anfahren einen kurzen Schlenker machen aber keinen Bogen fahren.
Ist aber trotzdem seltsam. Wenn das daran liegt, dass Bascom so langsam ist, müsste da doch fast jeder drüber stolpern der mit Bascom mehr als einen Servo ansteuert.
Hast du mal es mal mit einem etwas grösseren Wert für Reload versucht?
Laut Bascom Hilfe heisst Reload=5 alle 5µS.
Bei 16Mhz lägen da dann nur 80 Takte zwischen.
Im Bascom Beispiel wird ein Reload von 10 verwendet.
Ich würde da eher mit grösseren als mit kleineren Werten experimentieren um dem Controller etwas mehr Zeit zu geben.
Ich werde erstmal versuchen den Drall über den Kompass aus zu gleichen, da ich den eh da haben. Die anderen Sensoren muss ich erst noch bestellen. Mal schauen, was da rauskommt.
War mir auch schon aufgefallen. Standardservos wollen aber einen Reload von 20ms. Das heißt, mann müsste beim Reload = xx 20000 eingeben. Und das kann nicht stimmen. Ich glaube, dass das, was in der Wiki steht stimmt. Der angegebene Wert sind ms und nicht µs.Zitat:
Hast du mal es mal mit einem etwas grösseren Wert für Reload versucht?
Laut Bascom Hilfe heisst Reload=5 alle 5µS.
Wenn ich die Zeit auf mehr als 5ms vergrößer, dann wollen die Fahrtregel gar nicht mehr, auch nach einer Neuprogrammierung. Genauso wenn ich den Wert kleiner als 5 nehme.
Ich werde mich morgend ans Experimentieren mit dem Kompass machen. Heute habe ich keine Lust mehr.
jon
Ich bin bisher eigentlich immer davon ausgegangen, dass der Wert für den Reload in Bascom nicht angibt, in welcher Frequenz das komplette Servosignal generiert werden muss, sondern steuert wie oft sich der verwendete Timer um die Servos "kümmert".Zitat:
Standardservos wollen aber einen Reload von 20ms. Das heißt, mann müsste beim Reload = xx 20000 eingeben.
Der Servo-Impuls selber liegt ja nur zwischen 1000µs und 2000µs, daher dachte ich bisher, "Reload = 10" bedeutet, dass man 100 Stufen zwischen den beiden Vollauschlägen des Servos hat.
Aber wenn jemand im Wiki was anderes steht, wird das wohl stimmen.
Achso... Ich habe mir den Wiki-Text nochmal durchgelesen, und das würde auch Sinn machen. Dann habe ich da wohl etwas falsch verstanden :-#Zitat:
Zitat von recycle
jon
Der Kompass ist nun eingebaut.
Ich habe noch eine Zwischenetage eingezogen, die wieder aus einer Metallplatte besteht, aus dem selben Material wie der Boden. Diese Platte ist auf der einen Seite mit Scharnieren an der Wand befestigt, auf der anderen liegt die Platte auf einem L-Winkel auf.
Ich habe gestern noch ausprobiert, wie ich den Kompass vor dem Magnetfeld der Motoren abschirmen kann, und da kam nur diese, leider recht schwere Platte, in Frage.
Vom Kompass läuft ein Kabel runter zum Hauptprozessor, der den CMPS03 auswerten soll.
Noch zwei Bilder, einmal vom ganzen Bot, und von der Elektronik:
Bild hier
Bild hier
Ans Auswerten des Kompass habe ich mich noch nicht gemacht --> keine Lust darauf. :-$
Viele Grüße,
jon
Da man letztendlich doch wesentlich öfter an die Elektronik, Akkus, Motoren usw. ran muss als man sich vorher vorstellt, ist das mit dem Scharnier sicher eine gute Idee.Zitat:
Zitat von Jon
Der ganze Aufbau sieht auch super ordentlich und durchdacht aus.
.Zitat:
Ich habe gestern noch ausprobiert, wie ich den Kompass vor dem Magnetfeld der Motoren abschirmen kann, und da kam nur diese, leider recht schwere Platte, in Frage
Da noch ne Leiste, hier noch ne Platte, ein paar Scharniere, Schrauben.... vom Gewicht her da doch schnell einiges zusammen.
Rein zur Abschirmung hätte vielleicht auch eine mit Alufolie beklebte Plastikplatte oder Pappe, oder ein ganz dünnes Blech gereicht.
Aber da könntest du dann keine weiteren Aufbauten drauf montieren und müstest dafür wieder irgendwelche anderen Halterungen montieren.
Ich glaube da bist du mit der Platte trotz deren Gewicht letztendlich besser dran.
Von der Motorleistung solltest du ja noch einige Reserven haben.
Was ist denn das für eine Arbeitseinstellung? ;-)Zitat:
Ans Auswerten des Kompass habe ich mich noch nicht gemacht --> keine Lust darauf. :-$
Alufolie hilft nur bei elektromagnetischen Feldern, nicht bei magnetischen Feldern von Permanentmagneten, wie sie in Motoren verbaut sind. Aber vielleicht hätte auch eine dünnere Platte gereicht? Ich weiß es nicht. Aber da es jetzt gut abgeschirmt ist soll es mir egal sein, und die Motoren haben noch einiges an Reserve.Zitat:
Zitat von recycle
Don't ask me!Zitat:
Zitat von recycle
Ich werde mich aber jetzt mal an die Programmierung machen. Wenigstens um zu testen, ob der Kompass überhaupt funktioniert.
jon
Ich habe gerade mal versucht den Kompass ab zu fragen. das ging auch ohne Probleme. Nur schirmt die Metallplatte auf einmal nicht mehr ab. Gestern ging es mit der selben Platte nur ohne Löcher ohne Probleme, und jetzt gibt der an wären überall so um die 50°.
Ich vermute, dass sich die Platte beim Bohren magnetisiert hat.
Wie entmagnetisiere ich so eine große Platte??
jon
Wie hast du den herausgefunden, dass es jetzt gut abgeschirmt ist, wenn du das Kompassmodul noch gar nicht angeschlossen hast?Zitat:
Aber vielleicht hätte auch eine dünnere Platte gereicht? Ich weiß es nicht. Aber da es jetzt gut abgeschirmt ist soll es mir egal sein, und die Motoren haben noch einiges an Reserve.
Eine Abschirmung gegen Störungen durch die Motoren bring auch nicht so viel, wenn das Material der Abschirmung den Kompass dann selber stört.
Die beste Abschirmung gegen die Motoren wirst du vermutlich nicht über die Auswahl des Materials, sondern über einen möglichst grossen Abstand erreichen.
Bei den Robotern mit Kompass die ich bisher gesehen habe, war der Kompass oft/meist auf einer Art Fahnenmast weit weg von Motoren, Stromversorgung und Metallteilen montiert.
Ich habe einen Kleinen Nadelkompass verwendet, der jetzt das selbe wie der CMPS03 anzeigt.Zitat:
Zitat von recycle
Das kann ich aber nicht machen, da noch Aufsätze drauf sollen. Da kann ich keinen langen Mast daranbauen.Zitat:
Zitat von recycle
jon
Wenn dass nicht immer ein und dieselbe Himmelrichtung ist, scheinen Abschirmung und Kompassmodul ja zu funktioneren ;-)Zitat:
Ich habe einen Kleinen Nadelkompass verwendet, der jetzt das selbe wie der CMPS03 anzeigt.
Ich habe jetzt nochmal experimentiert, und kam zum Ergebnis, dass der Kompass 2,5cm höher montiert sein muss. Also habe ich nochmal eine Etage von diesen Abstandshaltern montiert, und jetzt stimmen die Messergebnisse.
Nun hoffe ich nur noch, dass der Kompass morgen noch so funktioniert, wie er jetzt funktiniert.
An den Algo zum Geradeausfahren habe ich mich jetzt noch nicht gemacht. Dafür müsste ich raus gehen, und das ist es mir zu dunkel. Wenn ich die Beleuchtung habe, dann kann ich auch mit dem Bot nach draußen gehen.
Viele Grüße,
jon
Hab mich mal an den Algo gesetzt, habe aber im Moment das Problem, dass die rechte Seite immer langsamer wird. Sollte doch nach dem Programm nicht so sein, oder?
Kann sich jemand das mal bitte anschauen?
jonCode:'###############################################################################
'Programm zum Geradeausfahren mit Hilfe des Kompass CMPS03
'
'Geht nicht! Warum??
'Wert für Servo_1 wird die ganze Zeit nur erhöht, nicht erniedrigt.
'
'Autor: RN_jon
'Datum: 16.08.2007
'###############################################################################
Declare Function Cmps_himmelsrichtung() As Word
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 19200
$framesize = 42
$swstack = 32
$hwstack = 32
'I2C
Config Scl = Portc.0
Config Sda = Portc.1
'Variablen für Kompass
Dim Himmelsrichtung As Word
Dim Grad As Single
'LEDs
Config Portd.4 = Output 'rot
Config Portd.5 = Output 'gelb
Config Portd.6 = Output 'grün
'Motoren:
Config Servos = 2 , Servo1 = Portc.2 , Servo2 = Portc.3 , Reload = 5
Config Portc.2 = Output 'rechts
Config Portc.3 = Output 'links
Enable Interrupts
Dim Servo_1 As Byte
Dim Servo_2 As Byte
'192 = Stopp
'128 = Vollgas vor
'255 = Vollgas rück
'Variablen für Geradeausfahrt
Dim Start_cmps As Single
'+++++++++++++++++++++++++
Portd.4 = 1
Portd.5 = 1
Portd.6 = 1
Portd.4 = 0
Waitms 500
Portd.4 = 1
Portd.5 = 0
Waitms 500
Portd.5 = 1
Portd.6 = 0
Waitms 500
Portd.6 = 1
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wait 1
Servo_1 = 140
Servo_2 = 140
Himmelsrichtung = Cmps_himmelsrichtung()
Start_cmps = Himmelsrichtung / 10
Print "Startausrichtung: " ; Start_cmps
Do
Servo(1) = Servo_1
Servo(2) = Servo_2
Himmelsrichtung = Cmps_himmelsrichtung()
Grad = Himmelsrichtung / 10
Print "Fahrtausrichtung: " ; Grad
If Grad < Start_cmps Then 'nach rechts drehen
Servo_1 = Servo_1 + 2
End If
If Grad > Start_cmps Then 'nach links drehen
Servo_1 = Servo_1 - 2
End If
Waitms 200
Print "Servo_1: " ; Servo_1
Print "Servo_2: " ; Servo_2
Loop
End
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function Cmps_himmelsrichtung() As Word
Local Lob As Byte
Local Hib As Byte
I2cstart
I2cwbyte &HC0
I2cwbyte 2
I2cstop
I2cstart
I2cwbyte &HC1
I2crbyte Hib , Ack
I2crbyte Lob , Nack
I2cstop
Cmps_himmelsrichtung = Makeint(lob , Hib)
End Function
P.S.: Es ist im Moment so, dass es nicht funktionieren würde, wenn der Bot über die 360° fährt. Wenn er also meinetwegen bei 359° startet und dann nach 1° abdriftet. Dass habe ich im Moment noch nicht in ein Programm umgesetzt.
Ich habe es nur so getestet, dass ich den Bot vor dem Programmstart nach Süden ausgerichtet habe.
Hallo,
kleiner Tip: Declariere alle Kurse als byte und frage auch den Kompass entsprechend ab. Höhere Genauigkeit bringt eh nichts.
Also z.B.
Dim Kurs As Byte , Kursdif As Byte , Kurssoll As Byte
Declare Function Kompass() As Byte
Function Kompass() As Byte
I2cstart
I2cwbyte &HC0
I2cwbyte 1
I2cstop
I2cstart
I2cwbyte &HC1
I2crbyte Kompass , Nack
I2cstop
End Function
Alle Operationen wie z.B.
Kursdif=Kurs-Kurssoll
sind dann immer richtig, auch wenn der Robo durch N dreht, da alle Operationen modulo 256 sind.
Gruß
Christian H
Ich habe das Programm jetzt ein klein wenig geändert, und jetzt fährt er schon mal etwas gerader. Ein Video hier.
@Christian H,
ich werde mal versuchen, deinen Vorschlag in ein vollständiges Programm um zu setzen.
jon
Gegenüber dem Bogen, den den der Robby auf den vorherigen Videos gefahren ist, ist das ja schon ein enormer Fortschritt.Zitat:
Ich habe das Programm jetzt ein klein wenig geändert, und jetzt fährt er schon mal etwas gerader. Ein Video hier.
Auf dem Video kann man das schlecht abschätzen, kann es sein, dass du hier schon langsam an die Grenzen des Kompassmoduls kommst?
Ich habe gestern mal in das Datenblatt von irgendeinem Kompassmodul geguckt und da lag die Genauigkeit bei ca. 4Grad.
Das ist wirklich schon wesentlich besser, wie sieht es mit der Kraft der Motoren beim Ausgleich aus?Zitat:
Zitat von Jon
Wie meinst du das? Was verstehst du unter Grenzen des Kompass?Zitat:
Zitat von recycle
Das stimmt. Deswegen mache ich im Moment drei Messungen, und rechne dann den Durchschnitt aus. So ist das Ergebnis um einiges genauer.Zitat:
Zitat von recycle
I don't know. Wie könnte ich das Testen, oder ausrechnen? Der Motor, der langsamer läuft wird auf jeden Fall etwas weniger Kraft haben.Zitat:
Zitat von Reeper
jon
Mal einfach auf unebeneren Gelände probieren.
Geht aber wirklich schon jetzt ordentlich!
Hallo,
nachdem ich die letzen Tage mal wieder keine Lust hatte zu programmieren, habe ich den Bot heute endlich dazu gebracht, 90° Drehungen zu machen. Ein Video gibt es leider noch nicht, da es draußen mal wieder pisst. Für drinnen ist das Teil einfach zu schnell, auch wenn ich ihn langsamer stelle. Da sind meine Räumlichkeiten zu klein.
Außerdem habe ich den Schaltplan für die neue Fernbedienung fertig.
Die Fernbedienung wird aus einem ATMega32 und einem ATMega16 bestehen, die über I2C miteinander kommunizieren. Ich verwende zwei µCs, da das Grafik Touchscreen recht viele Pins braucht, und die Bilddateien für das Display nicht gerade klein sind. Der ATMega32 steuert also nur das Display an und fragt den Touchscreen ab, der ATMega16 wird auf jeden Fall zwei Mini-Joysticks bekommen, eventuell noch ein paar Taster, und das ER-Modul.
Viele Grüße,
jon
Ich habe in der letzten Zeit nicht wirklich an IMADEIT-V2 gebastelt, trotzdem habe ich mal ein Video von den 90° Drehungen gemacht, leider im Moment nur drinnen, da es draußen mal wieder zu nass ist. (Wenn ich dran denke, ein Video zu machen, pisst es natürlich immer *grrrr*.)
Das Video ist auf meiner Website unter IMADEIT-V2 zu finden. Einfach auf das schöne^^ Bild klicken, dann könnt ihr das Video downloaden.
Das Touchscreen ist noch nicht da, auf das warte ich im Moment.
Viele Grüße,
jon
P.S.: Hab vergessen zu erwähnen, dass IMADEIT-V2 auf Fliesen und Parkett ganz stark rutscht, weswegen die 90° Drehungen nicht wirklich 90° sind.
Hi Jon
gutes Video bzw. gutes Zwischenergebnis!
Ich hatte beim ersten Grasausflug auch mehr gemäht als gedreht ;-)
Wo hast du die Räder her? Ich suche gerade welche und habe bei C nix gefunden.
Gruß
Christian
Das sind diese Reifen vom Big C: http://www.conrad.de/goto.php?artikel=230746
jon
Hast du das Ladegerät auch bei Reichelt bestellt?Zitat:
Zitat von Reeper
Ich überlege, ob so ein Akku nicht wirklich besser ist (bei meinen Bot würden 2 in Reihe geschalten werden).
Wie lange dauert so eine Ladephase und wie lange halten die in der Praxis bei dir?
Gruß
Stefan
Das Ladegerät ist ein billig Teil von Conrad. Man kann zw. einem Ladestrom von 1 und 2A wechseln. Mein 3,3Ah Akku ist somit in ca. 1std und 40min geladen.
Bei IMADEIT-V1 hat ein Akku für mehr als vier stunden gehalten. Ich habe aber auch keinen Plan, was für einen Strom der beim fahren zieht.
Wie lange der Akku bei IMADEIT-V2 hält kann ich nicht sagen, da ich noch nie länger gefahren bin.
jon
Könnte man ja ausrechnen ;-)Zitat:
Zitat von Jon
Was für eine Art.-Nr. hat denn das Ladegerät?Zitat:
Zitat von Jon
Habe bisher das gefunden:
http://www.monkeytoys.de/ansmannraci...mh-p-3472.html
http://www.monkeytoys.de/ansmannraci...¤t-p-3497.html
Jedoch hat dieses Ladegerät nur einen Ladestrom von 600 mA.
Hallo,
ich habe am Wochenende und heute ein bisschen gebastelt, und habe nun einen teil der Chassisbeleuchtung fertig.
Einen Teil, da mir meine BS250 MOSFETs ausgegangen sind, und ich erst noch einen weiteren kaufen muss, um auch die blauen LEDs ansteuern zu können. Die roten und orangen kann ich aber mittlerweile ohne Probleme ansteuern.
Zwei Bilder, bei denen die roten und orangen LEDs gleichzeitig an sind:
Bild hier
Bild hier
Mehr LEDs werde ich voraussichtlich erstmal nicht einbauen, da es mir so sehr gut gefällt.
Viele Grüße,
jon
P.S.: Die pinken LEDs werden aber noch kommen!
EDIT: Die Bilder sind leider nicht so gut, da meine DigiCam im Dunklen Schwierigkeiten hat...
WEr will, kann ja am 6.10 nach Braunschweig kommen, da wird IMADEIT-V2 beim Robotiktreff Niedersachsen live zu sehen sein!