Archive for the 'hardware' Category

USB 3.0

Monday, April 14th, 2014

Hab mir ein externes USB 3 2,5″ Festplattengehäuse besorgt und dort meine 500GB Platte eingebaut. hier die Ergebnisse von hdparm im Vergleich zu 2 internen SATA Festplatten:

Platz 1:
interne 3,5″ SATA 3TB Platte Western Digital WD30EFRX-68E

Timing cached reads: 16656 MB in 2.00 seconds = 8334.49 MB/sec
Timing buffered disk reads: 440 MB in 3.01 seconds = 146.06 MB/sec

Platz 2:
interne 1TB Notebook Festplatte Seagate HTS541010A9

Timing cached reads: 3474 MB in 2.00 seconds = 1738.88 MB/sec
Timing buffered disk reads: 304 MB in 3.02 seconds = 100.67 MB/sec

auch Platz 2 (siehe cached reads):
externe USB 3 Festplatte Samsung HM500JI

Timing cached reads: 16464 MB in 2.00 seconds = 8238.33 MB/sec
Timing buffered disk reads: 214 MB in 3.01 seconds = 71.05 MB/sec

mein erstes Thinkpad

Thursday, April 3rd, 2014

Bei ebay habe ich mir für € 220.- ein gebrauchtes T500 ersteigert. Bezüglich der Display-Auflösung hatte der Verkäufer eine falsche Angebe gemacht: 1440×900. Eigentlich gibt es keine T500 mit dieser Auflösung. Das habe ich nach Auktionsende und vor dem bezahlen mit dem Verkäufer per e-mail geklärt. Das Display hat 1680×1050 – sehr erfreulich! 🙂
Heute kam das Gerät bei mir an. Außen 2 Kratzer, die mich absolut nicht stören und innen (Display, Tastatur, Touchpad) sieht es aus wie neu. Der Akku ist auch noch gut. Er hält ca. 2 Stunden.
CPU ist ein Core2Duo P8600. Einen P9500 könnte ich später mal nachrüsten. Nach einem kurzen Test mit einer Knoppix 7 DVD (Knoppix zeigte zu wenig RAM an?! ) habe ich die mitgelieferte 160GB Festplatte aus- und meine eigene 1TB Festplatte eingebaut. Linux Mint bootete sofort.
In /etc/udev/rules.d/70-persistent-net.rules
habe ich die Netzwerk-Devices meines alten Noetbooks auskommentiert, damit die aktuellen Devices eth0 und wlan0 und nicht eth1 und wlan2 heißen.
Flightgear schafft 9 fps mit der Intel Grafik und belastet die CPU nur mit 30%. Die ATI Grafik-Einheit habe ich momentan im BIOS abgeschaltet und bisher noch nicht getestet.
Das Netzteil ist sehr kein: 10x4x3cm

Nachteile gegenüber meinem bisherigen Lenovo 3000 N500:
* nur 3 x USB
* statt HDMI nur DisplayPort
* 90g schwerer
* keine Webcam

Ein aktuelles (Consumer-, nicht Business-) Notebook mit i3 oder i5 hätte locker das doppelte gekostet und mein Umwelt-Gewissen belastet – Warum neu kaufen wenn das alte noch läuft ?
Ich bin sehr glücklich und zufrieden. Endlich kann ich KVM benutzen – Das war der größte Nachteil meines alten Gerätes. Mit dem neuen WSXGA Display kann ich nun auch meine 720p Videos in 1:1 mit Avidemux schneiden und web-surfen wird jetzt auch angenehmer.

UPDATE:
Für €20 habe ich mir eine passende Dockingstation und ein zusätzliches 90W Netzteil besorgt.
Bei Verwendung der Dockingstation habe ich nun insgesamt 7 x USB, parallel, serial und DVI.

Home Cockpit Baubericht (Teil 3)

Thursday, December 26th, 2013

