Montag, 25. März 2019

Bandpass TTL Opamp und Rigol DS1054Z

Ich habe mir die Idee einen Mosfet als Verstärkereingang mal genauer angesehen und dieses System übernommen. Der Vorteil ist, dass ein Mosfet welcher nur kapazitiv angesteuert wird schon ein Hochpass ist. Mit dem Vorwiderstand für den Mosfet kann die Tiefpasskarakteristik beeinflusst werden. Wenn einem die Gatekapazität zu ungenau ist, kann auch ein zusätzlicher Kondensator verwendet werden um das Tiefpassverhalten genauer zu definieren. Die nachfolgende NPN-PNP-Verstärkerstufe ist da, um dieses Signal "belastbar" zu machen. Um den Mosfet im Analogmodus zu halten, kann entweder ein DAC eines µControlers verwendet werden oder wenn es "standalone" funktionieren soll einen Operationsverstärker verwenden. Die Gesamtschaltung verbraucht nicht mehr als 3mA bei 3,3V.

Durch das kapazitive Messen des Signals erfolgt eine Phasenverschiebung, welche nicht zu vernachlässigen ist, wenn Strom und Spannung Bezug zueinander haben sollen.

Hier ist die Schaltung. Diese kann man Easy in Spice nachbauen und mit experimentieren. Wichtig ist, dass man reelle Bauteile verwendet und nicht die idealen Modelle von Spice.


Das ist die gelötete Schaltung in Nahaufnahme auf einer eigens dafür angefertigten Leiterplatte. 



Ich habe ein paar Aufnahmen mit meinem neuen DS1054Z gemacht. Alle Messwerte welche angezeigt werden, sind mit einem Druck auf den "MessMalAlles" Button erledigt. Auch die angezeigten Werte habe ich nicht extra im Offset oder Amplitude angepasst. Diese sind mit dem AUTO Button gleich richtig skaliert worden. Echt top wie gut das Funktioniert.

Hier einmal die Phase gemessen bei 1KHz Eingangssignal.

Dann einmal auf den magischen "MessMalAlles" Button gedrückt ohne Offset.

Dann einmal die gleiche Messung mit einem Offset von ca. 3V.

Jetzt mal das Tiefpassverhalten im Detail. Hier 20KHz vs. 40KHz.



Mittwoch, 20. März 2019

Knöpfchenspiel 2 - Bus-Interface auf Raspberry Pi

Das Differenzielle I²C Interface für den Komminikations-Bus im Knöpfchenspiel ist für den Raspberry Pi ein Hat mit dem PCA9615 Treiber Chip. Die Knöpfcheninterfaces haben den Treiber selbst on Board. Dieser Treiber Baustein konvertiert die normalen I²C Signale in differenzielle Signale um sie stabiler gegen elektromagnetische Störung zu machen. Auf der Empfängerseite werden die Signale dann wieder zurück konvertiert in 3,3V Open-Drain.

I²C Bus

Dieser Bus wurde bereits 1982 von Phillips Semiconductor (heute NXP) entwickelt und dient zur seriellen Datenübertragung zwischen integrierten Schaltungen. Daher auch der Name: Inter Integrated Circuit oder IIC. Der Bus besteht aus zwei Signalleitungen: Serial-Clock (SCL) und Serial-Data (SDA). Am Bus können mehrere Teilnehmer gleichzeitig hängen, aber immer nur einer ist der Master. Die Signalleitungen sind mit einem Widerstand auf eine Spannung voreingestellt. Meistens 5V, manchmal auch 3,3V je nach Interface Spannung. Daten werden auf diesem Bus übertragen, indem die Signalleitungen mit einem Transistor auf Masse Potential geschaltet werden, also auf 0V. Das SDA Signal nach Masse schalten können sowohl Master als auch die Slave Geräte am Bus. Der Master gibt den Takt vor indem er die SCL Leitung auf Masse zieht, oder los lässt und der Widerstand das Signal wieder auf Betriebsspannung ziehen kann. Die Datenleitung wird entweder vom Master, oder von den Slaves auf Masse gezogen, je nachdem wer gerade mit einer Datenübertragung beschäftigt ist. Dieses Prinzip sorgt dafür, dass bei einem Kurzschluss gegen Masse die Signale lediglich ungültig werden, der Chip aber nicht kaputt geht.

Die Adressierung auf dem I²C Bus ist 7-bit lang, kann also 127 Geräte bedienen. Das 8te Bit dient der Lese/Schreib Aktivierung. Dabei sind allerdings einige Adressen reserviert unter Anderem um eine Adressraum-Erweiterung auf 10-bit zuzulassen. Effektiv können also 112 Adressen angesprochen werden.
Adresse Funktion
00000000 General Call Adresse
00000001 Start Byte
0000001X CBUS Adresse*
0000010X Reserviert für ein weiteres Busformat
0000011X Reserviert für zukünftige Erweiterungen
00001XXX Reserviert für zukünftige Erweiterungen
11111XXX Reserviert für zukünftige Erweiterungen
11110XXX 10-Bit Adressierung
*CBUS ist ein veraltetes System.

