Kurzschluss Junkies [0x20]: Endlich alles raus!

Kurzschluss-Junkies Titelbild

Feedback / Neuigkeiten

Wir haben eine kurze Sommerpause eingelegt, aber hier sind wir wieder.

Common Sense Tips

Chris schlägt vor, mehr auf das eigene Bauchgefühl zu hören, wenn man mit Vergleichen nicht weiter kommt.

Basti sagt, dass man es sich einfacher machen kann, wenn man Abstraktionsschichten einbringt um große, komplexe Systeme in kleinere zu zerlegen. Aber nicht übertreiben.

Der Bestückautomat

Basti durfte endlich das Innenleben des Bestückautomats erneuern. Chris wird ein Mainboard erstellen, dass dann die Steuerung für die notwendigen Funktionen übernimmt. Alle anderen sind nicht mehr im Automat vorhanden.

Chip der Woche

Basti stellt das STM32F103C8T6 Breakout board vor. Das kann man unter dem Namen Bluepill beim Händler des Vertrauens beziehen. Für etwas mehr Geld ist dann meistens auch noch einer der ST-Link V2 Debugger gleich mit dabei.

Kurzschluss Junkies [0x1f]: Oben unterm Dachboden

Feedback / Neuigkeiten

Wir werden eine neue Iteration des Pick and Place Mainboards entwickeln. Das neue wird generell einsetzbar sein, um eine Pick and Place Maschine zu steuern.

Common Sense Tips

Basti schlägt vor, mehr abzuliefern, als versprochen war. Beziehungsweise nicht zu viel versprechen und dann lieber positiv überraschen als immer nur Aufschübe zu benötigen.

Chris merkt an, dass es viele spezielle ICs gibt, die Komplexität aus einer diskreten Lösung herausnehmen. Schaut einfach ob es einen IC gibt, der das was ihr erreichen wollt bereits knn.

Chip der Woche

Chris hat den ERF32BG22 gefunden, ein Silicon Labs Gecko mit BLE und der Möglichkeit AOA (Angle of Arrival) zu dekodieren, also eine Ortung des BLE Senders vorzunehmen.

Er hat auch schon einer Idee, wozu er das einsetzen will.

Kurzschluss Junkies [0x1e]: Kurz am Arbeiten

Feedback / Neuigkeiten

Vielen Dank an alle, die uns schreiben, oder sich sonst so melden.

Einen besonderen Dank an Fabian, der uns mit einem neuen alten Bestückautomat versorgt.

Wir sprechen über Bastis neuen Twitch Kanal. Die Videos gibts auch bei Youtube.

Chris hat mit dem ESP32 und BLE experimentiert.

Common Sense Tips

Chris: If it works it’s good enough. Nicht perfekt, aber gut genug.

Basti: Show don’t tell. Versuche etwas bildlich zu zeigen, bevor du es nur beschreibst.

Chip der Woche

Basti hat den PDR06380 als Chip der Woche rausgesucht. Ein Spannungsteiler mit einer grandiosen Bandbreite von 40GHz im dreieckigen Gehäuse.

Kurzschluss Junkies [0x1d]: Corona Spezial Teil 2

Feedback / Neuigkeiten

In dieser Folge reden wir über die neunen Design Dateien, die die Firma Medtech für das PB560 Beatmungsgerät veröffentlicht hat und ob die Daten geeignet sind um ein Beatmungsgerät zu bauen.

Auf der Reise durch die Dateien begleitet und diesesmal Raphael.

Ihr findet die Daten hier: https://www.medtronic.com/us-en/e/open-files.html

Kurzschluss Junkies [0x1c]: Corona Spezial

Feedback / Neuigkeiten

Vielen Dank für das Feedback, André.

Neu: Wir haben unser Jargon hier zusammen gefasst.

In dieser Folge reden wir über die Design Dateien, die die Firma Medtech für das PB560 Beatmungsgerät veröffentlicht hat und ob die Daten geeignet sind um ein Beatmungsgerät zu bauen.

Auf der Reise durch die Dateien begleitet und diesesmal Raphael.

Ihr findet die Daten hier: https://www.medtronic.com/us-en/e/open-files/thank-you.html