Am 23.12. kamen endlich die Inkrementalgeber(rotary encoder). Seit dem weiß ich, wie groß ich die Löcher dafür bohren muss. Am gleichen Tag habe ich alle Taster und Schalter eingebaut und 2 von den insgesamt 6 Inkrementalgebern mit meinen C-Testprogramm auf den Atmega32 ausprobiert.

Am 24.12. habe ich mit der Tastaturmatrix angefangen. Zunächst nur 3×3 verkabelt und dann dafür ein Testprogramm geschrieben. 3 der Schalter hatte ich aus alten Walkera Sendern ausgeschlachtet – sie sehen schön aus – sind aber alle defekt. Ich musste alle wieder ausbauen. 🙁

Den 25.12. habe ich damit verbracht, den Rest der 8×7 Matrix und die LEDs zu verkabeln. Die Taster von Rafi haben eine rote 3mm LED in der Ecke – ich hätte aber lieber eine flächige Beleuchtung in grün. Kurz vor dem verkabeln der LEDs habe ich mich entschlossen die roten LEDs nicht zu verwenden und stattdessen superhelle grüne LEDs von hinten an die Taster zu kleben. Mit einem 460 Ohm Vorwiederstand sind es nur 6mA pro LED – Das schafft der 74HC595 ohne zusätzlichen Treiber.

Bis auf Kleinigkeiten (Deckel, Rückwand, ..) ist die Hardware nun fertig. In der Software folgt demnächst:

* Entprellen der Taster
* Abfrage aller Inkrementalgeber
* serielle USB Kommunikation mit dem PC, bidirektional
* “Treiber” Software auf dem PC

pic

p2

p3

74HC595

p5

CNC Fräse im Unperfekthaus

Tuesday, December 17th, 2013

Für mein “home-cockpit” Projekt möchte ich eine bedruckte Frontplatte mit diversen Löchern und Ausschnitten für Displays, Schalter und Taster herstellen. Das ist genug Motivation, um mich mal intensiver mit der CNC-Fräse im Unperfekthaus zu beschäftigen.

Die Fräse wird momentan von einen DOS PC mit der DOS-Software “PCNC” gesteuert. PCNC kann HPGL und G-Code Dateien öffnen.

Ein reines, klassisches MS-DOS oder PC-DOS hat kein Netzwerk und auch keine USB-Sticks lesen und unsere heutigen Rechner haben kein Disketten-Laufwerk. Also wie kommt die Datei in den Rechner ?
Der umständliche Weg war: Erst Kanotix Linux booten, die Datei vom USB-Stick auf die “C:” Partition kopieren und dann DOS booten. Sind Änderungen an der Datei nötig, dann geht diese Spiel wieder von vorne los – sehr umständlich!

Das haben wir heute geändert. Ich habe gelernt, dass auf C: nicht nur DOS sondern auch Windows98 installiert ist – Das gibt Hoffnung auf Netzwerk-Konnektivität. Also schnell eine Netzwerkkarte eingebaut und den nötigen Treiber per Linux auf die C:-Platte kopiert. Treiber installiert, obligatorischer Reboot, … Hurra! ping funktioniert! 😉
und jetzt ? smb(samba) klappte nicht auf Anhieb, und wo ist der IE ? – jedenfalls nicht im Startmenu oder Startleiste. Damals waren “Windows-Explorer” und “Internet Explorer” das gleiche Programm. Mir gelang es irgendwie diesen “Internet Explorer” zu starten und konnte dann vom meinem Apache http Server weitere Programme installieren: WinSCP und Firefox 2.0 damit wir ab sofort unsere Fräs-Dateien per scp oder http auf den Fräsrechner kopieren können.

Der Fräs-Rechner hat momentan noch keine feste IP. Er verrät seine IP per “command” (cmd geht nicht!) und dann “ipconfig”

