ftRoboExt: Gehäuse

Nachdem Hardware und Software mehr oder weniger fertig sind, kam jetzt das Gehäuse an die Reihe. Der Plan stand ja schon seit der anfänglichen Planung: Das Modul sollte in eine 60er Kassette. Die Kassette stand auch schon seit dem Baubeginn hier bereit, jetzt mussten noch die Löcher in den Deckel 🙂

Dabei gab es zwei Probleme: Zum einen ist der Deckel aus Acrylglas, bei dem ich mir nicht ganz sicher war, wie gut man das bohren kann, zum anderen sind die Bundhülsen nicht ganz gerade eingelötet, so dass sich nicht wirklich ein Raster ergibt, sondern alle Löscher ein bisschen versetzt sind. Um das Problem zu lösen habe ich einfach den Deckel auf die Hülsen gelegt und dann angezeichnet, aber es war doch recht schwierig, die Markierungen auf dem Glas zu sehen, zum die Bohrmaschine leider nicht gerade an der bestbeleuchteten Ecke unserer Werkstatt steht…

Das Bohren selber war viel einfacher als gedacht. Wichtig ist nur, sehr langsam vorzugehen, und nicht zu stark zu drücken, ansonsten reißt das Glas, was mir auch ein paar Mal passiert ist. Zum Glück sind es aber nur kleine Stellen. Ich hatte befürchtet, dass die Löcher nach unten ausfransen würden, und daher das Glas von oben gebohrt. Das war insofern unpraktisch, als ich das Glas so nicht komplett auf die Unterlage auflegen konnte, weil der Deckel ja noch kleine Ecken zum festklemmen hat. Dadurch, dass der Deckel ein bisschen in der Luft hin, wurde das Problem mit dem Reißen vermutlich noch deutlich verstärkt. Ausgefranst sind die Löcher überhaupt nicht, ich hätte also auch von unten bohren können. Wieder was gelernt 😉

Weiterlesen

ftRoboExt: Fortschritt

Ja, die kleinen Fehler sind immer die gemeinsten. Das war ungefähr das Motto der letzten Runde Entwicklung an meinem ftRoboExt.

Wie üblich bei solchen gemeinen Problemen war der Fehler schwer einzugrenzen, ab und zu funktionierte die SPI-Verbindung zum Robo Interface ohne Probleme, in den meisten Fällen tat mein Controller aber gar nichts. Es lag natürlich an eigener Blödheit, ich hatte das Datenblatt nicht richtig gelesen, dort steht es im Abschnitt 19.3.1

When the SPI is configured as a Slave, the Slave Select (SS) pin is always input. When SS is held low, the SPI is activated, and MISO becomes an output if configured so by the user. All other pins are inputs. When SS is driven high, all pins are inputs, and the SPI is passive, which means that it will not receive incoming data. Note that the SPI logic will be reset once the SS pin is driven high.

Weiterlesen

Ubuntu 16.04: MySQL startet nicht mehr – Die Lösung

MySQL scheint irgendwie gerne nach einem Update des Systems Probleme zu machen, wie schon damals bei Debian Squeeze. Ich habe das Update heute installiert, und dabei schon ein paar Fehler in Richtung MySQL bekommen, mir dabei aber erst mal nichts gedacht.

Nach dem Upgrade lief dann aber der MySQL-Server nicht mehr, und lies sich auch nicht mehr starten. Ein aptide uprade meinte auch, MySQL wäre nicht richtig konfiguriert, aber lösen konnte es das Problem auch nicht.



Setting up mysql-server-5.7 (5.7.11-0ubuntu6) ...
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                   Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Weiterlesen

Kein Aprilscherz: Windows bekommt eine Linux-Subsystem

Tux schaut aus dem Fenster. (Quelle: heise)

Ich muss zugeben, als ich diese Meldung heute bei heise gesehen habe, habe ich wirklich eine Weile gedacht, sie hätten ihren diesjährigen Aprilscherz einen Tag zu früh veröffentlicht: Windows 10 bekommt ein Linux-Subsystem, und wird Linux-Binaries nativ ausführen können! Es ist keine VM im Hintergrund aktiv, es ist „einfach nur“ ein Wrapper, der die Linux Systemaufrufe auf die äquivalenten Windows-Versionen umbiegt. Also quasi ein inverses Wine.

Ich denke, das Zitat von Mark Shuttleworth fasst es ganz gut zusammen: Weiterlesen

ftRoboExt: Entwurf

…und am Anfang war der Entwurf. Ein eigenes Erweiterungsmodul für das Robo Interface soll es also werden. (Siehe hier für mehr Infos)

Grundlage sollte natürlich ein AVR sein, weil ich die am Besten kenne, und man dann auch immer gleich die Arduino Bibliotheken mitbenutzen kann 😉 Das Protokoll ist im Wesentlichen ein SPI Bus mit einer speziellen Bestätigungsleitung, das sollte sich also auch problemlos umsetzen lassen. Da die Schnittstelle mit 3,3V betrieben wird sollte auch das gesamte Modul mit dieser Spannung laufen. Die Motoren müssen aber natürlich mit 9V betrieben werden, so dass ein Spannungsregler nötig ist. Für die Motoren sind auch Treiber nötig, da habe ich den TLE4207 eingesetzt, mit dem anderen schon gute Erfahrungen gemacht haben.

