Δ up

Für alle Inhalte dieser Seite, d.h. Programme, Schaltungen, Algorithmen, Daten oder Ideen wird jegliche Haftung ausgeschlossen. Rechte Dritter können nicht ausgeschlossen werden. Dokumente sind ausschließlich als Anregung und zum Erfahrungsaustausch geeignet. Inhalt von Links ohne Gewehr*.

* Erweiterte Tauschopzion "ä" gegen "e" der neuen, deutschen Rechtschreibung (Wortstamm: gewehren)





Technische Hilfsmittel

(Link) How to use GITHUB?
(Link) Public Available ISO/IEC Standards
(Link) IEEE manuscript templates for conference proceedings



Gnuplot/Word/PDF/PS/TEX

(PDF 150 kB) Gnu-Vektorplots für Word, Arbeit mit Word, PDF erzeugen
(Link) Beginners guide to TeX
(Link) TeX-freeware for Windows


Bits and Bytes

Windows XP - was ist wo auf meinem PC?
  • Gerätemanager-Link: %windir%\system32\devmgmt.msc
  • Gerätemanager-Batch: devmgr.bat (anklicken, ausführen)
  • DOS-Befehlszeilenreferenz ("DOS-Lexikon") öffnen:
    %windir%\hh.exe ms-its:%systemroot%\Help\ntcmds.chm::/ntcmds.htm
  • DOS-Lexikon Batch: doshelp.bat (anklicken, ausführen)

(Link basteln: Blauen String mit Maus markieren, Ctl-C, Explorer öffnen, Menue/Datei/neu/Verknüpfung, Ctl-V)

Character Sets

TTY (TeleTYpe) Telex-Code 5 bit (ITA-2-Code, CCITT-2-Code, USTTY) - code of three generations (~80 years). In difference to our "serial interface" (RS232) on 8x2 = sixteen wires the TTY was bidirectional (simplex) on two wires. This allowed digital Telex-communication on telephone wires around the world, so the digital era was born 100 years before first transistors - see the principle sketch of TTY and Morse's circuit.

ASCII (American Standard Code of Information Interchange) 7-bit codes for embedded UARTs incl. printf format, printf escape-sequences


HTML character reference

Ampersand-characters  &  (SGML-style)
Test your browser - following constructs should be encoded in rows having 10 signs each:
    ' " ∀ ∃ ∅ ∈ ∉ ® ˜ ∝
    ∏ ∑ √ ∞ ∧ ∨ ∩ ∪ ∫ ²
    ³ µ · × ∴ ∼ ≅ ≈ ≠ ≡
    ≤ ≥ < > ⊂ ⊃ ⊄ ⊆ ⊇ ∂
    ∇ ⊥ ∈ ⊕ ⊗ ← → ↑ ↓ ↔
    ⇐ ⇒ ⇔ □ ■ © ¬ ± ° ·
    Α α Β β Γ γ Δ δ Ε ε
    Φ φ Π π Ψ ψ Ω ω Τ τ
    Ξ ξ Ρ ρ Ö ö Ä ä Ü ü ß
Bildungsvorschrift griechisch: "& name ;", Bildungsvorschrift deutscher Umlaute: "& name uml ;" (alles ohne Leerzeichen dazwischen). HTML ansehen? Rechte Maustaste ⇒ Seitenquelltext anzeigen
Elektroniker können jetzt schreiben:

  XL = ω · L = 2πf · L = 6,28 · 100 kHz · 10 µH ≈ 6 Ω

Mag man eine lange Lücke       vor dem Text einfügen, hilft nur dieses kryptische Gebilde: "&nbsp;"

FAQ zu Unicode, UCS, UTF-8

Merke:

  • Ampersand-Zeichen (ξ, φ, ρ) werden i.a. von ISO-8859 und von UTF-8 Editoren korrekt umgesetzt
  • Semikolon dahinter nicht vergessen
  • Notepad und Wordpad speichern UTF-8 unter winXP u.U. falsch ab; dazu z.B. Microsoft-Visual-Studio-Editor benutzen
  • Bei Abspeicherung mit Notepad "speichern unter" Codierung "Unicode" benutzen
  • In UTF-8 sind HTML Syntax-Elemente klein zu schreiben
  • Mozilla und Opera: Fonts und Links werden in Tabellen bereits mit der aktuellen Zelle beendet, das End-Konstrukt "</" bleibt dabei unbeachtet

Do you like some more character sets? (Darf es ein wenig mehr Code sein?)

Internet-Perspektive:

Wo jeder seine Sprache erfindet,
wird bald Schweigen sein.
gh


