das video ist leider defekt. (problem mit dem dateiende)
format auch nicht optimal aber ok.
Druckbare Version
das video ist leider defekt. (problem mit dem dateiende)
format auch nicht optimal aber ok.
wurde korrigiert (s.o.)
perfekt. geile bewegung. verläuft absolut rund und sauber.
PS: verdammt jetzt will ich umbedingt auch so ein ding.
SUPER
Mein gott ist der Bot cool
11 von 10 Punkten super Arbeiten kannst dir nun wirklich auch 2 Bier gönnen !!!
dein Student
aaaaaaaaaaah das der Bot ist supergeil!!
Videoqualität: naja!!!
Wie sehen für die PICAXE eigentlich die Servobefehle aus?
Gruß Michi
PICAXE-Programmteil zum Bewegen von Servo1 in Mittelstellung (1500µs):
sb1l und sb1h sind die Adressen für Low und Highbyte der Position und sb1s ist die Adresse für die Geschwindigkeit.Code:symbol sb1s = 0
symbol sb1l = 1
symbol sb1h = 2
symbol speed = 4
w0 = 1500
i2cslave $C2,i2cslow,i2cbyte
writei2c sb1s,(speed)
writei2c sb1l,(b1)
writei2c sb1h,(b2)
Das Video hab ich absichtlich in so miese Qualität konvertiert, damit es nich 10 oder mehr MB verschlingt.
Ton und Farbe sind für die Sache ja eher uninteressant O:)
Gruß, da Fox
Hi,
danke! Hab net gedacht dass man damit so leicht einen Servo ansteuern kann!
Gruß Michi
bravo echt geiler bot. (sabber...)
pass dir aber auf dass die servos nie beim gehen gegenenander arbeiten;
wir teilen in der schule jeden schritt in 8 einzelpunkte damit sich die abweichungen in (engen) grenzen halten, denn mit diesem bein ist es fast nicht möglich eine derade linie zu fahren sondern nur so ungefähr
Ja, das Bewegungsmodell im Rechner abzubilden wird ne heftige Arbeit...nach vielen Jahren mal wieder tief in der Mathematik wühlen *g*
Hab aber nächste Woche dafür genug Zeit und Ruhe - und freu mich schon drauf das zu entwickeln ! :)
Herzlichen Glückwunsch zu diesem Prachtstück!
Ist schon beeindruckend, was man als Hobbybastler so alles hinbekommen kann ...
[schild=19 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Perfekt -> so definiert man am einfachsten so einen Bot ...[/schild]
Hi!
Ja, also ich kann nur in die allgemeinen Jubelschreie einstimmen!
A B S O L U T C - O - O - L
Wird der über einen On Board controller oder über nen PC gesteuert?
VLg Tobi
VLG Tobi
Is echt geil dein hexabot!!!!
Hoffe das ich meinen auch so toll hinkrieg^^
Mfg.Attila földes
Hat dir eigentlich schonmal jemand gesagt, dass der Bot saustark ist? Nein? Eh, der is geil!!!
Könntest du für die schnelleren bzw geduldigeren Fans noch ein höher-qualitäres Video reinstellen? Mir persönlich würden auch 100MB nix ausmachen...
Ich hab schon mal ne Dissertation eines Hexabots reingezogen, der auch (bei Kraft von außen) nachgeben konnte (siehe Bild unten). Aber der sieht irgendwie nicht so geil aus wie deiner und wird ein ordentliches Sümmchen mehr gekostet haben! - Transparenz macht viel her! :)
Grüß
NRicola
Hi
Ja, es müssen auf jeden fall mehr Bilder her!!
(Ob 100MB oder nicht... EGAL.)
naja, ich finde den abgebildeten Bot nicht so toll, ist eher etwas.... hm. vorsichtig und langsam aus... :D
Naja, auf jeden Fall scheint er ein halbes Rechenzentrum an Bord zu haben.
Frage: Dein Bot ist ja eigentlcih recht schnuckelig (Grßenfergleich mit Feuerzeug) Was soll denn da alles drauf, oder sit das """nur""" ein Test?
Macht weiter so!
VLG Tobi
Hallo Leute
Toller Roboter. Gratuliere !!
Wenn ihr das ganze mal CNC-Fräsen wollt, schaut mal auf:
https://www.roboternetz.de/phpBB2/ze...823&highlight=
l.G. Roberto
Vielen Dank erstmal für all das Lob - aber verausgabt euch nich so...er ist doch noch lang nich fertig ;)
Hab heute den SD21-Servo Controller ins Innere des Bots verlegt
(oben drüber soll die Platte mit dem US und IR Sensor, so wären die genau mittig auf dem Roboter)
und das Funkmodul angebaut:
Bild hier
Und nun hab ich massive Störungen die offensichtlich von den Servos kommen.
Wenn die in Betrieb sind bekomme ich kaum Funkkontakt und er bricht dann ständig zusammen.
Ich muss nun erstmal die I²C Verbindungen durch abgeschirmtes Kabel ersetzen (hätte ich auch gleich dran denken können :-s) und
die Spannunsgversorgung entstören.
Das ganze Teil frißt zur Zeit 600mA im Leerlauf (Beine werden in der Luft gehalten) und ca. 1A wenn er auf dem Boden steht
(1.5A wenn auf 3 Beinen stehend und 3 in der Luft, beim Aufstehen bis über 2A) !
Kann mir jemand von Euch sagen wie ich das am besten anstelle ?
Reichen da ein paar Kondensatoren parralel zur Batterie ?
Sind Ferritkerne notwendig ?
(Mit ratlosem) Gruß, da Fox 8-[
EDIT: hab noch ein zweites Problem!
Sobald ich das Funkmodul (CM02) und den SD21 per I2C verbinde, leuchtet die Sende-LED am Funkmodul dauerhaft und die Verbindung bricht zusammen.
Das auch, wenn die Servos nicht in Betrieb sind - Störungen in der Betriebsspannung oder des I2C Bus sind also ausgeschlossen.
Woran kann das liegen ?
Hallo ezfox,
zuerstmal, toller Roboter!!!
Zu den Problemen, Hier arbeitet einiges gegeneinander (deshalb unbedingte Vorsicht das da nichts abnippelt!).
Wenn ich mir das Bild ansehe, ist der PICAXE auf dem SD21 noch drauf. Gleichzeitig ist das CM02 angeschlossen. Das geht aber so nicht.
Der PICAXE kann nur als I2C-Master arbeiten, der CM02 auch. Das beißt sich.
Ein weiterer (wesentlicher) Grund aber für die Ekel-Effekte scheint zu sein, dass du den CM02 rückwärts über I2C mit Strom versorgst. Das ist auch so nicht gedacht. Hier also vom CM02 und SD21 nur die Masse verbinden, sofern die nicht durch den Akku ohnehin schon verbunden ist.
Dann sollte sich eigentlich erstmal einiges verbessern.
Viele Grüße
Jörg
Vielen Dank ! Das war das Problem mit der dauerhaft leuchtenden Sende-LED. Funktioniert jetzt einwandfrei.
Auf den PICAXE kann ich durchaus verzichten - der hätte ohnehin nur als Treiber für einfache Schrittfolgen bzw. als Notsystem bei Funkausfall gedient. Ich will den Roboter ja vom PC steuern lassen.
Nur die Störungen des I²C Busses bei laufenden Servos sind noch da - gehen aber auch weg, wenn ich getrennte Akkupacks für Servos und Logik benutze. Also brauch ich wohl weniger abgeschirmte I²C Verbindungen als vielmehr eine Glättung+Entstörung der Versorgungsspannung (wollte eigentlich nur mit einem Akkupack arbeiten!). Kannst Du mir noch einen Tip geben, was sich da anbietet ?
Gruß, da Fox
PS: hab grad bemerkt, das ich nicht ganz verstehe was Du mit folgendem Satz genau gemeint hast:
Wie sollte ich die Versorgungsspannung denn am besten verteilen ?Zitat:
"Ein weiterer (wesentlicher) Grund aber für die Ekel-Effekte scheint zu sein, dass du den CM02 rückwärts über I2C mit Strom versorgst. Das ist auch so nicht gedacht. Hier also vom CM02 und SD21 nur die Masse verbinden, sofern die nicht durch den Akku ohnehin schon verbunden ist."
Ich arbeite sowohl auf dem SD21 als auch auf dem CM02 mit den Festspannungsreglern.
Also am SD21 ist ein 6V-Akku für die Servos angeschlossen, über den Spannungsregler gehts runter auf 5V für die Logik.
Aber dann !? :-k
Ich hab nur 3 Möglichkeiten:
a) CM02 über den I²C Bus mit Spannung versorgen (Deiner Aussage nach schlechte Lösung)
b) 6V-Akku parallel auch an den CM02 anschliessen
c) Jumper auf SD21 ziehen und 6V-Akku parallel an den CM02 anschliessen - SD21 Logik würde dann ebenfalls per I²C mit Spannung versorgt.
Bei b) mach ich mir aber Sorgen, da dann 2 Festspannungsregler parallel arbeiten würden
und deren Ausgänge und Masse über den I²C Bus miteinander verbunden wären.
Hallo da Fox,
schön das es jetzt besser geht.
Ich nahm an, du hättest die 6V-Leitungen (gleicher Akku) und die 5V Leitungen (hinter den Reglern) über den 4poligen I2C verbunden.Zitat:
PS: hab grad bemerkt, das ich nicht ganz verstehe was Du mit folgendem Satz genau gemeint hast:
Zitat:
Ein weiterer (wesentlicher) Grund aber für die Ekel-Effekte scheint zu sein, dass du den CM02 rückwärts über I2C mit Strom versorgst. Das ist auch so nicht gedacht. Hier also vom CM02 und SD21 nur die Masse verbinden, sofern die nicht durch den Akku ohnehin schon verbunden ist.
bei den genannten Strömen, wenn die Servos gleichzeitig losmachen da tut sich schon was auf der Leitung. Kurze dicke Kabel zum Servotreiber sind wichtig. Am Funkmodul würde ich noch einen zusätzlichen Stützelko von mindestens 500uF vorsehen. Hängt aber von der gewählten Versorgung (siehe unten) ab.Zitat:
Nur die Störungen des I²C Busses bei laufenden Servos sind noch da - gehen aber auch weg, wenn ich getrennte Akkupacks für Servos und Logik benutze. Also brauch ich wohl weniger abgeschirmte I²C Verbindungen als vielmehr eine Glättung+Entstörung der Versorgungsspannung (wollte eigentlich nur mit einem Akkupack arbeiten!). Kannst Du mir noch einen Tip geben, was sich da anbietet ?
so würde ichs erstmal probieren (bessere Entkopplung).Zitat:
b) 6V-Akku parallel auch an den CM02 anschliessen
sofern du die 5V Leitungen nicht verbindest ist das kein Problem. I2C kommt problemlos mit verschiedenen Potenzialen zurecht, nur GND muss verbunden sein.Zitat:
Bei b) mach ich mir aber Sorgen, da dann 2 Festspannungsregler parallel arbeiten würden
und deren Ausgänge und Masse über den I²C Bus miteinander verbunden wären.
Viele Grüße
Jörg
Ich tat wie Du mir geraten und nun funktioniert alles - die Störungen sind weg !!!
Vielen vielen Dank ! - You made my day ;)
Hallo nochmal - gibts eventuell eine Möglichkeit, das doch zu bewerkstelligen ?Zitat:
Zitat von Joerg
Ich merke das ich den PICAXE schon gern verwenden würde, aber ich brauche für den ne Funkverbindung zum PC.
Eventuell auch mit irgendwelchen Umsetzern oder Speichern ?
Auf der Seite steht auch das auf den SD21 auch noch BasicStamp BS2P, BX-24 und Atom Mikrocontroller laufen - wäre es event. mit einem von diesen möglich ?
Gruß, da Fox
Hallo Fox.
Schön dein Roboter.
Hast mir direkt Gusta gemacht. :-)
Habe mir inzwischen 9 so billig Servos von Conrad gekauft ca. 10Ncm bei 8 Gramm
Werde mal versuchen so einen Arm nachzubauen.
Dazu hätte ich eine Frage:
Warum werden pro Arm eigentlich 3 Servos verwendet ?
Hat das einen bestimmtem Grund ?
Es müsste ja eigentlich auch gut mit zwei funktionieren:
http://www.lynxmotion.com/Product.as...&CategoryID=28
Finde derzeit leider nur dieses Bild, es gab aber noch ein anders von der Mechanik, hier wo im Forum..
Welchen Vorteil hat eigentlich die runde Anordnung der Beine?
http://www.lynxmotion.com/images/hi-res/round02.jpg
gegenüber der langen Anordnung ?
http://www.lynxmotion.com/images/hi-res/wlkstk04.jpg
Könnte man mit der Längsanordnung nicht besser laufen als mit der Runden ?
l.G- Roberto
hi roberto!
Also das mit den "Billigservos" mit 10Ncm Drehmoment würde ich nicht machen! Greif lieber eine andere Bauweise auf und nicht die vom Foxbot denn der diese ist ziemlich schwer. Wäre für diese kleinen servos bestimmt der Tod! Mit den kleinen servos würde ich auf die Nano Bauweise setzen! siehe: "Nanofox" im forum
Die drei Servos sind von der Mechanik her einfacher zu realisieren und es kommt dem Bein eines Insekts näher also mit 2 servos!
Das mit der Andordnung kann man glaub ich nicht direct beantworten! Gibt Vor- und Nachteile bei beidem würde ich mal sagen.
mfg Xericus
Hallo
Hab mir das jetzt mal auf die Schnelle mit meinen Servos gemacht und
jetzt doch einen eigenen Thread dafür aufgemacht.
https://www.roboternetz.de/phpBB2/vi...=129080#129080
Was mir dabei aufgefallen ist, dass sich der Fuss beim zurückdrehen einen Radius beschreibt. Also nicht gerade nach hinten schiebt.
Wie wirkt sich das dann auf die 6 Beine aus, oder könnte man das mit dem äusseren Servo ausgleichen ?
Dann müsste der Fuss beim zurückschieben, zuerst ein Stück weiter draussen anfangen, in der Mitte weiter innen sein und hinten wieder weiter draussen. 8-[
Durch das müsste sich eigentlich das mittlere Servo auch ein bisschen nachstellen, damit die Höhe auch gleich bleibt.
(um es ganz genau zu sehen )
Oder wird das zu viel Rechenaufwand und man lässt die Füsse halt ein bisschen schleifen ?!
Ein Gute Idee hatte ich noch (weil die Servos bei mir ein bisschen zitterten. (ohne Belastung))
Mann könnte ja auch bei den stark belasteten Servos, jeweils eine Feder einbauen, die mithelfen das Gewicht zu tragen.
Das entlastet dann auch die Servos......
Müsste man bei der Konstruktion halt gleich miteinplanen ;-)
Hallo
der Roboter Katharina war von der Fraunhofer Gesellschaft entwickelt worden. Unter http://diglib.uni-magdeburg.de/Disse...02/thoihme.pdf gibt es die gesamte Arbeit zu sehen. WOW!!
@Roberto
da ist auch erklärt was die runde Anordnung für Vorteile hat. (Freie Beweglichkeit in jede Richtung.)
mfg Torr Samaho 2
Jawohl, ist nen schickes Dokument, hat mich einst auch viele Stunden beschäftigt!
Grüß
NRicola
Hallo ezfox
Ich wollte mal fragen ob du in der letzten Zeit schon weiter gekommen bist??
mfg Luca
Nein, leider nicht. Mir fehlt einfach die nötige Zeit im Moment.
Ich bin noch dabei eine Platine mit AD-Wandler für die Drucksensoren zu entwerfen und ich brauch noch eine Lösung
wie ich den PICAXE und das Funkmodul Daten austauschen lassen kann (über I²C pur nicht möglich, da beide Master sein müssen).
Vll. hat ja jemand hier eine Idee ???
Ein anständiger Antriebsakku ist bestellt (5xGP2000) - mein Versuch mit LiPoly Akku war ein Vollversager !
Man konnte wunderbar die Wirkung eines hohen Akku-Innenwiderstandes beobachten...die Servos waren absolut kraftlos.
Ja, und die Programmierung muss ich auch endlich mal anfangen - brauche erstmal ein Userinterface und eine Schnittstelle zum Funkmodul in C++.
Dann muss ich die Formeln zur Berechnung der Schrittpositionen entwickeln.
Es gibt soviel Huhn - nur finde ich nicht die Zeit, es anzubacken... 8-[
Gruß, da Fox
Hi,
finde dein Projekt auch Super, sieht alles sehr gut aus, wie weit bist du oder hast du nicht weiter gemacht ?
Viele Grüße
Hammer!:shock: Schaut echt wahnsinnig toll aus! Gibt es eigentlich auch nen Video, wo er sich fortbewegt? Vlt hab ich aber auch den Link dazu nicht gesehn.
mfG, Manni
Hallo,
Auch wenn der Thread ausgestorben ist:
Für die beiden Servos in den Beinen (Gelenke) hat er ja 30 Ncm.
Wieviel hat denn der Servo, der als Schulter dient, also das Bein drehen kann? Und wie schnell kann sihc der Roboter bewegen? Also ist die Bewegung eher langsam oder geht sie auch richtig flott?
MfG,
jga
naja, so ein bein wiegt vllt 120g und der servo muss es ja nicht hochhaben, sondern nur drehen.
Weiß nicht, was er für nen Lauf-Modus hat, aber wenns einer mit 3Beinen am Boden ist, dann kanns (falls gut programmiert) schon recht fix sein..
danke erstmal an plusminus, für den hinweis im icq bezüglich der lipo-akkus.
ich hatte anfang des jahres das projekt erstmal auf eis gelegt, aus zeitmangel und weil ich keine befriedigende lösung für zwei probleme gefunden hatte.
1) picaxe und funkmodul wollen beide nur als i²c master kommunizieren.
ich werde da notgedrungen auf den picaxe verzichten und jeden einzelnen befehl über funk geben (also auf die "treiberroutinen" die der picaxe zur verfügung stellen sollte verzichten).
2) akkukonzept
hatte damals spezielle nimh akkus bestellt, welche leider nie ankamen.
nun höre ich aber von speziellen, hochstromfähigen lipos, welche ich nun auch testen werde. mein erster versuch mit einem normalen lipo war ja wegen des hohen innenwiderstands und dem damit verbundenen zusammenbruch der versorgungsspannung nicht gerade von erfolg gekrönt.
habe nun auch wieder mehr zeit - und daher: i´m back \:D/
Argl, ich komme nicht weiter mit der Programmierung 8-[
Ich lasse den PICAXE weg und steuere den SD21 direkt vom CM02 aus an.
Das ganze mit C++. Beide Möglichkeiten (16Bit/8Bit) führen nicht zum Erfolg.
Hier der Code:
Message Handlers: (funktionieren - SRF08 läßt sich problemlos steuern)
Code:void CBrain::SetupCommPort( LPCTSTR comport)
{
DCB dcb;
COMMTIMEOUTS ct;
CloseHandle(hCom);
hCom = CreateFile( comport, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
GetCommState(hCom, &dcb);
dcb.BaudRate = CBR_19200;
dcb.fParity = FALSE;
dcb.fOutxCtsFlow = FALSE;
dcb.fOutxDsrFlow = FALSE;
dcb.fDtrControl = DTR_CONTROL_DISABLE;
dcb.fDsrSensitivity = FALSE;
dcb.fOutX = FALSE;
dcb.fInX = FALSE;
dcb.fRtsControl = RTS_CONTROL_DISABLE;
dcb.fAbortOnError = FALSE;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
SetCommState(hCom, &dcb);
GetCommTimeouts(hCom, &ct);
ct.ReadIntervalTimeout = 500;
ct.ReadTotalTimeoutMultiplier =500;
ct.ReadTotalTimeoutConstant = 500;
SetCommTimeouts(hCom, &ct);
SetCommMask(hCom, EV_RXCHAR);
}
16Bit-Version:
Code:#define I2C_CMD 0x55 // direct I2C control command
#define CM01_CMD 0x5a // CM01 command
#define SD21 0xc2 // SD21 adress
HANDLE hCom;
BYTE SerialBuf[200];
...
BD.Servo = 0x00; //servo 1 (register 0)
BD.Speed0 = 0x05; //speed 5
BD.Leg0a = 0x08; //lowbyte
BD.Leg0b = 0x07; //highbyte
SerialBuf[0] = I2C_CMD; //send I2C command
SerialBuf[1] = SD21; //adress of SD21 (0xc2)
SerialBuf[2] = BD.Servo;
SerialBuf[4] = BD.Speed0;
SerialBuf[3] = BD.Leg0a;
SerialBuf[5] = BD.Leg0b;
WriteFile(hCom, &SerialBuf, 6, &n, NULL);
8Bit-Version:
Es bewegt sich absolut nichts ](*,)Code:#define I2C_CMD 0x55 // direct I2C control command
#define CM01_CMD 0x5a // CM01 command
#define SD21 0xc2 // SD21 adress
HANDLE hCom;
BYTE SerialBuf[200];
...
BD.Servo = 0x3F; //base adress servo1 (63)
BD.Leg0base = 0x40; //position 64
SerialBuf[0] = I2C_CMD; //send I2C command
SerialBuf[1] = SD21; //adress of SD21
SerialBuf[2] = BD.Servo;
SerialBuf[3] = BD.Leg0base;
WriteFile(hCom, &SerialBuf, 4, &n, NULL);
Weiss jemand Rat ?
ok, habe den fehler gefunden.
ich hatte vergessen, dem CM02 die Anzahl der Datenbytes mitzuteilen
8-[ ](*,)