Sunday, July 21, 2013

Sebastian Foss + Team, 1. Preis Unitechnik AG für Physiksimulationssoftware

Sebastian Foss + Team gewinnen 1. Preis der Unitechnik AG


Im Januar 2012 1. Preis der Unitechnik AG gewonnen:
Sebastian Foss + Team, 1. Preis Unitechnik AG 

Leider wurde damals Albert Litke fälschlicherweise als Teamleiter aufgeführt.

27.01.2012 Wie schnell rollt der Zylinder? Die Unitechnik Cieplik & Poppek AG aus Wiehl-Bomig belohnt engagierte Ingenieurstudierende einmal pro Semester mit drei Förderpreisen im Gesamtwert von 600 Euro. Die Studierenden entwickeln dafür im zweiten Semester im Team ein komplettes Projekt: Von der ersten Idee über Lasten- und Pflichtenheft, Programmentwicklung und Handbuch bis zum verkaufsfertigen Produkt. Sie lernen im Fach "Ingenieur-Informatik" nicht nur das Programmieren in der Sprache "Visual Basic", sondern auch die Chancen und Risiken der Teamarbeit hautnah kennen. Ihr Produkt und ihre fiktive Firma müssen sie am Ende des Semesters in einer Präsentation vor allen Mitstreitern, Lehrenden der FH und den Vertretern von Unitechnik vorstellen. Dazwischen liegen die "milestones" mit Präsentationen des jeweiligen Entwicklungsstandes.

Prodekan Prof. Dr. Michael Bongards ist Betreuer des Projekts und stellte auch den Kontakt zu Unitechnik her. Praktikumsleiter für die Studierenden ist der FH-Lehrbeauftragte Dipl.-Ing. Dietmar Hardt. Herr Hardt betonte, dass die Studierenden über die Jahre immer bessere Präsentationen entwickeln und der Unterschied z. B. zwischen dem 3. und dem 4. Platz bei den rund 120 Praktikumsteilnehmern eher gering ist. Dem stimmte auch Rainer Poppek, Vorstandsmitglied der Unitechnik AG, zu. Er übergab die Preise für die Teams des Wintersemesters 2011/12. Vorher stellte er kurz die Firma Unitechnik vor, die immer wieder auch FH-Absolventen als Nachwuchs sucht. Ein Spezialgebiet von Unitechnik ist die automatisierte Lagerverwaltung, so erstellte das Unternehmen für Europas größte Einkaufsgenossenschaft für Büroartikel die neue Logistikanlage in Overath, die bis zu 11.000 Pakete pro Tag versandfertig machen kann.


Unitechnik
Dietmar Hardt (FH Köln), Rainer Poppek (Unitechnik), Dominik Dinhof, Sebastian Foss, Albert Litke, Peter Sosniok (Foto: FH Köln)


Den ersten Preis in Höhe von 300 Euro erhielt das Team von Projektleiter Albert Litke. In seiner fiktiven Firma "SPALD – Software Solutions AG" waren Peter Sosniok, Dominik Dinhof und Sebastian Foss als Mitarbeiter tätig. Sie hatten das Programm "Incli-Sim" entwickelt zum Thema "Berechnung der optimalen Parameter einer Schiefen Ebene". Dabei sollte simuliert und berechnet werden, mit welcher Geschwindigkeit zylindrische Körper eine schiefe Ebene hinabrollen. Unterschieden wurde zwischen Hohl- und Festkörpern und unterschiedlichen Neigungswinkeln. Im Vergleich zu ihren Konkurrenten hatte die Gruppe die Aufgabe besonders gut gelöst, weil sie mit einer sehr umfangreichen Programmierung ein professionelles Produkt entwickelt hatten, einschließlich Internetseite und hochwertigem Handbuch.

Über den zweiten Preis in Höhe von 200 Euro freuten sich die Mitglieder der Firma "IT-Service Oberberg". Ihr Thema war ein "Berechnungsprogramm zur Simulation eines Raketenstarts". Die Teammitglieder um Projektleiter Daniel Jagla, Stefan Janssen, Alexander Kremer, Georg Reissisch und Christoph Zuch stellten sich einheitlich mit Firmen-T-Shirts vor. Beim Programm ging es nicht nur um den Start der Rakete, sondern auch um mögliche Umlaufbahnen um die Erde. Das Programm musste Größen wie zum Beispiel das Startgewicht einer 110 Meter hohen Saturn V von 2800 Tonnen berücksichtigen und die benötigte Treibstoffmenge, um eine Geschwindigkeit von 28.000 km/h zu erreichen. Wie die anderen Preisträger hatte das Team ihre Programm-CD mit einer professionell wirkenden CD-Hülle versehen.

