Forum: Projekte & Code Oszi- & Logikanalyser mit LCD


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

der Titel ist noch etwas irreführend, bis jetzt gibt es obigen
Experimetalaufbau und die LCD-Sourcen im Thread "LCD mit T6963C in
ASM".

Die nächsten Sourcen dazu gibt es dann hier wohl am Wochenende.

Mein Plan: Speicheroszi, Logikanalyzer, Spannungsmesser, ??? in einem
Stück mit LCD-Display zum langsamen heranwachsen...

Prozessor: ATMega8515 oder ATMega162 (bis jetzt Mega8515).
LCD: 240x128 mit T6963C
Display Memory-Mapped zusammen mit einem 8kx8 12ns Cache-Ram.
(auch ohne Ram, dann Display am I/O und anderer Prozessor möglich,
die Sourcen haben Schalter für bedingte Assemblierung der Versionen
drin).

Display mit 8x6 Fontsize.
(8x8 möglich, Schalter im Source vorhanden)

Im nächsten Schritt hänge ich einen A/D-Wandler ran, vorerst ADC0820.
(In einer Mini-Version kann natürlich z.B. ein Mega16 und der interne
Wandler genommen werden, das wäre dann das einfache Digital-Oszilloskop
aus dem anderen Thread mit eigenem Display)

Wenn das spielt, kommt ein 8Bit-Buffer dran und die Routinen für den
8-Kanal Logikanalyzer.
(Sparversion dann entsprechend langsam).

Irgendwo dazwischen mache ich die Displayroutinen weiter, Anzeige des
Buffers, Scrollen, Cursor, Positionsanzeige usw.)

Bei mir wird irgendwo dabe der 8k-Ram in Betrieb gehen, erstmal per
Software in langsam. ;)

Wenn das läuft, kommt die Hardwareansteuerung des Ram zum Einlesen, ich
hoffe auf 16-20MHz Digital, mal schauen...
Dazu dann Hardware-Trigger usw. Der Messzyklus wird nach dem Start in
den Ram als Ringpuffer einlesen, nach dem Triggerwort wird
Hardwaremäßig bei 80% gestoppt, so hat man auch die Daten vor dem
Ereignis. Wird eine mäßiges TTL-Bergwerk, je nachdem, wie weit man es
treiben will.

Die Logik spaäter in ein xyz-IC zu gießen, wird sicher möglich sein,
ist aber nicht mein Fall, ich will das nicht in Serie bauen...

Als ADC stehen evtl. auch noch TDA8703 o.ä. auf dem Plan, mal schauen,
da sind Ideen gefragt.

Spannungsmessung mit dem ADC kommt natürlich auch rein (ich brauche
sehr selten Spannungswerte mit x-Stellen hinter dem Komma...).

Vermutlich wird noch ein Funktionsgenerator dazukommen, so bis 50kHz
würde mir schon reichen, dann könnte man z.B. per Software
Verstärkerfrequenzgänge darstellen, eine LM7000-PLL liegt auch noch
rum, vielleicht......
(Das liegt an meinem 2. Hobby, Radios, besonders alte mit Röhren...).

Einschränkungen meinerseits: ich führe keine Diskussion, ob man das
Ganze alles ganz anders machen kann (weil zu langsam, zu aufwändig,
zu...).
Ich nehme vorhandenes, billiges, beschaffbares und baue mir ein Gerät
für meine Zwecke. ;)

Über Ideen würde ich mich also schon freuen, Problemecken im Moment
sind die Eingänge für Analog und Digital (Schutzmöglichkeiten,
Spannungsbereich, Bandbreite) für jede damit sinnvoll möglich Version.

So, nun zerreisst mich in der Luft. ;)

Gruß aus Berlin
Michael

von AVRNIX (Gast)


Lesenswert?

abo

von Stephan H. (stephan-)


Lesenswert?

Hallo Michael,

