Forum: Mikrocontroller und Digitale Elektronik Taschenrechner Oszilloskop


von Felix (Gast)


Lesenswert?

Hallo liebe uC Gemeinde,

ich wollte mir gern ein Oszilloskop bauen. Prinzipiell müsste das doch 
mit einem TI 92 und einer AD Wandler Platine möglich sein.
Mich würde mal interessieren, ob jemand so etwas schon gemacht hat.
Eine Möglichkeit wäre, einen Sensor für den TI zu kaufen und den danach 
umbauen.

Welche Auflösung und Abtastrate wäre möglich ?

von Uuhh (Gast)


Lesenswert?

Was soll's denn koennen ? 100kHz ?

von Felix (Gast)


Lesenswert?

Also 100kHz das kann eine ADC liefern und ist i.O.. Auflösung sollte 
schon über 12 Bit liegen - optimal wären 16 Bit.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

>  Auflösung sollte schon über 12 Bit liegen - optimal wären 16 Bit.

Jo, ne, is klar.

von Felix (Gast)


Lesenswert?

> Jo, ne, ist klar.
Wieso denn nicht?
Entweder hat der TI einen 8Bit oder 16Bit Proz.. Bei 16Bit kann man auch 
einen 16 Bit ADC anschließen oder?

von Gast (Gast)


Lesenswert?

>Mich würde mal interessieren, ob jemand so etwas schon gemacht hat.

Na klar. Ich hab mir einfach nen 24-Bit Wandler mit 60 MHz ausm Katalog 
ausgesucht, ihn auf ein Steckbrett gedrückt, paar Kabel drumrum 
verteilt, und ein Basic-Programm (20 Zeilen) geschrieben. Funktioniert 
einwandfrei. Kann damit problemlos 800 V auf 0.1 µV genau messen.

;-)

von Tom E. (tkon)


Lesenswert?

>Wieso denn nicht?
Natürlich kannst du einen 16Bit (oder gleich 24Bit) AD-Wandler 
anschließen.
Allerdings steht der Aufwand dafür in keinen vernünftigen Verhältnis zum 
Nutzen: um wirklich die vollen Bit auszureizen brauchst du einen guten 
Wandler, ein sauberes Layout und passende Entstörung/Filter evtl. sogar 
Abschirmung.
Und zum Schluß rechnest du die Daten wieder runter auf dein 240x128 
Pixel Display - dafür hätten 7 Bit auch ausgereicht.

Aber es ist machbar. :)

von Felix (Gast)


Lesenswert?

@ Gast

60 Mhz ist nicht schlecht und 800V auf 0,1 uV genau. Nicht schlecht. Du 
kannst einiges mehr als ich. Kannst mir ja mal einen Schaltplan posten.

Es gab einmal ein ähnliches Projekt mit einem Gameboy.

Ich bin ganz begeistert von meiner Idee.

von Teplotaxl X. (t3plot4x1)


Lesenswert?

Du kannst mit nem ASM-Programm den Link-port des Taschenrechners zu nem 
ttl uart umfunktionieren. Nen Prozessor liest den adc aus und schiebt 
die Daten per uart in den Taschenrechener.

von Felix (Gast)


Lesenswert?

@ Thomas Ekman (tkon),

also zu den ADCs kann ich nur sagen, das die von LT und TI 16 Bit 
Auflösung haben und auch recht gut arbeiten und Filter sind kaum 
notwendig für erste Tests.

Zu den 7 Bit ist zu sagen, dass der TI eine Zoom Fkt hat. Also könnten 
Bereiche mit höherer Auflösung vergrößert werden.

von Felix (Gast)


Lesenswert?

>Du kannst mit nem ASM-Programm den Link-port des Taschenrechners zu nem
>ttl uart umfunktionieren. Nen Prozessor liest den adc aus und schiebt
>die Daten per uart in den Taschenrechener.

Guter Ansatz. Was hat der TI noch für Interfaces?

von cdg (Gast)


Lesenswert?

> Ich bin ganz begeistert von meiner Idee

na wenigstens einer

von Tom E. (tkon)


Lesenswert?