Man könnte es auch anders sagen: Die Grabenkämpfe um HTML/XML/UTF-8/ISO8859/SGML/XML... sind destruktiv und nutzen niemandem: Mit dem permanenten Umbau alter Formate (z.B. PDF, dyn. HTML) und der Neuerschaffung von Codierungen (UCS, Unicode) werden Milliardenwerte vernichtet. Das Internet befindet sich am Rande des Kollaps. Niemand hat etwas dagegen, wenn neue Formate eingeführt werden. Aber bestehende Formate hat niemand zu verschlimmbessern! Softwareentwickler sollen sich auf die eigentliche Arbeit konzentrieren können - nicht auf Unfug. Haben Sie schon einmal darüber nachgedacht, wann Binärdaten nicht mehr lesbar sein werden, weil die Codierung unbekannt ist? Videos, die vor der Jahrtausendwende entstanden, sind teilweise schon jetzt nicht mehr abspielbar, weil Codecs veraltet sind und nicht mehr unterstützt werden. Zelluloid-Filme hielten immerhin ein Jahrhundert lang! Ein ASCII-Zeichen von einem Byte durch zwei oder vier Byte (UTF, UCS...) zu ersetzen, ist wohl der Gipfel der intellektuellen Verblödung: Wenn ein Textfile im Durchschnitt n verschiedene Zeichen enthält, dann sind i = log2(n) Bit nötig, um jedes Zeichen des Textfiles kodieren zu können. Deutsch und Englisch lassen sich mit 8 Bit wunderbar kodieren, allenfalls ein chinesisches Alphabet würde 16 Bit brauchen. Ein einziges Sonderzeichen in jedem Alphabet zur Ankündigung des nächsten Alphabets genügt übrigens, um beliebig große Alphabete in einen Byte-organisiserten File aufzunehmen. Man erinnere sich an TTY. Oder an Fonts. Wozu also braucht die Welt UCS, UTF oder Unicode? Offensichtlich nur dazu, um Terrabyte mehr an Daten durch das Web zu schaufeln! Im "grünen" Zeitalter ein Skandal, wenn wir bedenken, daß zur Übertragung dieser mehr-Terrabytes weltweit dutzende Braunkohlenkraftwerke betrieben werden.

Denken wir dann noch über das ausufernde Phenomen des Software-Upgrading nach, so wird deutlich, daß Software keine Ware im herkömmlichen Sinne ist. Jede Hardware verschleißt, jede Nahrung wird aufgegessen. Software hält ewig. Ein einmal in die Welt gesetzes Codestück verschleißt nicht. Aber wenn alle Kunden meine Software gekauft haben, bin ich arbeitslos. Software paßt nur mit Verfallsdatum zum Kapital. Und genau das Verfallsdatum wird gerade erfunden: Mit dem Upgrade wird versehentlich eine unverzichtbare Programmfunktion zerschossen. Die Steuerung des Autos, Smartphons, Fernsehers, Computers oder Kühlschranks beginnt nach 3 Jahren, fehlerhaft zu arbeiten. Schon kauft der Kunde neu. Ein unsichtbarer, softer Krieg hat begonnen: Jeder gegen jeden und alle gegen jegliche Schonung der Ressourcen. Die Folge: Die Jugend wendet sich wieder "Werten" zu: Man kauft wieder Schallplatten statt DVD oder MP3-Streams.

Apropos: Ist das Internet ein OSI-Schichtenmodell?
Wie sieht eigentlich das Internet aus?





C, C++

def:
C delivers the solution for all problems
that would never exist without C.
gh


Examples compiled with Microsoft Visual
C++ .NET Version 7 (2003), Win32-Console

C Listung von USB-COM-Ports (VCP) siehe Bild. Basis: FTD2xx-Library von FTDI. Executable for Windows: FTDI-finder.exe

C Wie funktioniert eigentlich
main(int argc, char *argv[ ]) ? Test: main.exe

C Strings and file read write

C Syntax-Beispiel zu Callback-Functions

C Some pointer examples

C Eselsbrücke zum Umgang mit Zeigern

C Eine Annäherung an Zeiger in C/C++ pointer_proof.exe

Was führt den Programmentwickler ins Verderben?
Die Idee, jeden Sonderfall zu generalisieren.
gh



C für Atmel und Arduino

AVR-Portpins ganz einfach

printf() auf einem ATmega benutzen?

AVR-Strings im Flash PROGMEM und pgm_read_byte

Soft-UART mit ATtiny13 in einem Ladungssensor (PDF)

Gleitkomma mit AVR: printf, sprintf, dtostrf, utoa, itoa

Structs im EEPROM speichern EEMEM, eeprom_read, eeprom_write

Arduino-Library Digital Humidity & Temperature Library DHT2 (gh) for sensor type DHT22/AM2302. The library supports more then one sensor and it delivers additional information:

  • Temperature in Celsius
  • Relative humidity in percent
  • Absolute humidity in gram water per m³ air
  • Dew-point (water condensation temperature) in Celsius