Signalform

Aus den I2C Spezifikationen Rev.6 April 2014 Fig.9
Die Signale SCL und SDA sind so genannte Single-Ended Signale. Sie haben ein Spannugnspotential gegen Masse (0V). Dabei können Störungen durch die Schaltflanken in die angrenzenden Leitungen übersprechen. Beispielsweise kann die konstanten Änderungen der Taktleitung (SCL) einen Spannungspuls in der Datenleitung erzeugen, die zwar vom Slave auf Masse gehalten wird, aber über den Leitungswiderstand und die Kapazität der Leitung gegen umliegende Masse trotzdem als Spannung (digitale 1) am Master Eingang erkannt wird. Dies wird zum Beispiel als Bitfehler in den Empfangenen Daten sichtbar. Je länger die Leitungen sind, desto stärker kann das Problem auftreten. Daher muss für eine länger Verbindung Vorsorge getroffen werden. Eine der Vorkehrungen ist zum Beispiel das Konvertieren in differenzielle Signale.

Dabei werden die oben gezeigten Signale von zwei auf 4 Drähte erweitert. Die zusätzliche Leitung ist das Komplementär der Signalleitung und dient als Referenz.

Hardware

Rasperry Pi 3B mit DIIC Hat
Das DIIC Hat ist die Hardware, mit der der Raspberry Pi I²C Signale auf die Differenzielle Leitung bringen kann. Es besteht aus mehreren Teilen: Dem 40-poligen Interface Stecker zum Pi, dem I²C EEPROM, das den Devicetree Patch mitbringt, die 12V Spannungsversorgung für die Bus Leitung und der Differenzielle I2C Transmitter.
Raspberry Pi 40-poliger Verbindungsstecker
Auf dem 40-poligen Verbindungsstecker liegen neben den 26 GPIO Signalen ebenfalls die beiden Signale ID_SC und ID_SD. Diese gehören zum Konfigurationsinterface des Hats. An diese beiden Signale wird das I2C EEPROM mit Adresse 0x50 angeschlossen. Im SPeicher des EEPROMS liegen Informationen zu dem Hat. In diesen Daten wird dem Linux auf dem Raspberry mitgeteilt, welches Hat aufgesteckt ist, welche Version, welcher Hersteller und welche Hardwarekonfiguration notwendig ist um das Hat zu betreiben. In unserem Fall ist das das Aktivieren des I2C Interfaces an GPIO02 und GPIO03, sowie das Resetsignal an GPIO5. Ohne dieses EEPROM ist die Hardware nicht konform mit der Anforderung an ein Raspberry Pi Hat und darf sich so auch nicht nennen.
EEPROM für das Hat. Angeschlossen an ID_SC und ID_SD
Das Hat stellt neben der Information zur Konfiguration des I2C Interfaces auch noch die Übertragungshardware zur Verfügung. Der PCA9615 ist der Transceiver und hat zwei Spannungsdomänen. Die klassische I2C Seite wird mit 3,3V betrieben und die differenzielle Seite mit 5V. Zum Starten der differenzielen Strecke, muss der Chip mindestens 11ms im Reset (low) gehalten werden, damit der Bus idle/stop Detektor ordnungsgemäß funktioniert. So lange ist die READY LED aus. Wenn der Resetimpuls beendet ist, geht die Leitung GPIO05 auf high und die LED leuchtet.
Beschaltung des differenziellen I²C Buffers PCA9615
Die LED wird vom Linux beim Booten angesteuert, so ist sicher gestellt, dass der Treiberbaustein ordentlich starten kann. Wenn das Linux gebootet ist, kann über die internen Tools wie i2cdetect oder i2cget/set der Bus verwendet werden. Als Gegenstelle steht der STM32 als I2C Slave zur Verfügung. dieser wartet auf den Adressen 0x30 und 0x31/0x32 auf Kommunikation mit dem Master.
Diese Software ist zur Zeit leider noch nicht funktionsfähig. Aber das sollte sich in den nächsten Tagen ändern.

Montag, 18. März 2019

Kurzschluss Junkies [0x08]: Lack oder Keinlack

Neuigkeiten

Wir haben knapp 5000 Downloads und ca. 50 Abonnenten. Danke dafür.
Wie werden ein Gewinnspiel starten, sobald wir ca. 100 Abonnenten haben.
Es gibt ein super interessantes Evalboard ab zu stauben. Das STM32MP157C-DK2
https://www.st.com/en/evaluation-tools/stm32mp157c-dk2.html

Handson Rigol DS1054Z