Den dritten Preis (100 Euro) erhielt schließlich das Team mit der Firma "Reynolds – Pipes and more". Seine Mitglieder waren: Tobias Esser, Jens Heinen, Marius Huperz, Marcel Metzger und Merag Nokhiz und Alexander Liebold als Projektleiter. Ihr Thema: "Entwicklung einer Software zur Optimierung von Rohrleitungen". Dabei waren nicht nur die verschiedenen Rohrmaterialien und deren Rauhigkeit und Wanddicke, sondern auch Arten und Dichten von Flüssigkeiten zu beachten und ihr spezifische Fließverhalten.

Friday, July 19, 2013

MSP430 Reaktionszeitmesser in C mit IAR Embedded Workbench

Reaktionszeitmesser für den Texas Instruments MSP430 

(C) by Sebastian Foss 2013

Als Umgebung habe ich dafür IAR Embedded Workbench benutzt.
Es handelt sich um den MSP430 G2553, welcher auch auf dem TI Launchpad zu finden ist.
Ein wirklich guter, und vorallem sparsamer Controller!

#include "msp430g2553.h"
#include <stdint.h>

#define TASTER BIT3
#define LEDROT BIT0
#define LEDGRUEN BIT6

enum state { start=0, startblinken, zufallwarten, messsetup, messen, zulangsamblinken, inderzeit};

// Schieberegister
  #define SR_DATA BIT5 
  #define SR_SCK  BIT6
  #define SR_RCK  BIT7

// Init - Schieberegister
void init_addon(void){
  P1OUT &= ~(SR_DATA + SR_SCK + SR_RCK);
  P1DIR |= SR_DATA + SR_SCK + SR_RCK;
}

// LED-Bar - Anzeige
void led_bar(int zahl){
  int rest[8], i; 

  for (i=0;i<8;i++)
  {
  rest[i]= zahl%2;
  zahl /= 2;
  }
 
  // Daten seriell rausschieben
  for (i=7; i>=0; i--){
   
    if (rest[i]){
      P1OUT &= ~SR_DATA;     
    }else{
      P1OUT |= SR_DATA;     
    }
   
    P1OUT &= ~SR_SCK;   
    P1OUT |= SR_SCK;
  }   
   
    // Daten 'Freigeben'
    P1OUT &= ~SR_RCK;   
    P1OUT |= SR_RCK;
}
   
volatile uint8_t state=0;

int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  init_addon();
  P1DIR |= LEDROT+LEDGRUEN;
  P1OUT &=~(LEDROT+LEDGRUEN);
 
  P1REN |= TASTER;
  P1IE |= TASTER;

  BCSCTL2 = DIVS_3;
  TA0CTL=TASSEL_2+ID_3+MC_1+TACLR;
  TA0CCR0 = 7000;
 
  _BIS_SR(LPM0_bits+GIE);
  return 0;
}


#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer0_A0(void)
{static int i=0;
static uint16_t lsfr=0x23AF;

  switch(state) {
    case startblinken: i++; if(i<8) P1OUT^=LEDROT; else {P1OUT&=~LEDROT; state=zufallwarten;i=0;TACCR0=1;} break;
    case zufallwarten:
           P1OUT|=LEDROT;
           TACTL|=TACLR;
           lsfr=(((((lsfr>>5)^(lsfr>>3)^(lsfr>>2)^(lsfr)^(lsfr>>15))&1)<<15)|(lsfr>>1));  //Pseudozufallszahl mit lsfr erzeugen
           if(lsfr<21845) TACCR0=10000;
           if(lsfr>=21845 && lsfr<43690) TACCR0=20000;
           //if(lsfr>=43690 && lsfr<=0xFFFF) TACCR0=30000;
           if(lsfr>=43690) TACCR0=30000;
          
           state=messsetup; break;
    case messsetup: P1OUT&=~LEDROT; TACCR0=10000; TACTL|=TACLR; state=messen; break;
    case messen: P1OUT^=LEDROT; state=zulangsamblinken; TACCR0=2000;break;
    case zulangsamblinken: P1OUT^=LEDROT; break;

    default:break;
  }


  }

#pragma vector=PORT1_VECTOR
__interrupt void p1vector(void)
{
  if(!(P1IN&TASTER)) {
      switch(state) {
        case start: led_bar(0);state=startblinken;TACTL|=TACLR; TA0CCR0 = 7000;TA0CCTL0=CCIE; break;
        case messen:
          TA0CCTL0&=~CCIE;
          //P1OUT|=LEDGRUEN;
          led_bar(TAR>>7);
          state=inderzeit;
          break;
        case inderzeit:
          TACTL|=TACLR; P1OUT&=~(LEDROT+LEDGRUEN);
          state=0; break;
        case zulangsamblinken:
          TACTL|=TACLR; P1OUT&=~(LEDROT+LEDGRUEN);
          state=0; break;
        default:break;
      }
  }
 P1IFG=0;
}

Mein neues DSO: Voltcraft DSO 1062D - Baugleich Tekway DST1000B bzw. Hantek DSO 5xxxB

Mein neues digitales Speicheroszilloskop ist ein Voltcraft DSO 1062D.

(C) by Sebastian Foss 2013

 

Bin super zufrieden damit.