Library includes an ino-file example. Install the zip-file like a standard Arduino-Library.



Scilab

Introductions

Scilab Version 3.1.1. Das Scilab-Sourceformat *.SCE oder *.SCI kann mit Wordpad geöffnet werden. Scilab ausführen: Im Sourcecode-Window CTL-(klein-)L oder Menue/Execute/Load_into_Scilab.

(EXE) Download Scilab 3.1.1

(SCE) Shortest intro to Scilab

(SCE) Matrixoperationen unter Scilab

(SCE) Binärfile lesen/schreiben unter Scilab

(HTML) (Best intro) Palacios, J. O.: An introduction to the treatment of neurophysiological signals using Scilab, 2001. http://www.neurotraces.com/scilab/scilab2/scilab2.html

(ASCII) ASCII-Tabelle mit Scilab erzeugen

(SCE) Textfiles (txt) lesen/schreiben unter Scilab



Joy of Covolution (Faltung)

(SCE) Introduction to convolution of two time-functions. Make your own convolution plots. Save plots of {x, h, convol(h,x)} in GIF-file format. Output examples: high-pass, low-pass

(SCE) Analogien zwischen Faltungsintegral und
Polynom- Multiplikation. Ausgabebeispiel als (PDF)


(SCE) (PDF) How Network Topology Defines its Behavior - Serial Code Detection with Spiking (Neural) Networks. Workshop „Autonomous Systems”, Cala Millor, Mallorca, 13.-17. Oct.2013 publ. in Fortschritt-Berichte VDI, Reihe 10, Nr.827, „Autononous Systems 2013“ edited by Herweg Unger & Wolfgang Halang, Scilab source code and examples see SCE-files.

(SCE) Noise Radar. Noise has the flatest spectral distribution of all signals. Energy depends only of the length of the time function, there is no other limitation. And noise can produce a sharp interference detection. The file shows two cases. Thinks work, if one function is the key and the other is the keyhole. (Special example of "transfuncnet.sce").
Results:
  • convolution of bipolar noise key with bipolar keyhole (Radar), (GIF)
  • convolution of bipolar noise keyhole (pulses) with unipolar key (synapses), (GIF)


Ausgleichsrechnung

(SCE) Fehlerquadrat minimieren (GIF Ausgabe)

(SCE) mit Matrix Division (backslash) (GIF Ausgabe)

(SCE) mit Matrix Pseudoinversion (pinv) (GIF Ausgabe)

Matlab-Vorlage mit Erläuterungen



Elektrische Netzwerke

(SCE) Knotenspannungsanalyse mit Pseudoinversion

(SCE) Maschenstromanalyse mit Pseudoinversion

(SCE) Maschenstromanalyse mit konjugierten Gradienten (große Matrizen)



Strahlung

(SCE) Das Stefan-Boltzmann-Gesetz beschreibt die Strahlungsleistung eines schwarzen Körpers (Funktion, Beispiele)

(SCE) Mit dem Wienschen Verschiebungsgesetz kann das Maximum einer Planckstrahlungskurve bestimmt werden (Funktion, Beispiele)

(SCE) Berechnung Planckscher Strahlungskurven,
normiert oder pur, mit Wertetabellierung (Plots, Funktionen)


(ZIP, 2MB) Kennlinien-Plottprogrammkomplex für spektral selektive Photodioden: Plot verschiedener Dioden in mA oder A/W, logarithmisch, linear oder normiert. Anliegen: Vergleichbarkeit der Typen. Plotbeispiel mit log. Achse in mA.

WAV, CSV, GIF

(ZIP, 2MB) Plotprogramme für WAV-Files

(SCE), (CSV 13 kB) GIF-Plot von Zeitfunktionen aus "Comma Separated Value" Files (Excel-Format *.CSV)

Zeitfunktionsplots "WAV to GIF"
Input: WAV-Files der Zeitfunktionen
Outputs: Plots der Zeitfunktionen und simulierter Funktionen als GIF, als Excel Comma Separated Values (CSV) und als AVR-Studio4 Include File (INC)





Physik

Wie spät war es eigentlich kurz vor dem Urknall?

(PDF, 14MB, 55 S.) Dynamische Untersuchung von Pulslichtbogen mit 6-Kanal Spektrometer. 2007_01_17

(PDF, 1MB, 20 S.) Zur Selektivität breitbandiger Photodioden. 2007_02_09

(HTML) Animationen zu Welleninterferenzen incl. Scilab-Quellen



Mikrocontroller und Hardware

Arduino

