Blog

Neue Homepage und Serverinfrastruktur

tl;dr: Eine Serverumstellung findet am Donnerstag den 12. Januar 2017 ab 08:00 Uhr statt. Bitte stellt euch auf eine Downtime vom bis zu 8-10 Stunden ein.

Nachdem wir gestern bereits über Änderungen am Baukastensystem gesprochen haben, wollen wir heute unsere neue Homepage vorstellen:

https://www.tinkerforge.com/static/img/_stuff/screenshot_new_hp_de.jpg

Aus Nutzersicht ändert sich inhaltlich nicht viel, die Startseite sowie die “Erklärseiten” für Neukunden wurden neu gestaltet und verbessert. Die restlichen Inhalte sind im wesentlichen gleich geblieben.

Überraschenderweise kommen mittlerweile ~30% der Besucher auf unserer Seite über Smart Phones oder Tablets. Dies ist vor allem überraschend da unsere Produkte ja normalerweise von einem Desktop PC aus benutzt/programmiert werden. Daher ist die neue Homepage, vor allem der Shop und die Dokumentation, nun viel einfacher von Mobilgeräten aus bedienbar.

Technisch wird sich auf der neuen Seite einiges ändern. So nutzen wir ein komplett neues CMS, was uns das erstellen von neuen Inhalten und Blogeinträgen und ähnliches erheblich vereinfachen wird. Des weiteren zieht die Domain “tinkerforge.com” auf einen neuen Server um. Womit wir eine physikalische Trennung zwischen tinkerforge.com, mailserver, brickv.com/iot-remote.com und tinkerunity.org haben. Falls die Besucherzahlen steigen und es in Zukunft zu Engpässen kommt ist es mit dem neuen System auch sehr einfach einzelne Datenbanken und Homepageteile auf weitere Server aufzuteilen.

Um die Umstellung durchzuführen müssen wir unsere komplette Nutzerdatenbank migrieren (dies hat in Tests ca. 4 Stunden gedauert). Zusätzlich müssen wir den DNS Eintrag von tinkerforge.com auf einer neue IP umleiten. Bis sich der neue Nameservereintrag herumgesprochen hat wird natürlich nochmal einige Zeit vergehen (ca. 6 Stunden). Unser Mailserver bleibt auf der alten IP und sollte entsprechend in der ganzen Zeit erreichbar bleiben.

Die Umstellung findet am Donnerstag den 12. Januar 2017 ab 08:00 Uhr statt. Bitte stellt euch auf eine Downtime vom 8-10 Stunden ein.

Ausblick auf 2017

Nach dem gestrigen Jahresrückblick wollen wir heute in die Zukunft schauen.

Besonders freuen wir uns auf eine neue Generation von Bricklets, welche wir euch heute vorstellen wollen.

Aktuell ist es so, dass auf den Bricklets je nach Funktion: Sensoren, Analog-Digital-Wandler, LEDs, Schnittstellenerweiterungen usw. verbaut sind, die direkt vom Prozessor des angeschlossenen Bricks gesteuert werden. Dieses Konzept hat den Vorteil, das für einfache Bricklets kein großer Bauteilaufwand notwendig ist. Technisch hat aktuell jedes Bricklet ein EEPROM welches Code für den jeweiligen Brick beinhaltet. Dieser Code wird von den Bricks in den eigenen Flash geschrieben und periodisch ausgeführt. Dadurch muss ein Brick nicht jedes einzelne Bricklet kennen und die große Vielfalt des Baukastensystems wird somit ermöglicht.

Nachteilig ist, dass der Prozessor auf dem Brick alle angeschlossenen Bricklets und seine eigene Brick-Funktionalität verarbeiten muss. Anwendungen, wie zum Beispiel Frequenzzähler o.ä., bei denen permanent auf ein Signal reagiert werden muss, sind daher schwer zu realisieren. Ein weiterer Nachteil ist, dass der Code auf den Bricklets nur zu den SAM3 und SAM4 Prozessoren von Atmel kompatibel ist. Früher konnten wir von einer langen Verfügbarkeit dieser Prozessoren ausgehen. Seit der Übernahme von Atmel durch Microchip ist dies leider nicht mehr sichergestellt.