@Felix
kannst du natürlich machen! ich hätte für einen ersten Test halt nen 
normalen 8Bit Wandler verwendet

von Klaus (Gast)


Lesenswert?

@Felix
Ich halte das Projekt für Dich als glatte Unterforderung.
Das ist einfach zu läppisch, einen 24-Bit Wandler mit 60 MHz an einen TI 
Taschenrechner anzuschliessen.
Ich meine, Du solltest lieber eine Seifenkiste bauen, mit der man zu 
Mond fliegen kann.

von Felix (Gast)


Lesenswert?

@ Thomas Ekman (tkon)
ok., für Tests würde 8 reichen. Man möchte aber auch ein wenig nutzen 
haben.

und noch ein Nachtrag zum TI 92:
-> Motorola 68000 mit 10 MHz
-> 2 MB RAM, 900k nutzbar

von Felix (Gast)


Lesenswert?

@ Klaus (Gast),
bevor Du was schreibst, bitte lies die vorherigen Antworten!

von Klaus (Gast)


Lesenswert?

@Felix
Nö, muss ich nicht.
Komisch, daß da Firmen mit Tektronix, LeCroy oder Agilent ganze 
Entwicklerteams mit so trivialen Aufgaben befassen.
Aber wahrscheinlich haben die aber keine solch genialen Koryphäen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Klaus wrote:
> Komisch, daß da Firmen mit Tektronix, LeCroy oder Agilent ganze
> Entwicklerteams mit so trivialen Aufgaben befassen.
> Aber wahrscheinlich haben die aber keine solch genialen Koryphäen.

Wieso komisch? Steht doch oben schon, warum es bei denen solche 
Entwicklerteams gibt, weil "mal eben" 16/24 Bit messen nun mal kein 
Pappenstiel ist.

Es ist völlig(!) schwachsinnig, mit mehr als 7 Bit aufzunehmen, wenn man 
es nachher eh nur auf 128Bit (Y Achse) darstellen möchte. Das wurde hier 
auch schon gesagt.

von Marc 16 Warsteiner (Gast)


Lesenswert?

Hi Felix,

lass Dich von denen nicht runterziehn....

Ein ADC mit 16Bit Datenbus kann also 2^16=65535 verschiedene 
Informationen liefern. Wenn Du also 5V in 65535 "Volt-Stücke" aufteilst 
hat Du 5V/65535=79uV. 79uV ist ungefäh die Spannnung, die man an einem 
EEG (Gehirnströme) abnehmen kann. Der technische Aufwand um so genau zu 
messen ist gigantisch und kostet genauso viel -> gigantisch ....

Gruß

Marc

von Felix (Gast)


Lesenswert?

Ich hab mal nachgeschaut,

der TI hat USB und einen sogenannten "Zubehöranschluss".

Weiß jemand etwas über den "Zubehöranschluss"?

von Klaus (Gast)


Lesenswert?

@Felix, @ Marc
> 79uV ist ungefäh die Spannnung, die man an einem EEG (Gehirnströme) abnehmen 
kann.

Leute, das kann hinkommen, was notwendig ist:
Eure Gehirnströme abnehmen.
Dann schau' mer' mal, ob die im 16-Bit-Bereich liegen...

von Runterzieher (Gast)


Lesenswert?

Also 16bit bei DC sind eine Sache, aber bei xxMHz was ganz anderes.

von Felix (Gast)


Lesenswert?

Ich hatte so an 16 Bit bei z.B. 50kHz gedacht. Der Proz. hat ja 10 MHz.

von Fuzzy (Gast)


Lesenswert?

Da steht drin, wei viel Aufwand es ist, 24Bit zu messen:
http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1989-04.pdf
Bei 16Bit ist es zwar weniger Aufwand, aber da dein 
Taschenrechnerdisplay eh nur 7Bit Auflösung hat, würde ich lieber einen 
schnellen 8bit Wandler nehmen, und schauen, ob du das hinkriegst.

von Runterzieher (Gast)


Lesenswert?