Natürlich darf hier ein kleines Arduino-Projekt nicht fehlen. Arduino ist wie eine Sucht: Mäkelt man anfangs über die begrenzten Debug-Möglichkeiten, so hüft das Herz spätestens dann höher, wenn man innnerhalb einer Stunde ein USB-CDC Projekt erstellen konnte, und der Arduino Maus oder Tastatur spielt. Die Libraries sind maximal einfach gestrickt. Nach einigen Arduino-Projekten wird schnell klar, daß die Zeitersparnis gegenüber der Methode zu Fuß (AVR-Studio) vielleicht typisch einen Faktor von zehn ausmacht. Insbesondere kommt dieser Vorzug bei Experimenten zum tragen. Für professionelle Anwendungen ist eher abzuwägen. Meine Lieblinge sind der Arduino-Micro, den A.-Nano und der A.-Mini. Aber auch der Tiny85 von Digispark (mit USB-Schnittstelle) kam schon zum Einsatz.

Bug der IDE 1.8.5: "Hilfe, mein Arduino hängt beim speichern!"
(siehe auch forum.arduino.cc)
Die IDE 1.8.5 wurde beim speichern und compilieren immer langsamer. Zuletzt dauerte es 20 Sekunden, bis sich etwas regte. Auch der Taskmanager hing in dieser Zeit. Damit war klar: Irgendwo hängt etwas ganz im Innern. Nach Kontrolle möglicher Täter wurde die Datei "preferences.txt" untersucht (der Pfad ist unter Datei/Voreinstellungen ganz unten zu finden). Und siehe da: Die Liste hinter dem Eintrag "recent.sketches=" war sehr lang! Arduino merkt sich jeden angefaßten Sketch. Dummerweise prüft die IDE bei jedem Speichern, ob noch alle Sketches an ihrem Platz sind. Hat man einen Sketch verschoben, hängt sich die IDE auf - Bug oder Absicht? Nach Löschen der Auflistung (recent.sketches) läuft die IDE wieder.
Merke: Niemals einen mit der IDE bereits compilierten .ide-File umbenennen oder verschieben. Und wenn, dann den ungültigen Pfad unter preferences.txt sofort löschen!


Temperatur- und Feuchtesensor

Hier soll an zehn Meßstellen gleichzeitig Temperatur und Luftfeuchte gemessen werden. Die Ausgabe erfolgt über USB-VCP.

Es kam ein Arduino-Nano (ATmega328P + FT232RL) zum Einsatz. Als Sensor wurde der AM2302 verwendet. Er hat ein exotisches Eindraht-Protokoll. Für das Protokoll existiert die Arduino-Library DHT, die allerdings schwächelt: Sie läßt nur einen Sensor zu und berechnet weder absolute Luftfeuchte in g/cm³ noch den Taupunkt in °C. Auch besitzt sie ein Initialisierungsproblem.

In ein Leergehäuse wurden zehn RJ45-Buchsen eingeklebt. Dazu noch eine Buchse für ein SWART-Display und eine Befestigung für einen Nano-Modul. Die USB-Buchse des Nano ragt seitlich rechts heraus. Je ein pull-up Widerstand von 10kOhm ist zwischen SDA und VDD auf jede RJ45-Buchse gelötet. Die Pinbelegung der RJ45-Buchsen ist: 3:VDD_5V 4:SDA 5:nc 6:GND; damit sind auch RJ10-Stecker einsetzbar. Die Pins der DHT-Sensoren AM2302 sind im Quelltext bezeichnet.


Downloads:
  • DHT-Recorder Quellcode (.ino), Putty-Log und Bilder
  • DHT2 - verbesserte DHT-Bibliothek für Arduino




Sonstige Projekte


Single-wire UART (SWART)

(HTML) Reduziert man Kommunikation auf das absolute Minimum, entsteht eine sehr einfache Schnittstelle. Als Grundlage der seriellen Schnittstelle sind UART weit verbreitet. Legt man Rx und Tx der UART auf einem Draht zusammen, entsteht ein "Single Wire (universal) Asynchronous Receiver Transmitter" (SWART). SWART ist im Bereich intelligenter Sensorik und Aktorik bei niedrigen Datenraten und kurzen Entfernungen vorteilhaft anwendbar. Im Vergleich zu I²C ist SWART unkompliziert und potentiell leistungsfähiger. Eine Schottky-Diode hat jeder: Einfach mal ausprobieren!




SMD-Optokoppler Reihe HCPL
(PDF) - Übersicht



USB2SERIAL - Isolierte USB/COM-Ports