Das Rigol DS1054Z ist ein richtig gutes Hobby-Oszilloskop für wenig Geld. Eines der besten Features ist der "MessMalAlles"-Button. Da bekommt man per Knopfdruck alle Information welche einen interessieren könnten auf einmal angezeigt. Ein Softwareupdate geht ohne lästiges Anmelden oder Registrieren.

Aus Fehlern lernen

Der Pegel macht's. Basti musste den BOOT0 Pin eines STM32 niederohmig genug auf ein Potential ziehen um auch ohne Debugger in den richtigen Bootmodus zu kommen.
Notizen machen und eine Gespräch leiten ist in der Kombination schlecht möglich. Am besten einen Schriftführer und einen Leiter bei wichtigen Gesprächen.

Der Mosfetverstärker

Chris hat einen ultra-lowcost Verstärker gebaut. Dieser ist allerdings nur für Wechselspannungssignale geeignet.

Knöpfchenspiel

Das Spiel geht weiter. Ein Holztisch wurde gelöchert. Er wurde angemalt aber nicht lackiert. Alles wird älter und das darf man auch sehen. Die LED und Knöpfe werden bereits ausgewertet. Die Software auf dem Raspberry funktioniert auch schon. Jetzt noch die Kommunikation zwischen STM32 und Raspberry Pi in Betrieb nehmen und eine Webcam mit ausreichend guter Qualität anstecken.

Schmartwatch

Review auf Twitter war gut und hilfreich. Platine wird wohl lieber selbst bestückt, was mit dem bald funktionierenden FinePlacer auch kein Problem sein sollte.
Handauflage zum einfachen Platzieren von SMD Komponenten

Chip der Woche

Der STM32MP15x hat es diesmal geschaft. ST kommt in den Bereich der Media-Prozessoren. mal sehen was die Zukunft bringt. Leider preislich noch etwas über der Konkurrenz.
STM32MP151 5,30$ <-> MCIMX6Z0DVM09AB 3,62$
STM32MP153 8,10$ <-> MCIMX6Y0CVM05AB 6,76$
STM32MP157 9,50$

Sonntag, 3. März 2019

Kurzschluss Junkies [0x07]: Eingebettet


Wir sind mit dem Handy unterwegs auf der Embedded World und haben uns mit Thomas getroffen. Er ist in der Hackaday Community aktiv und so haben wir uns auch getroffen. Er arbeitet beruflich mit Multicore Systeme in Sicherheitskrittischen Systemen.

In der Kategorie Fehler machen erzählt er von seinem größten Fehler: Eine Projekt nicht angehen, weil man Angst hat, dass das Thema zu kompliziert ist. Einfach mal loslegen und machen.

Thomas hat sein Hobby zum Beruf gemacht, somit sind Hobbyprojekte jetzt nicht mehr Gebastel. Er arbeitet auch an der Hochschule, dort bauen sie einen Roboter mit LIDAR Sensor, die Daten daraus sollen dann in der 3D Engine Unity visualisiert werden. Das kombiniert mit eines Oculus Rift ist ein interessantes Projekt. LIDAR wird zum Beispiel genutzt um 3D Modelle von großen Gebieten zu erzeugen. Das macht zum Beispiel Phoenix LiDAR

Ein weiteres Projekt war mit dem ESP32. Er hat einen CAN-Bus Treiber entwickelt um den ESP32 als günstigen Controller mit WLAN zu verwenden.

Ein weiteres Projekt war die Umsetzung einer realen virtuellen Realität. Dazu hat Thomas eine Stereokamera mit drei Achsen in das Führerhaus eines Spielkrans eingebaut. Dieses Telepräsenz System ist ebenfalls mit einer Oculus Rift verbunden. Somit kann der Kranführer außerhalb des Krans sein und trotzdem aus der gewohnten Perspektive den Kran führen. Dieses Projekt hat auf Hackaday einiges an Interesse ausgelöst und Thomas erzählt von seinen zwei Wochen Internet-Fame. Sogar die ESA hat sich bei ihm gemeldet. Leider ist aus diesem Projekt noch nicht mehr geworden.

Zum Schluss haben wir noch über die Messe gesprochen. Unsere Tipps für die Besucher: Kommt früh, da gibt es noch Parkplätze. Redet mit den Leuten vor Ort über eure Projekte. Nehmt euch nicht zu viel vor, weniger ist mehr und zieht euch bequeme Schuhe an.


Freitag, 22. Februar 2019

Kurzschluss Junkies [0x06]: Gemischte Tüte


Feedback zur letzten Folge war positiv. Ob wir YouTube Videos machen, werden wir sehen. Firma in der wir arbeiten ist unbekannt. Ob wir die irgendwann erwähnen werden wir sehen.
3000+ Downloads in diesem Jahr.

Podcast wird auf jeden Fall fortgeführt. Wir machen weiter.

Allgemeines:

RIGOL1054Z das kleine Osziwunder für <400€ mit Sofwareencoder, FFT und das Beste ist es kann ein eigenes Augendiagramm erstellen. Hat 1G/Sample und 50MHz Bandbreite. Top Hobby-Oszi.

Aus Fehlern lernen:

DRC ist immer von Vorteil und sollte man nicht vergessen.
Zuken ist nicht das beste Tool wenn es darum geht Busse von Subsheet zu Subsheet zu führen. Daher der "gesunde" Blauton im Bild (Videosignal) auf einer seiner Baugruppen. Wir nutzen das etwas ältere CR5000 mittlerweile gibt es CR8000.

Layoutsoftware:

KiCad, Zuken, Pulsonix und Altium mal kurz erwähnt.
KiCad ist ein kostenloses Layouttool was durchaus mit den professionellen Tool mithalten kann.
Zuken ist zumindes bei uns etwas buggy aber durchaus nutzbar für Großprojekte.
Pulsonix ist das modernere Zuken welches auch etwas günstiger ist.
Altium ist ein Tool welches etwas besser sein soll jedoch auch teuerer, aber vom Hörensagen ein sehr gutes Programm ist.

Basti hat für KiCad einen Bugfix bereit gestellt für einen Haken und Stacked-Vias in seine Version implementiert.

Projekt Genesis:

Das Alexagame für zwischendurch. Wer wollte schon immer mal ein KI sein und über die Zukunft der Menschheit entscheiden? ;)

Der Minidrucker:

Beim Minidrucker geht der Stepperdriver von ST zumindest wenn das Board extern ist. Um das Mini-Drucker-Mainboard richtig bestücken zu können brauchen wir einen Fineplacer. Der Bausatzlink folgt. Bei motedis kann man günstig mechanische Teile kaufen.

PC Hardware:

Ein paar Geheimtipps für PC Hardware. Netzteil aus dem T7500 (1KW für unter 60€)
Aktuelle Preis/Leistungssieger ist die RX580.

Schmartwatch:

Neue Schmartwatchversion ist öffentlich zum Review, da das Board für Prototypen sehr teuer ist.

Chip(s) der Woche:

Microchips MCP6411. Ein Sehr günstiger OPAMP für ca. 25ct.
Analogs AD8515. Auch nicht schlecht für grad mal 5ct mehr.




Mittwoch, 20. Februar 2019

Schmartwatch [12]: Finales Layout Review


Es ist so weit, ich habe mein Layout in ein Stadium gebracht, dass so weit komplett ist. Jetzt steht die Entscheidung im Raum: Bestellen, oder sind noch Verbesserungen möglich? Daher habe ich das Design der Öffentlichkeit zur Verfügung gestellt und möchte, dass so viele Augen wie möglich auf das Design schauen und Fehler finden, die ich nicht finden konnte.

 Ich habe schon einige Rückmeldungen bekommen und einige Änderungen eingepflegt. Wie die GitHub Historie zeigt, sind zum aktuellen Zeitpunkt 6 Änderungen eingeflossen. Jeder, der seine Meinung einbringen möchte ist eingeladen das zu tun. Schließlich kostet der nächste Produktionsschritt erheblich mehr Geld als die Leiterplatte aus FR4 zu bestellen und dann selbst die Bauteile aufzulöten.
Ich erwarte Herstellungskosten von ca 120€ pro Baugruppe, da ich lediglich 10 Stück bestellen werde. Das ist dann die Uhr inklusive Display. Für Fans einer ziemlich nerdigen Armbanduhr, die garantiert nicht wasserdicht ist, kann ich einen der Prototypen für 150€ anbieten. Wenn die Anzahl der bestellten Prototypen groß genug ist, wird der Preis sicher sinken.
Dazu werde ich allerdings eine eigene Seite im Blog einrichten, wenn es so weit ist die Bestellung aufzugeben. Zeitgleich mit der Bestellung soll auch die Firmware für die Uhr öffentlich verfügbar sein. Zur zeit liegt sie noch in einem privaten Repository und wartet auf ein klein wenig Politur und Dokumentation. So fehlt zum Beispiel noch einiges beim BLE Teil der Software, oder beim Powermanagement. Ich habe zwar schon ein paar Dinge mehr implementiert, als im letzten Artikel zu dem Thema stand, aber es ist noch nicht perfekt. Ebenso wie die Ansteuerung des Displays zur Zeit noch keine eigene LUT Muster kann, sondern nur den 12 Sekunden langen Updatezyklus, der im OTP Speicher der Uhr liegt. Auf jedem Fall könnt ihr in der nächsten Zeit mit einer Reihe neuer Artikel zum Schmartwatch Projekt rechnen.
Für den einfachen Zugriff auf den Schaltplan findet ihr hier die aktuelle Version. Ich habe für das Layout noch keine Gerber-Daten erzeugt, aber als PDF findet ihr die einzelnen Lagen der initialen Version hier.

Das GitHub Projekt findet ihr hier: 