Diese Probleme wollen wir durch eine neue Bricklet-Generation lösen. Die neuen Bricklets sind mit einem eigenen Co-Prozessor ausgestattet der nur zwei Aufgaben besitzt:

  • Die Bricklet-Funktionalität zu implementieren

  • Mit dem Brick zu kommunizieren

Der angeschlossene Brick wird somit deutlich entlastet, da er nur noch mit dem Bricklet kommunizieren muss und dabei recht flexibel entscheiden kann wann er das tun möchte. Die ersten neuen Bricklets dieser Generation werden der Nachfolger des GPS Bricklets und ein RS485 Bricklet sein.

https://www.tinkerforge.com/static/img/_stuff/gps_rs485.jpg

Der aktuelle Plan sieht es vor alle Bricklets innerhalb von drei Jahren Stück für Stück auf die neue Variante mit Co-Prozessor umzustellen.

Nach der Umstellung gibt es keine Abhängigkeiten mehr von bestimmten Prozessortypen und die komplette Kommunikation findet über fest definierte Protokolle statt. Somit wäre nach der Umstellung zum Beispiel auch ein Raspberry PI Shield möglich, mit dem ein RPI direkt mit den Bricklets kommunizieren könnte.

Über technische Details zu den Co-Prozessoren und verwendeten Protokollen werden wir später noch berichten. Über diesen Blogeintrag würden wir gerne noch Feedback zu einem speziellem Detail einholen: Dem Bricklet Stecker.

Aktuell nutzen wir 10 polige Stecker/Buchsen aus der JST SH Reihe. Die Buchse ist funktional und passt von der Größe her perfekt auf unsere 4x4cm Bricks. Sie hat allerdings den Nachteil dass der Stecker nicht einrastet. Wenn der Stecker schräg eingesteckt wird, kann es passieren das in der Buchse Pinne verbogen werden (dies kann zu Kurzschlüssen oder ähnlichem führen).

Für die Kommunikation mit den neuen Co-Prozessor Bricklets werden theoretisch nur 7 Leitungen benötigt. Dies ermöglicht es uns theoretisch auf andere Stecker umzusteigen, die komfortabler zu benutzen sind. So gibt es von JST die GH Reihe von Steckern:

https://www.tinkerforge.com/static/img/_stuff/jst_gh.jpg

Dieser Stecker hat eine Lasche die einrastet. Zusätzlich sind die Pinne in der Buchse doppelseitig oben und unten am Gehäuse angebracht. Dies erlaubt eine bessere Verbindung während Erschütterungen (es sind immer zwei Kontaktpunkte vorhanden) und es kann nie zu krummen Pinnen kommen. Die Haptik der Stecker ist toll, beim zusammenstecken gibt es sogar ein befriedigendes “Klick-Geräusch”.

Die Frage an euch ist nun: Hättet ihr es lieber das wir auf diesen neuen Stecker umsteigen, oder würdet ihr es vorziehen das wir im kompletten System bei den alten Steckern bleiben?

Szenario 1

  • Die Stecker bleiben so wie sie sind für alle Module.

  • Es gibt die normalen 10-Pol zu 10-Pol Bricklet-Kabel für die alte sowie neue Bricklet Generation.

Szenario 2

  • Die Stecker auf den neuen Co-Prozessor Bricklets sind 7-Pol JST GH.

  • Es gibt zwei Bricklet-Kabel-Varianten: 10-Pol zu 10-Pol für alte Bricklets und 10-Pol zu 7-Pol für die neue Bricklet Generation.

  • Nachdem alle Bricklets umgestellt sind (vielleicht in 3 Jahren) können die Stecker auf den Bricks auch auf 7-Pol umgestellt werden.

  • Danach gibt es dann nur noch 7-Pol zu 7-Pol Bricklet-Kabel.

In beiden Szenarien sind die alten Bricklets und die Bricklets der neuen Generation komplett kompatibel zueinander und zu den alten Bricks.

Welches Szenario würdet ihr vorziehen? Bitte teilt uns eure Meinung dazu im Forum mit. Danke!

Rückblick auf 2016

Das Jahr 2016 ist zu Ende und wir möchten uns bei euch für ein aufregendes und erfolgreiches Jahr bedanken!

2016 konnten wir acht neue Bricklets veröffentlichen:

https://www.tinkerforge.com/en/doc/_images/Bricklets/bricklet_can_tilted_600.jpg

