Android Tablet

Hier ist mal wider eines meiner angefangenen Projekte, das vielleicht nie beendet wird, aus Gründen wie Zeit-, Geld-, Lustmangel…

Dabei Handelt es sich wie der Titel schon sagt um ein Android Tablet, die Symbole, sowie der Schaltplan wurden komplett selbst in Altium Erstellt. Es basiert auf dem Schaltplan des Beagle Boards und dem Am3359, allerdings gibt es einige Änderungen bei den anderen Komponenten. Eigentlich fehlt  nur noch die Anbindung des Touchscreens, ein paar hardware Buttons  sowie das Platinenlayout.

Achja sorry für die schlechte Bildqualität leider überschreiten die 9 Schaltplan-seiten zusammen die Maximal erlaubte Größe auf Picasa.

CPLD, Lc4128-Platine, Teil3

So um das Projekt nun zum Abschluss zu bringen, hier ist ein Bild des Fertigen Code lineals:

Dank den Usern im mikrocontroller.net Forum funktioniert die Schaltung nun auch wie sie soll. Die Verwendeten CNY70 musste ich ein wenig einpacken zum Schutz vor Lichteinstrahlung. Ausserdem verwende ich für das Codelineal den Greycode, der da sich immer nur eine Stelle ändert weniger störungsanfällig im Gegensatz zu “normalem” Binärcode ist. Hier ist der Schaltplan:

Die Schaltung kann auch für andere Controller verwendet werden um schöne Logikpegel mit CNY70’s zu erzeugen. Über das Poti kann man den Auslösepunkt einstellen, wird der OpAmp LM324 ausgelöst wird das Signal der Lichtsensoren stark verstärkt was eine gutes Digital Signal erzeugt.

In diesem Zip Archiv sind nochmal Alle Dateien, inklusive meiner GFS, dem Code-lienal dem Schaltplan in Eagle usw. zu finden:

http://dl.dropbox.com/u/64554682/Lattice%20LC4128V.rar

Ti84+ Backlight

Im Internet findet man viele hacks für grafikfähige Taschenrechner, wie Anleitungen zum overclocken oder zum bau von Hintergrundbeleuchtungen. Da ich noch einen Ti-84Plus übrig hatte entschied ich mich ihn ein wenig zu “Pimpen”. Neben einer Hintergrundbeleuchtung bekam er auch einen Roten anstrich. Auf overclocken habe ich verzichtet, da sich die paar mhz eh nicht wirklich lohnen. Leider habe ich keine Bilder vom inneren gemacht, allerdings hab ich den Taschenrechner durchgemessen und eine Diode an der nur Spannung anliegt wenn er auch eingeschaltet ist gefunden. Dort habe ich dann dann einen NPN Transistor angeschlossen der die Hintergrundbeleuchtung nur anschaltet wenn auch der Taschenrechner an ist.

Hier noch ein bild, rechts vorher links nachher:

USB > DMX/RS232

Nachdem mir vorher aufgefallen ist, dass ein USB > UART Adapter ganz praktisch wäre, hab ich beim Layout meines USB > DMX Adapter die Ja eh vorhandenen TX/RX Pins des verbauten FT232RL noch zu einer Schraubklemme geführt. Auch das restliche Layout hat einige Verschönerungen/Verbesserungen bekommen. Im Layout wurden nur die nötigsten, und sinnvollsten SMD teile verwendet um das Löten einfach zu halten.
Der FT232FL ist ein vollständiger USB > RS232 Wandler, was die restliche Beschaltung auf wenige Kondensatoren beschränkt. Der MAX485 übernimmt dann die Wandlung von RS232 nach DMX512. Das DMX Interface ist ein “nachbau” des Open DMX USB Interfaces Treiber gibt es auf der Website von Enttec.

Hier der Schaltplan:

Und das Layout:
USB > DMX/UART

Hier sind die vollständigen Eagle Dateien:

http://dl.dropbox.com/u/64554682/USB_Rs232_485.rar

Brushless Motor ESC mit Atmega8 und Poti ansteuern

Vor einiger Zeit hab ich mir bei Hobbyking für wenig Geld einen Brushless Motor, eine RC-car ESC und einen Akku bestellt. Extra eine RC-car ESC, um den Motor auch rückwärts drehen zu können. Die Ansteuerung einer ESC ist relativ simpel und erfolg über ein Servomotor PWM Signal. Hierzu findet man auf http://www.mikrocontroller.net mehr, aber einfach gesagt braucht man eine High zeit zwischen ca.1-2ms und eine Lowzeit von ca. 20ms. Die länge des Impulses bestimmt dann die Geschwindigkeit/Richtung.

Der Schaltplan ist relativ simpel, oben im Bild war mein Steckbrett noch etwas voll. Eigentlich ist nur ein Poti(egal ob schiebe oder Dreh) an PC0, sowie eine Led an PB.5 und der Ausgang an PB.5. Hier könnte man vielleicht noch einen Transistor einsetzten.

 Das Programm ist genauso simpel, im ADC free running Mode wird jedesmal wenn eine ADC Messung beendet ist ein Interrupt ausgelöst. Innerhalb dieses Wird dann anhand des  ADC werts zwischen 1 und 1024 die Dauer die der Ausgang high sein muss, sowie seine Low-zeit errechnet. In der Main Schleife werden dann nurnoch die Pins An- bzw. Ausgeschalten. Ich benutze hier den delay_us befehl, um es zu Testen. Bei komplexeren Aufgaben sollte man aber auf jedenfall Timer hierzu benutzen.

