Archiv

Artikel Tagged ‘Mikrocontroller’

Empfänger mit Fahrtenregler

31. März 2011 Keine Kommentare

Als Fortsetzung des neulich hier geposteten Fernsteuersystems soll nun mal die Empfängerseite vorgestellt werden. Eingesetzt werden soll der Empfänger in einem sehr klein Schiffsmodell mit sehr schmalem Rumpf und wenig Verdrängung, aber auch kleinen Motoren. Dadurch hat es sich angeboten den Drehzahlsteller für die zwei Antriebsmotoren (2x 8W) in den Empfänger zu integrieren, um so Platz und Gewicht zu sparen. Die wesentlichen Leistungsmerkmale lassen sich etwa so zusammenfassen:

  • ATMEGA88 Mikrocontroller mit 8MHz Taktfrequenz
  • Baugröße: 50mm x 20mm x 20mm
  • Gewicht: 17g (inklusive Motoranschlusskabel wie abgebildet)
  • Akku-Spannungsmessung bis 11V (10mV Auflösung)
  • Motorendstufe bis 7A
  • 5V Schaltregler bis 1A für Servo
  • RFM12 868MHz Funkmodul mit Drahtantenne
  • Funkreichweite mit Drahtantennen ohne richtige Groundplane: ~80m

Ich betreibe den Empfänger an zwei in Reihe geschalteten Lithium-Polymer-Zellen und nutze den Servoausgang für die Ruderfunktion des Boots. Als Antenne wird  momentan nur ein 85mm langes Drahtstück verwendet.

 

Bedenken hatte ich Anfangs bei der Versorgung von Mikrocontroller  und Servo durch den selben Schaltregler. Diese haben sich allerdings durch getrennte Leiterbahnen (jeweils für +5V und Masse, sowie 2x 10µF Abblockkondensatoren) als unbegründet erwiesen. Bewährt hat sich auch die Aufteilung der Schaltung auf zwei zusammensteckbare Platinen, nur den Stecker ist etwas wackelig, das wird in der nächsten Version verbessert.

 

 

 

Modellbaufernsteuerung

14. März 2011 Keine Kommentare

Dieses Bastelprojekt dreht sich darum eine kleine, preisgünstige und sehr flexible Modellbaufernsteuerung mit einem AVR Mikrocontroller zu bauen. Die Idee entstand hauptsächlich dadurch, dass ich für einige Modellbauprojekte gerne Telemetriedaten des Modells an die Fernsteuerung senden wollte. Das wird allerdings bisher nur von relativ wenigen, teuren Funkfernsteuerungen unterstützt (z.B. Graupner MX-12 ab 240€).

Beim Umgang mit mehreren Modellen verfolgt das System einen grundsätzlich anderen Ansatz als kommerziell erhältliche Fernsteuerungen, die alle Einstellungen und Besonderheiten der verschiedenen Modelle in Profilen auf der Fernsteuerung abspeichern. Hier soll es so ein, dass die Fernsteuerung  in regelmäßigen Abständen Datenpakete mit den Zuständen aller Bedienelemente versendet und der direkt auf ein Modell abgestimmte Empfänger entscheidet, welche Bedienelemente welche Steuerungsfunktionen übernehmen. So kann man zum Beispiel über den Empfänger definieren, das bei einem Modellboot mit Jetantrieb das nach hinten ziehen des Schubhebels nicht dazu führt die Drehrichtung des Motors umzukehren, sondern den Servo der Schubumkehreinheit ansteuert um die Rückwärtsfahrt einzuleiten. Besonders im Funktionsmodellbau ist das sicherlich ganz interessant, da man über einen Mikrocontroller-Empfänger fast beliebig komplexe Bewegungsabläufe definieren kann. Wie ein solcher Empfänger aussehen kann, werde ich hier in einem der nächsten Beiträge beschreiben. Auch muss die Fernsteuerung keine Modelleinstellungen verarbeiten und abspeichern können, was die Anforderungen an Display und Speicher verringert.

Die Telemetriefunktion ist so realisiert, das der Empfänger auf jedes Datenpaket der Fernsteuerung mit einem Antwortpaket reagieren kann. So kann man über das ausbleiben einer Antwort sehr schnell einen Verbindungsabbruch oder eine Störung des Funkverkehrs erkennen. Dieses Antwortpaket kann aber noch einen 16 Zeichen langen Text enthalten, der dann auf der Fernsteuerung angezeigt wird. Der Empfänger kann in diesen Text beliebige Informationen packen (z.B. Akkuspannung des Modells, Motorstrom, Geschwindigkeit, …).

Hier noch ein paar Angaben zur Hardware:

  • miniUSB-Anschluss mit FTDI232RL für Kommunikation, Programmierung über Bootloader und Ladeanschluss
  • ATMEGA644P mit 18,432MHz Quarz und 64KB Flashspeicher
  • 3,7V Lithiumionenakku mit 1200mAh
  • Drehencoder mit Taster zur Menusteuerung
  • 16×2 Zeichen LCD-Display mit über Software abschaltbarer Hintergrundbeleuchtung
  • RFM12 Funkmodul 868MHz mit RP-SMA-Buchse für Antenne (momentan etwa 100m Reichweite mit λ/4 Antenne)
  • 4 extrahelle LEDs (2 rot, 2 grün)

und den Fernsteuerfunktionen:

  • 2 xy-Sticks mit Taster
  • 1 Poti
  • 1 Schalter
  • beliebige weitere Funktionen sind über das Menu mit Drehencoder nachrüstbar

Wer diese Fernsteuerung nachbauen möchte, kann das mit den weiter unten verlinkten Konstruktionsdaten tun. Das Gehäuse der Fernsteuerung besteht der Einfachheit halber aus zwei lasergeschnittenen 5mm Acrylglasplatten wie man sie bei Formulor fertigen lassen kann. Die Leiterplatte wurde mit Eagle entworfen und folgt in den Designrules den Vorgaben von HAKA-Leiterplatten.

Die Firmware ist leider noch nicht soweit fertig, dass ich sie hier schon veröffentlichen wollte. Als Hinweis sei noch gesagt, das diese Fernsteuerung nur für Bastler Sinn ergibt die schon einige Erfahrung in der C Programmierung von AVR Mikrocontrollern und die nötigen Geräte (ISP Programmieradapter, …) haben, da hier nie eine Ready-to-use Lösung entstehen wird.