Simon hat gefragt wie wir zum Fachwissengekommen sind. Ob es durch die Hochschule kam. Kurz und knapp: Nein. Dort wird meistens nur alles theoretisch betrachtet. Fachwissen kommt durch Praxis: Learning by Doing. Geht auch gut mit einem Freund.
Schmartwatch geht weiter. Das Display-Update-Pattern ist noch fehlerhaft. Es geht weiter mit der Software entwicklung.
Common-Sense-Tipps
LCSC und JLSPCB ist ein guter und billiger Leiterplatten und Bauteilelieferant.
Legt gefundene Datenblätter, Schaltbilder, Beispielcodes usw. im Moment des findens Sauber ab. Ermöglich zukünftig die gefundene Information gleich weiter zu verwenden und nicht neu suchen zu müssen.
Design Contest
Die erste Leiterplatte „USER“ und Bauteile sind unterwegs. Es wird ein dynamisches und interaktives Spielfeld. Aufgebaut aus hexagonalen Kacheln, die miteinander kommunizieren. Mal sehen wie das Klappt und was uns noch alles Einfällt. Es wird mehrere „Tiles“ geben welche magnetisch miteinander verbunden werden. Kommunikation mittel OneWireUART. Interessant wird das Datenrouting über die Tiles. Das Display wird ein 1,3″ IPS Display.
Chip der Woche
CSD13380F3 Nexfet. Mosfet in supermini, inklusieve eingebautem Gate-Widerstand. Die Halbleiterantwort auf passive 008004 Bauelemente.
Bastian ist zurück aus Hawaii. Neuer Tischaufbau wirkt aufgeräumter.
Neue Evalboardverlosung: Es geht um das SimpleLink von Ti. EXP432 Es ist eine kleine Ideenabgabe für den Design Content erwünscht. Wir wollen am Design Contest von PCBWAY mitmachen.
Kleine Ideen gibt es schon. Ein Brettspiel ala Die Siedler.
Common-Sense-Tipps
Kleines Minikonzept ist immer ratsam.
Funktionierende Software ist erst mal besser als eine Software welche in ihrer Architektur sauber ist und nicht funktioniert / existiert.
Schmart Watch
Das Schmartwatch Projekt gehet weiter. Niedertemperatur Lotpaste und RigidFlex PCB waren die Schlüssel. Kleine manuelle Nacharbeit um die FlexPCB wieder gerade zu machen war notwendig. Kleiner Schaltugsfehler. Mal wieder der Tip. Schaut euch die Footprints nochmal, nochmal und evtl. nochmal an. Kleines Softwareproblem. I2C scheint sich in die Quere zu kommen. Das Gehäuse ist der nächste Schritt
Schmart Fliege
Bast hat eine RGB-Smartfliege für seine Hochzeit gebaut. Chris hat davon nichts mitbekommen und sich über die Überarschung gefreut.
Idea to Product
Chris wird einen Prototyp basteln. Und die Infos dazu auf dem Blog posten.
Chip der Woche
Von Chris gibts keinen eigenlichen Chip an dieser Stelle. Eher eine Empfehlung. Wenn ihr einen Microcontroller aussucht oder euch für einen entschieden habt, baut vorher die Software zusammen und drückt auf bauen.
Ich habe im Oktober geheiratet und der werte Herr Brutzler war mein Trauzeuge. Als Elektronik Nerd darf natürlich auch ein subtiler Hinweis darauf nicht fehlen. Daher habe ich die PCBowTie, oder auch Blinkefliege entwickelt. Dieser wunderschöne Halsschmuck kann anstelle einer regulären Fliege oder Krawatte getragen werden. Im Gegensatz zur gewöhnlichen Stoff-Variante kommt sie allerdings mit einem Akku und WLAN daher.
Der Akku ermöglicht ein unauffällig auffälliges Blinken und das WLAN sorgt für die notwendige Updatefähigkeit. Wie jedes Projekt wurde der Funktionsumfang zu Beginn der Planungsphase festgelegt. Ziel des Projektes war:
Eine Fliegenförmiges PCB mit 1-wire RGB-LEDS
Akku-Versorgung aus kleinem LiPo (Eine Zelle, 3,7V)
Embedded Python Interpreter für die Applikation
WLAN Synchronisation aller Fliegen in Reichweite
Farb und Musterspiel abhängig der Lautstärke/Spektrum
Mit diesen Zielen ging es dann los. Um die WLAN Funktion zu unterstützen, habe ich auf die altbewährten ESP8266 Module zurückgegriffen. Aus einem anderen Projcket habe ich noch APA106 8mm RGB LEDS mit THT Technologie übrig. Diese sind dann also zur Beleuchtung eingesetzt worden. Micro Python wurde in diesem Blog bereits mehrfach erwähnt und kommt bereits mit allen notwendigen Funktionen für den ESP8266. Also schnell noch ein Mikrophon dazu und etwas, dass die Akku Spannung auf 5V hochsetzt um die LEDs adequat zu versorgen.
Für die Versorgungsspannung kam ein TPS61022 von TI zum Einsatz. Dieser kleine aber schlagkräftige DC/DC Konverter kann aus der Batterie die notwendige Energie für die Versorgung der LEDs und den ESP zur Verfügung stellen. Um den ESP8266 zu versorgen benötigen wir noch zusätzlich 3,3V. Die stellt uns ein TLV70033 zur Verfügung. Mit einem NPN-Doppeltransistor wie dem BC846BS kann die automatische Resetschaltung für den Firmwaredownload über UART aufgebaut werden. Eine Hand voll (35 Stück) Kondensatoren mit 100nF und 1µF Kapazität und die Schaltung ist vollständig.
Das Layout wurde von der Fliegenform vorgegeben. Die genauen Abmaße haben sich aus der Größe der LEDs ergeben. Die Kaskade der LEDs war 5-4-3-2-2-3-4-5 und wurde im 10mm Raster platziert. Somit ergab sich für die Höhe der Leiterplatte 48,5mm. Das Funkmodul mit dem ESP wurde in der Mitte platziert und daraus ergab sich eine Länge von 104mm für die Leiterplatte. An der schmalsten Stelle ist die Fliege 20mm breit und kann somit das Funkmodul aufnehmen, das ist nämlich nur 16mm breit. Die Schaltung für die 5V Spannungserzeugung wird auf der Rückseite zwischen die LEDs gesetzt. Ich habe mich für ein 4-Lagen Layout entschieden. Außen sind die Signale und Innen die Versorgung (5V und GND) Für das Mikrophon habe ich eine Pfostenleiste vorgesehen, 3,3V GND und Signal. Diese Spannung wurde dann mit einem Spannungsteiler auf 1V limitiert. 1V entspricht 1024 oder 10 bit im ADC des ESP8266.
Die restliche Beschaltung wurde auf die Gegenüberliegende Seite des Funkmoduls gesetzt, ebenso wie der Programmieranschluss für den Firmwaredownload über UART.
Mit schwarzem Lötstopplack und weißem Siebdruck war auch die Leiterplatte hübsch anzuschauen. Mit Hilfe alter Leiterplatten habe ich eine Halterung für die Lötpastendruck aufgebaut. Hier konnten alle 5 Leiterplatten mit Lötpaste versehen werden ohne jedes mal aufwändig die Schablone neu zu positionieren. Danach habe ich händisch die SMD Bauteile gesetzt und im Reflowofen verlötet. Die LEDs wurde ebenfalls händisch abgelängt, bestückt und verlötet. Zeitaufwand pro Fliege ca. 2 Stunden.
Um das Einlöten der LEDs so leicht wie möglich zu gestalten habe ich von dem Kollegen von cncprint eine Vorrichtung gefräst bekommen. Darin ließ sich die Fliege mit allen bestückten LEDs super umdrehen und verlöten.
Wie es bei einem Projekt vorkommt, wenn zu wenig Zeit vorhanden ist und zu wenig Reviews stattfinden, hat sich auch diesmal ein Fehler eingeschlichen. Wenn man den DRC beachtet und die Fehler genauer anschaut, dann hätte einem auffallen können, dass die Versorgungsspannung nicht mit dem DC/DC Konverter verbungen ist. Hier muss also bei jeder Baugruppe ein ‚Aktivierungsdraht‘ angelötet werden.
Für die von mir ausgewählten Akkus gab es leider keine SMT-Buchsen und so musste ich jedem Akku einen neuen Stecker verpassen. Die von mir gewählten Stecker (ich hatte dafür Gehäuse, Kontakte und eine Crimpzange) waren aus der JST PH Serie. Leider sind die Gehäuse hinten nicht für so dicke Leitungen ausgelegt, wie sie am LiPo verdendet wurden und so haben die Kontakte ganz leicht hinten rausgeschaut, obwohl die Rastnase vorn eingerastet ist. Das ist bei einem Stationären Gerät nicht so schlimm, wie bei einem Portablen, das zusätzlich noch von einem LiPo versorgt wird. Und der LiPo ist auch noch in Kopfnähe, bzw. direkt am Hals. Also habe ich die Kontakte mit Silikon verklebt. Das hat auch beim Entfernen des Akkus geholfen, da man relativ fest an den Leitungen ziehen muss um sie aus der Buchse zu bekommen.
Die Hardware stand und es ging darum die Software zu entwickeln. Bei dem gewählten Pyhton Interpreter ist beriets eine große Menge an Bibliotheken verfügbar gewesen und somit sind war der benötigte Code für eine Initiale Funktion recht übersichtlich. Mit der NeoPixel Bibliothek konnten die LEDs angesteuert und mit WLAN konnten die Scripte über Funk erneuert werden. Mit drei verschiedenen Mustern, die alle in der gleichen Farbe abliefen ist die erste Version der Blinkfliege fertiggestellt worden. Darrauf folgte eine zweite Version, die dann bereits mir Coroutinen arbeitete. Eine für das Samplen des ADC, eine für die Ansteuerung der LEDs und eine für die Debugausgabe. Hier habe ich dann begonnen ein WLAN Broadcast System zu erstellen, dass auf Basis einer Master-Fliege die Animationsframes vorgibt und sie allen anderen zur Verfügung stellt. Das hat aber nicht unbedingt zuverlässig funktioniert (UDP und WLAN ist nicht für seine zuverlässige Datenübertragung bekannt).
Ich habe dann zusammen mit Raphael gearbeitet, um zumindest eine Funktionsfähige Version für die Hochzeit zu bekommen. Also haben wir versucht auf MQTT umzusteigen. Ein Mobiltelefon mit MQTT-Broker und die Fliegen als Clients. Da kam es aber initial zu einigen Problemen und wir haben nicht gesehen, dass es innerhalb einiger Stunden zu einem Ergebnis kommen kann. Gleiches ist uns auch beim Sound passiert. Das von mir ausgewählte Mikrophon hat komische Signale geliefert (alle 100ms vollausschlag für 1ms) und war deshalb nicht ohne Vorverarbeitung einsatzfähig. Diese hätte aber einiges an Rechenzeit des ESP gekostet und noch viel mehr an Programmierarbeit bedeutet.
Auf Grund des relativ engen Zeitplans (zwei Tage vor der Hochzeit) habe ich mich entschieden den ganzen WLAN Teil sowie Sound vorerst aufzugeben und die verschiedenen Animationen mir zufälligen Farben auf jeder Fliege unabhängig abzuspielen. Damit war eine Funktion gegeben und die Fliege konnte auf der Hochzeit zum Einsatz kommen. Der Battereilaufzeit hat das auch gut getan. Die lag bei ca. 7 Stunden mit einem 350mAh Akku.
Hier noch eine kleine Vorschau auf einige der Patterns, die im Moment unterstützt werden. Wenn es Interesse an einer neuen Version in einer höheren Auflage gibt, dann werde ich mich den Themen WLAN und Sound nocheinmal annehmen.
Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.