Über Kommentare und Verbesserungsvorschläge, sowie über Fragen freue ich mich natürlich.

Sonntag, 17. Februar 2019

Spielen mit Amazon Alexa - Das Projekt Genesis


Projekt Genesis ist ein Amazon Alexa Skill. Es ist ein Spiel in dem der Spieler in die Rolle einer KI schlüpft, die versucht einen geeigneten Planeten für die 10000 Siedler an Board eines Raumschiffs zu finden. Dabei lauern viele Gefahren aber auch viele Geheimnisse in den Weiten des Universums.

Der Beta Test hat begonnen und es gibt eine spielbare Version. Wer mithelfen möchte zu testen, der kann sich unter www.projekt-genesis-spiel.de anmelden und wird dann für das Beta-Programm freigeschaltet.

Ein Spiel beginnt man, indem man sagt: "Alexa, starte Projekt Genesis". Daraufhin startet ein neues Spiel oder setzt das vorherige Spiel fort. Ein Spiel besteht aus mehreren Spielrunden, die das Raumschiff an verschiedene Orte bringt. Das Raumschiff hat verschiedene Funktionen, die allesamt wichtig sind um eine stabile Kolonie zu errichten.
  • Stasekammern mit Siedlern
  • Planeten Scanner
  • Landungssonden
  • Wissenschaftliche Datenbank
  • Energiereserve
Ziel ist es einen geeigneten Planeten zu finden, dessen Umgebungsbedingungen den Siedlern das Leben vereinfacht. Auf den Wegen zwischen den Planeten lauern viele Gefahren aber auch Chancen. 
Ein Planet hat immer folgende Eigenschaften:
  • Gravitation
  • Atmosphäre
  • Temperatur
  • Wasser
Zusätzlich gibt es auf einigen Planeten noch verschiedene Ressourcen, die ein Leben vor Ort vereinfachen können. Sofern in der Datenbank das Wissen zur Verarbeitung noch vorhanden ist.

Im Orbit um einen Planeten könnt ihr den Planetenscanner verwenden. Dieser lässt sich mit dem Befehl "Planet Scannen" starten. Der Scanner liefert je nach Funktionsgrad des Scanners die Information zu dem Planeten. Die Landungssonden liefern ebenfalls Scan-Ergebnisse, falls der Scanner beschädigt wurde. Eine Sonde kann mit "Sonde ausschicken" gestartet werden.

Wenn das Schiff sich in der Umlaufbahn eines geeigneten Planeten befindet, dann kann mit dem Befehl "landen" die Landung eingeleitet werden. Achtung! Landen ist endgültig und beendet das Spiel, daher werdet ihr gefragt, ob ihr wirklich landen wollt. Das könnt ihr mit "ja" beantworten, oder sagt ein weiters mal "landen".

Die Gefahren, die auf dem Weg auf euch warten sind dann eine Überraschung. 


Freitag, 8. Februar 2019

Kurzschluss Junkies [0x05]: Die Mischung macht's!


Die Kurzschluss Junkies sind unterwegs und reden mit Raphael und Dominik über Ihre Erfahrungen als Berufseinsteiger, persönliche Interessen, Projekte und Weiterbildung.

Dominik empfiehlt für kapazitive Touch-Anwendungen einen PSoC von Cypress. Für eine 1-Button Lösung hat er den AT42QT1012 ausgewählt. Dieser benötigt keine Software um einen Touch Button zu realisieren. Außerdem weist er darauf hin
, dass eine Ground-Plane auf dem Board besser gehatched wird, also die Kupfermasse der Plane zu reduzieren. So erhält man eine gute Schirmwirkung, ohne die Signalstärke zu sehr zu bedämpfen.

Raphael empfiehlt für FPGA-Entwicklung Evaluation Boards von Digilent (bei Amazon) und Terasic. Weiterhin erzählt er von den verschiedenen Toolchains und die Eigenheiten von Verilog und VHDL. Bei opencores.org gibt's viele Beispiele von denen man lernen kann.

Dominik und Raphael erzählen von den Erfahrungen als Berufseinsteiger und wie sie gelernt haben nach dem Studium Elektronik zu entwickeln. Sie geben Tipps, wie man mit dem Gefühl umgeht, keine Ahnung zu haben und wann man aufstehen und sagen soll: "Keine Ahnung, kann ich nicht."

Zur Weiterentwicklung nutzen wir alle das Internet, Bücher und auch Schulungen. Aber im Endeffekt ist alles Learning by Doing. Das Entwickeln von Hardware ist eine Mischung aus Wissen, Erfahrung, Interesse und Black Magic.

Natürlich haben wir auch über private Projekte gesprochen.
Raphael entwickelt gerade eine Löt-Station für Weller RT Lötspitzen. Der Grund dafür ist ein Elektor Artikel, der ihm negativ aufgefallen ist. Seine Station bekommt den STM32F103 als Mikrocontroller, hat mehrere Varianten für die Strommessungen, ein Display und eine Schnittstelle für Erweiterungen. Die Dokumentation wird dann HIER zu finden sein, wenn er damit mal angefangen hat. (Wenn da noch kein Link ist, hat er noch nicht angefangen)

