Fork me on GitHub

Quadrofly Building a quadrocopter

23Jun/120

Motorcontrollerboard v1.0

Lochrasterentwurf Motorcontrollerboard

Das Motorcontrollerboard ist für die Ansteuerung der vier Motor-ESCs (Electronic speed control) und den Empfang der Funksignale der RC-Fernbedienung verantwortlich.

Die Elektronik auf diesem Board benötigt eine Spannung von 5 Volt, welche durch einen MAX-604 Spannungsregler erzeugt wird. Zum Empfang der Spektrum DSM2-Signale einer DSM2-Fernbedienung kommt ein Deltang Rx35 6-Kanal-Empfänger zum Einsatz welcher mit einem ATMega88-Microcontroller verbunden ist. Dieser decodiert das Summensignal des Empfängers und sendet es über I2C an das Controllerboard, außerdem empfängt er die Sollwerte für die Motoren über I2C und generiert daraus ein PWM-Signal zur Ansteuerung der ESCs.

Schaltplan Motorcontrollerboard

Das Motorcontrollerboard wird über einen 5-poligen Anschluss mit dem Hauptcontrollerboard verbunden, über diesen läuft die Spannungsversorgung sowie die I2C-Kommunikation mit dem Controllerboard.

Motorcontrollerboard V1 Lochraster-Layout
Motorcontrollerboard V1 Lochraster-Layout
motorcontrol.bb
Version: 1.0
38.4 KiB
1013 Downloads
Details...
Motorcontrollerboard V1 Schaltplan
Motorcontrollerboard V1 Schaltplan
motorcontrol.sch
Version: 1.0
325.1 KiB
911 Downloads
Details...

10Apr/120

Controllerboard v1.0

Lochrasterentwurf Controllerboard

Die erste Version des Controllerboards ist fertig. Das Controllerboard enthält einen ATMega644-PU Microcontroller zur Steuerung, ein RFM12BS-Funkmodul zur drahtlosen Übertragung der Telemetriedaten, ein 6-DoF-Modul MPU-6050 zur Lagebestimmung, einen MAX-603 Spannungsregler zur Erzeugung der benötigten 3.3 Volt und jede Menge Hühnerfutter.

Schaltplan Controllerboard V1

Über den 5-poligen Anschluss auf der rechten Seite kann eine weitere Platine mit Strom versorgt und über I2C mit dem Microcontroller verbunden werden. Für zukünftige Erweiterungen wie GPS-Modul und DSM2-Empfänger ist noch genügend Platz auf der Lochrasterplatine.

Controllerboard V1 Lochraster-Layout
Controllerboard V1 Lochraster-Layout
controllerboard_v1.bb
Version: 1.0
47.0 KiB
897 Downloads
Details...
Controllerboard V1 Schaltplan
Controllerboard V1 Schaltplan
controllerboard_v1.sch
Version: 1.0
354.0 KiB
815 Downloads
Details...

1Apr/120

Telemetriemodul fertiggestellt

Telemetriemodulplatine

Nach ausgiebigen Tests auf dem Breadboard habe ich das Telemetriemodul nun auf eine Lochrasterplatine verewigt. Es ist in der Lage empfangene Daten des RFM12 Chips an eine RS-232-Schnittstelle weiterzuleiten. Umgekehrt können auch Daten von der RS-232-Schnittstelle über den RFM12 Chip versendet werden.

Im groben besteht das Modul aus den folgenden vier Teilen: Einem Spannungsregler vom Typ MAX603 der Eingangsspannungen von 2,7V bis 11,5V auf die benötigten 3,3V regelt. Einem MAX3232CPL Pegelwandler, der den TTL-Pegel des Microcontrollers auf RS-232-Pegel umzuwandelt. Ein RFM12BS mit Breakout-Board zum Senden und Empfangen von Daten im 433 MHz Band. Und ein ATMega644/ATMega1284 Microcontroller zur Ansteuerung des RFM12BS Moduls und der UART-Schnittstelle.

Schaltplan Telemetriemodul

 

Telemetriemodul Schaltung
Telemetriemodul Schaltung
telemetrics.sch
Version: 1.0
670.4 KiB
830 Downloads
Details...

9Mrz/120

ATMega644 Entwicklungsboard

ATMega Entwicklungsboard

Zum ordentlichen Testen der für den ATMega644 entwickelten Software braucht man immer wieder eine ATMega Grundschaltung. Diese kann man natürlich auf dem Steckbrett aufbauen, dort verbraucht sie aber viel Platz. Da man die Schaltung immer wieder benötigt, werde ich mir ein ATMega644 Entwicklungsboard auf Lochraster aufbauen. Als Basis dafür dient die Grundschaltung mit MAX-232 aus dem Artikel "Let's talk about RS-232", denn die RS-232 Schnittstelle aus dieser Schaltung kann man zum debuggen der Software gut gebrauchen.

Um mir eine grobe Übersicht über die Anordnung der Bauteile auf der Platine zu verschaffen, erstelle ich regelmäßig Lochraster-Platinenlayouts. Dafür benutze ich die Open Source Software BlackBoard Breadboard Designer. Die BlackBoard-Datei der Platine sowie die Eagle-Datei des Schaltplans kann man am Ende dieses Artikels finden.

Schaltplan und Platinenlayout:

ATMega Grundschaltung mit RS-232

ATMega644 Entwicklungsboard (oben)

ATMega644 Entwicklungsboard (unten)

Downloads:

ATMega644 Entwicklungsboard
ATMega644 Entwicklungsboard
Entwicklungsboard.bb
Version: v0.1beta
50.5 KiB
768 Downloads
Details...
ATMega RS-232 Schaltung
ATMega RS-232 Schaltung
rs232.sch
Version: 1.0
715.4 KiB
808 Downloads
Details...
5Mrz/120

Let’s talk about RS-232

Serial Port (CC BY-NC 2.0 Joe Plocki)

Um die Wartezeit auf die ersten Bauteile zu verkürzen, verbesserte und erweiterte ich heute die ATMega644 Grundschaltung aus dem vorherigen Beitrag.

Folgende Verbesserungen nahm ich vor: Da ich zum Programmieren des Microcontrollers einen DIAMEX USB ISP benutze und dieser einen 6-poligen Anschluss verwendet, ersetzte ich den 10-poligen Anschluss durch einen 6-poligen (SV1). Um den Microcontroller neu zu starten falls er mal in einer Endschlossschleife verweilt, wurde der Taster (S1) hinzugefügt, der den RESET-Port des Microcontrollers auf HIGH zieht. Zur Spannungsstabilisierung und Vermeidung von Messungenauigkeiten sind die vier 100 nF Abblockwiderstände (C11, C12, C13, C14) an den Stromversorgungsports der Microcontroller (IC1, MAX232) vorgesehen. Die Spule (L1) erhöht die Messgenauigkeit des eingebauten A/D-Wandlers ebenfalls.

Anschließend erweiterte ich die Schaltung um einen seriellen RS-232 Anschluss, um Daten zwischen Microcontroller und PC austauschen zu können. Da die RS-232-Schnittstelle PC-seitig mit -12V/+12V Signalen arbeitet, der Microcontroller aber mit 0V/+5V Signalen, kommt ein Pegelwandler (MAX232) zum Einsatz. Diesen wurde, wie im Datenblatt angegeben, mit vier 4,7 µF Kondensatoren (C7, C8, C9, C10) ausgestattet. Damit die Übertragung zwischen ATMega644 und PC über RS-232 funktioniert, muss eine bestimmte Frequenz eingehalten werden. Der interne Taktgeber des ATMega ist dafür zu ungenau. Aus diesem Grund schliesste ich einen 20 MHz Quartz (Q1) mit den benötigten zwei 22 pF (C2, C3) Kondensatoren am ATMega an.

Nun heißt es auf die bestellten Bauteile warten, um die Schaltung anschließend auf dem Breadboard aufzubauen und zu testen.

Bauteile:

Part     Value          Device

C2       22pF           C2.5/6
C3       22pF           C2.5/6
C4       100µF          CPOL-EUE5-6
C5       100nF          C2.5/6
C6       100nF          C2.5/6
C7       4,7µF          CPOL-EUE2,5-6E
C8       4,7µF          CPOL-EUE2,5-6E
C9       4,7µF          CPOL-EUE2,5-6E
C10      4,7µF          CPOL-EUE2,5-6E
C11      100nF          C2.5/6
C12      100nF          C2.5/6
C13      100nF          C2.5/6
C14      100nF          C2.5/6
IC1      ATMEGA644-20PU ATMEGA644-20PU
IC2                     7805
IC3      MAX232         MAX232
JP1                     PINHD-1X3
JP2                     PINHD-1X3
L1       10µH           L-EUIRF-3
Q1       20Mhz          CRYSTALHC49U70
R1       10k            R-EU_0207/10
S1                      31-XX
SV1                     ML6

Downloads:

ATMega RS-232 Schaltung
ATMega RS-232 Schaltung
rs232.sch
Version: 1.0
715.4 KiB
808 Downloads
Details...
4Mrz/120

Hallo ATMega!

Hello World (CC BY-SA 2.0 xunil96)

 

Nun ist es also soweit, nach 3 Jahren Pause habe ich beschlossen, mich wieder der Elektronik und dem Roboterbau zu widmen. Um mein neues Projekt zu dokumentieren, werde ich meinen Fortschritt in diesem Blog festhalten. Bei dem Projekt handelt es sich um den Aufbau eines Quadrocopters. Die ersten Bauteile sind bereits bestellt und die ersten Schaltpläne entworfen.

Da ich beim Aufbau von zwei Robotern bereits Erfahrungen mit Atmel-Mikroprozessoren sammeln konnte, werde ich diese auch in meinem aktuellen Projekt verwenden. Um mich wieder in die Materie einzuarbeiten, entwarf ich eine sogenannte Grundschaltung, wie sie auch im Roboternetz beschrieben ist. Zum Entwerfen der Schaltpläne verwende ich das Programm "Eagle", welches für Privatanwender als Freeware für alle Betriebssysteme verfügbar ist.

Die Grundschaltung besteht aus einem ATmega644-Mikrocontroller (IC1), einem 78S05 Spannungsregler (IC2) und einer Steckleiste zum anschließen handelsübriger ISP (ISP1). Der 20 MHz Quarz (Q1) ist für die Grundschaltung nicht unbedingt notwendig aber empfehlenswert, da der interne Taktgenerator sehr ungenau arbeitet.

Bauteile:

  • C1, C5, C6 - 100 nF Kondensator
  • C2, C3 - 22 pF Kondensator
  • C4 - 100 µF Kondensator
  • R1 - Widerstand 10 kOhm
  • Q1 - Standardquarz 20,0000-HCU49U-S
  • IC1 - ATMega644-20 PU
  • IC 2 - µA 78S05 Spannungsregler

Downloads:

Grundschaltung ATMega644
Grundschaltung ATMega644
basic.sch
Version: 1.0
690.6 KiB
728 Downloads
Details...