warum zerreißen ??? Coole Idee.
Ne eierlegende Wollmilchsau. Ich denke für zu Hause völlig
ausreichend.
Als Generator läßt sich ja auch ein Max038 anstöpseln.
Habe da noch Unterlagen, war mal in ner EPE online drin.
Schönes Konzept. Mal sehen was da noch so für Hürden kommen.
Ich bleibe dran,........ und nicht kaputt reden lassen.

Stephan


Berlin...... 80km entfernt....

von AVRNIX (Gast)


Lesenswert?

http://elm-chan.org/works/wcs/wcs_sch.png

Als Eingangsverstärker für Sinus und Spannungsteiler

von Frank (Gast)


Lesenswert?

guck mal hier: http://www.geocities.com/rlaude2000/ledscope.htm
vielleicht lässt sich die Eingangsschaltung ja verwenden.

bye

Frank

von AVRNIX (Gast)


Lesenswert?

Vielleicht eine SD-Carde als Messwertspecher als cvs Datei. Damit man es
Weiterbearbeiten kann.

von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

erstmal Danke für die positiven Reaktionen und die Hinweise.
Die beiden Schaltpläne sind erstmal archiviert.
SD-Card als Speicher ist auch gemerkt, gute Idee.

Zum Stand der Dinge:
auf dem Bild ist ein 16kHz-Sinus aus meiner Soundkarte.
Der ADC ist zur Zeit ein ADC0820, die praktisch erreichte Samplerate
liegt bei etwa 350kHz.
Theoretisch kann dieser Wandler 1,5µs Wandlungszeit, klappt im Moment
aus 2 Gründen nicht: die Memory-Mapped-Displayansteuerung spielt bei
16MHz Takt nicht mit, somit vorerst 10MHz...

Ich habe den Kram heute erstmal auf eine Lochraster gelötet, der
Drahtverhau um das STK200 wurde zu unsicher.

Zur Bestückung und den Problemen:
links oben der CFL-Wandler, er hängt an 8,5V von einem
Stecker-Schaltnetzteil. Daneben der Wandler der Kontrastspannung, der
hängt an 5V und macht -10..-22V.
Die 5V macht ein 7805 links in der Mitte, der wird langsam merklich
warm. ;)
Oben Mitte sind 2 Fassungen für Bustreiber (74HC245 und 74HC244 o.ä.)
vorbereitetm ich vermute, die langen Displayzuleitungen versauen sonst
die Flanken, wenn ich das Ram per Hardware schnell ansprechen will.
Rechts am Rand der ADC, am Eingang z.Z ein 10k Poti zwischen 0 und 5V
zum Testen, am Schleifer über 10µF der Wechselspannungseingang.

Links neben dem ADC kommt der Buffer für die Digitaleingänge rauf.
Unten links ist eine Fassung für ein AND in den RD/WR-Leitungen, damit
ich die Hardwaresignale später einkoppeln kann.
Danebend er ATMega8515, Adesslatch und der 8kx8 Ram.

Probleme haben sich (logischerweise) mit der Spannungsversorgung des
ADC ergeben, die Referenzspannung scheint mit Störungen von den
Schaltwandlern überlagert zu sein, ist wenig, nur im oberen Bogen eines
Sinus zu erkennen. War bei getrennter Versorgung (Logik komplett vom
STK200 versorgt, Display mit beiden Wandlern an besagtem
Stecker-Schaltnetzteil) definitv nicht sichtbar.
Da ist also noch Handlungsbedarf.

Die Software hat relativ wenig Änderungen erfahren, ADC-Routine ist
dazugekommen und die Anzeigeroutine rechnet jetzt die Ram-Werte
zwischen 0 und 255 richtig in den Displaybereich (0...100) um.
Die Zeichensätze für den Rahmen habe ich nochmal etwas umgebaut und den
linken Rahmen für den 8-Kanal-Logikanalyzer eingebaut.

Schaltplan und aktuelle Sourcen sind hier zum download:
http://home.versanet.de/~ulbrich1951/oszi/oszi_30_07.zip
http://home.versanet.de/~ulbrich1951/oszi/oszi.gif

Ich hoffe, das klappt so...