Kurzschluss Junkies [0x1b]: Dont corona, open inside

Feedback / Neuigkeiten

Vielen Dank für das Feedback, Johannes.

Diese Folge dreht sich im Großen und Ganzen um die aktuelle Situation mit Corona.

Common-Sense-Tipps

Chris erinnert euch daran, immer fleißig die Hände zu waschen.

Basti ist Mentor beim Wir Vs Virus Hackathon der Bundesregierung.

Chips der Woche

Diese Woche hat Chris die beiden LDOs MP20056 und MP20051 herausgesucht.

Kurzschluss Junkies [0x1a]: Weicher Bestückautomat

Feedback / Neuigkeiten

Vielen Dank an die stetig wachsende Zuhörer Zahl.

Common-Sense-Tipps

Chris hat den Tipp eine Mehrfachsteckdose auf dem Tisch zu haben. So ist immer eine Steckdose griffbereit.

Basti hat den Tipp Bauteile projektbezogen in Kisten zu sortieren. Dann lassen sich Projekte auch mal auf die lange Bank schieben und schnell wieder einsteigen.

Pick and Place

Die Schrittmotortreiber wurden von Chris ausgetauscht und Basti hat den Sourcecode angepasst. Jetzt sind 12500 Schritte pro Umdrehung notwendig und der Bestückkopf verfährt entsprechend sanft.

Chips der Woche

Diese Woche gibt es den BQ21061 von Basti vorgestellt. Ein Battery Management IC für eine Akku Zelle. Der Chip hat ein dauerhaftes und ein schaltbares Spannungsnetz. Für Batteriebetriebene, tragbare Geräte ein geeignetes Bauelement.

Kurzschluss Junkies [0x19]: Embedded vs. Corona

Feedback / Neuigkeiten

Eigentlich wollten die Junkies ein paar Eindrücke der Embedded World mitbringen, aber dank der vielen Absagen, hat sich ein Besuch nicht mehr gelohnt. Wir haben uns also zusammen gesetzt und unsere persönlichen Highlights online rausgesucht und tauschen uns heute darüber aus.

Common-Sense-Tipps

Basti hat den Tipp Skripte anzulegen, um aufeinanderfolgende Tätigkeiten schneller und weniger kompliziert zu wiederholen. Er nennt als Beispiele das Erstellen einer SD-Karte für eine embedded Prozessor Platform, oder das Inbetriebnhemen eines Python Projektes

Pick and Place

Der Bestückautomat wird stetig weiter entwickelt und nimmt immer mehr Form an. Dabei ist Basti mit der Backlash Kompensation aneinander geraten, die dazu geführt hat, dass summierte Bewegungen zu einem ungenauen Ergebnis geführt haben.

Chips der Woche

Diese Woche gibt es hier die persönlichen Highlights der Embedded World Online Vorschau.

Elektromagnetische Verträglichkeit von Ethernet

Wir haben in unserem neuen Produkt eine Ethernet Verbindung in die Außenwelt. Dort wird über eine RJ45 Buchse 100Mbit Ethernet von der Außenwelt ins Innere weitergegeben.

Ethernet im Normalfall

Normalerweise ist Ethernet eine Point-2-Point Verbindung zweier Geräte über ein Kabel. Das Kabel überträgt die Daten dabei galvanisch getrennt zu den Gerätespannungen. Daher könnne die Geräte in unterschiedlichen Stromnetzen betrieben werden und müssen kein gemeinsames Potential besitzen. Eine „normale“ Ethernet Schnittstelle ist unten abgebildet

Schaltplan eines RCM6700 MiniCore Ethernet Interfaces

Anforderungen

Die Signale des Netzwerks müssen in unserem Gerät zu den elektrisch leitfähigen Komponenten mit 1500V Spannungsfestigkeit isoliert werden. Die Netzwerkschnittstelle im Inneren des Geräts besitzt noch sechs Meter bewegte Leitung bis zur RJ45 Buchse an der Schnittstelle zur Außenwelt. Daher muss hier eine Lösung gefunden werden, die diese Isolierstärke entweder über die sechs Meter gewährlisten kann, oder die Isolierung muss bereits an der Stelle des RJ45 Steckers erfolgen.