Kommuniziert man mit einer Schweißmaschine von mehreren Stellen aus (PC, Datenrecorder, Video-Sync.), so genügt die Erdschleife über die Schukosteckdosen für extreme Signalstörungen. Um den PC zur Einstellung z.B. eines Spektralreglers nutzen zu können, wurden diese isolierten "Virtual COM-Port" (VCP) Konverter ("RS232" bzw. "RS485" simplex und duplex) entwickelt. RS232 steht dabei für 5 Volt Pegel der UART nichtinvertiert, die hohen, invertierten Pegel der ehemaligen seriellen Schnittstelle spielen heute im Embedded-Bereich keine Rolle mehr, siehe dazu eine betagte Intro der ersten Version (PDF, 3MB).

"RS232": Unter RS232 ist nur das Protokoll zu verstehen. Die Signale sind nicht invertiert. Um mit einem Minimum zu isolierender Adern auszukommen, wird nur Rx und Tx genutzt als sog. CMOS-UART.

"RS485": Die Varianten USB2SERIAL v1 und v2 sind simplex ausgeführt, sie senden und empfangen nur alternierend mit zusätzlicher Empfangs-Sendumschaltung. Die 12 Mbit/s Variante ist duplex ausgeführt, hier laufen Rx und Tx auf je einem Adernpaar unabhängig, siehe Schaltungen.

Die Leiterkarten USB2SERIAL v1 und v2 sind so ausgeführt, daß sie alternativ als RS485 oder als RS232 bestückt werden können.

  • Bestückungsvarianten: TxRx-UART ("CMOS-RS232") oder simplex RS485 (ein Adernpaar)
  • Geschwindigkeitsversionen: V1: 19200 Baud; V2: 900 kBaud, V3: 12 MBaud
  • Dokumente: Schaltungen, Stückliste, PCB, Treiber, Funktionsprinzip:
19kBaud, 900kBaud
12 MBaud

S/N-Spezifikation: Zur automatischen Identifikation per Software erhalten neue Adapter eine einheitliche Seriennummer (S/N). Die ersten drei Stellen werden ausgewertet. Wenn die dritte Stelle ein Underscore '_' ist, werden die Stellen Eins und Zwei untersucht. Die erste Stelle gibt die Geschwindigkeitsversion (v1...3) an. die zweite Stelle kennzeichnet den Typ RS485-Simplex/RS485-Duplex/RS232-UART (S/D/U). Beispiele siehe CMD-Window des FTDI-Finder.

  • S/N Code Key: XY_xxxxxx
  • Version X = {1,2,3}
    • v1: 19 kBaud
    • v2: 900 kBaud
    • v3: 12 MBaud
  • Typ Y = {S, D, U} - Simplex/Duplex/Uart
  • xxxxxx: auto-generated, individual
  • Examples: 1S_ 2U_ 3D_ ...




Ethernet-UART (RS232/RS485)

Zur einfachen Kommunikation vom Hyperterminal zum Schweißregler IONv10 via Ethernet wurde dieser isolierte Modul entwickelt. Kern des Moduls ist ein Lantronix-XPORT. Wir arbeiten typisch mit 115200 Baud. Der Modul besitzt dieselbe duplex-RS485 Schnittstelle, wie der USBDUX-Modul, siehe Belegung der RJ45-Buchse. Links ist der Ethernet-Anschluß, rechts der duplex-RS485 Anschluß zu erkennen. Am Stecker ST1 kann über die Pins BYG und BYO eine Spannungseinspeisung für an die RS485 angeschlossene Verbraucher erfolgen.

12 MBaud

Die mit BYG und BYO gekennzeichneten Pins können genutzt werden, um zwei zusätzliche Signale über die RJ45-Buchse zu führen. Beim Spektralregler wird ein schnelles Schaltsignal darüber geführt (Bypass).

Eine Steckverbindung zwischen BU3 und ST1 genügt, um den Modul als CMOS-UART ("RS232") nutzen zu können. Man verbinde dazu BU3-2 mit ST1-3 und BU3-3 mit ST1-4. Allerdings darf U1 nicht eingelötet sein. In der Pinbelegung erkennt man Kompatibilität zu 4P4C-Varianten mit RJ10 (GND Tx Rx +5V):

12 MBaud






USB-BiStereo Headset



Für vergleichende Untersuchung der akustischen Qualität von PKW-Innengeräuschen wurde dieses Doppel-Stereo Headset entwickelt. In beiden Ohrmuscheln ist mittig je ein Mikrophon (rechtes Bild) angeordnet. Auf dem Bügel befindet sich ein Stereo-In/Out USB-Transceiver. Das Headset wird über USB mit dem Netbook verbunden. Die Software "AudioOverIP" gestattet eine Verbindung von bis zu vier Headsets über WLAN. Jeweils ein Set darf senden, die anderen hören zu. Mit externen WLAN-Boostern (Accesspoint D-Link DAP1353) wurde 2007 eine Reichweite bis zu 1000 Metern erreicht.

  • Help-File AudioOverIP (CHM, 800kB)
  • Vortragsfolien WLAN-Konferenz (PDF, 2.8MB)
  • Headset (PDF, 1.8MB)
  • Sources AudioOverIP Version 2.0, Built 8.3.2007, Microsoft Visual C++ .net_v3 auf Anfrage