Bitte Schaltung und Sourcen im Zweifel kontrollieren, das ist im Moment
mit Sicherheit noch kein Nachbauprojekt!

Ich mache jetzt erstmal mit Software weiter und baue ein paar Tasten
zum Bedienen an...
Beim ADC will ich demnächst noch den ADC1175 mal testen, ist ein 8Bit
20MHz Video-ADC ähnlich dem TDA8703 aber gut beschaffbar und billg
(2,90 Euro).

Gruß aus Berlin
Michael

von Simon K. (simon) Benutzerseite


Lesenswert?

>>rechnet jetzt die Ram-Werte
zwischen 0 und 255 richtig in den Displaybereich (0...100) um.

Idee: 256 byte Lookup Table mit zuvor generierten Ergebnissen der
Rechnung ?

von Mode (Gast)


Lesenswert?

Gibts dazu denn auch ein Layout zum Platineselberaetzen? Wuerde der EMV
ja auch nicht schaden...

von AVRNIX (Gast)


Lesenswert?

Bevor du dich auf die Software stürzt, mache bitte eine Aufstellen von
der Hardware die sein soll. Dann hast es vielleicht leichter die
Software zuschreiben , wenn das Endprodukt steht, sonst ändert sich die
Hardware und die Software immer, wegen den Anpassungen.

von Michael U. (Gast)


Lesenswert?

Hallo,

@Mode:
Nein, logischweise gibt es kein Layout, dazu ist es noch viel zu weit
von einem real nutzbaren Ergebnis entfernt.
Ob es letztlich ein Layout geben wird oder ob jemand Interesse hat, an
Hand des Eagle-Planes eins zu routen, wird wohl die Zukunft zeigen.

Zu EMV: Interessiert mich insoweit, als daß die Geschichte nicht von
meiner Umgebung in seiner Funktion beeinflusst wird und das es meine
unmittelbare Umgebung nicht seinerseits stört.

Die angedachten Funktionen selbst erfordern es ohnehin, etliches an
Entstör- und Abschirmmaßnahmen einzubauen, damit das überhaupt
praktisch nutzbar ist.
Ich will schließlich nicht die Störungen der benutzten Schaltwandler
angezeigt bekommen, sondern extern Signale. ;)

@AVRBIX:
Dein Vorschlag würde meine Absichten schlagartig zunichte machen. ;)
Warum? Es gibt keinen Plan der Hardware, da die einsetzbaren Bauteile
noch teilweise unklar sind und was noch wichtiger ist, das mögliche
Zusammenspiel mit der Software noch garnicht feststeht.
Ich kann natürlich erstmal Kataloge wäzen, Pläne schmieden, Bauteile
kaufen und dann losbauen und feststellen, daß das garnicht realisierbar
ist.

Ich experimentiere einfach mal, weil mir so war...
Das bisherige Ergebnis hat mich eher positiv überrascht.
Als Beispiel: wer will, kann an einen ATMega8 ein LCD-Grafikdisplay mit
dem T6963 ranhängen, einen ADC0820 dazu, den Rest der Schaltung vom
800-Datenpunkte-Oszi aus dem anderen Thread nehmen, sich durch die
Sourcen beider wühlen und hat einen kleinen Speicheroszi mit max. rund
300k Samples/s. Dürfte z.B. in der Modellbauecke nicht uninteressant
sein. Den Buffer ran und es gibt einen 8-Kanal-Logikanalyzer mit ca.
500k Samples/s.
Ein paar Byte Code und das Ding geht auch noch als Voltmeter durch (ca.
1% Genauigkeit, sollte zum Akku testen auch noch reichen).

Mehr als Anregungen werden es also auf absehbare Zeit nicht sein, was
da von mir kommt.

Gruß aus Berlin
Michael


Gruß aus Berlin
Michael

von Michael U. (Gast)


Lesenswert?

Hallo,

falls es noch Interessenten an meiner Bastelei gibt, hier mal ein
Zwischenstand:

- Logikanalyzer
Was geht schon:
Samplerate 500/250/100/50/25/10/5kHz
Anzeige der 8 Kanäle
Cursor-Steuerung über den kompletten Buffer mit steigender
Geschwindigkeit, wenn festgehalten wird.
Anzeige der Bufferposition, Zoomfaktor, aktuellen Bitmustern an der
Cursorposition als Hex

Aus der Anzeige wird Cursor und Zoomfaktor gesteuert.
Einstellmenü für Samplerate, Eingangspegel, Trigger
Trigger für jeden Kanal auf "ignorieren", H, L, H/L und L/H
einstellbar
H/L und L/H ist Flankenerkennung, wenn mehrere Kanäle auf Flanke
stehen, wird zuerst auf das Bitmuster links von "/" gewartet und
danach auf das rechts vom "/".
Gestartet wird dann also erst mit der letzten eingestellen Flanke.

Eingangspegel wird noch nicht genutzt, die Komperatoren fehlen noch...
Vielleicht hat jemand eine Idee für billige Komperatoren hat, die
vorerst so bis 1MHz noch gut mitspielen?

-Oszilloskop
5 Messungen/s, Samplrate wie oben
Eingangsspannung +-100mV/1V/10V/100V

-Speicheroszi max. 250kSamples/s, Eingangsspannung wie Oszilloskop,
Buffersteuerung wie Logikanalyzer, statt Hex-Wer die Spannung an der
Cursor-Position.

Spannungsmesser wie Oszilloskop, Mittel über 128 Messungen.

Frequenzzähler bis ca. 25MHz (noch nicht getestet, noch keine sinnvolle
Eingangsschaltung).
Mein Wandler schwingt jedenfalls mit 104kHz. ;)

Problem ist der AD0820, 8Bit reichen für den Oszi, besser wären aber
12Bit für die Spannungsmessung.
Ein Vorschlag für einen billigen 12Bit-Wandler möglichst in DIL mit
Wandlungszeiten um 1µ wäre schön...

Spannungs-/Oszieingang ist im Moment ein TL082, drin, eigentlich soll
der OPA2604 rein, ist aber noch so provisorisch, daß es noch keinen
Sinn machte.
Umschaltung Eingang machen DIL-Relais, Teiler ist auch noch nicht
kompensiert, Abschirmung ist sehr provisorisch, Fremdspannungsabstand
noch ziemlich miserabel... ;)

Ich muß jetzt erstmal dringend über die Gehäusekonstruktion nachdenken,
die Stromversorgung auf einen sinnvollen Stand bringen und die fehlenden
Einstellmenüs bei Oszi, Speicheroszi und Frequenz nachrüsten.

Das Thema, bei Speicheroszi und Logikanalyzer den Ram per externer
Hardware vollzuschreiben, ist immernoch geplant, steht aber nicht im
Vordergrund.
Wenn jemand da eine Idee oder einen Entwurf hat oder machen will, sehr
gern...

Konzept bis jetzt: ATMEGA ext. Ram aus, Port A und C und R/W als
Eingang, damit die nicht stören.
Adresszähler an den Ram (muß sich logischerweise TriState schalten
lassen) und Ablaufsignale für CE, R/W. ADC-CS, OE von HCT373 erzeugen.
R/W entweder über ein schnelles AND verküpft oder den Steuerbus auch
komplett auf TriState auslegen.
Vom Atmel den ganzen Kram mit einem Portbit starten, das schaltet auch
die TriState-Treiber, Buffer voll lesen und den Atmel Stop mitteilen.

Hmm, jetzt muß ich erstmal wieder meine Brötchen verdienen...

Gruß aus Berlin
Michael

von Stephan H. (stephan-)


Lesenswert?

Schick Schick,

wegen der A/D Wandler schau Dich doch mal bei Linear Techn. um.
Die versenden gern und schnell Samples. 2 Stück/ Sorte sind prblemlos
möglich, nur übertreiben, sollte man es nie.

von Armin D. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

tolles Projekt ;-)

