Forum: Projekte & Code AVR-Handheld mit Mega644


von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hallo,

Auch wenn noch nicht alles komplett ist und die Dokumentation noch 
weitestgehend fehlt ist das Projekt "AVR-Handheld" an einem Punkt 
angelangt, an dem ich eine Veröffentlichung für sinnvoll halte. 
Hauptbestandteile sind ein ATMega644 und ein "Standard" GLCD mit 128x64 
Pixeln. Optinal kann eine DS3232 RTC an den I2C Bus angeschlossen 
werden.
Die Schaltung enthält erstmal nur den Kern, Systemverbinder (9-polig 
D-Sub)
und die Beschreibung der möglichen Adapter erfolgt in den nächsten 
Tagen.

Einen eigenen Weg bin ich bei der Display-Ansteuerung gegangen. Wie man 
sieht, ist der Screib/Lese-Pin fest auf Masse gelegt. Im Controller 
selbst befindet sich der eigentliche Bildspeicher mit gewohnt 64 Zeilen 
a 16 Bytes, die Daten werden zyklisch im Interrupt umgerechnet und zum 
LCD geschickt. Um ein Pixel zu setzen braucht man also nur das 
entsprechende Bit im Bildwiederholspeicher zu setzen, nach ca. 1/30s ist 
dann auch die
Anzeige aktualisiert. "Nebenprodukt" ist ein Videoausgang, der sich 
zwischen PAL und NTSC Timing umschalten lässt (Anschluß im zweiten Teil 
der Schaltung).

Folgende Funktionen sind derzeit realisiert:

- Einfache Bedienung über (meist) grafische Menüs und Tasten-Symbolen
- Dataflash-Dateisystem kompatibel zum BASIC-Computer
- Runtime-Engine weitestgehend kompatibel zum ChipBasic2  (nur VM5)
- Platz für 4 Programme
- Stopp-Uhr, 4 Zeitspeicher
- Wecker (braucht RTC)
- 2 Kanal Logikanalysator mit max 4 MHz Abtastfrequenz und 2000 Samples
- Mini-Oszilloskop mit max. 20KHz Abtastfrequenz und 2000 Samples
- Voltmeter +-6,4V oder +-64V (mit Vorteiler)
- 2 Kanal Zähler bis 65535
- Zeitmessung (Pulsdauer, Verzögerung) mit 1/1000s Auflösung
- Temperaturmessung mit LM75
- Seriell-Monitor mit Text- und Hex-Darstellung
- Breakout-Spiel
- Puzzel-Spiel
- GPS-Anzeige mit Koordinaten, Geschwindigkeit und Richtung
- GPS-Koordinatenspeicher mit 105 Datensätzen
- GPS Richtungs- und Entfernungsanzeige zu 4 wählbaren Zielen
- Dateimenü zum Modul formatieren, Dateien löschen...
- Konfigurationsseite

Geplant ist noch eine Programmieroberfläche ähnlich wie Siemens Logo mit 
einem Mega8/88 als Target (über I2C oder SPI), das wird aber wohl erst 
Anfang nächsten Jahres eingebaut.

Ansonsten wünsche ich vie Spaß beim Basteln (und Bugs melden ;-)

Gruß Jörg

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hier kommt noch der Quellcode...

von Harry S. (littlegonzo)


Lesenswert?

Jörg das ist sagenhaft. Super dann hab ich endlich was zum basteln 
wieder!
Schön das mein Display noch nicht eingestaubt ist^^
Wie ich im anderen Threat schon schrieb, man sollte warten können ;-)

Vielen Dank für das echt genial Projekt!

LG Harry

von Christian (Gast)


Lesenswert?

Hallo,

was für ein Display ist mit dem "Stanadard" GLCD gemeint?

Vielen Dank

von Otto (Gast)


Lesenswert?

Hallo Jörg,

auch ich freue mich sehr, dass Dein neues Projekt fertig ist und kann es 
kaum erwarten, es nachzubauen.