Mini-Development Board AT13

Für kleine Signalverarbeitungsaufgaben (z.B. Plasmasimulator, Steueraufgaben) ist dieses Mini-Devboard für den Microcontroller ATtiny13 recht nützlich. Der ATtiny13 bietet fünf freie Pins (das RESET-Pin sollte man besser meiden) und kostet wenige Cent. Durch die steckbare Verbindung kann das Board entweder an den Programmer (AVR-ISP, BU2) gesteckt werden, oder an die Applikation. Die Pins tragen maximal 40 mA, sie sind frei programmierbar als input/output/tristate/open collector . 10-Bit ADC und Timer gibt es gratis. Nie wieder TTL oder programmierbare Logik, um x-beliebige, kleine analog/digital gemischte Hilfsschaltungen mit wenigen Pins aufzubauen. Die angenehme Entwicklungsumgebung (ASM: AVR Studio, C-Compiler im WINAVR) ist gratis, AVR-ISP-MKII Programmer gibt es schon ab 30 Euro. Auf dem Board links sind fünf SOT23-Transistorausgänge (n-chl) vorhanden, das rechte Board ist als gekürzte PCB ohne Transistoren zu erkennen. Zum Programmieren wird ISP (SPI) umgesteckt. Mit Power-MOS Transistoren im SOT23 Gehäuse (n-chl) TSM3400 (70mOhm/5V) oder Si2312DS (33mOhm/5V) bestückt, läßt sich bis zu ein Ampere ohne jegliche Kühlung schalten.

AT13-Applikationen:




DAC 2x4 Bit Zeitfunktionsgenerator mit Atmel ATtiny261A




Für die Entwicklung erster, spektral geregelter Schweißmaschinen wurde (neben dem Plasmasimulator) ein flexibles Werkzeug gebraucht, mit dem zwei gegenläufige oder phasenversetzte Zeitfunktionen generiert werden können. Die DIL-Variante des ATtiny261/261A besitzt beiderseitig durchgehende Ports, sie ist für diese Aufgabe bestens geeignet. Auf Port A (rechts) werden zwei Nibble (4 Bit) an zwei R-2R-Netzwerke ausgegeben, an Port B (links) liegen drei Jumper zur Einstellung von 8 Zeitfunktionen, eine verschieden blinkende LED und der AVR-ISP Programmierstecker. Damit sind zwei quasi analoge Zeitfunktionen in je 16 Quantisierungsstufen darstellbar. Jede Zeitfunktion wird über Reihenwiderstände an drei Ausgänge geleitet. Die Reihenwiderstände wandeln Ausgangsspannung in Ausgangsstrom. Wird an Stelle der Widerstände je eine Kurzschlußbrücke eingelötet, gibt das Teil eine Ausgangsspannung mit einem Innenwiderstand nahe R des R-2R-Wandlers (ca. 1 kOhm). Die sechs Ausgänge gehen auf einen Stecker, der zu neueren Spektralreglern paßt.

  • Funktionsbeschreibung, Schaltung, Layout und C-Source (ZIP, 3.5MB)




Pulsgeber / PPM-Servotester mit ATtiny13




Variierende Pulsbreiten und Pulsbreitenmodulation werden in verschiedenen Technikbereichen vorteilhaft eingesetzt. Zur Darstellung einer variierenden Pulslänge von ein- bis zwei Millisekunden bei einer Pulspause von 25 Millisekunden wurde diese kleine Hilfsschaltung entwickelt. Sie eignet sich zur Simulation des Pulsplasmas von Pulsschweißmaschinen ebenso, wie als Pulsgeber für Tests an PPM-Servos (Endlage, Stellgeschwindigkeit). Drei Tasten dienen der fixen Vorgabe von Pulszeiten (1.0, 1.5, 2.0 ms). Im Automatik-Mode wird zwischen den Endlagen alternierend gewechselt. Einstellbar sind Wechselzeiten zwischen 1.0 sec und 0.1 sec in Schritten von einer zehntel Sekunde. Die Wechseldauer wird an den LEDs b[3...0] binär in Zehntelsekunden blinkend angezeigt.
Beispiel:

    b[3...0] = [0111] bin = 7 dez = 0,7 Sekunden.

Der Pfiff der Schaltung besteht darin, über die fünf freien I/O-Pins sowohl vier LEDs zu schalten als auch vier Tasten abzufragen als auch den ATtiny13 zu programmieren. Und ein I/O-Pin ist bereits für die Signalausgabe gebunden...