Meine Frontplatte habe ich mit Inkscape gestaltet. Sie ist 480mm breit. Der maximale Arbeitsbereich der Fräse ist:
X: 240mm
Y: 350mm
Ich habe also zunächst mal die Elemente entfernt, die nicht in der Arbeitsbereich passen. Und ich habe die Platte um 90° gedreht, schließlich ist Arbeitsbereich in diese Richtung 10cm größer.
Das war keine gute Idee, denn so “quer” passt das Werkstück nicht mehr durch das Portal der Fräse. Das Maximum ist hier 430mm
Also in Inkscape wieder 90° zurück gedreht. PCNC kann so etwas (Achsen X und Y tauschen) offenbar nicht.
Was PCNC auch nicht macht: die Dicke des Fräskopfes beachten. Also musste ich in Inkscape alle Ausschnitte 0,75mm (Fräskopfdurchmesser/2) kleiner machen, damit sie korrekt gefräst wurden.
Meine Version von Inkscape bot 2 Varianten von HPGL an:
* HPGL Plot File (*.plt)
und
* HPGL (.hpgl)
Beim ersten gab es diverse uniconverter-Fehlermeldungen. Das zweite bietet ein paar Optionen und speichert dann eine Datei, die PCNC öffen kann. Falls Objekte in der PCNC Vorschau nicht erscheinen hat man in Inkscape vermutlich “Object to Path” vergessen.

Nach dem wir das Werkstück eingespannt und in PCNC den Arbeitsbereich und den Nullpunkt definiert haben, begannen die Probe-Läufe 1-3. Erster Testlauf 10cm über den Werkstück, zweiter Testlauf 2cm über dem Werkstück, dritter Testlauf 1mm über dem Werkstück. So konnten wir uns versichern, dass nicht in die Werkstück-Halterungen gefräst wird und schon mal abschätzen, ob die Dimensionen auch stimmen. Den Skalierungsfaktor 2,54 (in PCNC) hatten wir anhand der Vorschau (richtig) geschätzt/erraten. Beim speichern in inkscape habe ich den default-Wert 1016 dpi unverändert gelassen.

Soweit so gut. Mit 0,33mm Zustellkorrektur konnten wir dann endlich “richtig” fräsen – aber leider nur bis max 1,5mm Tiefe. Bei HPGL Dateien bewegt sich die Z Achse zwischen den einzelnen Ausschnitten nur minimal auf und ab. Das kann man in PCNC scheinbar auch nicht ändern 🙁 Hätten wir weiter gemacht, wäre die Frontplatte zerkratzt worden. Übrigens war die HPGL Datei aus Inkscape spiegelverkehrt, das konnte man schon in der PCNC Vorschau sehen. Wir haben also die Rückseite der Platte gefräst.

Möchte man auf Z-Achse mehr Einfluss, dann muss man statt HPGL G-Code verwenden. Diverse Programme haben es leider nicht geschafft aus unserer HPGL Datei brauchbaren G-Code zu erzeugen – Eigentlich keine schwere Aufgabe. Auch mit der Inkscape Extension “Gcodetools” kamen wir zunächst nicht klar. Diese Extension hat Inkscape mehrfach zum Absturz gebracht. Sonst läuft Inkscape völlig stabil.
Später abends zu hause hat die Gcodetools Extension das erste Mal eine G-Code Datei erzeugt, die ganz brauchbar aussieht. Möglicherweise muss ich in inkscape alle Ebenen, die ich nicht fräsen möchte, vor dem G-Code Export löschen.

Das war ein interessanter Fräs-Tag. Beim nächsten Mal werde ich G-Code probieren. Falls das nicht klappt, könnte man vielleicht statt der kompletten Frontplatte einzelne Ausschnitte in einzelne Dateien speichern und dann 1x das Werkstück und mehrmals den Nullpunkt manuell verschieben um die Ausschnitte an den gewünschten Stellen zu fräsen(“pen down”) ohne dass der Fräskopf zwischen mehreren Objekten wandern muss (“pen up”)