Wohl wissend das GLCD "grafisches LCD" bedeutet, frage ich mich doch, 
welchen Standards es genügen muß.

Viele Grüße

Otto

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Sehr geil. Weder mich gleich ans Layouten machen damits auch schön 
aussieht ;)

von Simon K. (simon) Benutzerseite


Lesenswert?

Wofür soll denn ein AVR Handheld gut sein? Und so kompakt kann ich mir 
das gar nicht vorstellen.

Übrigens sind Pullups im AVR integriert, die Widerstände an den Tastern 
kann man sich sparen.

Und warum zur Hölle sind die Datenbits des Displays da so aufgeteilt auf 
PORTA und PORTD?

Und ob das mit der Prozessorleistung hinhaut den Screen mit 30Hz 
komplett zu refreshen weiß ich ja auch nicht... ;)
Vielleicht wäre ein SPI Display und ein XMega AVR eher was dafür :D

von Hugga Bugga (Gast)


Lesenswert?

>Und warum zur Hölle sind die Datenbits des Displays da so aufgeteilt auf
>PORTA und PORTD

Auf Port A, C und D. Das verstehe ich auch nicht, wird aber wohl seinen 
Grund haben

Aber ein interessantes Projekt, welches ich auf jeden Fall nachbauen 
werde !

Welchen Controller man für das GLCD braucht, müsste ich dann auch noch 
wissen.

von Hans A (Gast)


Lesenswert?

Mal ne andere Frage. Mit welchem Programm ist der Schaltplan gemacht?

Gruß
Hans

von Jens B. (sio2)


Lesenswert?

Hmm, kann der AVR nicht eigentlich nur 21mA am ausgang? Beim Piepser 
sinds 21 (ok, mag nicht zuviel sein, aber ...) und sollte am Reset nicht 
noch nen Pullup ran?
Vee und Contrast? ist Vee nicht eigentlich der Kontrast, und sollte 
der nicht regelbar sein?

von Benedikt K. (benedikt)


Lesenswert?

Jens B. wrote:
> Hmm, kann der AVR nicht eigentlich nur 21mA am ausgang?

Er kann 40mA.

> Vee und Contrast? ist Vee nicht eigentlich der Kontrast, und sollte
> der nicht regelbar sein?

Vee= Ausgangsspannung von -5V (wird auf dem Display erzeugt), Contrast = 
Eingangsspannung für den Kontrast.
Bei dem Display handelt es sich vermutlich um ein 128x64 mit 2x KS0108

von Bastler (Gast)


Lesenswert?

Hallo bin gerade an etwas ähnlichem.
Ich plane noch ein paar Schieberegister für Ein-/Ausgaben ein.

Kleines kultiges Extra: Programme können (bzw. sollen) über eine 
Chipkarte ausgetauscht werden.
Ich hab eine Kiste mit Kartenslots rumstehen, deshalb die Idee.

von Joerg W. (joergwolfram)


Lesenswert?

Hallo,

also, die "Komische" Belegung der Datenbits rührt daher, dass ich PORTA 
0/1 als Analog/Digitaleingänge brauche. Hier gleich noch die Belegung 
des 9-poligen "Systemsteckverbinders", bis ich dazukomme den Schaltplan 
zu zeichnen:

(1) - 1KOhm - Zwei Schottky-Dioden zur Spannungsbegrenzung - PTA0
(2) - TX (PTD1)
(3) - RX (PTD0)
(4) - SDA (PTD1)
(5) - GND
(6) - Video (330Ohm von PTD4, 1KOhm von PTD5)
(7) - 1KOhm - Zwei Schottky-Dioden zur Spannungsbegrenzung - PTA1
(8) - SCL (PTD0)
(9) - VCC

Den Schaltplan habe ich übrigens mit XFIG gezeichnet, das Display hat 
lt. Datenblatt einen KS0107 + 2x KS0108 Controller.