SyncSwitch - Isolierter Synchronschalter für dRec192



Zum synchronen Start eines GFaI-Datenrecorders dRec192 der akustischen Kamera mit einer high-speed Videokamera und einem Schweißgerät wurde diese Schaltung entwickelt. Alle Leitungen sind mit Optokopplern gegeneinander isoliert, um Erdschleifen zu verhindern. Ein Transverter sorgt für isolierte Spannungsversorgung. Damit wird ein störungsfreier Betrieb der empfindlichen Geräte auch in EMV-haltiger Umgebung am Schweißgerät möglich.





UART-Tx/Rx-Spiegel und UART-Zeichengenerator
(duplex/simplex)



Um Störanfälligkeit von UART-basierten Schnittstellen (RS232, optisch isolierte USB-VCP, RS485, TOSLINK) beim Schweißen zu testen, benötigt man einen Signalgenerator und einen Signalempfänger - oder einen Signal-Spiegel. (Auch können damit Echtzeitfähigkeiten eines C-Compilers für den aktuellen Prozessor getestet werden). Ein preiswertes Board mit Spielwiese (Rasterplatte 2,54 mm) ist das Olimex AVR-P28. Es wurde um RS485-Konverter, um optische Schnittstellen TOTX/TORX173 und um direkte TxRx-UART-Schnittstellen erweitert. Damit können Flankenbedingungen (z.B. das Schreib-/Lese-Umschaltsignal der RS485) getestet werden. Auch dient es als Signalgenerator, siehe Hyperterminal-Dialog. Auf RET (Return-Taste) wird der Text periodisch alle Sekunde zurückgesendet. Andere ASCII-Zeichen werden periodisch zurückgesendet. Das Rücksenden wird solange wiederholt, bis mit ESC abgebrochen wird. Zusätzlich wird jedes ASCII-Zeichen auf 8 LEDs angezeigt. Die Baudrate (9600/115200 Baud) ist an einem Schalter wählbar.

  • Olimex Dokumente AVR-P28
  • Schaltung AVR-P28 modifiziert (GIF)
  • Eigene Aufbauten AVR-P28 (GIF)
  • C-Source (WINAVR/AVR-GCC/AVR-Studio4), (hex-file)
  • duplex (Rx,Tx): CMOS-UART, RS232, TOSLINK, RS485 (A, /B, Y, /Z)
  • simplex (X, /X): RS485
  • Hyperterminal-Einstellung 8-n-1-n
  • 9600 oder 115200 Baud (über SW2)
  • Testbild Logikanalysator RS485 115200 Baud ASCII "z"
  • PPT-Folien (PDF, 900 kB)

Mit dem Spiegel konnten Versuche zu dynamischer Terminierung gemacht werden. Diese zeigen, daß beim Übergang auf kapazitive Kopplung einerseits der Stromverbrauch sinkt. Andererseits erhöht sich (rechnerisch) die Störsicherheit, da nierderohmige Verkopplungen der symmetrischen Adern mit VCCR (meist 5V) und GNDR (0V) um etwa zwei Zehnerpotenzen verminderbar sind. Folglich werden bei mir seither alle RS485-Schaltungen, die in hochgestörten Umgebungen arbeiten, dynamisch terminiert. Hinweis: Leider vertragen sich dynamische und statische Terminierung nicht auf einem Bus. Entweder beide Seiten werden statisch oder dynamisch terminiert.





2-Kanal Spektralregler


Aus dem Verhältnis von UV- und IR-Emission wird die Metalldampfkonzentration und die Plasmatemperatur geschätzt. Maß für die Temperatur ist die Metalldampfkonzentration, diese verursacht den Blaulichtanteil. Bei Überschreiten der Temperatur wird der Puls abgeschaltet, der Tropfen wird abgesprengt. Nach Abkühlung kann wieder eingeschaltet werden, falls die Pausenvorgabe nicht von der Schweißmaschine kommt. Es entsteht ein "natürlicher" Pulsschweißprozess, der extrem stabil auf Prozeßstörungen reagiert. Fehlerhafte Stromeinstellungen um einen Faktor 2 werden noch korrigiert. Am 30.11.2007 konnte damit die erste, spektralgesteuerte Pulsschweißmaschine (Cloos Quinto 403) der deutschen Schweißindustrie vorgeführt werden (Bild unten). Auszeichnung 2008 mit den Abicor-Innovationspreis (3.) des DVS. Das Verfahren wurde zum Schutz der deutschen Wirtschaft patentiert. Technische Dokumentationen (Beschreibung, Schaltungen, Patent-OS) befinden sich im internen Downloadbereich (SPS-PBA) (Passwort erforderlich).