Zusätzlich gibt es die neue WIFI Extension 2.0 sowie die neue Ethernet Extension mit und ohne PoE.

https://www.tinkerforge.com/en/doc/_images/Extensions/extension_wifi2_hand_600.jpg

Wir waren auf drei Messe vertreten:

https://www.tinkerforge.com/static/img/_stuff/cebit_2016/cebit_2016_day1_4_small.jpg

Immer wieder kommt es vor, dass wir von Kunden angesprochen werden die einen Prototypen mit Bricks und Bricklets entwickeln. Auf Basis des Prototypen wollen sie ein Produkt entwickelt haben, welches in großer Stückzahl hergestellt werden soll. Diese Projekte nennen wir intern “Industrieprojekte”.

Einen Großteil unserer Zeit investierten wir 2016 in Industrieprojekte. Unter anderem haben wir für einen großen deutschen Energieversorger ein Sensorsystem mit Steuereinheit entwickelten. Das System kommt in Elektrofahrzeugladesäulen und intelligenten Straßenbeleuchtungen zum Einsatz.

Für 2017 haben wir uns vorgenommen das Baukastensystem stärker voran zu treiben. Dafür haben wir Ende 2016 zwei zusätzliche Vollzeitkräfte eingestellt!

Eine detaillierte Liste über Änderungen, die wir in Zukunft am Baukasten planen, werden wir morgen im Blog veröffentlichen. Wir freuen uns schon auf euer Feedback diesbezüglich.

Silent Stepper Brick

Heute möchten wir euch von der langen Geschichte der Entwicklung des Silent Stepper Bricks berichten. Bei unserem aktuellen Stepper Brick erzeugt die Steuerung zusammen mit dem Motor, wie bei den meisten Standard-Schrittmotorsteuerungen ebenfalls, Resonanzen, die hörbar sind. Ursache dieser Resonanzen ist die Motorinduktivität verbunden mit einer einfachen Stromregelung. Im Vollschrittbetrieb sind die Geräusche meist am lautesten und werden mit steigenden Mikroschritten (1/4, 1/8,…) leiser. Je nach Anwendung können die Geräusche des Schrittmotors auch trotz Microstepping störend sein. Dies war der Grund für uns, sich mit der Entwicklung einer “leisen” Alternative zu beschäftigen, dem Silent Stepper Brick.

Entwicklung Teil 1

https://www.tinkerforge.com/static/img/_stuff/silent_stepper.jpg

Da es sich um ein Brick handeln sollte, war die Größe des Silent Steppers vorgegeben: 4x4cm. Nach Abzug der notwendigen Fläche für die Stapelstecker, die Anschlüsse und dem Mikrocontroller blieb nur eine geringe Fläche für den eigentlichen Treiber übrig, so dass nur eine integrierte Treiberlösung in Betracht kam. Trinamic bietet mit dem TMC2100 ein Treiber-IC an, welcher verschiedene Stromregelungen unterstützt und einen geräuschlosen Betrieb ermöglicht (Stealth Chop). Der Treiber unterstützt einen maximalen Phasenstrom von bis zu 1,2A (Dauerstrom bei guter Kühlung) und bis zu 256 Mikroschritten. Motoren können somit sehr präzise bewegt werden. Unsere angebotenen Schrittmotoren sind genau für diese Ströme ausgelegt.

Mit dem TMC2100 Treiber begannen wir die Entwicklung unseres Prototypen. Der erste Prototyp hatte Probleme bei höheren Motorgeschwindigkeiten: Irgendwann brach das Drehmoment zusammen und der Motor stoppte schlagartig beim Beschleunigen. Nach längerer Fehlersuche gab es hierfür zwei Gründe:

  1. Unser Layout der Leiterplatte war nicht optimal, so dass wir einen neuen Prototypen entwickeln mussten.

  2. Schrittmotoren besitzen eine Resonanzfrequenz. Wenn man in diese hereingerät, dann bricht das Drehmoment schlagartig zusammen. Man löst dieses Problem indem man schnell über diesen Bereich hinweg beschleunigt. Auf Grund der Probleme mit dem Layout war uns erst nicht klar das wir dort ein ganz normales Phänomen sehen, wir haben lange Zeit gedacht es gibt noch weitere Probleme mit dem Layout o.ä.