Da es bei mir im Gehäuse sehr eng zugeht und alles auf Lochrasterplatte 
ist, hatte ich nach Einbau eines Step-Up Schaltreglers (Schaltungsteil 
kommt noch) Probleme mit den Eingängen, die genau daneben lagen. 
Deswegen habe ich neben die Eingänge einfach SIL-Widerstandsnetzwerke 
eingebaut und seitdem Ruhe. Die an Reset und SPI sollte ich wohl noch 
einzeichnen...

Die ca. 30Hz kommen daher, dass der Horizontalinterrupt mit 15,625 KHz 
läuft und ich etwa 528 Interrupts brauche, um den Bildspeicher komplett 
zu übertragen. Da nach Datenblatt des KS0108 ein Schreibvorgang nach 
64µs sicher abgeschlossen ist, brauche ich auch nicht ready/busy 
abzufragen. Dass die 528 Interrupts ausreichen und nicht 1056 liegt 
einfach daran, dass ich jeweils ein Byte an die beiden auf dem Display 
verbauten KS0108 schicke. VEE sind bei mir die -5V, die  aus dem Display 
rauskommen.

Gruß Jörg

von Harry S. (littlegonzo)


Lesenswert?

Hallo Jörg,
bei deiner Liste bezüglich des Systemsteckers bist Du Dir sicher das es 
so sein soll/ist?

(1) - 1KOhm - Zwei Schottky-Dioden zur Spannungsbegrenzung - PTA0
(2) - TX (PTD1)
(3) - RX (PTD0)
(4) - SDA (PTD1)
(5) - GND
(6) - Video (330Ohm von PTD4, 1KOhm von PTD5)
(7) - 1KOhm - Zwei Schottky-Dioden zur Spannungsbegrenzung - PTA1
(8) - SCL (PTD0)
(9) - VCC


2+4 und 3+8 sind demnach verbunden^^
Da ich auf der Arbeit momentan bin und kein Datenblatt des M644 zu Hand 
habe denke ich 2+3 sind klar TX/RX der Serial aber 4+8 müßten wohl an 
die I2C des M644 oder?

Grüße
Harry

von gast (Gast)


Lesenswert?

müssen die leute immer und alles kritisieren, sicher hätte man das auch 
anders und besser lösen können, aber jeder tut das was in seinen 
mgölichkeiten liegt.

ich finde es toll das es immer wieder leute gibt die kreativ sind ud 
projekt machen und die dann auch mit andern sharen!

feedback kann man acuh anders geben, und hilfreicher.

"warum hast du das display so angeschlosen, wäre es nicht sinnvoller 
wenn d0-d7 auf einem port liegen? kannst du mir deine ideen die dahinter 
stekcen näher erörtern, so ein geiles projekt!" oder so ähnlich?

wenn die leute immer nur kritisiert werden und niedergemacht werden dann 
wird es bald keine mehr geben die was machen geschweigeden ins netz 
stellen!

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ich plädiere für ein zusätzliche MP3 wiedergabe ;)
ANsosnten ne nette Sache hatte ich auch shconmal im kopf aber nie zu 
gekommen :(

von Joerg W. (joergwolfram)


Lesenswert?

Sorry, Tippfehler.
SDA und SCL liegen natürlich an Port C

Gruß Jörg

von Harry S. (littlegonzo)


Lesenswert?

War keine Kritik, lediglich ein Hinweis auf einen evtl. Tippfehler wie 
es sich ja auch herrausgestelt hat^^

ps:MP3 Zusatzboard hätte was ;-) Nur ich denke dann kommt man langsam an 
die Grenzen des M644.

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Kleiner Hinweis zur Tastenanordnung (Dokumentation versuche ich dieses 
WE weiterzumachen...):
1
       +----------------------------+
2
 ESC   |                            |  UP
3
       |                            | 
4
       |      Display-Fläche        | LE RI
5
       |                            |
6
 ENT   |                            |  DO
7
       +----------------------------+
8
       +----------#################-+
9
                   Anschlussleiste
In den meisten Programmen sind den Tasten Symbole am Displayrand 
zugeordnet.