Und so sah dieser erste Spektralregler (v5) aus. Handverdrahteter Prototyp, mit dem ab 18.11.2007 an der TU Berlin die ersten Pulsschweißungen erfolgten. Die Schaltung war identisch der später entstandenen PCB-Version v10, Bild oben.





CHAMP6 - 6-Channel Photo-Amplifier


Digital einstellbarer 6-Kanal Photodioden-Verstärker zur Aufnahme von Zeitfunktionen an Schweißmaschinen im Spektralbereich 300nm bis 3µm. Bild links Champ6v10, rechts Champ6v20. Die Einstellung der Verstärkung der sechs Kanäle erfolgt am PC mit Windows-Hyperterminal über USB und isolierenden USB/RS485-Adapter (siehe USB2SERIAL).

  • Champ6v10: Chopper-Verstärker Frequenzbereich DC bis 100 kHz, RS485 9600 Baud
  • Champ6v20: DC-Verstärker Frequenzbereich DC bis 300 kHz; RS485 115200 Baud

Details:
  • Assembler-Programm für ATMEL ATmega8 unter AVR-Studio4
  • Steuerung über winXP-Hyperterminal und Virtual Com-Port (VCP)
  • RS485-Schnittstelle mit R/W-Signalgenerierung (RSIO)
  • SPI-Interface für Potentiometer-Ansteuerung MCP42050
  • Interrupt-UART (Rx+Tx) für RS232 und RS485
  • Interrupt-Timer und Polling-Timer (v10)
  • AVR-EEPROM Bedienung (Read und Write)
  • Kommunikation mit Hyperterminal (winXP)
  • Assembler-Makros
  • .dB-Zugriffe
  • ASCII2BIN, BIN2ASCII-Macros für Atmel ATmega8
Dokumente:





CHAMP6v20 Experimentierset


Das Experimentierset gestattet eigene Versuche mit spektral selektiven Photodioden. Der am Brennerkopf angebrachte Champ6v20 liefert Signale von sechs Photodioden. Am BNC-Adapter können beliebige Datenrecorder mit einem Eingangsbereich +/- 2,5V DC angeschlossen werden. Die Verstärkung der Kanäle wird über USB-VCP und Hyperterminal eingestellt, siehe Mitschnitt der Kommunikation. Download der Dokumente, Treiber und Software hier (Link).






Schweißregler WCTR


Als Experimentierbasis für spektralgeregelte Puls-Schweißmaschinen entstand diese Baugruppe. Kernstück ist ein 32-Bit ARM-Cortex-M3 (CM3) von ST-Microelectronisc STM32F103RET6 mit fünf UARTs. In der Schweißmaschine wurde die UART-Schnittstelle zwischen Bedienteil und Stromquelle aufgetrennt. Der CM3 belauscht den Datenverkehr, und kann selbst seinen Kommentar dazu abgeben - in Form von parametrischen Anweisungen.
Download der Dokumente hier (Link).






Spektralregler Ion


Verschiedene Schweißprozesse sind wärmeempfindlich. Man denke an Brennlöcher beim Schweißen oder Löten von Dünnblech, an unschöne, farbige Ränder beim Schweißen von Edelstahl, an wärmeempfindliche Stähle, an Verspödung oder Erweichung des Gefüges unter Temperatureinfluß oder an zu minimierenden Verzug beim Schweißen. Temperaturen im Lichtbogen, wie im Bad können aber über die spektrale Zusammensetzung des Schweißlichts gemessen werden. An der GFaI entstand dazu ein Spektralregler (ION), der Zeitfunktionen in sechs verschiedenen Spektralbereichen von µm bis nm aufnimmt und in Echtzeit bewertet. Er steuert eine Pulsschweißmaschine. Je nach Einsatzfeld kann der Energieeintrag bei Überhitzung des Lichtbogens oder des Schweißbades innerhalb von etwa 100 Mikrosekunden nachgeregelt werden. Der Spektralregler stellt den wichtigsten Ausgangspunkt dar, um spektral geregelte high-tech-Schweißmaschinen entwickeln zu können. Mit ION wird es möglich, thermische Prozesse an Festkörpern als auch atomare (linienartige) und voll ionisierte (kontinuierliche) Plasmaprozesse zu bearbeiten. Derzeit existieren eine Reihe von problematischen Schweißprozessen, man denke an eingangs genannte Beispiele, die mit spektraler Regelung "erweckbar" sein könnten.
Download der Dokumente hier (Link).










If not otherwise noted, pages are "open source":
  • usage and modifications allowed
  • commercial redistribution needs permission of author in writing
  • no guaranties for partial rights of third parties
  • no guaranties for correct function anyway
© All rights / alle Rechte: G. Heinz, GFaI, www.gheinz.de/techdocs
Kontakt: info@gheinz.de