Vortrag bei U13, 19.02.2010: Microcontroller im Amateurfunk: Eine Einführung mit Arduino

Aus DL8RDS Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel ist eine Zusammenfassung der Aussagen des Vortrags

Ziel des Vortrags:

  • Die Zuhörer sollen einen Überblick über das Gebiet der uCs bekommen
  • Die Zuhörer sollen lernen, wie einfach der Einstieg ist
  • Die Zuhörer sollen die Relevanz des Projekts Arduino verstehen
  • Die Zuhörer sollen Ideen entwickeln, was man mit so einem einfachen Arduino alles anstellen kann

1 Amateurfunk und Physical Computing

In den vergangenen 20 Jahren haben wir im Amateurfunk eine sehr turbulente Zeit erlebt: Wir haben erfahren, wie sich ein Paradigmenwechsel von der Analog-Elektronik hin zur digitalen Informationsverarbeitung vollzogen hat. Auswirkungen:

  • Bausteine wurden immer kleiner: SMD macht das Löten schwer
  • Bausteine wurden immer komplexer: Ohne Datasheet-Lesen geht gar nix mehr
  • Immer stärkere Einbindung von Prozessoren
  • Verfügbarkeit von Sensoren zu sehr vielen physikalischen Größen
  • Neue Kommunikationsprotokolle, und zwar drahtgebunden wie auch drahtlos:
    • I2C, CAN, Feldbus, Ethernet,
    • Bluetooth, WLAN (3x), ZBee, GSM, UMTS, GPRS

Noch vor einigen Jahren waren die Bausteine nur "roh" zu bekommen. Wer ruhige Hände und eine SMD-Lötausstattung hatte, konnte mitspielen. Andere waren ausgeschlossen.

Viele Funktionsanteile, die vorher in einzelnen Bauteilen und in Hardware aufgebaut worden waren, werden inzwischen nur noch in Form von Software abgebildet. DSPs zeigen immer mehr, was sie leisten können: Direktes Sampeln von Signalen bis zu 1 GHz ist heute möglich. Theoretisch braucht man für einen 70cm-TRX keine Mischer mehr. Die gesamte Signalverarbeitung erfolgt durch den Rechner!! Auch hier gibts einen Einstieg:

http://www.unidsp56.de/

Viele OMs haben angesichts des "Verschwindens der Analogtechnik" kapituliert. Das ist sehr schade, denn die Schwelle in die digitale Welt ist niedriger als gedacht. Man darf allerdings nicht den Fehler machen, und bei Windows stehen bleiben. Wer wissen will, wie ein Motor funktioniert, muß die Motorhaube aufmachen, und das geht bei Windows nicht. Open Source muß her!!

Konkret muß man sich ein bisserl mit Rechnertheorie beschäftigen, aber das ist leichter als mal denkt.

Und noch ein Trost: Man muß ein guter Analogtechniker sein, wenn man gute Digitaltechnik bauen will.

2 Das Projekt Arduino

  • Was unterscheidet einen uC von einem großen Rechner? -> Seine Aufgabe!
    • Grundbausteine jedes Rechners: CPU, RAM, Storage, IO
    • sind auch auf uCs vorhanden! Nur eben kleiner und der Aufgabe entsprechend.
    • Eigentlich ist die Abgrenzung zwischen uCs und Großen Rechnern sehr schwer, denn man muß vielmehr von einem Spektrum sprechen
    • Und was ist besonders cool an uCs? -> Energetische Effizienz, minimale Größe!
    • Einziger nennenswerter systemtheoretischer Unterschied: Protected Mode fehlt, daher kein Speicherschutz möglich.
      • Dies ist aber nur bei Mehrprogrammbetrieb / mehrläufiger Programmierung (Multitasking) relevant, und das hat man bei uCs eigentlich nicht.
  • Atmel und PIC
    • Beides sind uC-Familien, es gibt sie in unterschiedlichen Größenordnungen, was die Dimensionierung der Bausteine CPU, RAM, Storage, IO betrifft.
  • Boardvarianten
    • Größer: Arduino Mega, ca 50€
    • Der Klassiker: Duemillanove
    • Kleiner: Nano
    • Noch kleiner: Mini Pro
  • Shields und Breakouts
    • Ethernet
    • GPS
    • Servomotor
    • und viele andere
    • Audio Shields
    • spielend leichter Anschluß von LCDs

3 Erste Gehversuche

Code-Grundlagen

  • Was ist ein Bootloader
  • Was ist ein Compiler
  • Funktionen, Variablen und Bibliotheken

Beispielprogramme

  • Schalten einer LED
  • Einlesen eines Wertes über einen ADC
  • Dimmen einer LED
  • Schreiben auf die serielle Schnittstelle
  • Lesen von der seriellen Schnittstelle
  • Schreiben auf ein LCD-Display
  • Kommunikation über Ethernet

4 Ein einfaches Projekt

Ein SWR-Meter, das seine Werte digital über einen uC ausgibt


5 Weitere Ideen

  • Ein uC-gesteuerter Antennentuner
  • uC-Überwachung einer (Röhren-) Endstufe