Dominik beschäftigt sich mit Word-Clocks. Er hat da schon einige gebaut, jetzt gerade baut er eine Armbanduhr-Variante mit Alu Gehäuse und super kleinen Bauteilen.

Zum Schluss erzählt Raphael von seiner Zeit als Werksstudent in der ASIC-Entwicklung.

Dienstag, 29. Januar 2019

Kurzschluss Junkies [0x04]: Get Schmarter

Einführung

Wir haben knapp 1700 Downloads verzeichnet. Danke dafür.
Durch immer wiederkehrende Anfragen können wir knapp 20 Abonnenten abschätzen.

Aus Fehlern lernen

Jeder macht Fehler, wir sprechen jede Woche über einen Fehler. Was aufgetreten ist und wie wir den Fehler beseitigt haben.
Basti hatten den Effekt, dass mit einem Tastkopf auf der Leitung das Ethernet funktioniert hat. Der Grund dafür war die Kapazität des Tastkopfes, der die Flanke des Taktsignals etwas verzögert hat.

Chris hatte ein Rauschen auf seinen analogen Messwerten, dem er mit einem 4-fach Operationsverstärker entgegenwirken konnte.

Projekt Schmartwatch

Dieses Projekt ist eins von Bastis größeren Projekten. Eine Armbanduhr komplett aus
Elektronikkomponenten gebaut, mit Flex PCB und passenden Verschlüssen. Mit Bluetooth LE, ePaper und langer Batterielaufzeit.

Zu dem Projekt gehören neben der Firmware für die Uhr eine PC-Anwendung zum schnellen erstellen von Display-Daten und eine Android-App zum stellen der Uhr und um Notifications zur Verfügung zu stellen.

Chip der Woche

Diese Woche stellt Basti die Echtzeituhr M41T62 von STMicroelectronic. Diese RTC wird auf der Schmartwatch eingesetzt und hat dafür hervorragende Eigenschaften, wie einen niedrigen Betriebsstrom und ein einfaches I2C Interface.

Freitag, 18. Januar 2019

Kurzschluss Junkies [0x03]: Heiß und Feddich



Einführung

Vielen Dank für die über 1000 Downloads. Wir haben jetzt ein neues Software Setup (www.ultraschall.fm)

Was würde Rolf sagen?

Alexa und Sprachsteuerung war ein Thema mit dem Basti sich beruflich beschäftigt hat. Abends hat er dann einen Alexa Skill zusammen gebaut, der verdrehte Redewendungen zum Besten gibt.
Sagt einfach "Alexa, Starte Rolfs Weisheiten" und Alexa erzählt euch einen lustige Redewendung

Chris war EMV messen

Er erzählt ein wenig von den Tätigkeiten, die er dort durchgeführt hat. Er hat einen Tag Emission und den zweiten Tag Immission gemessen. Die Messung fand in einer 10 Meter Halle statt. In der Halle steht die Antenne 10 Meter vom Prüfling entfernt und misst die Elektromagnetischen Wellen in 1 und 4 Metern Höhe, die vom Prüfling ausgesendet werden. Chris hat nach der Sicherheitsnorm für Medizingeräte gemessen (EN60601). Die Einstrahlung wird ebenfalls mit einer Antenne vorgenommen, jedoch werden Elektromagnetische Wellen auf den Prüfling gesendet. Hier hat Chris mit einer Feldstärke von größer als 3V/m gemessen.

Minidrucker Hotend

Chris hat am Minidrucker weiterentwickelt und das Hotend zusammen gebaut. Er hat eine handelsübliche Düse an der Leiterplatte festgelötet. Auf der Leiterplatte sind die Heizwiderstände mit Lötzinn direkt mit der Düse verbunden. Das Hotend ist im Bild dieser Folge zu sehen. Die Schrittmotoren sind leider noch nicht funktionsfähig, wahrscheinlich sind die Treiber nicht richtig verlötet. Der Extruder soll mit einem kleinen Schrittmotor mit einer Untersetzung von 1:75 realisiert werden.

Chip der Woche TPS61099

Basti hat diesen DC/DC bereits in einigen Designs eingesetzt. Der Booster kann bis runter zu 0,7V arbeiten und dadurch die Batterie bis zum Schluss verwenden. Das schont die Umwelt. Und super klein ist er auch.

Mittwoch, 16. Januar 2019

Alexa Skill: Was würde Rolf sagen?