Langfristig werden wir versuchen, DOS & PCNC durch die freie Linux-Software http://www.linuxcnc.org/ (“EMC”) zu ersetzten.

Android als USB Host, Arduino

Sunday, December 16th, 2012

Seit einiger Zeit entwickle ich Android Software in Python (mit SL4A, PythonAPK). Mein aktuelles Android Tablet ist das Arnova 10d G3 (Android 4.0.3, Linux Kernel 3.0.8). Es hat leider kein Bluetooth aber es hat 2 USB Anschlüsse, einer davon als USB Host. Also habe ich mit dmesg und logcat geschaut, was passiert, wenn man verschiedene USB Geräte anschließt.

* USB-Tastatur & -Maus werden automatisch erkannt und können sofort benutzt werden. Tastatur-Layout ist aber immer US ?!

* USB Drucker werden zwar vom Kernel als “full speed USB device” erkannt aber nicht als Drucker.
Zum Vergleich ubuntu Linux:

usblp0: USB Bidirectional printer dev 14 if 0 alt 0 proto 2 vid 0x0482 pid 0x0011
[114688.541019] usbcore: registered new interface driver usblp

* USB-RS232-Konverter
1.) FTDI FT232RL – Das gleiche wie bei den Drucken. Ich habe zwar eine “Treiber-App” dafür gefunden, hatte damit aber bisher keinen Erfolg damit. http://android.serverbox.ch/?p=370

2.) Prolific PL2303
Der Kernel erkennt diesen USB-nach-Seriell Converter und stellt das serielle Device /dev/ttyUSB5 zur Verfügung:

<6>[27051.309145] usb 2-2: new full speed USB device number 3 using uhci_hcd
<6>[27051.478195] pl2303 2-2:1.0: pl2303 converter detected
<6>[27051.501198] usb 2-2: pl2303 converter now attached to ttyUSB5

Also habe ich versucht, von meinem Python Script aus den per pl2303 angeschlossenen Arduino anzusprechen. Es funktioniert! 🙂

python code:

import serial
ser = serial.Serial('/dev/ttyUSB5', 2400, timeout=1)
ser.write("hello")
ser.close()

arduino code:

#include <LiquidCrystal.h>
int inByte = 0;         // incoming serial byte
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print(".");
  lcd.setCursor(16, 0);
  lcd.autoscroll();
  Serial.begin(2400);
}
void loop() {
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();
    Serial.write(inByte);
    lcd.write(inByte);
  }
}

Alternativ gibt es für den pl2303 eine Erweiterung(Custom Facade) zu SL4A: https://bitbucket.org/kuri65536/usbhostserialfacade

Die hat bei mir aber nicht funktioniert (“device was not found” ) Möglicherweise werden von der Android API Geräte, die bereits durch einen Kernel Treiber verwaltet werden nicht mehr angeboten.

Multi-Wii-Copter

Monday, December 19th, 2011

Ich hatte schon länger überlegt, mir mal ein Multi-Rotor Fluggerät zu bauen. Was mich bisher davon abhielt: die Kosten für 4 Motoren + 4 Regler + FlightControlUnit. Eines Tages habe ich den Tricopter entdeckt, der mit 4 billig-gyros funktionierte. Das sah schon mal interessant aus: relativ billige Elektronik und nur 3 Motoren & Regler.
Abgesehen von den Kosten hatte & habe ich noch Bedenken, dass es schnell langweilig wird: mangels negativ-Pitch sind viele Kunstflug-Figuren nicht möglich.
Zahlreiche Videos von zeigen, dass es trotzdem viel Spaß machen kann. Klarer Vorteil: keine
Energieverluste durch Getriebe, Heckrotor und Kopfmechanik.
Das Open-Source Hard- und Software Projekt MultiWiiCopter finde ich auch sehr attraktiv, denn ich bastle gerne mit arduino und Atmel Microcontrollern.