Zum Thema Geschwindigkeit: Was wirklich limitiert, ist die Trägheit des 
Displays. Rein rechnerisch könnte man unkomprimiertes Video aus dem 
Dataflash mit bis zu 25FPS abspielen.

Gruß Jörg

von Gerhard (Gast)


Lesenswert?

Hallo Jörg,

ich habe mal Display und Tasten an einen Mega644 angeschlossen und uC 
geflasht.
Bekomme allerdings lediglich ein Rechteck (0,0,128,64) angezeigt.
Benutzt habe ich das HEX aus dem Archiv.

Gerhard

von Otto (Gast)


Lesenswert?

Hallo Gerhard,

ohne es genau zu wissen, würde ich mal auf die Fuses tippen.....

Eigentlich wollte ich heute auch einen Lochrasteraufbau wagen, warte 
jetzt besser mal ab.

Hallo Jörg,

besteht auch die Chance, dass es mit einem 128x64 OLED-Display mit 
SED1303-Controller funktioniert?

Viele Grüsse

Otto

von Gerhard (Gast)


Lesenswert?

Hallo Otto,

lfuse=FF, hfuse=D9, efuse=FC ist nicht das, was Jörg angegeben hat, aber 
das sollte nicht
der Grund sein.

Gerhard

von Otto (Gast)


Lesenswert?

Hallo Gerhard,

ich hatte ein ähnliches Problem bei einem der anderen 
"Chipbasic-Computer" von Jörg, als ich einen neuen Controller geflasht 
hatte:

Das Monitorbild erschien zwar aber dann war "tote Hose" - Ursache waren 
die Fuses, die ich falsch gesetzt hatte.

Gruss Otto

von Joerg W. (joergwolfram)


Lesenswert?

Hallo,

eventuell könnte es mit der RTC-Abfrage am Anfang zu tun haben. 
Eventuell helfen zwei PullUps mit 2K2 an SDA und SCL. Alternativ werde 
ich mal schnell eine Version ohne RTC-Abfrage machen...

Gruß Jörg

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hmm, die RTC-Abfrage scheint nicht zurückzukehren, wenn keine RTC
dranhängt. Hier also die Version ohne RTC, Wahrscheinlich werde ich die
automatische Erkennung rausmachen und das Ganze über bedinngte
Assemblierung zu realisieren. Dann sollte es auch einfacher sein, andere
RTCs einzubinden.

Gruß Jörg

von Günti (Gast)


Lesenswert?

eine unterstützung des  EA DOGM128L-6

http://www.reichelt.de/?;ARTICLE=77845

ist nicht vorgesehen ???

von Joerg W. (joergwolfram)


Lesenswert?

@Günti
Ich habe mir mal das Datenblatt von dem Display angesehen, theoretisch 
wäre eine Unterstützung möglich, dazu müssten aber (auf den ersten 
Blick) "bimode1.asm" und "bimode2.asm" dahingehend umgeschrieben werden, 
die Daten anstelle paralell seriell auszugeben.
Da ich selbst aber derzeit keinen Bedarf dafür habe, wird eine Anpassung 
von meiner Seite her eher unwahrscheinlich sein, aber schliesslich ist 
es ja ein Opensource-Projekt...

Gruß Jörg

von Gerhard (Gast)


Lesenswert?

@Jörg
Ja ist die RTC Abfrage. Hatte ich schon mal ausgebaut und dann klappte 
es.
Habe jetzt mal 2 PullUps an den I2C geklemmt und es funktioniert auch 
mit RTC Abfrage.

Gerhard

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hallo,

was für einen RTC könnte man denn benutzen?

von Gast (Gast)


Lesenswert?

>was für einen RTC könnte man denn benutzen?

>Optinal kann eine DS3232 RTC an den I2C Bus angeschlossen werden.

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Ups. Hab ich wohl überlesen.

Schade. Den scheint es nirgends zu geben. Weder Conrad, Reichelt noch 
CSD haben den.

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hier kommt der nächste Schaltungsteil...
Es sollte auch die DS3231 gehen, da ich das interne RAM nicht nutze.
Z.B. zu finden in:

http://stores.ebay.de/Hyperfine-Store

Der Vorteil bei diesen RTCs ist die hohe Genauigkeit und 
Temperaturkompensation. Der Einsatz einer anderen RTC wäre aber durchaus 
denkbar.

Gruß Jörg

von Harry S. (littlegonzo)


Lesenswert?

Hallo Jörg,
leider bin ich noch nicht dazu gekommen deinen kleinen Compi zu bauen. 
Aber eine Frage wäre noch interessant: Die RTC DS3232 ist wirklich blöd 
zu bekommen, wäre eine Alternative der DS3231 also ohne Ram? Nutzt Du 
denn das RAM in dem Baustein?

Den DS3231 würde man wenigstens bei Segor für sagenhafte 9,80 bekommen 
:-/

Wünsche aber in jedem Fall einen guten Rutsch ins Jahr 2009!

Grüße
Harry

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Harry,

DS3231 sollte gehen, siehe letzten Beitrag von mir :-)

Gruß Jörg

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Sorry, dass es hier nur sehr langsam weitergeht, anbei mal ein Bild von 
meinem Teil. Um abzuschätzen ob eine Weiterführung des Projektes 
überhaupt sinnvoll ist, würde mich interessieren, wieviele leute das 
Teil aufgebaut haben/aufbauen wollen und wie interessant bzw. wichtig 
eine Kompatibilität zum BASIC-Computer ist.

Gruß Jörg

von Blackbird (Gast)


Lesenswert?

Als kleines Zusatzteil baue ich es mir bestimmt auf. Mir fehlt etwas die 
Anbindung an andere Geräte, z.B. PC über Serial oder ähnliches. Damit 
kann man die Meßwerte/Ergebnisse auch mal festhalten.
Oder habe ich das jetzt irgenswo übersehen?

Respekt vor Deiner Leistung - das ist toll, was Du da aus dem AVR 
gemacht hast.


Blackbird

von Joerg W. (joergwolfram)


Lesenswert?

RX und TX sind rausgeführt, damit lassen sich auch Daten vom/zum PC 
übertragen. Voraussetzung ist allerdings in einigen Fällen ein 
Dataflash-Modul zum Speichern der Daten.

Gruß Jörg

von Otto (Gast)


Lesenswert?

Hallo Jörg,

ich werde es mir auch aufbauen, wenn ein Layout zur Verfügung steht.
Kompatibilität zum Basic-Computer wäre nicht schlecht aber kein Muß.

Viele Grüße

Otto

von Joerg W. (joergwolfram)


Lesenswert?

Layout wollte ich eigentlich nicht mehr machen, da ich bei mir alle auf 
Lochraster aufgebaut habe (und bei jedem zweiten Aufmachen einer der 
Drähte von der Platine zum Display abbricht ;-)
Wenn größeres Interesse dran besteht, lässt sich aber bestimmt was 
machen (mit Mega644 als TQFP) oder jemand anderes macht sich die Mühe...

Gruß Jörg

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Ich werde das Teil auch sofort nachbauen wenn feststeht das du nicht 
mehr viel an der Hardware änderst.

von Harry S. (littlegonzo)


Lesenswert?

Hallo Jörg,
schön mal wieder von Dir zu lesen.
Also ich baue das Ding auch nach sobald klar ist das die Hardware nicht 
mehr geändert wird. Also meinetwegen muß es überhaupt keine 
Kompatibilität zum Basic-Computer haben. Sind ja an sich 2 
unterschiedliche Geräte mit anderen Anwendungen. Teile hätte ich bis auf 
den DS32** zusammen, also an sich könnte es losgehen^^

Gruß Harry


ps:Hoffe in der Jobsuche erfolgreich gewesen?!

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Nen Layout könnte ich machen, dann aber vorzugsweise in komplett SMD.

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hauke Radtki wrote:
> Nen Layout könnte ich machen, dann aber vorzugsweise in komplett SMD.

Das fände ich gerade zu ideal da ich eh fast nur mit SMD arbeite.