Icon made by monkik from
www.flaticon.com
Ich habe einen Arbeitskollegen. Nennen wir ihn der Einfachheit halber Rolf. Er verwendet eine interessante Neuinterpretierung von deutschen Redewendungen in seinem alltäglichen Sprachgebrauch. Über die Jahre haben sich einige dieser Kreationen angesammelt. Mit diesem Skill kann man man jederzeit diese und andere lustigen Wortkretaionen erleben.
 

"Alexa, starte Rolfs Weisheiten." 

Und schon gibt sie eines der Goldstücke zum Besten.


Montag, 7. Januar 2019

PCBWay Board Quality - Leiterplatte für das Differenzielle I2C Interface

Ich habe vor einigen Tagen einen Gutschein von PCBWay bekommen. Im Gegenzug dazu veröffentliche ich auf meiner Webseite eine Rezension. Dieser Artikel ist die Rezension zu den kostenlos erhaltenen Leiterplatten. Zuerst die fertig bestückte Leiterplatte bereits auf dem RaspberryPi montiert. Wenn ihr euch über den Link anmeldet und eine Bestellung aufgebt, bekomme ich einen kleinen Bonus für weitere Platinen.
Die Leiterplatte kam in einem Fedex Paket. Als Express. Innerhalb von 5 Tagen nach Bestellung. Unglaublich schneller Service auf Seiten von PCBWay. Deutsche Leiterplatten Hersteller haben ähnliche oder längere Lieferzeit bei weit höheren Kosten.
Im Paket waren Aufkleber, ein Weihnachtsgeschenk und die Leiterplatten. Das Weihnachtsgeschenk ist ein PCB Weihnachtsmann, der über Batterie betrieben leuchtet. Die Leiterplatten sind wie üblich eingeschweißt um sie vor Korrosion und Schmutz zu schützen.

Ausgepackt zeigt sich die hervorragende Qualität der Boards. Bei der ersten Inspektion lassen sich keine Fehler erkennen. Sowohl auf der Vorder- als auch auf der Rückseite. Auch die Abmessungen der Leiterplatte ist genau getroffen, so weit ich das mit dem Messschieber nachmessen kann. Die Bilder unten zeigen die Leiterplatte von beiden Seiten. Die Fräskontur ist wie in den Gerberdaten angegeben ausgeführt. Die Kerbe an der linken Seite, sowie der Schlitz sind wie gewünscht ausgeführt.
 
Ich habe neben den Bildern noch Aufnahmen mit dem Mikroskop gemacht. Dabei zeigen sich weitere Qualitätsmerkmale der Leiterplatten.
Das oben gezeigte Bild ist mit einem USB Mikrokop aufgenommen und zeigt 0,25mm breite Leiterbahnen und Vias mit 0,4mm Loch und 0,4mm Restring. Sehr gut ist zu erkennen, dass die Löcher der Vias sehr genau in der Mitte des Rings liegt. Das ist ein Zeichen für hohe Genauigkeit beim Referenzieren der Panels bei der Fertigung. Rechts neben dem Bild sind die originalen CAD-Daten des fotografierten Ausschnitts. Gut zu sehen ist auch, wie genau der Siebdruck zu den Kupferstrukturen ausgerichtet ist.
Dieser kleine Siebdruck zeigt, wie filigran PCBWay in der Lage ist Siebdruck auf die Platine zu bringen. Für Prototypen wird meistens kein Sieb hergestellt sondern mit einem Rasterverfahren gearbeitet. Dabei geht ein Druckkopf, ähnlich wie beim Tintenstrahldrucker, Zeile für Zeile die Platine entlang und positioniert tröpfchenweise Tinte, die Später entweder getrocknet, oder über UV-Licht ausgehärtet wird.
Zum Schluss noch einige Nahaufnahmen der Lötstellen. Rechts vor und links nach dem Löten sehen die Strukturen sehr gut aus. Auch mit dem Lötkolben war es sehr angenehm zu arbeiten. Die Pads sind gut verzinnt (HASL) und nehmen Lötzinn (bleihaltig und bleifrei) sehr gut an.
PCBWay ist also ein Leiterplattenhersteller, den ich sehr empfehlen kann. Ich habe auch schon bestückte Leiterplatten bestellt. Die waren von der Qualität auch sehr zufrieden stellend.

Hier noch ein Video von der Leiterplatte im Ofen


Donnerstag, 3. Januar 2019

Spielen mit Amazon Alexa - Developer Console

In den letzten Wochen habe ich mich in Amazons Alexa eingearbeitet. Das geht am besten, wenn man das Ganze anhand eines kleinen Projekts aufzieht. Das habe ich jetzt über Weihnachten in Ruhe fertig gestellt; oder zumindest in einen benutzbaren Zustand gebracht. Hier eine kleine Übersicht über das Projekt Genesis.

Der Alexa Skill

Nachdem man ein Entwickler-Konto bei Amazon angelegt hat, können wir einen Skill anlegen. Dieser hat dann mehrere Eigenschafte, die wir festlegen müssen.

Rufwort

