(→Elektronik) |
(→Elektronik) |
||
Zeile 152: | Zeile 152: | ||
Über Pin 41 (VSS) liegt IC7 an Masse. | Über Pin 41 (VSS) liegt IC7 an Masse. | ||
− | Damit IC7 in Betrieb genommen werden kann, muß die externe Reset-Leitung auf logisch "1" oder auch HIGH liegen. Das bedeutet, daß hier mindestens 70% der Versorgungsspannung von IC7 anliegen müssen. Dies wird durch den Pull-Up-Widerstand R10 erreicht, der Pin 18 mit der Versorgungsspannung verbindet. Bliebe diese Leitung auf logisch "0" oder LOW - maximal 20% der Versorgungsspannung von IC7 - so würde der | + | Damit IC7 in Betrieb genommen werden kann, muß die externe Reset-Leitung auf logisch "1" oder auch HIGH liegen. Das bedeutet, daß hier mindestens 70% der Versorgungsspannung von IC7 anliegen müssen. Dies wird durch den Pull-Up-Widerstand R10 erreicht, der Pin 18 mit der Versorgungsspannung verbindet. Bliebe diese Leitung auf logisch "0" oder LOW - maximal 20% der Versorgungsspannung von IC7 - so würde der Controller im (Power-on)-Reset-Status verweilen. |
Wird nun S1 (der rote SMD-Taster auf der Platine) betätigt, verhindert R10 einen Kurzschluß, indem er den Strom auf 720µA begrenzt. Die gesamte Versorgungsspannung fällt an ihm ab und an Pin 18 liegt LOW an. Dies veranlaßt den Watchdog im Controller einen Reset auszulösen, der die gleichen Bedingungen wie nach dem Einschalten und vor dem Programmstart wieder herstellt. Gleiches erreicht IC5 (TL7757), wenn die Versorgungsspannung einen Wert von nominal 4,55 Volt unterschreitet. R21 dient hier zur Strombegrenzung. | Wird nun S1 (der rote SMD-Taster auf der Platine) betätigt, verhindert R10 einen Kurzschluß, indem er den Strom auf 720µA begrenzt. Die gesamte Versorgungsspannung fällt an ihm ab und an Pin 18 liegt LOW an. Dies veranlaßt den Watchdog im Controller einen Reset auszulösen, der die gleichen Bedingungen wie nach dem Einschalten und vor dem Programmstart wieder herstellt. Gleiches erreicht IC5 (TL7757), wenn die Versorgungsspannung einen Wert von nominal 4,55 Volt unterschreitet. R21 dient hier zur Strombegrenzung. | ||
Zeile 158: | Zeile 158: | ||
Damit der Controller ungestört von äußeren Unterbrechungsanforderungen seine Arbeit verrichten kann, ist es von Vorteil Pin 19 (IRQ) ebenfalls über einen Pull-Up-Widerstand auf HIGH zu setzen. R23 beträgt in diesem Fall 100kOhm und begrenzt für den Fall, daß diese Leitung auf Masse geschaltet wird, den Strom auf 72µA. | Damit der Controller ungestört von äußeren Unterbrechungsanforderungen seine Arbeit verrichten kann, ist es von Vorteil Pin 19 (IRQ) ebenfalls über einen Pull-Up-Widerstand auf HIGH zu setzen. R23 beträgt in diesem Fall 100kOhm und begrenzt für den Fall, daß diese Leitung auf Masse geschaltet wird, den Strom auf 72µA. | ||
− | Mehr braucht der Controller grundsätzlich erstmal nicht, um betriebsbereit zu sein. | + | Mehr braucht der Controller grundsätzlich erstmal nicht, um betriebsbereit zu sein, denn er verfügt über einen internen Oszillator mit 2,1 MHz Taktfrequenz. |
==Software== | ==Software== |
Version vom 24. September 2006, 15:22 Uhr
An diesem Artikel arbeitet gerade Mitglied pischke.
Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen. Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor pischke per PM / Mail oder Forum nachfragen ob er vergessen wurde. |
CCRP5 steht für C-CONTROL ROBOTER PROJECT 5 und bezeichnet ein Produkt der Firma Conrad Electronic GmbH in Hirschau, welches seit Ende 2003 auf dem Markt ist. Mechanisch und elektrisch wird das System bereits fertiggestellt geliefert, ist aber dennoch erweiterbar. Zur Inbetriebnahme muss nur der Mikrocontroller (µC) programmiert werden. Dies geschieht mit Hilfe der im Lieferumfang befindlichen Entwicklungsumgebung (IDE), in der aus einem Quelltext in der firmeneigenen Programmiersprache CCBASIC ein entsprechendes Programm für den µC erzeugt wird (Cross-Compiling). Dieses kann aus der IDE heraus über eine serielle Schnittstelle des PC (Host) auch in den µC (Target) übertragen werden, welcher während dieser Zeit in der Schaltung verbleibt (In-System-Programming, kurz: ISP). Ebenfalls im Lieferumfang befinden sich praktikable Beispielprogramme, sodass sich der Arbeitsaufwand ein experimentierbereites System zu erstellen, auf ein Minimum beschränkt. Um die Möglichkeit der Simulation des µC, welche die Entwicklungsumgebung bietet, nutzen zu können, empfiehlt sich der Einsatz eines Windows-PC.
Inhaltsverzeichnis
Mechanik
Das Fahrgestell des CCRP5 (auch einzeln erhältlich) besteht aus einer längs geteilten, symmetrischen Kunststoffwanne, die nach oben hin von der Hauptplatine abgedeckt wird. In jeder Gehäusehälfte befindet sich ein eigenständiger Antrieb, bestehend aus Antriebsmotor mit Getriebe und außenliegendem, heckgetriebenem Raupenband. Ein seitliches Herunterrutschen des Raupenbandes wird im Querschnitt durch Formschluss mit dem Antriebs-, bzw. Umlenkrad verhindert. Die elektrischen Anschlüsse der Antriebsmotoren sind durch leicht entfernbare Abdeckungen an den beiden Längsseiten des Fahrgestells gut zugänglich.
In der linken Hälfte der Abbildung erkennt man den durch einen Stellring gesicherten rechten Vorderachsstummel. Vorder- und Hinterachsstummel sind in Gleitlagerbuchsen gelagert. In der rechten Hälfte sieht man das Getriebe mit dem dahinter befindlichen Antriebsmotor. Es handelt sich hierbei um ein dreistufiges Stirnradgetriebe mit Polyamid-Zahnrädern in der Verzahnungsgröße Modul 0,5.
In der Konfiguration mit jeweils 12 Zähnen am treibenden und jeweils 50 Zähnen am getriebenen Zahnrad ergibt sich für das Getriebe eine Gesamtübersetzung von
[math]i_{gesamt}=i_{1}\cdot i_{2}\cdot i_{3}=\frac{z_{2}}{z_{1}}\cdot\frac{z_{4}}{z_{3}}\cdot\frac{z_{6}}{z_{5}}=\frac{50}{12}\cdot\frac{50}{12}\cdot\frac{50}{12}=\frac{50^{3}}{12^{3}}=\frac{125000}{1728}=72\frac{73}{216}[/math]
So ändert sich die Drehzahl am Antriebsrad des Raupenbandes (hier Index 2) gegenüber der Drehzahl an der Motorwelle (hier Index 1) wie folgt:
[math]n_{2}=\frac{n_{1}}{i}=\frac{n_{1}}{72}[/math]
Die Drehzahl am Antriebsrad beträgt also nur den 72-ten Teil der Motordrehzahl. Dafür steigt das Drehmoment im Verhältnis
[math]M_{2}=i\cdot {M_{1}}=72\cdot {M_{1}}[/math]
auf das 72-fache des ursprünglich an der Motorwelle verfügbaren Wertes.
Elektromechanik
Die elektromechanische Ausrüstung des CCRP5 besteht in der Grundausstattung aus den beiden Antriebsmotoren und zwei Gabellichtschranken. Leider sind für die Antriebsmotoren keine Kenndaten bei der Conrad Electronic GmbH erhältlich. Die Gabellichtschranken sind von der Unterseite her mit der Hauptplatine verlötet und verschraubt. Dabei sind sie so plaziert, daß der Lichtweg zwischen Sender und Empfänger von einem der Zahnräder des Getriebes unterbrochen wird. In dieses Zahnrad wurde in entsprechendem Radius eine Bohrung eingebracht, sodaß nun mit jeder Umdrehung dieses Zahnrades ein Impuls der Lichtschranke erzeugt wird. Auf diese Art wird eine indirekte Messung des Weges möglich, den das Fahrgestell bei seiner Fortbewegung zurückgelegt hat (Odometrie). Dieser Weg errechnet sich wie folgt:
Übersetzung [math]i=\frac{z_{2}}{z_{1}}=\frac{50}{12}=\frac{25}{6}[/math]
Aus der Übersetzung ergibt sich die Drehzahl des angetriebenen Zahnrades, welches mit dem Antriebsrad verbunden ist:
Drehzahl [math]n_{2}=\frac{n_{1}}{i}=\frac{1\cdot 6}{25}[/math] Umdrehungen (oder 86°)
Der Durchmesser des Antriebsrades, gemessen über die Außenflächen des Raupenbandes - denn dort rollt sich das Raupenband ja ab - beträgt ca. 50 mm. So gelangt man über die Beziehung
[math]U=d\cdot \pi[/math]
auf die abgerollte Länge einer Umdrehung des Antriebsrades:
[math]U=50mm \cdot \pi\approx 157 mm[/math]
Eine [math]\frac{6}{25}[/math] Umdrehung entspricht dann [math]157mm\cdot\frac{6}{25}\approx38mm[/math]
Mit dieser Schrittweite läßt sich also die Fortbewegung des Fahrgestells überwachen, doch dies hält sich durch Schlupf zwischen Antriebsrad und unverzahntem Raupenband, sowie Schlupf zwischen Raupenband und Untergrund
in (physikalischen) Grenzen.
Elektronik
Die Hauptplatine ist doppelseitig und durchkontaktiert, mißt 185 x 128 mm und wurde beidseitig mit einer schwarzer Lötstopmaske versehen. Ebenso die frontseitige Sensorplatine, welche 80 x 19 mm mißt. Die meisten Bauteile sind in SMD-Technik ausgeführt. Mit Hilfe von abgewinkelten Stiftleisten ist die Sensorplatine an der Außenkante der Hauptplatine rechtwinklig zur deren Unterseite verlötet. Die Bestückungsseite zeigt dabei nach außen. Die Hauptplatine wird so auf das Fahrgestell montiert, daß diese Seite in Bewegungsrichtung vorne liegt (zur Erinnerung: die Getriebe liegen hinten).
Hier ein Funktionsschaubild der Elektronik des CCRP5:
Auch die komplizierteste Schaltung besteht aus einzelnen Funktionselementen, welche einzeln für sich betrachtet und nachvollzogen, das Verständnis der Gesamtschaltung ermöglichen. Nachfolgend werden die Schaltungen der Elemente des obigen Funktionsschaubildes anhand von Schaltungsauszügen beschrieben. Diese wurden aus den Unterlagen der Conrad Electronic GmbH erstellt, werden aber aus Haftungsgründen ohne jegliche Gewähr für die Richtigkeit veröffentlicht. Die Verwendung der darin enthaltenen Informationen erfolgt auf eigenes Risiko.
Hauptprozessor
Im Zentrum der Schaltung des CCRP5 liegt die C-Control 1. Sie basiert auf einem µC vom Typ MC68HC05B6 der Firma Freescale Semiconductor.
Die C-Control ist mit der gesamten Peripherie verbunden - entweder direkt oder über weitere Bausteine. Deshalb findet sich hier die höchste Dichte an ankommenden und abgehenden Leitungen. Nachfolgend eine alphabetische Auflistung der im Schaltungsauszug verwendeten Leitungskürzel und deren Zuordnungen:
AEL | ACS-Empfänger, links- | AER | ACS-Empfänger, rechts- | BAT | Batterie(spannungs)sensor |
DAT | Datenleitung Subsystem/Schieberegister | GND | Masse | IRQ | Interrupt-Request |
LAD | Ladestromsensor | LIV | Motordrehrichtungssteuerung, links- | MIC | Mikrofon |
MOL | Motordrehzahlsteuerung, links- | MOR | Motordrehzahlsteuerung, rechts- | MTS | Motorstromsensor |
REF | Referenzspannung | REV | Motordrehrichtungssteuerung, rechts- | RST | Reset |
SDA | Datenleitung I2C-Bus | SDL | Taktleitung I2C-Bus | SEF | Sensorfeld |
SRC | Taktleitung Schieberegister | STR | Steuerleitung Schieberegister | SUC | Taktleitung Subsystem |
VCC | Versorgungsspannung | / | / | / | / |
Anm.: C9 und C11, sowie R11 und R29 sind auch in den Original-Unterlagen von Conrad Electronic wie gezeigt geschaltet und auf der Platine bestückt.
IC7 (MC68HC05B6) liegt über Pin 10 (VDD) an der Versorgungsspannung, welche direkt aus der Batterie gespeist wird. Aus den technischen Daten von IC7 geht hervor, daß diese Spannung maximal 7 Volt betragen darf. Vom Einsatz von Primärzellen in der Batterie ist daher abzuraten! C8, C9 und C11 sind gegen Masse geschaltet und filtern so, zusammen mit anderen Kondensatoren in der Gesamtschaltung, Störspitzen aus der Versorgungsspannung heraus. Über Pin 41 (VSS) liegt IC7 an Masse.
Damit IC7 in Betrieb genommen werden kann, muß die externe Reset-Leitung auf logisch "1" oder auch HIGH liegen. Das bedeutet, daß hier mindestens 70% der Versorgungsspannung von IC7 anliegen müssen. Dies wird durch den Pull-Up-Widerstand R10 erreicht, der Pin 18 mit der Versorgungsspannung verbindet. Bliebe diese Leitung auf logisch "0" oder LOW - maximal 20% der Versorgungsspannung von IC7 - so würde der Controller im (Power-on)-Reset-Status verweilen.
Wird nun S1 (der rote SMD-Taster auf der Platine) betätigt, verhindert R10 einen Kurzschluß, indem er den Strom auf 720µA begrenzt. Die gesamte Versorgungsspannung fällt an ihm ab und an Pin 18 liegt LOW an. Dies veranlaßt den Watchdog im Controller einen Reset auszulösen, der die gleichen Bedingungen wie nach dem Einschalten und vor dem Programmstart wieder herstellt. Gleiches erreicht IC5 (TL7757), wenn die Versorgungsspannung einen Wert von nominal 4,55 Volt unterschreitet. R21 dient hier zur Strombegrenzung.
Damit der Controller ungestört von äußeren Unterbrechungsanforderungen seine Arbeit verrichten kann, ist es von Vorteil Pin 19 (IRQ) ebenfalls über einen Pull-Up-Widerstand auf HIGH zu setzen. R23 beträgt in diesem Fall 100kOhm und begrenzt für den Fall, daß diese Leitung auf Masse geschaltet wird, den Strom auf 72µA.
Mehr braucht der Controller grundsätzlich erstmal nicht, um betriebsbereit zu sein, denn er verfügt über einen internen Oszillator mit 2,1 MHz Taktfrequenz.
Software
Technische Daten
(mit montierter Hauptplatine)
Länge ca. 200 mm
Breite ca. 130 mm
Höhe ca. 90 mm
Gewicht ca. 750 g (mit sechs AA-Zellen)
Tragfähigkeit ca. <wird noch berechnet> g
Max. Geschwindigkeit ca. <wird noch gemessen> cm/s