Status
* WiiMotionPlus Platine ausgebaut und mit Kabeln versehen
* Mini Arduino Pro ist bestellt
* 4 Stück 10A HK SS Regler und Propeller sind bestellt

Es fehlen noch Motoren und der Rahmen.

Gedanken zum Rahmen
Ich habe Alu, GFK und eine Kiefernholzleiste gewogen. Holz war mir Abstand das leichteste – ist überall leicht zu bekommen, leicht zu verarbeiten und preiswert.
Alternative Ideen: CFK Rechteckrohr oder Alu-Heckrohre vom HK250

UPDATE:
Hab mir gerade eine Skizze für den Rahmen gemacht. Für maximal 9″ Propeller.
Rahmengröße: 40x40cm
Abstand der Motorwellen: 36cm
bei 8″ Propellern hat man dann ca 4,5cm Abstand zwischen den Rotorkreisen und in der Kreuzmitte ca. 14x14cm Platz.

Kiefernleiste 10x5mm: 25g/m -> ca. 80g für 4 Arme mit je 2 Leisten
1 Motorträger 45x30x1mm GFK: 3,2g
1 Motorträger 45x30x3mm Sperrholz: 2,6g

Retro Computing Day

Thursday, November 24th, 2011

1) Seit Anfang der 90er ist meine Modellbahn digital. Dasmals hieß es noch “Märklin Zweileiter/Gelchstrom digital” Heute weiß ich, es ist DCC, also ein internationales Standardprotokoll welches heute immer noch verwendet wird. Glück gehabt! Sogar die Kommunikation zwischen den Märklin Modulen (i2c Bus) ist heute gut dokumentiert. Von damals habe ich noch ein Märklin Interface (RS 232) welches auch schon am Atari ST im Einsatz war. Und heute?
* Ich könnte mit atmega/arduino einen Handregler bauen, der die Lokbefehle seriell an das Märklin-Interface sendet.
* oder das Märklin-Interface mit einem pollin net-IO verbinden und somit die Bahn ans Internet anschließen 🙂
* oder das Märklin-Interface weglassen und mit atmega/arduino versuchen die i2c Kommunikation mit der Zentrale hinzukriegen
* oder einen Booster bauen und DDL benutzen.
* oder mal probieren ob es mit dem USB nach RS-232 Adapter klappt.

http://www.vogt-it.com/OpenSource/DDL/
http://wiki.rocrail.net/doku.php
http://www.opendcc.de/
http://www.oscale.net/arduino
http://www.flyerman.org/software/dcc-auf-dem-arduino/

2) Atari Portfolio wiederbelebt. Das 256kB Memory Modul, Laufwerk “A:” hat leider seine Daten vergessen. Die eingebaute Lithium Batterie war total leer. Hab eine neue Batterie eingebaut und A: formatiert. Aber wie bekomme ich nun wieder Dateien ‘drauf ? Im System Menü gibt es “Dateienübertragung” aber ich befürchte, das geht nur mit einem Paralelprotkabel und entsprechendem DOS Programm auf der Gegenseite.

3) Atari ST Emulatoren für Linux. In der Vergangenheit habe ich öfter mal STonX benutzt. Heute mal kurz angetestet: steem und hatari

./steem Tos206.img

hatari --tos Tos206.img -m

stonx -cartridge cardridge.rom -tos Tos206.img -disk A:mydisc.st

Half Piroflip, Key Chain Cam, Lagerschaden

Tuesday, March 8th, 2011

Schönes Wetter: 10°C, Sonne, wenig Wind. 5 Flüge mit dem T-Rex 250 und 5 Flüge mit dem 450er Klon. Beim letzten Akku war ich mutig und hab ein paar halbe Piroflips (halber Forward-Flip mit halber Piro) gewagt. Das klappte recht gut. Wenn man langsam flipt, hat man auch genug Zeit das zu steuern. Die 2te Hälfte hab ich auch einmal probiert – das ging erwartungsgemäß etwas schlechter und der Heli war schon zu weit weg, so dass ich kaum noch sehen konnte, was ich da mache. Außerdem noch erwähnenswert: 6fach Rückwärts-Looping und langsame Rücken-Piruetten mit relativ wenig driften.