Als zweite Herausforderung kommt hinzu, dass das Netzwerksignal zusätzlich zu anderen Signalen gemeinsam auf einer Leitung übertragen werden muss. Es liegt eine Leitung von der Anschlussstelle zur Netzwerkschnittstelle. Dazwischen befinden sich mehrere Trennstellen, an denen Komponenten des Geräts bei der Installation vor Ort zusammen gesteckt werden.

Das Kabel ist ein bewegtes Kabel und hat somit neben der elektrischen Anforderung auch noch eine mechanische Belastungen. Das von uns gewählte Kabel hat 12 Adern, von denen jeweils 2 als verdrillte Pärchen geführt sind und alle zusammen von einem Schirm umschlossen werden. Wir nutzen 4 der Leiter für 100Mbit Ethernet.

Igus chainflex® CF211 Datenleitung

Die Herausforderung in der elektromagnetischen Verträglichkeit ist hier nicht die Funktion unter Störeinflüssen. Die werden dank der differenziellen Signalstruktur des Ethernets wenig gestört. Das Problem sind die abgestrahlten elektromagnetischen Wellen.

Wie oben bereits beschrieben sind die Ethernet-Signale galvanisch getrennt vom System und liegen somit schwebend in der Leitung. Umgeben sind sie dort von Signalen, die einen Bezug zu GND haben. Diese Sigtnale haben also eine elektrische Verbindung in das System hinein. Hier ist ein Aufnahme des abgestrahlten Spektrums mit aktivem Netzwerk Link.

Signalstärke über das Frequenzspektrum von 30MHz bis 1GHz

Klar zu sehen ist, dass bei allen drei Messverfahren (Peak, Average, Q-Peak) die Granzwerte bei verschiedenen Frequenzen überschritten werden. Die kritischen Überschreitungen sind allerdings im unten Frequenzbereich. Hier können einige Maßnahmen durchgeführt werden um die Abstrahlung von EM-Wellen zu verringern.

Die schnelle, aber hier leider unwirksame Abhilfe würde ein Klapp-Ferrit schaffen. Dieser würde die Gleichtakt-Fehlerströme begrenzen, also Ströme, die entlang der Leitung in eine Richtung fließen. In unserem Fall hatte aber der Ferrit keinen Einfluss auf die abgestrahlte Störung. Es handelt sich wohl nicht um eine Gleichtakt-Störung. Ein weiterer Platz für Feritte ist innerhalb der Leitung um eine Gegentakt-Störung zu beseitigen. Hier wird eine Induktivität in jede Leitung eingebracht. Im unten gezeigten Schaltbild sind das die Bauelemente L906 – L909. Diese verschleifen die Schaltflanke der Signale und reduzieren dadurch die auftretenden Oberwellen des Signals.

Anbindung der Ethernet Signale an die interne Schaltung

Wie oben zu sehen ist, sind die Mittenabgriffe der beiden differenziellen Übertragungsleitungen NET_RD und NET_TD mit je einem Abschlusswiderstand (R903 und R904) verbunden und werden kapazitiv an den Leitungsschirm angebunden. Eine Verbindung von GND_ISO und GND ist vorgesehen, aber nicht bestückt.

Die Gegenstelle sieht wie folgt aus und besitzt ebenfalls einen Ethernet-Übertrager Baustein. Die Signale LAN_RX und NET_RX sowie LAN_TX und NET_TX sind über die sechs Metzer lange Leitung miteinander verbunden. Diese Leitung hat auf dem Weg drei Steckstellen an denen das Signal über eine Leiterplatte geführt wird.

Ausgangsseitige LAN Schnittstelle mit RJ45 Verbinder

Die TX+/- und RX+/- Signale gehen dann auf ein Ethernet PHY. Diese Art von Schaltung haben wir in unserer Anlage versucht nachzustellen. Es wurden die Abschlusswiderstände, die im RJ45-Stecker gezeigt sind auf der Baugruppe platziert und wie in dem Beispiel verschaltet. Dabei gehen die Mittelabgriffe der Transformatoren gegen den Abschlusswiderstand und gemeinsam über einen Kondensator gegen Schirm Potential. Die ungenutzten Verbindungen werden kurzsgeschlossen und ebenfalls über 75Ohm an das Schirm Potential gebracht.