von Otto (Gast)


Lesenswert?

Hallo Hauke,

> Nen Layout könnte ich machen, dann aber vorzugsweise in komplett SMD.

das käme mir auch sehr entgegen.....

Gruss

Otto

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Wenn Joerg bestätigen würde, dass die hardware so steht würde ich mich 
mal dranmachen ;) Ist ja wirklich nicht viel

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Joerg, steht der Plan so oder kommt da noch etwas hinzu?
Wenn dann würde ich gerne ne Platine machen auf der schon alles drauf 
ist, bestücken kann man ja nur das was man braucht.

von Joerg W. (joergwolfram)


Lesenswert?

Ich denke, dazu gibt es noch ein paar Dinge zu beachten:

1. Spannungvversorgung, ich benutze eine Li-Ion Zelle und einen MC34063. 
Das ist allerdings keine saubere Lösung, da eine 
Unterspannungsabschaltung fehlt.

2. Der Alarmausgang der RTC steuert einen P-Kanal MOSFET an, der zum 
Wecken den Einschalter überbrückt

3. Alles auf einen Steckverbinder zu führen, hat sich leider als recht 
ungünstig herausgestellt. So habe ich mir mittlerweise schon ein 
9-poliges Y-Kabel gebaut, da sonst z.B. der Videoausgang alle anderen 
Anschlüsse blockiert.

4. Das Display. Ich habe z.B. noch ein relativ Flaches rumliegen, an dem 
nur ein relativ schmaler Folienleiter dran ist.

Auf jeden Fall sollte man es vorher mal z.B. auf Lochraster aufgebaut 
haben um zu sehen ob alles funktioniert. An der Belegung selbst werde 
ich nichts mehr ändern, da das schon mehr oder weniger das Optimum bei 
der vorhandenen Hardware zu sein scheint.

Gruß Jörg

von Jürgen (Gast)


Lesenswert?

Hier ein Tipp!

Die RTC DS3231 u. 3232 habe ich mir von Maxim als Sample bestellt!
Klappt einwandfrei und ist kostenlos!

Bekomme jeweils 2 Exemplare zugeschickt.

Gruß

Jürgen

von Jürgen (Gast)


Lesenswert?

Hallo Jörg,

leider Doppelpost (Siehe Fuses Atmega 644P) Ich schreibe es nochmal hier 
rein.

Du gibst in deinem Zip-File die Fuses an. Aber mit dem Low-Fuses komm
ich nicht klar.

Du schreibst für Low-Fuses E6! Stimmt das?
Wenn ich die Fuses so setzen wil, schlägt mein Progtool mir einen
Ceramic-Resonator vor!

Ich habe mal EE gesetzt. Ich hoffe das ist so richtig?

Gruß

Jürgen

von Jürgen (Gast)


Lesenswert?

Hallo Joerg

habe das Gerät nach deinem Schaltplan aufgebaut und nach deinen Angaben 
die Fuses gesetzt: Low: Oxe6; High: Oxd1; Ext: Oxfc

Bekomme aber nur ein Rechteck im Display angezeigt, sonst keine Reaktion 
des Gerätes. Die Schaltung habe ich geprüft, Pullups wie vorgegeben 
eingebaut!

Mein Display ist ein Powertip PG 12864 mit KS 108 Controler

Nochmals meine Frage: sind die Fuses richtig?

Bitte um Antwort.

Gruß

Jürgen

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Jürgen,

hast du mal die AVRHH_0.370_noRTC.hex (von weiter oben) probiert? Es 
scheint so, ob auf die RTC gewartet wird...

Gruß Jörg

von Jürgen (Gast)


Lesenswert?

Hallo Joerg,

werde ich morgen mal probieren.

Gruß

Jürgen

von Jürgen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Joerg,

habe das Gerät neu geflasht (AVRHH_0.370_noRTC.hex) aber keine Änderung!
Quarz schwingt mit 20 MHZ! (mit Oszi kontrolliert)

Fuses nach deinen Angaben gesetzt und trotzdem nur Rechteck im Display.