Hier die Beschreibung von Conrad:

Das Einsteiger-Modell im Bereich der digitalen Speicheroszilloskope. Das Gerät verfügt über zwei Kanäle mit einer Bandbreite von 60 MHz und einer Realtime-Samplingrate von max. 1 GSa/s sowie einer Speichertiefe von 512 kpts, wobei bei der Nutzung von nur einem Kanal bis zu 1 Mpts zur Verfügung stehen. In Verbindung mit dem großen 17,7 cm (7") Farb-Display mit einer Auflösung von 800 x 480 Pixel und dem USB-Host zur Speicherung der Daten auf einen optionalen Stick ist das DSO-1062D nahezu unschlagbar im Preis-Leisungsverhältnis. Abgerundet wird das DSO-1062D durch eine USB-Schnittstelle, ein mehrsprachiges Hilfemenü sowie umfangreiche Trigger-Möglichkeiten, automatische Messfunktionen inkl. FFT und eine serienmäßig im Lieferumfang enthaltene Software.

----

Der Lüfter läuft angenehm leise und stört nicht beim Arbeiten. Die beiden mitgelieferten Tastköpfe sind für einfache Messungen ausreichend und verrichten ihr Werk sehr gut.

Die Auflösung von 800x480 wird voll ausgenutzt. Abspeichern von Daten und Screenshots auf einem USB-Stick funktioniert ebenfalls hervorragend. Alles in allem muss ich sagen, dass das DSO 1062D ein super Preis-Leistungsverhältnis bietet. 

Firmwareupdates können vom Hantek DSO 5xxxB benutzt werden - von Voltcraft selber habe ich leider noch keine Updates finden können.

Die Bandbreite lässt sich per Software von 60 MHz auf bis zu 200 MHz umstellen - da es sich bei dem DSO 1062D um ein baugleiches Gerät mit einigen Tekway bzw. Hantek Geräten handelt, die höhere Bandbreiten von Werk aus anbieten.

In dem untenstehenden Youtube-Video gibt es eine kurze Anleitung zum Aufheben der Bandbreitenbegrenzung von 60 MHz.

Jedoch sollte man nicht davon ausgehen, dass die Ergebnisse bei Messungen mit diesen Frequenzen umbedingt genau sind.



Be sure to bookmark our site and follow us on twitter for more news and leaks!



Thursday, July 18, 2013

Windows 8.1 RTM build 9500.10554 ?

Wurde Windows 8.1 RTM bereits abgesegnet als Version 9500.10554 ?

Windows 8.1 signed-off - version number 9500.10554 ? 

(C) by Sebastian Foss 2013

 


Angeblich ist der Sign-Off der RTM Version erfolgt. Die fertige Version soll am 16. August an die OEMs ausgeliefert werden.
Ein Update über den Windows 8 store soll vorher möglich sein und ist für alle Windows 8 Kunden gratis.

Die Versionssnummer soll 9500.10554 lauten.

Hierbei handelt es sich jedoch nur um Gerüchte... und verlässliche Quellen haben noch nichts dazu berichtet - also abwarten!

Monday, July 15, 2013

Berechnung CRC15 (z.B. CAN - Bus) in C / C++ 0xC599

Habe mal ein simples Programm zur Berechnung einer CRC15 (z.B. CAN - Bus, durch kleine Abänderungen auch jeder andere CRC möglich) geschrieben.

(C) by Sebastian Foss 2013



Google Code Git: http://code.google.com/p/crc15-code-sebastian-foss/

Source-Code: C / C++ :

#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>

uint32_t daten=0xC08000;

//uint32_t daten=0xC0A3AC;
uint32_t poly=0xC599; // CAN Polynom

uint8_t datenbits = 24;
uint32_t crc15 = 0;


int main(void)
{
 int i, j=0;

 printf("%c",201);
 for(i=0;i<14;i++) printf("%c",205);
 printf("%c\n",187);
 printf("%cCRC-Berechnung%c\n",186,186);
 printf("%c",200);
 for(i=0;i<14;i++) printf("%c",205);
 printf("%c\n",188);

 printf("Daten: 0x%04X\nPolynom: 0x%04X \n", daten,poly);

while(!((daten&(poly<<j))>>datenbits-1))j++;
 
  poly<<=j;
        
  crc15=daten;
        
  for(i=0;i<=j;i++){       
      if((crc15&poly)>>(datenbits-1)) crc15=crc15^poly; else {   poly>>=1;datenbits--;}       
  }
        
            
    printf("Ergebnis: 0x%04X\n", crc15);
   
    return EXIT_SUCCESS;
}


Monday, July 8, 2013

Monday, July 1, 2013

Sebastian Foss

Sebastian Foss 

Studiert Elektrotechnik/Elektronik Bachelor an der FH Köln, Staatl. geprüfter Informatiker Softwaretechnologie, MCITP Enterprise Administrator 

(C) by Sebastian Foss 2013

 


Hello World!

 

Erster Post im Blog...