Auf der Innenseite zeigt sich ein Ähnliches Bild, hier sind wir etwas anders vorgegenagen und haben die Abschlusswiderstände kurzgeschlossen, wie sie im ‚eingangsseitigen‘ Teil der Refernzschaltung zu sehen ist. Dieses Vorgehen hat allerdings zu den oben gezeigten Abstrahlverhalten geführt.

Lösung

Eine bessere Signalqualität und Elektromangetische Abstrahlung haben wir erreicht, indem die innen liegende Seite der Netzwerkschnittstellen hinter dem ersten Übertrager (nach der RJ45 Buchse) am Mittenabgriff komplett offen gelassen wurde. Das heißt die Widerstände R243 und R244 sind nicht bestückt, es gibt keine Verbindung zum Schirm der Leitung. Auf der anderen Seite des inneren Kabels ist die Schlatung ebenfalls ohne Abschlusswiderstand und nicht mit Schirm verbunden.

Neue Verschaltung mit offenen Leitungen in der Übertragungsleitung

Diese Verschaltung ergab dann folgenden Messchrieb, ebenfalls mit aktivem Netzwerk:

Messergebnis nach EMV-Maßnahme 30-300MHz

Die blauen Rauten sind die endgültigen Q-Peak Messwerte, nach denen die Norm verlangt. Wir liegen also untehalb der in der Norm gewünschten Grenze von 30dBµV/m und das System ist bereit für die Zulassung. Eine Messung mit einem dedizierten LAN Kabel ergibt zwar ein komplett anderes Bild mit wesentlich weniger Abstrahlung. Aber wir haben leider kein Platz um ein eigenes Kabel zu legen. Für den aufmerksamen Leser ist hier noch anzumerken, dass die Nadel bei 93MHz nicht zum LAN gehört und auch bei gezogener Leitung bestehen bleibt. Das ist Baustelle Nummer zwei.

Pick and Place: Aktueller Status und Ausblick

Es ist jetzt einige Zeit her, dass wir von unserem Betückautomaten Projekt berichtet haben. Daher hier ein Update zum Aktuellen Stand der Dinge.

Ziemlich zerlegt, kurz vor dem Wiederaufbau.

Wir haben die Adapterplatine erfolgreich an Stelle des 286er PC gesetzt. Das bedeutet, die Maschine lässt sich vollständig über eine USB-Verbindung von einem modernen PC steuern. Die Adapterplatine mit dem Namen STM286 hat einen Mikrocontroller (STM32F407), der die komplette Ansteuerung übernimmt. Neben der Ansteuerung der Schrittmotoren, Ventile und Auswertung der Sensoren auch noch eine Kommunikation mit dem PC über einen so genannten G-Code möglich. Dieser wird genutzt um Computer gesteuerte Maschinen wie Dreh- oder Fräsmaschinen zu steuern. Also ganz ähnlich wie das, was wir hier machen wollen.

Software Update

Kamera Bild des Bestückkopfes fährt entlang der X-Achse

Als G-Code Interpreter wurde eine Software mit dem Namen grbl so weit angepasst, dass sie mit dem Mikrocontroller lauffähig ist und die angeschlossenen Signale korrekt auslesen, bzw. schalten kann. Dabei sind einige Hindernisse zu nehmen. Nicht zu letzt, weil grbl für einen kleinen AVR Cotroller entwicklet wurde. Das zeigt sich unter Anderem in der RAM- und Flashauslastung auf dem wesentlich leitstungsfähigeren STM32. Im Gegensatz dazu wurden aus dem AVR einge Programmteile herausgenommen um Platz zu sparen. Auf dem STM32 ist die Ressourcenauslastung mit einem vollständigen Debug Build bei weit unter 10%. Auf der STM286er Baugruppe ist noch ein Ethernet Anschluss vorgesehen. Um diesen zum Einsazt zu bringen, z.B. für Websockets, sind also noch einige Bytes verfügbar.