2016-03-13 21_10_03-1 Board - C__Users_Niklas_Documents_eagle_ftRoboExt_ftRoboExt.brd - EAGLE 7.5.0Die nächste spannende Frage: In was für ein Gehäuse soll das Modul eingebaut werden? Ein Gehäuse wollte ich auf jeden Fall haben, einfach damit sich das ganze gut im Modell unterbringen lässt. Nach ein wenig Suche bin ich auf die Kassetten gestoßen, die gerade dazu einladen, Dinge dort hineinzubauen. Mit 60x60mm Grundfläche ist dort aber natürlich nicht viel Platz drin, die originalen Module haben etwa die doppelte Fläche. Nach ein wenig Überlegung kam ich dann zu dem Schluss, das gesamte Modul in SMD-Technik zu bauen, auf diese Weise kann ich die Platine zweiseitig bestücken; anders ist es kaum möglich, alles in der kleinen Box unter zu bringen.

Weiterlesen

fischertechnik Hochregallager und eine Robo Extension im Eigenbau

Vor inzwischen doch schon einiger Zeit hatte ich bei einem Besuch der Hannover ein Modell aus fischertechnik gesehen, was dort mit einer SPS gesteuert wurde. Irgendwie hat das mein Interesse an fischertechnik wieder geweckt (nachdem ich sie ja vor einiger Zeit schon mal wieder rausgekramt hatte). Geplant war ein Hochregallager, ein scheinbar ziemlich beliebtes Modell.

Nach ein wenig Gebastel war dann auch eine erste Version fertig (mit tatkräftiger Unterstützung ;)), die im Grunde auch funktionierte. Aber ich wollte mehr 👿 Äh naja, ich wollte jedenfalls gerne noch eine Version bauen, bei der sich der Hauptarm drehen konnte, und ich wollte auch gerne einen Greifer der sich öffnen und schließen konnte, statt nur von unten unter die Objekte zu fahren und sie anzuheben (ich habe leider keine Fotos von der alten Version gemacht). Da zu der Zeit Knobloch, der Einzelteilhändler gerade einen Abverkauf hatte, habe ich mich dort noch mal mit Teilen eingedeckt, speziell den Teilen für einen Greifer.

Weiterlesen

Kurztipp: In Pidgin eigenen Namen ändern

Eine Sache hat mich beim chatten mit Pidgin über XMPP schon immer gestört: Für meine eigenen Nachrichten wurde ein furchtbar langer Name angezeigt. Die anderen Chat-Partner kann man ja relativ einfach in der Buddy-Liste umbenennen, aber für mich selbst habe ich keine Option gefunden.

2016-01-25 15_05_50-TimHeute hat es mich dann noch mal genervt, und ich habe die Einstellung gefunden: Sie ist unter Konten/…/Konto bearbeiten/Lokaler Alias:

2016-01-31 11_11_15-Konto bearbeitenDamit sieht es dann so schön aus, wie in der unteren Hälfte des ersten Bildes. Muss man auch erst mal finden 😉 Ich frage mich noch, was „Benachrichtigung über neue Mails“ sein soll, das klingt bei einem Chat-Programm komisch…

Weiterlesen

Garmin Communicator Plugin und die AddOn-Signierung in Firefox

Mit Firefox 43 hat Mozilla ernst gemacht: Unsignierte AddOn werden deaktiviert, und lassen sich auch nicht mehr aktivieren. Ich dachte immer, das das kein Problem für mich sein sollte, ich konnte mich nicht daran erinnern, jemals ein unsigniertes AddOn installiert zu haben. Heute wies mich dann aber eine freundliche gelbe Leiste auf das Gegenteil hin: Um Wegpunkte von geocaching.com direkt an mein Garmin GPS-Gerät zu versenden braucht man ein AddOn von Garmin, und das ist leider unsigniert. Garmin selbst redet auf der Download-Seite nur Quatsch:

Als Hilfe hat Garmin eine sichere Verknüpfung erstellt, um den Internet Explorer-Webbrowser auf Ihrem Computer zu öffnen und Sie sicher zur gewünschten Seite bei Garmin.com weiterzuleiten.

Weiterlesen

Kurztipp: UPDATE mit ORDER BY in SQL

Heute stand ein kleines Datenbank-Problem an, das eine „kreative“ Lösung erforderte. Die Sortierung von ein paar Elementen basierte auf der Datenbank-ID, aber ein neues Element musste unbedingt in die Mitte. Da es als letztes eingefügt wurde, hatte es aber natürlich die höchste ID (man stelle sich eine typische MySQL-Datenbank mit AUTO_INCREMENT-Feld als Primary Key vor). Zeit für eine „richtige“ Lösung war nicht, also mussten ein paar IDs in der Datenbank verschoben werden: Jeder Kurs rückt eine ID weiter, dann kann später der letzte auf das leere Feld aufrücken. Gesagt, getan:

update courses set id=id+1 where and id>=3041 and id<=3052

Weiterlesen