Das teuerste an Robotern ist, meiner Meinung nach, die Mechanik.
Ein fahrbarer Untersatz für etwas über 20 Euro ist recht günstig.
Also habe ich mein Konto geplündert und mir die ersten 3 Ausgaben
der Zeitschrift "RealRobots" gleich drei Mal gekauft - mit der festen Absicht
ein Roboter-Team zu entwickeln. Einen HC11-F1 Microcontroller hatte ich
noch in der Schublade und der Elektronik-Laden bietet eine kleine Platine
mit dem Namen "MOPS-light" an, die auf diesem Controller basiert. Nachdem
ich die Platine zusammengebastelt und die diversen benötigten Erweiterungen
auf dem Lochraster-Feld aufgebaut hatte, war mir das Kabel-Gewirr
auf der Unterseite zu gross geworden. Ich beschloss also eine eigene Platine
zu machen, die meinen Wünschen mehr entspricht - so entstand die folgende
Zeichnung:
Die Schaltung hat zwar ein kleines Manko, das liess sich aber aus Platzgründen nicht umgehen: Das Select-Signal des LCDs muss vom HC11 invertiert (active high) ausgegeben werden, sonst überschneidet es sich mit den 32 KB RAM. Das kann beim HC11F1 aber wunderbar über die Software geregelt werden. Sollte man auf das Display verzichten, so kann man auch die Drahtbruecken rechts oben weglassen. Ein paar SMD-Widerstände und einen -Kondensator konnte ich mir mal wieder nicht verkneifen, das sollte aber kein allzu grosses Problem sein.
Auf der Platine befinden sich ein Motor-Treiber fuer 2 Gleichstrommotoren (L293D), ein 38 KHz Taktgenerator für Infrarot- oder Ultraschall-Sensorik, batteriegepufferte 32KB RAM (0x8000-0xFFFF), ein Piezo-Summer und diverse Ein- und Ausgänge.
Auf dem "RealRobots"-Chassis montiert, sieht das spaeter so aus:
Unter der Platine habe ich noch eine Acrylglas-Platte montiert, weil die Löcher der Platine nicht dort sitzen, wo man beim Chassis bohren kann. Acryl-Glas-Platten gibt es uebrigens im Baumarkt unter der Bezeichnung "Bastler-Glas". In die Getriebekästen des Chassis sind Hallsensoren eingeklebt und in die Zahnräder 3mm dicke Magneten eingesetzt. Mit einem Magneten werden pro Radumdrehung 16 Impulse geliefert, man kann aber auch 2 oder mehr einsetzen.
Das Platinenlayout ist mit Cadsoft's Eagle (Freeware-Version) erstellt. Es besteht aus einer halben einseitigen Europa-Karte (80 x 100 mm).
Rollmops
- Layout
Rollmops - Schematic
Die Software habe ich mit Karl Lunts SBasic erstellt, wobei der grösste Teil des System-Library in Assembler programmiert ist. SBasic bietet durch den Einsatz von Assembler die Möglichkeit, selbst Befehle hinzuzufügen und kam mir dadurch sehr entgegen. Das System-Library enthält auch einen kleinen Task-Switcher und man kann bis zu 4 Routinen als Tasks laufen lassen.
Den derzeitigen Stand der Software habe ich ich als kleines TAR-Paket zusammengepackt. Da ich nunmal nur Linux benutze und Karl Lunt mir die Sourcen fuer SBasic nicht geben wollte :-( wird das Ganze mit dem "dosemu" betrieben. Unter Windows oder DOS muss sicherlich viel angepasst werden.
Kleine Übersicht über die verwendeten Bauteile:
Qty | Value | Device | Parts | Bemerkungen |
1 | 255SB | S1 | Reichelt: T 215 | |
1 | PINHD-1X8 | JP3 | Buchsenleiste | |
1 | PINHD-1X17 | JP5 | Buchsenleiste | |
1 | PINHD-2X8 | JP2 | Buchsenleiste | |
1 | PINHD-2X17 | JP4 | Buchsenleiste | |
1 | 1k | R-EU_0207/2V | R8 | |
1 | 1k | R-EU_R1206 | R18 | |
2 | 1k5 | R-EU_R0805 | R6, R7 | |
2 | 2mA 3mm | LED3MM | D1, D2 | |
1 | 3k9-8k2 | R-EU_0207/2V | R2 | R je nach Frequenz |
1 | 6n8 | C-EU025-050X050 | C8 | |
1 | 8 MHz | CST | Q1 | Schwinger |
1 | 10k | R-EU_0207/7 | R16 | |
3 | 10k | R-EU_M0805 | R3, R4, R5 | |
6 | 10k | R-EU_R0805 | R9, R10, R11, R13, R14, R15 | |
3 | 10k | R-EU_R1206 | R1, R12, R17 | |
1 | 47k | RN-8 | RN1 | 8+1 Pin |
2 | 47uF | CPOL-EUE2.5-5 | C6, C7 | |
1 | 68HC11F1FN2-S | 68HC11F1FN2-S | IC1 | |
1 | 74HC132N | 74HC132N | IC8 | |
5 | 100n | C-EU025-025X050 | C2, C3, C4, C5, C9 | |
1 | 100n | C-EUC1206 | C1 | |
1 | 2936-5 | 78LXX | IC6 | |
1 | 7805 | 78MXXS | IC5 | |
1 | 62256 | 62256P | IC2 | |
1 | Autostart | PINHD-1X2 | JP1 | Jumper oder 4k7 |
1 | BC517 | BC517 | T1 | |
1 | BC847 | NPNSOT23 | T3 | |
1 | F/CM12P | F/CM12P | SG1 | Reichelt: Summer EPM 121 |
1 | L293D | L293D | IC4 | |
1 | LCD | PINHD-2X7 | JP7 | |
1 | MC34064 | MC34064TO-92 | IC3 | Kessler Electronic |
1 | MS-660 | MS-660-Taster | T2 | Kessler Electronic |
1 | Mode | DS02 | S2 | Reichelt: NT 02 |
1 | MotorPwr | PINHD-1X3 | JP9 | |
1 | Motors | PINHD-2X3 | JP6 | |
1 | Power | M03 | SL1 | |
1 | RR-Pwr | PH2MM-1X4 | U$4 | Conrad 2mm-Stiftleiste |
1 | Serial | M05 | SL2 |