einen 16 Wandler zu nehmen bedeutet, die gesammte Vorverstaerkerstufe 
16bit tauglich zu haben. 50kHz Analogbandbreite bedeutet irgendwas ab 
250kSample. Also schau mal fuer Vorverstaerker, die das koennen. 
Irgendwas wie einen LT6910-1, falls Faktor 100 genuegt.

von Simon K. (simon) Benutzerseite


Lesenswert?

Felix wrote:
> Ich hatte so an 16 Bit bei z.B. 50kHz gedacht. Der Proz. hat ja 10 MHz.

Da kann man schon sehen, dass du scheinbar überhaupt keinen blassen 
Schimmer davon hast, was du machst.

Von den hiervor genannten 250kSPS und 16 Bit ausgegangen macht das mal 
locker 500Kilobyte pro Sekunde an Datenwust, den du verwursten musst. Wo 
willst du den hinspeichern? Ins RAM?
Außerdem hat ein Oszilloskop auch noch eine Trigger-Einheit und nicht 
nur einen A/D Wandler.

von Runterzieher (Gast)


Lesenswert?

Ein Einfachtrigger auf der Basis des ADC Wertes ist moeglich, und ja, 
die Werte kommen eh ins RAM. Ein 1kWord als Ringbuffer genuegt.

von Felix (Gast)


Lesenswert?

@ Simon K. (simon),

ich war von einer Abtastfrequenz von 50kHz ausgegangen. Das macht 
100kiloByte. Und 900k stellt das RAM zur Verfügung.

Die analoge Schaltungstechnik drumherum soll erst einmal nicht 
berücksichtigt werden. Also nur ein ADC!

Die Frage ist: "Wie kann ich den ADC mit TI 92 verbinden?"

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Ich hatte so an 16 Bit bei z.B. 50kHz gedacht.
Diese Auflösung haben nicht mal fertige Kauf-Oszis.
Nur als Beispiel das hier: 
http://www.mercateo.com/p/589EL-40052950/Hameg_Oszilloskop_Analog_Digital_50MHz_HM507.html
und noch einen: 
http://www.elektronikpraxis.vogel.de/themen/hardwareentwicklung/messtechnik/labormesstechnik/articles/37758/

von Uuhh (Gast)


Lesenswert?

50kSample mit 16 bit entspricht einer Soundkarte. Der ADC hat die Daten, 
einen ConversionStart und einen Read. Das kann ja nicht so schnell sein, 
den parallel anzuschliessen. Standardmaessig verknuepft man die beiden 
Controlsignale mit einer Adresse.

von Gast (Gast)


Lesenswert?

> ich war von einer Abtastfrequenz von 50kHz ausgegangen.

@ Felix
Schon mal was von Oversampling gehört? Vermutlich nicht, sonst würdest 
du nicht so eine gequirlte Sch... schreiben. Um ein analoges 
50kHz-Signal halbwegs vernünftig auf dem Oszi darzustellen, solltest du 
es mit der 10-fachen Frequenz sampeln. Das wären bei 16 bit die 
erwähnten 1MByte/s. Wie soll die winzige Prozessor in dem TI das 
schaffen. Vielleicht schaust du dir auch mal die Daten kommerzieller 
Oszilloskope an, insbesondere die Bandbreite. Bedeutet nämlich nix 
anderes, als das ein 100MHz-Oszi ein Rechteck-Signal i.d.R. nur bis 
ungefähr 10MHz sauber darstellen kann. Hier im Forum gibts ein bissel 
was darüber zu lesen. Ach nochwas, die gängigen ADCs werden nur noch in 
einem Gehäuse gefertigt, was ich als Hardcore-SMD bezeichne. Da ist nix 
mehr mit selberlöten und bei hohen Frequenzen spielt auch das 
Platinenlayout eine eintscheidende Rolle. Nur mal so als Denkanstoß.

Kopfschüttel...

von Felix (Gast)


Lesenswert?

@ Gast (Gast)
es geht nicht um die durch Mittelung und neuen Entscheidungsschwellen 
gewonnenen Bits, sondern darum, ein Konzept zu finden, wie man mit dem 
TI möglichst schnell und genau misst.
Warum Oversampling, wenn es doch 16 Bit ADCs gibt? Man braucht ja nicht 
alle Bits auslesen. Für erste Tests würden schon 8 Bit reichen.