Bestückkopf

Der von uns als Basis erworbene Bestückautomat Zevatech Placemat 460 ist in der Lage gewesen ein Bauteil zu greifen und bei Bedarf um 90° zu drehen. Unser Ziel ist es zwei Bauteile auf einmal aufnehmen zu können und diese in beliebigem Winkel zu bestücken. Dazu benötigen wir neben zwei Saugdüsen auch noch zwei zusätzliche Motoren. Diese sind zum Glück bereits als Modulsteckplätze auf der Adapterplatine vorgesehen. Ein Motor steuert die Rotation und der zweite die Höhe der Saugdüse. Die beiden Düsen können über den Wippenarm von einem Motor entlang der Z-Achse bewegt werden.

Doppelt BEstückkopf. Jede Düse lässt sich einzeln drehen und hoch/runter fahren.

Dieser Bestückkopf wird als Ersatz für den alten eingesetzt. Somit verfügt der Automat dann über 2 Vakuum Düsen, die in einer Auflösung von 1,8° bei vollen Schritten drehen können. Zwischen die beiden Düsen werden wir eiene Kamera platzieren, die die Arbeitsfläche betrachten kann. Eine zweite Kamera kann dann die Bauteile von unten betrachten. So ist die Maschine vollständig optisch steuerbar.

Motorsteuerung

Die original verbauten Motoren der Placemat Maschine sind 5-Phasen Schrittmotoren. Sie werden angesteuert über Treibermodule, die von den 100VAC Eingangsspannugn versorgt werden. Die Treibermodule haben neben der Versorgungsspannung noch einen Schrittsignal Eingang für entweder Schritte im Uhrzeiger sinn und gegen den Uhrzeigersinn. Für die Ansteuerung der Bestückdüsen haben wir noch zwei zusätzliche Schrittmotor Treiber im Polulu-Stil auf unserer Ansteuerplatine vorgesehen. Diese werden mit Schritt- und einem Richtungspin angesteuert. Diese Art der Ansteuerung ist in grbl die vorgesehene und daher muss für die verfügbaren Motoren die Ansteuerung angepasst werden. Das lässt sich aber ohne Probleme in der Funktion einbauen, die die Pins ansteuert. Denn anstatt den Schritt- und den Richtungspin zu setzten, werden wir abhänging von der gewählten Richtung einen der beiden Ansteuerpins setzen. Eine Timer-Interrupt-Routine sorgt dafür, dass die Pins danach wieder zurückgesetzt werden.

Mit dieser Ansteuerung lässt sich der Kopf in X- und Y-Richtung verfahren. Die Schrittmotoren sind nicht in der Lage zu erkennen, an welcher Stelle der linearen Führung der Kopf sich befindet. Daher wird die Mechanik zu jedem Start in einen bekannten Ausgangszustand gesetzt. Das nennt man den Home-Zyklus.

Home Zyklus

Die Zevatec Placemat Maschine hat an den X- und Y-Achsen mehrere Sensoren angebracht, die helfen, eine Home-Positionierung zu erhalten. Auf der von uns als Null festgelegten Seite besitzt sie zwei Gabellichtschranken. An der gegenüberliegenden Seite ist eine weitere Lichtschranke angebracht. Zu guter Letzt besitzt die Achse des Antriebmotors noch eine Lichtschranke, die einmal pro Umdrehung geöffnet wird. Dieses Signal wird im IO-Board in die unten gezeigte Schaltung gegeben. Y-CNP ist die zweite Lichtschranke am Null-Punkt, Y-TIM ist die Lichtschranke an der Motor Achse. Beide geben ein High-Signal, wenn sie nicht betätigt sind.

Schaltung der Home-Impuls Schaltung

In der regulären Betriebsart, also wenn dich der Kopf im Bewegungsraum auf der Achse befindet und bewegt, wird die Lichtschranke Y-TIM kontinuierlich eine kurzen High-Puls liefern. Dieser geht über U14 an den Timer 555. U14 sorgt dafür, dass die kontinuierlichen Pulse von Y-TIM in einen konstantes High-Signal übergehen, wenn die Lichtschranke ausgelöst ist. Der 555 macht daraus über den 100kOhm und die 0.1uF ein 100ms Puls.