Nachdem wir diese Probleme überwunden hatten und die Entwicklung fast zu 100% abgeschlossen war, gab es eine Preisanpassung bei den Treibern: Neben dem TMC2100 gibt es den TMC2130. Dieser Treiber besitzt deutlich mehr Einstellungsmöglichkeiten und viele weitere spannende Features. Als wir mit der Entwicklung begonnen haben war der TMC2130 noch deutlich teurer als der TMC2100. Daher hatten wir uns für den einfacheren TMC2100 entschieden. Da nun aber die beiden Treiber nahezu gleich teuer sind, beschlossen wir den TMC2130 zu nutzen. Damit begann die Entwicklung quasi von vorne.

Der TMC2100 wurde recht simpel über wenige Pins konfiguriert. So gab es auch nur wenig Einstellungsmöglichkeiten. Der TMC2130 verfügt über eine SPI Schnittstelle und erheblich mehr Einstellungsmöglichkeiten. Die Software musste dafür zum großen Teil komplett neu geschrieben werden und es mussten Erfahrungen mit den verschiedenen Einstellungsmöglichkeiten gewonnen werden. Da es sich bei dem Silent Stepper Projekt allgemein um ein niedrig priorisiertes Projekt handelte, führte dies dazu, dass sich das Projekt hinzog. Viele Erfahrungen konnte man auch erst während der Entwicklung gewinnen. So besitzt der TMC2130 zum Beispiel eine interne Clock, mit der die Stromregelung usw. durchgeführt wird. Je nach Anwendung ist diese aber zu ungenau, da sie unter anderem sehr temperaturabhängig ist. Für Anwendungsbereiche die eine höhere Präzision erfordern verfügt der IC über einen externen Takteingang, den wir über den Prozessor mit einem präzisem Taktsignal versorgen. Dafür war natürlich ein weiterer Prototyp notwendig.

EMV Labor

Während der Entwicklung unserer Produkte prüfen wir auch die elektromagnetische Verträglichkeit. Da das Design und die Software einen großen Einfluss darauf haben, kann diese abschließend erst am Ende der Entwicklungsphase durchgeführt werden. So haben zum Beispiel Taktleitungen, Busleitungen usw. einen Einfluss.

Bisher besuchten wir dazu öfters ein EMV Labor. Da Messungen im Labor aber vergleichsweise teuer sind und auch viel Zeit kosten, haben wir uns ein eigenes kleines Labor eingerichtet.

https://www.tinkerforge.com/static/img/_stuff/laboratory1.jpghttps://www.tinkerforge.com/static/img/_stuff/laboratory2.jpg

Dazu nutzen wir einen Rigol DSA815 Spektrumanalyzer, eine TEM Zelle und ein großes Metallgehäuse um den Messaufbau etwas zu schirmen. Mit diesem Aufbau erreicht man längst nicht die Messqualität, die man in einem richtigen EMV Labor erreicht. Man kann aber erkennen, falls es Messwerte gibt, die die zulässigen Grenzwerte überschreiten könnten. Somit können Probleme oftmals schon vor den Tests im EMV Labor erkannt werden.

Der Spektrumanalyzer zeigt für den ausgewählten Frequenzbereich, die jeweils zur Frequenz gehörene Amplitude. Sprich die Stärke der Abstrahlung zu jeder einzelnen Frequenz. Ohne Abschirmung misst man zusätzlich zu der Störausstrahlung des Testobjekts aber auch Radiosender, das GSM Netz, Funkfernbedienungen usw. Mit unserer primitiven Abschirmung werden diese externe Quellen etwas abgeschirmt.

Es kann vorkommen, dass eine Signalleitung, die mit einer bestimmten Frequenz getaktet wird, abstrahlt. Typischerweise sieht man dann Frequenzvielfache dieser Leitung auf dem Spektrumanalyzer. In dem nachfolgenden Foto sind zum Beispiel Vielfache einer Frequenz von 12,8 MHz erkennbar.

https://www.tinkerforge.com/static/img/_stuff/spectrum_peak.jpg