Ich bau auch grad an einem Oszi mit LCD.
Meins läuft momentan noch auf einem Steckbrett mit einem MEGA8, wird
aber demnächst auf einen MEGA128 umziehen. Als ADC wird ein ADS830 zum
einsatz kommen, der über ein Xilinx CPLD an einem SRAM hängt. Im CPLD
liegt der Adresszähler für's RAM, ein Clock-Teiler um die Samplingrate
einstellen zu können und etwas Logik um den Samplingvorgang starten und
stoppen zu können. (Teile davon funktionieren schon in der Simulation,
zum testen fehlt mir noch die Hardware)

Als Display verwende ich auch eines mit T6963 und 240x128 Punkten
(siehe Anhang).
Im Grunde das gleiche Projekt wie deines.

von Benedikt (Gast)


Angehängte Dateien:

Lesenswert?

Wirklich ein schönes Projekt.

Hier mal ein paar Infos wie ich meine Oszis meistens aufbaue:
Ich habe auch schon einiges mit dem ADS830 gemacht, der gefällt mir
richtig gut. Als Eingangsverstärker und hauptsächlich zum Schutz des
ADC verwende ich meist einen OPA353 da es den auch bei Reichelt gibt.
Die Triggerung mache ich meist digital:
Dazu lasse ich den ADC immer mit der Samplerate laufen und führe z.b.
die 4-6MSB Leitungen in den CPLD der einen größer/kleiner Vergleich
macht und bei der entsprechenden Flanke die Aufzeichnung ins SRAM
startet. Das ganze spart etwas an Analogschaltung.
Die Einstellungen dazu und für die Samplerate lade ich meist über ein
SPI ähnliches Interface in den CPLD: Das braucht nicht viele Ressourcen
und wenige Pins.
Allerdings habe ich bei der SRAM Ansteuerung noch ein kleines Problem:
Wie gestaltet man das WR\ Timing, ohne einen halben Takt zu verlieren
?
WR\ konstant auf Low zu lassen und nur die Adressen hochzählen geht
nämlich schief.

Im Anhang noch ein Foto von einem kleinen Oszi das billig und nicht zu
groß sein sollte. Deshalb verwende ich in diesem nur den ADC eines
R8C13 uC, der immerhin 300kHz kann. Ansonsten besteht die Schaltung nur
aus einigen Reed Relais zur Umschaltung der Eingangsteiler. Triggerung
usw. alles per Software.

von Sebastian T. (grafzahl)


Lesenswert?

abo

von Dirk (Gast)


Lesenswert?

Sehr schönes Projekt, da bleibe ich dran!

von Michael Werner (Gast)


Lesenswert?

ABO

von Till (Gast)


Lesenswert?

Abo

von Thomas O. (Gast)


Lesenswert?

Abo

von Thomas Koos (Gast)


Lesenswert?

Abo

von pripri (Gast)


Lesenswert?

abo

von Gast ein Anderer (Gast)


Lesenswert?

@ Benedikt was für ein Speicher CPLD und Oszillator speed verwendest du?
Ich mach mir gerade über das gleiche Thema Gedanken. Deine Idee mit dem
SPI ähnlichem Bus gefällt mir. Soll ja alles möglichst einfach und
billig werden.
Gruß

von Thomas P. (gonzo)


Lesenswert?

abo

von Dirk F. (dirk-frerichs)


Lesenswert?

mich interessiert was aus den projekten geworden  ist

vieleicht könnte sich jemand dazu melden

von Michael U. (Gast)


Lesenswert?

Hallo,

meins liegt immernoch ohne Gehäuse im Versuchsaufbau da.
Die Software ist so ca. 95% nach meinen Vorstellungen fertig und scheint 
recht fehlerfrei zu sein.

Zur Hardware: der Plan, den Sample-Ram per reiner Hardware-Steuerung 
einzulesen, um höhere Sampleraten zu erreichen, ist nur theoretisch 
fertig, die Bauteile liegen rum...
Für den Oszi wird vermutlich erstmal ein vorhandener Video-Flashwandler 
zum Einsatz (16MHz Samlerate könnte da klappen wegen der restlichen 
Hardware), für die Spannungsmessung kommt ein externer 12Bit-Wandler 
ran.
Dem Logikanalyzer-Eingang fehlen eventuell noch schnelle Komparatoren.