Lichtschranken am Null-Ende der Y-Achse

So erhält man über das Signal Y-HM ein deutliches „Home-Position angefahren“ Signal. Für die aktuelle Umsetzung habe ich allerdings auf dieses Signal verzichtet und nutze die fallende Flanke der zweiten Lichtschranke an Position Null. grbl ignoriert beim Homen die Endschalter, stoppt aber die Bewegung, wenn ein Endschalter erreicht wurde. Der Kopf wird am Schluss des Zyklus um einen Millimeter aus der Lichtschranke gefahren. Das muss gemacht werden, da mit ’schraf‘ geschalteten Endschaltern das System in einen Alarm Zustand geht, wenn einer der Endschalter im Betrieb auslöst. Dieses Sicherheitsfeature möchte ich nicht umgehen und daher müssen wir nach Feststellung der Null-Position den Kopf aus der ‚Gefahrenzone‘ fahren. Die eigentliche 0/0 Koordinate ist dann je einen Milimeter weiter im Inneren des Arbeitsbereichs.

Vakuum-System

Um die Bauteile aufzunehmen, benötigt der Automat ein Vakuum. Da für die automatische Bereitstellung der Bauelemente in den Feedern Druckluft benötigt wird, bietet es sich an, den benötigten Unterdruck anhand eine Venturi-Düse zu erzeugen. Diese wird über ein Magnetventil mit Druckluft versorgt. Um das erfolgreiche Aufbauen des Unterdrucks zu messen, wird ähnlich einer Kelvin-Messung ein zweiter Luftschlauch zurück zum Unterdrucksensor geführt. Dieser hat entweder Umgebungsdruck, oder bei geschlossener Düse (Bauteil erfolgreich aufgenommen) den Unterdruck des Systems.

Um bei diesen Bauteilen zu sparen gibt es nur einen Sensor, den sich die beiden Köpfe teilen müssen. Dazu wird das zu messende Vakuum mit einem Magnetventil an den Sensor geschaltet. Diese Situation ist nicht optimal und in Zukunft sollten wir einen zweiten Unterdruck Sensor einbauen. Dann können wir über den kompletten Verfahrweg festellen, ob das Bauteil noch an der Düse hängt.

Ein Vakuum Sensor für zwei Vakuum Quellen

Versorgungsspannung

Die Maschine kommt Ursprünglich aus Japan und hat daher eine 100VAC Stromversorgung. Für den europäischen Markt ist ein Netztraffo eingebaut. Der wiegt einige Kilogramm, besteht aus einer großen Spule und setzt die hier vorhandenen 230VAC auf 100VAC herab. Dabei wird er handwarm. Das ist also kein so guter Wirkungsgrad und wir schauen, dass wir dieses Teil so schnell wie möglich los werden können. Dazu beötigen wir aber erst noch zwei Motortreiber für die X- und Y-Achse. Denn wie oben schon beschrieben, laufen die mit 100VAC.

Nachbessern einer Lötstelle am 144-pin STM32F407

Steuerungssoftware

Die Steuerungssoftware openpnp ist bereits vorbereitet und beinhaltet schon einige Konfigurationen. Im Video oben ist zu sehen, wie der Kopf entlang der X-Achse verfahren kann. Gesteuert wurde das ganze von openpnp aus. Auch habe ich angefangen die Festrüstung der Maschine in der Bauteiledatenbank für openpnp einzutragen. Dazu werde ich aber einen eigenen Artikel verfassen.

„fest“ gerüstete Bauteile. Die bleiben so lange drin, bis entweder die Rolle leer ist, oder andere dringender benötigt werden.

Bauteil-Feeder

Bei der von uns erworbenen Maschine waren einige pneumatisch betätigte Feeder dabei. Sie rollen das Baueteileband so weit ab, wie nötig um das nächste Bauteil frei zu legen. Mit einem Stößel drückt der Bestückkopf auf ein Drucklufttaster um den Mechanismus zu betätigen.