Um den Skill zu aktivieren, benötigt man ein Rufwort. Das wird hier in der Developer Console eingetragen. wichtig ist dabei zu beachten, dass hier ein prägnanter, aber noch freier Name gewählt wird. Ob der Name noch frei ist, lässt sich im Skill Store von Amazon nachschauen.

Funktionen

Es gibt bereits eine Vorauswahl an Skills für kurze Nachrichten, Smart Home Integration oder Videos, die man als Vorlage nutzen kann. Ich habe mich für den Custom Skill entschieden, der ist frei konfigurierbar.Der Skill benötigt noch einen Namen und eine Sprache.
Jetzt kann der Skill bearbeitet werden. Auf der nächsten Seite befindet sich die Skill Einstellungen. Hier wird das Modell der Spracherkennung konfiguriert und die möglichen Sätze (Utterances / Äußerungen) mit den dazugehörigen Funktionen (Intents / Absichten) verbunden und beschrieben, welche Satzteile wichtige Informationen sind. So wird beschrieben, dass zum Beispiel aus dem Satz Mein Name ist Basti der Intent setName mit dem Parameter Basti abgeleitet werden soll.
Das funktioniert mit dem Web Interface ganz einfach. Hier ein Beispiel aus dem aktuellen Projekt.
Wenn alle Intents angelegt, einige Beispiel-Formulierungen hinterlegt und darin die Parameter (Slots) gekennzeichnet sind, kann das Modell erzeugt werden. Das dauert ein paar Minuten und läuft im Hintergrund ab.

Interfaces

Hier kann bestimmt werden, welche Funktionen unser Skill mitbringen soll. Zum Beispiel das Audio Player Interface, dass es uns erlaubt Audio Daten abzuspielen, oder der Video Player für Videos. 
Für die Echo Show Geräte kann auch ein Display Interface für die Anzeige von Text und Bildern auf dem Monitor gewählt werden. Für diesen Skill benötigen wir davon erst einmal nichts.

Endpoint

Um das Ganze mit Leben zu füllen, benötigen wir ein Programm, dass die Informationen, die Amazon über diesen Skill erzeugt verarbeiten kann. Das läuft bei mir unter Python. Ich verwende dazu die Bibliothek Alexandra. Zum Programm gibt es später mehr.

Test

Der Skill kann mit Hilfe von eingetippten oder gesprochenen Textstücken getestet werden. Hier kann man live die Daten, die Amazon zur Verfügung stellt und die Antwort der Software am Endpoint betrachten und debuggen. Wenn alles funktioniert wie gewünscht, kann mit der Vorbereitung der Veröffentlichung begonnen werden.

Distribution

Wenn alle diese Daten eingegeben sind, fehlen noch organisatorische Informationen. Unter dem Distribution Reiter können der öffentliche Name, eine Kurzbeschreibung, eine ausführliche Beschreibung und Beipielsätze eingetragen werden. Weiterhin benötigt der Skill ein Icon und eine Kategorie. Dieser Skill landet in Games. Schlagworte für die Suche dürfen auch nicht fehlen. Ebenso wenig wie die Privacy Policy und die Terms of Use.

Im nachfolgenden Reiter müssen wir noch die Rechtlichen Dinge klären. So muss angegeben werden, ob in dem Skill gegen reales Geld etwas gekauft werden kann, ob der Skill personenbezogene Daten speichert, ob er sich an Kinder unter 13 richtet und ob er Werbung enthält. Hier werden ebenfalls Angaben gemacht, wie der Skill von Amazon evaluiert und getestet werden kann.

Wenn alles das geklärt ist, legen wir fest, ob der Skill öffentlich, also für jeden auf den gleichen Endpunkt endet, oder ob wir kundenspezifisch einen Endpunkt festlegen wollen. Dieser Skill ist öffentlich.
Hier kann auch ein Beta Test gestartet werden. Denn der Skill sollte von einige Leuten getestet werden, um Fehler zu finden, die man selbst übersehen hat.

Eine Beschränkung auf Deutschland ist ebenfalls bei diesem Skill vorgesehen, denn er ist deutschsprachig. Ist also in Botswana nicht unbedingt nützlich.

Certification

Ist der Skill komplett, wird er erst automatisiert auf Vollständigkeit getestet, ist diese Validierung erfolgreich, kann er durch einen automatisierten Funktionstest getestet werden. Dabei wird der Endpunkt mit automatischen Aufrufen angesprochen und die Reaktion validiert. Wenn beide Tests gut getestet werden, kann der Skill schlussendlich bei Amazon zur Prüfung eingereicht werden. Dieser Prozess dauert allerdings ein paar Tage und man kann in dieser Zeit keine Veränderungen vornehmen. 

Erst wenn Amazon den Skill geprüft hat, erscheint er öffentliche im Store. Aber vorher kann ja der Beta Test herhalten. Dazu muss man seine Tester allerdings kennen.