Zeige mal ein Bild vom meinem Gerät.

Gruß

Jürgen

von Joerg W. (joergwolfram)


Lesenswert?

So, ich hab nochmal zurückgelesen, hier meine aktuelle Einstellung:

lfuse 0xE6
hfuse 0xD2
efuse 0xFC

Wenn Du ein Oszi hast, könntest Du im nächsten Schritt noch nachsehen, 
ob an PD4 das Video- und an PD5 das Sync-Signal rauskommt. Auch sollte 
R/W vom Display an Masse liegen.

Gruß Jörg

von Jürgen (Gast)


Lesenswert?

Hallo Joerg,

Gerät funktioniert, alles OK!

Ich hatte den Reset-Pin des Display auf Masse gelegt!!
Habe noch eine Frage: Funktioniert der Sound?
Ist der Lautsprecher ein Piezo oder Normal? Bei meinem LS kommt kein 
Ton. Schon im Menue ein und wieder ausgeschaltet.

Schon genial was du aus dem Atmega rausgeholt hast. Mein Respekt!

So jetzt wird noch die RTC eingebaut, Samples von Maxim sind die Woche 
gekommen.

Nochmals Danke

Gruß

Jürgen

von Jürgen (Gast)


Lesenswert?

Hallo Joerg,

habe zu deinem Schaltplan zwei Änderungen vorgenommen!

Den 220 Ohm Widerstand in Reihe zum Lautsprecher habe ich entfernt und 
durch ein 100 Ohm Poti ersetzt! Habe einen wert von 30 Ohm eingestellt
und jetzt ist der Sound auch zu hören. Ich habe einen 8 Ohm Mini-LS 
benutzt.

Der 100 Ohm Widerstand zu LED+ ist zu groß, meine Displaybeleuchtung war 
zu dunkel, 26 Ohm haben das geändert.

Gruß

Jürgen

von Jürgen (Gast)


Lesenswert?

Hallo Jörg,

habe die RTC DS3231 eingebaut, läuft super genau! Bis jetzt nach 2 Tagen 
keine Abweichung festgestellt!.

Nur der Wecker funktioniert nicht!
Weckzeit eingstellt und eingeschaltet, Glocke-Symbol erscheint. Aber 
nach erreichen der Weckzeit passiert nichts! Erst wenn ich das Gerät vom 
Netzteil trenne und wieder verbinde, erscheint der Alarm! Dann hängt 
sich das Gerät auf!


Gruß

Jürgen

von Joerg W. (joergwolfram)


Lesenswert?

Das ist halt das Problem, wenn die Doku fehlt. Aber ich habe im Moment 
einfach einfach nicht die nötige Zeit dazu und werde aus diesem Grund 
das Projekt auch wohl nicht weiter publizieren.

Das Verhalten ist richtig, bei mir überbrückt der INT-Ausgang der RTC 
(liegt direkt am Akku) über einen P-Kanal Mosfet den Einschalter. Beim 
Einschalten wird das INT-Bit überprüft und wenn gesetzt zur Weckroutine 
gesprungen. Mit einem Tastendruck lässt sich der Spuk wieder ausschalten 
und beim nächsten Einschalten (von Hand) ist alles wieder beim alten.

Gruß Jörg

von Jürgen (Gast)


Lesenswert?

Hallo Jörg,

so hatte ich es mir auch schon so gedacht, du hattest es ja schon so 
beschrieben.

Schade das du dein Projekt aus Zeitmangel nicht mehr fortsetzen kannst.

Gruß

Jürgen

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hallo,

nachdem ich mir den Handheld nun auch endlich nachgebaut habe und auch 
alles soweit funktioniert habe ich 2 Fragen:

- Wie funktioniert dieses GPS programm? EInfach nur nen Empfänger an die 
serielle Schnittstelle anschließen und der Handheld dekodiert dann oder 
wie funktioniert das?

