Die teile sind ohne CNC-maschine gemacht, mit laubsage und viel zeit und fleiß,
die aluminium servohalter habe ich mit einen fräsmaschine gemacht und die achsen mit einen drehmaschine.

Der controller ist auf basis eine ST10F276 (es kann auch einen ST10F269 oder ST10F168 benutzt werden),
ich benutzte diesen controller weil ich denn gut kenne und der die servo signale in hardware generieren kann,
dadurch braucht das generieren der servo signalen keinen processor zeit.

Als programmier umgebung benutze ich uVision von Keil, und tiny RTX166, ein preamptive OS von keil.

Der Controller hat:
- 832 Kbytes FLASH (256 Kbytes, fur denn ST10F269 und ST10F16
- 68 KBytes internes RAM ( 12 Kbytes, fur denn ST10F269, 8 Kbytes fur denn ST10F16
- optional 1 MBytes externes RAM,

Das board hat:
- 128 Kbytes EEPROM
- 18 servo anschlusse,
- 8 ADC (10bit) kanäle für die fußsensoren,
- ein 8 bit I/O port, für 8 weiter servos,
- ein SPI port, für erweiterungen, und kontrolle
- ein 8 bit I/O port.
- ein I2C bus.
- ein RS232

Die software ist modular aufgebaut.
Es können Servos definiert werden, und an die harware pins zugewiesen werden,
für die Servos werden die minimal, maximal und neutral puls werte festgelegd,
dazu wird die puls difference für einen °/puls wert hebel bewegung festgelegd.

Die Servos können auch "bewegen", also von einen start-puls wert zu einen end-pulse wert gehen,
diese bewegung kann in einen zeit (x mal 100 millisekunden) ablaufen.

Alle Servos können gleichzeitig und unabhängig von einander bewegen.

Es können bis zu 6 beine deiniert werden, diese können auf bis zu 3 Servos bestehen und einen sensor.
Die masse von die beine sollen definiert werden (unterbein länge, oberbein länge, schulter länge) und die
bevestigungs position am roboter (position und coordinaten).

Damit kann der fuss in eine position gesetzt werden (x,y,z).

Die software berechnet dann die servo werte, diese berechnungen werden mit floating point ausgefuhrt.
Die bewegungen können auch auf bein ebene gemacht werden, also kann das bein einen neue position (x,y,z)
gegeben werden und diese wird dann in einen bestimmte zeit erreicht. Alle bein können gleichzeitig bewegen.

Alle einstellungen / definitionen können in EEPROM gespeichert werden, es können bis zu 4 profile gespechert werden.

Es kann auch einen empfanger (modellbau) angeschlossen werden, der controller decodiert dann die servo signale.
Die bis zu 14 signale können dann einen funktion zugewiesen werden, wie zb. lauf richtung, körper höhe, etc.

Im moment ist die einstellung und kontrolle nur über einen commando zeile (rs232) gemacht,
aber dieses wird noch erweitert damit dieses auch über einen commandoprotokoll (rs232,SPI und I2C).

Es können kommandos geben werden wie zum beispiel:
"servo set 0d1500" -> alle Servos bekommen denn pulse wert von 1,5 millisekunden
"servo set 0d1 0d900" -> servo 1 bekommt denn pulse wert von 0,9 millisekunden
"servo move 0d1 0d2000" -> servo 1 wird von 0,9ms nach 2.0ms bewegen
"servo start move 0d1 0d200" -> servo 1 wird von 0,9ms nach 2.0ms bewegen in 2 sekunden.

Die bewegungen weden an hand von patronen berechnet werden, in die patronen wird nur beschrieben welche beine
nach einander bewegen werden. Die richtung der bewegung und wie gross die schritte sind werden nicht festgelegd.

Ich werde mehr schreiben/berichten wenn ich weiter bin,