Erkennt man diese Vielfache, dann kann man einfach feststellen wer wohl der Verursacher ist, wenn die Grundfrequenz nur an einer Steller der Schaltung genutzt wird. Über sogenannte Nahfeldsonden, Antennen mit denen man örtlich begrenzt die Abstrahlung messen kann, kann man dann sehr zielgenau die verursachende Leiterbahn lokalisieren. Das Aussenden von Störungen kann verschiedene Gründe haben: Schlechte Leiterbahnführung, zu steile Signalflanken, Masseprobleme usw. Manchmal hat man die Möglichkeit über eine Änderung von Bauteilen die Abstrahlung zu beeinflussen (Beispiel: Serienwiderstand in einer Taktleitung). Oftmals muss aber auch das Layout überarbeitet werden, so dass eine neue Leiterkarte benötigt wird.

Entwicklung Teil 2

Leider nicht ganz ohne Grund haben wir zuvor geschrieben wie wir die Messungen zur Störausstrahlung hier bei uns durchführen. Die Entwicklung des Silent Stepper Bricks war fast vollständig abgeschlossen und wir standen kurz davor die Leiterkarten zu bestellen um die Silent Stepper Bricks noch dieses Jahr produzieren zu können. Als letzten Schritt prüften wir den Silent Stepper hinsichtlich seiner Störausstrahlung. Dazu nutzten wir für erste Tests unser eigenes kleines Labor. Leider sahen die Messergebnisse nicht so aus wie wir es erhofft haben.

Man sah deutlich die Vielfache des Taktsignals (siehe Bild oben). Die Vielfachen waren zwar knapp unter den eingestellten Grenzwert aber das Risiko damit im Labor durchzufallen war uns einfach zu groß. Auch ist unser Anspruch, ein vernünftiges Design zu machen bei dem so welche Peaks nicht vorkommen.

Wir hatten extra einen Serienwiderstand eingeplant um die Flankensteilheit des Taktsignals einstellen zu können, mit der Hoffnung damit die Störaussendung des Signals zu kontrollieren. Leider ließen sich damit die Effekte nicht weit genug reduzieren. Also bestellten wir Leiterkarten für einen weiteren Prototypen. Mit jedem Prototypen vergehen aber mindestens zwei weitere Wochen. Dazu kommt ein Tag, den man zum Aufbau benötigt und dann meist 1/2 - 1 Tag um alle Lötfehler zu finden.

Von den neuen Prototypen bestellten wir direkt zwei Varianten eine mit einer besseren Taktsignal-Leiterbahnführung und mehr Filtermöglichkeiten und eine Variante, die ein ganz anderes Masselagenlayout besitzt. Bei den Prüfungen stellte sich heraus, das unsere Überlegungen zu den Masselagen schon korrekt waren (die Änderungen führten zu einer Verschlechterung) und wir konnten über die neuen Filtermöglichkeiten die Störungen weiter minimieren. Damit ist nun sichergestellt, das wir die notwendigen Grenzwerte locker einhalten.

In Summe haben wir 8 Prototypen für die Entwicklung des Silent Stepper Brick benötigt:

https://www.tinkerforge.com/static/img/_stuff/silent_stepper_brick_8_prototypes.jpg

Wie geht es nun weiter?

Die Leiterkarten werden nun vorbereitet und nächste Woche bestellt. Wegen Weihnachten und Neujahr wird sich die Lieferung der Karten verzögern, so dass wir davon ausgehen Anfang März den Silent Stepper Bricks offiziell vorstellen zu können. Freut euch auf ein tolles Vergleichsvideo zwischen alten und neuem Stepper Brick.

WIFI Extension Firmware 2.0.1

Für die WIFI Extension 2.0 steht ab sofort Firmware Version 2.0.1 zur Verfügung.

Die neue Firmware für die WIFI Extension hat jetzt eine Web-Oberfläche. Über diese kann der Status der WIFI Extension eingesehen werden und die Konfiguration stattfinden (wie im Brick Viewer).

https://www.tinkerforge.com/de/doc/_images/Extensions/extension_wifi2_web_interface_status.jpghttps://www.tinkerforge.com/de/doc/_images/Extensions/extension_wifi2_web_interface_settings.jpg

Zusätzlich gibt es noch einige kleine Bug fixes, z.B. funktionierte der Betrieb im Access Point Modus zusammen mit einer Statischen IP mit der Firmware 2.0.0 nicht korrekt.

Die nächste Firmware Version der WIFI Extension wird eine Mesh-Netzwerk Funktionalität hinzufügen. Ihr dürft also gespannt bleiben!