- Die serielle übetragung von Programm vom Handeld zum PC geht irgendwie 
nicht. Wollte mir das "Hallo Welt" Programm mal angucken um zu sehen wie 
das Format ist welches ich an den Handheld übetragen muss.


Gruß
Robin T.

von Joerg W. (joergwolfram)


Lesenswert?

1. Man braucht einen GPS-Empfänger, der zyklisch den NMEA RMC-Datensatz 
mit maximal 9600 Bps ausgibt. Andere Datensätze werden ignoriert, die 
langsame maximale Geschwindigkeit kommt daher, dass die 
Winkelumrechnungen von DDDMM.mmmmm in Grad schon erfolgt, während die 
Zeichen ankommen. Bsudrate kann man im Konfigurations-Menü umstellen.

2. Man kann nur den Bytecode übertragen, nicht den Quellcode. Die 
Übersetzung muß (zwangsläufig) mit einem Chipbasic2 Computer erfolgen. 
Dort kann man dann aus dem Hauptmenü heraus die Programme per X-Modem 
senden und braucht normalerweise gar keinen PC dazu.

Wenn ich meine anderen beiden Projekte (ChipBasic2 und ChipBasic8) 
einigermaßen abgeschlossen habe, werde ich mich auch nochmal diesem 
Projekt widmen, kann aber noch etwas dauern.

Gruß Jörg

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Da der alte Handheld ziemlich klobig und auch vom Softwaredesign her 
nich gerade optimal war, habe ich mich vor einiger Zeit zu einer 
Weiterentwicklung entschlossen. Die "neue Generation" setzt das 
Oberfächenkonzept praktisch 1:1 fort, der Unterbau hat sich
jedoch größtenteils geändert. Als Controller verwende ich jetzt einen 
MC9S12XD256 von Freescale. Die Tasten sind durch kapazitive 
Berührungsflächen ersetzt worden, schon allein wegen der 
Geräuschentwickung und Haltbarkeit. Die Ansteuerung von Display und 
Touchfeldern übernimmt der XGATE-Coprozessor, Der Hauptprozessor "sieht" 
nur einen linear adressierten Bildspeicher und ein Speicherbyte mit dem 
aktuellen Tastaturstatus. "Apps" können in C oder ASM geschrieben werden 
und sind auf einem 1 MB Dataflash gespeichert. Der S12 kann Programme im 
RAM ausführen und es stehen für die Apps 8K Programm- und 1,25K 
Datenspeicher zur Verfügung. 8K scheint zwar nicht gerade viel, aber es 
gibt ja eine zur Zeit noch ständig wachsende Bibliothek im Flash, die 
auch ein (rudimentäres) printf, Grafikfunktionen, Sprites etc. enthält. 
Für den GCC gibt es auch schon ein Compilier-Script (evtl. später auch 
ein angepasstes Makefile), ein Linkerscript und Includes um die 
Bibliotheksfunktionen im Flash anzusprechen.

Meine Frage ist, inwieweit Interesse an dem Projekt besteht, denn es 
fällt ja doch jede Menge Dokumentationsaufwand an, den ich für mich 
selbst nicht unbedingt treiben möchte.

Jörg

von Dennis S. (sixeck)


Lesenswert?

Ich finde das Teil unglaublich gut, was da alles rauszuholen ist :O
Respekt vor deiner Arbeit!!
Ich hab leider diverse andere Projekte am laufen, aber wenn mal Leerlauf 
ist und du dich dazu entscheidest deine Doku zu veröffentlichen werde 
ich mich wahrscheinlich mal ransetzen und versuchen das nachzubauen.

von Joerg W. (joergwolfram)


Lesenswert?

Haupthindernis wird halt sein, dass die wenigsten hier über einen 
geeigneten Programmer für die BDM-Schnittstelle verfügen.

von Dennis S. (sixeck)


Lesenswert?

Joerg Wolfram schrieb:
> Haupthindernis wird halt sein, dass die wenigsten hier über einen
> geeigneten Programmer für die BDM-Schnittstelle verfügen.

Wenn es deine Zeit zulässt kann man sich da ja an dich wenden oder ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.