Gestorben ist es also noch nicht, aber da ich hier seit über einem 
halben Jahr auf den Umzug wegen Haus-Rekonstruktion warte und die auch 
keine Termine halten und ich die Hälfte meines Krams schon eingepackt 
habe und ... :-(((

Gruß aus Berlin
Michael

von Dirk F. (dirk-frerichs)


Lesenswert?

ich suche was einfaches womit man mal schnell was messen  kann
am besten batteriebetrieb

brauche eigentlich nur einen frequenzgenerator 1-200kHz
und eben ein oszi um zu sehen wie das signal aussieht wenn es zB durch 
einen verstärker geht

oder die spannung eines schaltnetzteiles
bzw um dieses einzustellen


sowas such ich eben ...
eigenentwicklung ist zu schwer für mich ...

von Thomas (kosmos)


Lesenswert?

abo

von Robin T. (Gast)


Lesenswert?

Hallo Leutz,

auch ich suche schon lange nach so einem tollen LCD Scope Projekt. Aber 
dass einziege was meinen Vorstellungen entsprach war son komischen 
Französisches Zeug mit dem ich net viel Anfangen konnte. Das was ich 
hier sehe finde ich wirklich super. Jetztr würde mich nurnoch 
interessiern ob der Umzug schon vorbei ist und wie weit dass Gerät jetzt 
ist? Sieht nämlich wirklich interessant aus.


Gruß

Robin T.

von Michael U. (Gast)


Lesenswert?

Hallo,

naja, wir haben zumindest im Mai den Jahrestag der Ankündigung gefeiert, 
im Oktober, Februar und April vergeblich auf entscheidende Ereignisse 
gewartet (nicht sehr verwundert darüber, ich konnte ja das Chaos täglich 
beobachten...). Wundersamerweise ist nuch seit ein paar Wochen doch was 
passiert und ich ziehe verbindlich Mitte Juli um.

Nur als kleines Beispiel: es sind wohl zusammen so 12 Aufgänge 
beteiligt, in unserem sind wir jetzt seit ca. 2 Wochen die letzten 
Hinterbliebenen und im Erdgeschoß ist inzwischen ein neuer Mieter 
eingezogen...

Na gut, jetzt egal... Es wird aber mit an Sicherheit grenzender 
Wahrscheinlichkeit ;) in den nächsten 6 Wochen da keinerlei Fortschritte 
geben, dann ist Mitte August, da wird es wohl dann vom Sommerwetter 
abhängen. :)

Ich werde das Ding aber auf jeden Fall fertig machen, Zeitrahmen gibt es 
im Moment aber nicht so richtig, leider.

Gruß aus Berlin
Michael

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Gibts was neues zum Projekt?

von womai (Gast)


Lesenswert?

Hallo,

sehr interessantes Projekt.

Ich habe vor kurzem ein einfaches Oszilloskop entwickelt - 2 Kanaele, 
Samplerate 1 MSamples/sec, analoge Bandbreite 400 kHz, gut genug fuer 
Signale bis ca. 150 kHz. Kann sowohl positive als auch negative 
Spannungen darstellen (-12V bis +20V). Das Design ist open source, es 
kann also jeder der will nachbauen. Gesamtkosten deutlich unter US$100.

Sample-Logik besteht aus bloss 4 Wald-und-Wiesen 74HCxx-Logikbausteinen, 
die einen ADC antreibe, der die Daten in ein SRAM uebertraegt. Die 
Schaltung verwendet ausschliesslich einfach handhabbare Bauteile (DIP 
und Through-Hole).

Viel mehr Informationen gibt es hier:

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

und hier:

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

Wolfgang

von Simon W. (Gast)


Lesenswert?

Hallo Michael,

Ist dein beeindruckendes Projekt denn noch am Leben?

Hoffende Grüße
Simon

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.