Vor 2 Tagen kam meine Key Chain Cam von HobbyKing: totaler Müll!! Es ist eine Version #7 Kamera: schlechtes Bild, schlechter Ton und viele Framedrops.
Gut dass meine Version #3 Kamera noch funktioniert. Ich habe sie nun mit einem Stecker ausgerüstet, damit ich externe Akkus anschließen kann. Interner und externer Akku ergeben zusammen theoretisch 400mAh. Damit konnte ich heute 11 Videos aufnehmen, in Summe knapp eine Stunde bzw. 3,2GB. Sehr gut!

In dem HobbyKing-Paket war auch ein Turnigy Nano-Tech Akku 850mAh/3S/25-40C. Die ersten 2 Flüge damit waren sehr angenehm.

Der Blade hatte (mal wieder) einen Motor-Lagerschaden. Heute habe ich den Turnigy Typhoon 2215 Motor eingebaut mit einem 11er Ritzel. Testflug kommt noch. Strom sollte ich auch messen – da muss ich erst noch einen Adapter für XT60 Stecker bauen.
kurz mal angeschwebt: NORM: 2100rpm , STUNT: 2800rpm

ethersex

Saturday, December 25th, 2010

Ein erfolgreicher Basteltag.

Erstes AVR-NET-IO repariert: Ethernet Controller ENC28J60 ausgetauscht. Das alleine hat’s noch nicht gebracht. Erst als ich die Firmware nochmal neu geflasht habe, funktionierten Ping und Telnet wieder.

Zweites AVR-NET-IO in knapp 2 Stunden zusammengebaut. funktioniert!

Freie ethersex firmware ‘runtergeladen (mit git), kompiliert (besondere Version von avr-gcc!) und installiert. funktioniert!

http://www.ethersex.de/index.php/Kategorie:StepByStep
http://www.ethersex.de/index.php/Download
http://www.ethersex.de/index.php/Voraussetzungen
http://www.ethersex.de/index.php/ECMD_Protocols
http://www.ethersex.de/index.php/ECMD_Reference

Ethersex Weboberfläche(bei Pollin AVR-NET-IO Hardware): http://192.168.0.90
Ethersex telnet-like Port: 2701

USB nach TTL seriell

Friday, September 17th, 2010

Hab mir bei handy-fix.de (für €3,98 incl. Versand) ein Datenkabel für Nokia 3510 gekauft. Der Rechner erkennt es so:

dmesg:
[979343.412068] usb 8-1: new full speed USB device using uhci_hcd and address 14
[979343.623335] usb 8-1: configuration #1 chosen from 1 choice
[979343.625297] pl2303 8-1:1.0: pl2303 converter detected
[979343.637251] usb 8-1: pl2303 converter now attached to ttyUSB0

lsusb:
ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Offenbar ein Prolific PL2303 chip.
Kabelbelegung:
schwarz: Masse
blau: Daten vom Handy zum PC
rot: Daten vom PC zum Handy

Ein nützliches Programm für die serielle Kommunikation scheint moserial zu sein.

Hab’ den USB-Stecker mit der Schaltung darin geöffnet. Mein Teil hat den PL 2303HX Chip. Auf der Platine gibt es 10 Anschlusspunkte für verschiedene Kabel-Typen.
Bei meinem sind diese 3 verwendet: 7=Masse,
2(rot) und 3(blau)

Mehr Details hier:
Jonathan Thomson’s web journal.

alternative URL:
http://www.uchobby.com/index.php/2009/10/04/diy-usb-to-serial-cable-for-3/

update:
Hab’ das Kabel direkt ohne Widerstände oder Pegelwandler an den Atmega8 angeschlossen – funktioniert!