Zum Schluss muss die ESC noch programmiert werden. Dazu gibt’s mehr Informationen im dazugehörigen Datenblatt. Ich musste erst den Max, Min und Mittelwert setzten.

Hier noch ein kleines Video:

Und jetzt die Files:

http://dl.dropbox.com/u/64554682/Esc%20Control%20mit%20Adc.rar

CPLD, Lc4128-Platine, Teil1

Bitte beginnt direkt mit Teil 2!!!

Da wir in der Schule logik Schlatungen lernen hat unsre schule dieses Jahr CPLD Experimentierplatinen besorgt, über die ich meine GFS halten werde. CPLD’s (Complex Programmable Logic Device) sind Programmierbare Logik ICs, ähnlich den FPGA’s allerdings muss das Programm nicht bei jedem neustart neu geladen werden. Ausserdem besitzen sie weniger Flip-Flops und haben dafür sehr viele Ein- und Ausgänge und hohe Frequenzen. Sie sind vorallem für Komplexe paralle Anwendungen geeignet. Durch die wenigen FF’s braucht man jedoch schon schnell einen externen Ram bei  Aufgeben wie z.b. mehrere PWM Kanäle.

Jetzt zur Platine: Wir haben diese Lattice LC4128 Platinen von www.hardware-design.de. Auf dieser Seite sind noch mehr Informationen zu finden.

Auf der Platine befinden sich:
Der CPLD Lattice Lc4128v,
das zum Programmieren benötigte USB->Jtag Interface,
ein Spannungsregler für die externe Stromversorgung,
alternativ dazu auch die USB-Stromversorgung,
eine durch einen Ne555 erzeugte und über das Poti einstellbare Taktversorgung von 2-100Hz,
eine Taktversorgung über Jumper einstellbar auf:1 MHz/ 100kHz/ 10kHz/ 1KHz/100 Hz/ 10Hz/ 5Hz/ 1Hz,
4 Ausgänge über Transistoren,
2 7Segment anzeigen,
8 Led’s,
einige Taster und Dip-schalter,
herausgeführte Ein-, Ausgänge.

Programmiert wird mit ISP-Leaver Classic auf einem Windows XP Rechner, da ich den Treiber auf meinem Win7 64bit PC nicht zum Laufen bekom, in Abel.

Die Programmierung gestaltet sich relativ einfach, da man z.b. Wahrheitstabellen direkt schreiben kann.

Im nächsten Teil werde ich 4 CNY70 über Opamp’s ansteuern.

AVR LED Matrix Atmega8

Hallo,

Ich wollt mal meine Progranmmierbare Ledmatrix vorstellen:

Das Ganze basiert auf einem Atmega8 der 40 Leds über 8 BC817-40W multiplext. Die Platine sieht nicht wirklich schön aus, das war jedoch mein erstes SMD Projekt und ich musste gleich mit diesen mega kleinen Transistoren und ner einseitigen Matrix anfangen. Wobei das trotzdem schon die 3. Platine ist die anderen hatten kleine bugs . :D
Die Matrix kann 2 texte mit je 128 Buchstaben speichern die über die beiden oberen Taster gestartet werden. Bei einem längeren druck auf eine der unteren Tasten kommt man ins Programmiermenü und kann mit den oberen Tasten zwischen Buchstaben und symbolen wählen und mit den unteren Tastern zum nächsten oder vorherigen Buchstaben wechseln. Die Texte werden dann im Eeprom gespeichert, wobei der µc dank sleep mode eh fast kein Strom verbraucht.
Geschrieben ist das Programm in C wobei es mein erstes C Programm war nach langer zeit Bascom und so siehts auch aus, alles inklusive der Einstellfunktionen in der main schleife  Wenn ich mal Zeit hab werd ich den code nochmal überarbeiten :)

[youtube=http://www.youtube.com/watch?v=9ODmZ0bnzCU&feature=player_embedded]

Und hier die Dateien:
http://dl.dropbox.com/u/64554682/Matrix.rar

Omniwheel

Um Shapeways mal zu testen und für meinen Robocupbot hab ich ein Omniwheel konstruiert. Für die die’s nicht wissen, Shapeways ist ein Service bei dem man sich Dinge Lasersintern lassen kann. Dabei hat man die Auswahl zwischen vielen Materialien und auch Dateiformaten. Ich hab mein Omniwheel in Solid Edge Konstruiert:

Die Achsen der kleinen Rädchen ist 2,5mm und ihr Lager ist 3,5. Dadurch lassen sie sich problemlos Bewegen. Gekostet hat mich das ganze ca. 30€ mit Versandkosten.

Robocup junior

Eine Zeit lang hatte ich überlegt auch am Robocup junior teilzunehmen. Nach einiger Arbeit mit Solid edge ist das dabei herausgekommen:

Natürlich fehlt noch einiges an Sensoren und auch die Platinen sind nicht fertig. Allerdings fehlt mir ein Team, genug Geld (der Entwurf ist schon wieder bei ca. 300€) und auch die Lust daran weiter zu arbeiten. Aber vielleicht bekomm ichs ja doch noch hin…