Mein Problem ist jetzt nicht das Abtasttheorem, sondern die 
Schnittstelle.

von Gast (Gast)


Lesenswert?

Du hast gleich zwei Probleme:

1. Hast Du die Theorie hinter der ganzen Sache noch nicht verstanden, 
das ist besonders Deinem letzten Posting überdeutlich zu entnehmen. OK, 
das könntest Du mit etwas Lernwillen vielleicht noch nachholen, wenn da 
nicht das zweite Problem wäre.

2. Hast Du dich leider als völlig lernresistent erwiesen. Die Leute 
erzählen Dir immer wieder haarklein, warum Deine Idee nicht so einfach 
funktioniert aber Du merkst einach nichts...

von Klaus (Gast)


Lesenswert?

>"Wie kann ich den ADC mit TI 92 verbinden?"

Du? Garnicht!

von TI (Gast)


Lesenswert?

Ihr seid gemein, lasst ihn doch selber zur Überzeugung kommen, dass das 
nicht so einfach geht.
Was du wahrscheinlich am dringendsten suchst sind Daten zum verwendeten 
Protokoll. Hier steht fast alles: 
http://www.ticalc.org/pub/text/calcinfo/tixx_guide.zip
Und dann musst du nur noch einen AVR programmieren, der die Daten aus 
dem AD-Wandler einliest und zum TI rüberschiebt.

von B e r n d W. (smiley46)


Lesenswert?

Hallo Felix

1. Nimm doch mal ein Blatt Papier und mal eine Sinusschwingung und eine 
Sägezahnschwingung auf, etwa 10cm breit.

2. Dann malst Du auf jede dieser Kurven im Abstand von ca. 1cm zehn 
Punkte.

3. Jetzt überlegst Du Dir, welche Punkte weggelassen werden können, um 
noch eindeutig erkennen zu können, daß es sich um einen Sinus bzw. 
Sägezahn handelt.

Noch ein Tip: Mit dem Oversamling will man nicht die Auflösung des 
AD-Wandlers (Bits) erhöhen, sondern die Auflösung im Zeitbereich.

Mfg.

von Aahh (Gast)


Lesenswert?

Was soll denn nicht gehen? Natuerlich geht es. Mit 50kSample kann man 
gerade noch einen reinen Sinus von 15kHz oder so erkennen. Dass dieser 
und einer mit 85kHz gleich aussehen ist nicht wichtig hier. Vielleicht 
ist der Frager ja mit 1kHz zurieden ?

von B e r n d W. (smiley46)


Lesenswert?

Seine Antwort zeigt aber, dass er das noch nicht verstanden hat (siehe 
Oversampling).

von Felix (Gast)


Lesenswert?

@ B e r n d W. (smiley46),

Oversampling wird dazu verwendet um die Auflösung (Bits) zu erhöhen. Das 
Abtasttherom muss immer eingehalten werden.

von Hirse Pupirse (Gast)


Lesenswert?

>welche Punkte weggelassen werden können, um
>noch eindeutig erkennen zu können, daß es sich um einen Sägezahn handelt.

Man braucht 3 Punkte ;-P

von B e r n d W. (smiley46)


Lesenswert?

Selber :-P

von B e r n d W. (smiley46)


Lesenswert?

@Felix

Also, Du willst ein Multimeter bauen mit ein bisschen Kurven.

von Felix (Gast)


Lesenswert?

Dank TI (Gast) hab ich folgendes herausgefunden:

dBus:   45 to 50 kilobits per second
USB:    full-speed (FS, 12Mbit/s)

von Felix (Gast)


Lesenswert?

dBus & USB stehen mir beim TI 92 zur Verfügung

von Simon K. (simon) Benutzerseite


Lesenswert?

Felix wrote:
> USB:    full-speed (FS, 12Mbit/s)

Hat der Taschenrechner kein PCI Express? Ich würde das benutzen.

von ... (Gast)


Lesenswert?

Der TI92 ist schon ein toller Taschenrechner. Aber es ist wirklich 
Blödsinn den als Oszilloskop mißbrauchen zu wollen. Erstens ist das 
Display viel zu klein, zweitens ist die Schnittstelle viel zu langsam 
(der große Stecker ist nur für ein externes Display für Lehrer) und 
drittens müsste man in Assembler irgendwas schreiben um die Werte vom 
ADC anzuzeigen oder man muss einen Mikrocontroller dazwischenschalten, 
der die Daten direkt in etwas umwandelt, was der TI92 einlesen kann. 
(Man kann ja zwischen zwei TI92 Vektoren und Matrizen übertragen.)

Also Felix, wenn du sowas wirklich machen willst, dann nimm einen 
ATmega8, der hat einen 10-Bit ADC eingebaut und den gibt es im DIL 
Gehäuse. Einfach 5V als Versorgnungsspannung und du kannst Werte im 
Bereich zwischen 0 und 5V einlesen. Für höhere Spannungen nimm einen 
Spannungsteiler. Wie man mit dem ATmega8 Werte einliest, findest du hier 
in der Artikelsammlung oder bei Google.

Dann guck dir mal an, wie kompliziert das Datenprotokoll ist, das die 
TI92 untereinander verwenden. Wenn es nicht besonders kompliziert ist, 
dann schicke die Daten als Matrix. Wenn du das Format nicht rausbekommst 
dann installier Fargo II und zeig die Daten an indem du die einfach in 
den Bildspeicher schreibst. Ist im Prinzip nicht besonders kompliziert, 
wenn man Ahung von Assembler hat.

von Frank S. (Firma: HSCS) (linuxerr)


Lesenswert?

dieser thread ist wirklich toll, besonders schön und unterhaltsam finde 
ich, wie sämtliche ironie von felix abperlt, da er nicht einmal 
beissenden spott als solchen erkennt.
einfach köstlich.

übrigens einen 16-bit/50kHz adc an den ti zu knüppern ist pillepalle.
ich konstruiere gerade einen kernspintomographen mit einem ti92, ;-)

von kopfschüttel (Gast)


Lesenswert?

dieser thread zeigt mal wieder wie voll das forum an arroganten leuten 
ist. echt zum brechen...

von Guido Körber (Gast)


Lesenswert?

Wenn das Ganze überhaupt was taugen soll, dann muss als erstes mal ein 
A/D Wandler her, der selber mit einer fest einstellbaren Rate die 
Samples nimmt. Wird das per Software gemacht, dann gibt es Jitter bei 
den Samplepunkten. Die nächste Hürde ist dann ein Trigger der was taugt.

von Wolfgang M. (womai)


Lesenswert?

Vielleicht eine weitere Moeglichkeit. Ich habe ein einfach zu bauendes 
Oszilloskop entwickelt; umfangreiche Infos zum Design etc. hier:

http://www.instructables.com/id/LCS_1M_A_Full_Featured_Low_Cost_Hobby_Oscillosc/

und

http://www.pdamusician.com/lcscope/

Ist natuerlich kein High-End-Geraet, das mit einem Tektronix-Oszi oder 
so auch nur annaehernd konkurrieren koennte, aber die Sample-Rate (1 
MS/sec) und Bandbreite (400 kHz) erfuellen die originalen Anforderungen 
in diesem Thread; bis ca. 150 kHz kann man sinnvoll Signale darstellen. 
Zwei Kanaele, voller analoger Frontend (Engangsverstaerker) mit 
softwaremaessig einstellbarer Verstaerkung, etc.

Das Oszi hat eine einfache serielle Schnittstelle (19200 baud, aber kann 
man einfach auch langsamer laufen lassen), die uC-Firmware ist Open 
Source, es sollte also technisch ohne weiteres moeglich sein, das Geraet 
vom TI-Rechner her zu steuern anstatt vom PC. Keinerlei 
Mindestanforderungen an das steuernde Geraet (PC oder Rechner etc.), 
also macht ein langsameres Geraet bloss die Anzeige langsamer, aber 
funkionieren tut's trotzdem.

Wolfgang

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.