mikrocontroller.net

Forum: Projekte & Code einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler


Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich stell Euch mal ein einfaches NF-DIGITAL-OSZILLOSKOP zur Verfügung.

Kennwerte:   - 800 Datenpunkte
             - bis ca. 5KHz kaum sichtbare Digitalisierungsfehler
               bei Verwendung eines besseren µC wären wesentlich
               höhere Frequenzen möglich

Es ist eine relativ einfache Beschaltung eines ATmega8.

Zur PC-Software:
              - in dieser Version bis 1000 Datenpunkte möglich
              - Sollte die *.exe nicht laufen, dann bitte komplett
                installieren (Disk 1 bis 3)

Viel Spaß

wünscht Euch

Bernhard

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
INSTALL DISK 1

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Install Disk 2

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Install Disk 3

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für was braucht man sowas ?
Eine Soundkarte verfügt
a) über eine höhere Bandbreite (bis zu 50kHz)
b) über eine höhere Auflösung (bis zu 24bit)
c) über einer schnellere Aktualisierungsrate (> 100fps)
d) über eine größere Aufzeichnungstiefe (ein paar 100GByte, eben bis
die Festplatte voll ist)

Warum geht die Schaltung nur bis 5kHz ?
Ich habe mit dem mega8 schon über 20kHz gemessen, ohne große
Messfehler, und auch laut Datenblatt sollen mindestens 15kHz bei 10bit
und bei 8bit über 20kHz möglich sein.

Wiso den AVR auf 20MHz übertakten ?
18,432MHz ermöglichen eine Baudrate von 115,2kBaud und der AVR wird
nicht so stark übertaktet.

Hast du die Windows Software selber geschrieben ?
Wenn ja, dann nur so als Anregung, wie man das ganze erweietern
könnet:
Erweiter die Leitung auf eine Bidirektionale Verbindung zwischen PC und
AVR, so dass der PC Befehle senden kann:
So lassen sich per PC Samplerate, Eingangsteiler, AC/DC/GND Kopplung
umschalten, eben wie bei einem echten Oszilloskop.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

Du hast Recht, eine PC-Soundkarte bietet unumstritten einige Vorteile.

Danke für Deine Tipps, wie man dieses Projekt noch verbessern könnte,
werd' mal darüber nachdenken.

Mein Beitrag ist u.a. der Grundstein für ein kleines
Digitaloszilloskop. Mit wenigen Handgriffen lässt sich z.B. ein
LCD-Grafik-Modul ansteuern.

Warum geht die Schaltung nur bis 5kHz ?
Sie geht auch ohne weiteres höher, Frequenzen von 20 kHz lassen sich
auch darstellen, aber da bleiben für eine Periode (1/20kHz) nur wenige
Datenpunkte zur grafischen Darstellung. Ein Sinussignal sieht dann
schon etwas seltsam aus.

Ich habe den Vorteiler vom ADC verkleinert, also kürzere
Mess-Intervalle, jedoch traten (selbst bei 8 Bit) selsame Nebeneffekte
auf, z.B. "Nadeln" auf einem Sinussignal, die Ursache konnte ich mir
auch nicht erklären...?

Wieso den AVR auf 20MHz übertakten ?
Damit der Vorteiler vom ADC groß gewählt werden kann, um weitere
Operationen durchführen zu können.

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich finde es nicht schön, wie Bernhards Programm
hier sofort von Benedikt kritisiert wird.
>> Für was braucht man sowas ? Wieso nur 5KHz ? <<  usw.

So etwas wirkt (jedenfalls auf mich) ziemlich demotivierend.
Ich habe keine Lust, meine Progrämmchen hier ins Forum
zu stellen, wenn ich damit rechnen muss, dass sie sofort
von einem Profi niedergemacht werden.

Bernhard hat sich mit dem NF-Oszi sicher eine Menge Mühe gegeben,
und der eine oder andere wird das Programm bestimmt
interessant finden und davon lernen können.
Perfekt ausgearbeitete Lösungen, die man nur 1:1 übernimmt,
aber selbst nicht versteht, bringen einen Einsteiger
dagegen nicht weiter.

Mfg Willi

Autor: Schappihunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich finde es nicht schön, wie Bernhards Programm
> hier sofort von Benedikt kritisiert wird.

100% ACK!! Tja, man muß halt schon mindestens nen 40MHz Logicanalyzer
entwickeln, um hier Anerkennung zu erlangen.

> Perfekt ausgearbeitete Lösungen, die man nur 1:1 übernimmt,
> aber selbst nicht versteht, bringen einen Einsteiger
> dagegen nicht weiter.

Und aus diesem Grund habe ich die Tastenentprellung, die
Drehgeberauswertung sowie die RC5-Decoderroutine NICHT von Peter
Dannegger übernommen und ich kam auch zum gewünschten Erfolg.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ja, je besser man wird bzw. je mehr Erfahrung und Wissen die Leute
auf einem Gebiet besitzen, desto schneller schlägt eine gewisse Art von
Arroganz durch. Habe das schon sehr oft bei Kollegen beobachtet.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich finde es nicht schön, wie Bernhards Programm hier sofort von
Benedikt kritisiert wird.

Tut mir leid, das war nicht meine Absicht !

Das mit den 5kHz war ein Missverständniss, ich dachte das bezog sich
auf die Samplerate.

Ich hatte auch sowas schon öfters mal gebaut, aber es immer wieder
schnell aufegegeben, da eine Darstellung der Daten in einem Windows
Programm nicht meine Stärke ist.

Falls interesse besteht, wäre ich gerne bereit die Software auf dem AVR
etwas zu optimieren und weitere Features hinzuzufügen, wenn Bernhard
diese in der Windows Software unterstützt.

So wäre vor allem eine DC Kopplung des Eingangssignals sinnvoll, denn
das bieten Soundkarten nicht (was micht oft ziemlich nervt).

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

es wäre schön, wenn Du die Software auf dem AVR optimieren könntest, um
die Windows - Software kümmere ich mich gern.

Um einen bidirektionalen Datenaustausch zu realisieren, müsstest Du mir
nur sagen, wie das Sendeprotokoll der Daten vom PC gestaltet sein muss?

Bernhard

Autor: D. Conradin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein wesentlicher Nachteil einer Soundkartenlössung ist, dass man nur AC
Kopllung hat. Für langsame Messungen kann so ein "Oszilloskop" recht
gut geeignet sein.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir gerade mal die Windows Software angeschaut, zumindest habe ichs
versucht.
Die Installation bricht leider immer ab:
DIGITAL_OSZI_2005.ex1 nicht gefunden.

Mich wundert es, dass nur 5kHz möglich sind. Der ADC läuft mit 196kHz
Samplerate, da sollte man problemlos einen Sinus bis 20kHz erkennen
können.

Beim AVR Code kann man ziemlich viel optimieren.
z.B. das Schieben der 10bit vom ADC macht der ADC selbst, wenn man
ADLAR einschaltet.

Hat es eigentlich einen Grund wiso adr_DATEN_SPEICHER Erst bei 0x060 +
100 anfängt ? Wenn man ab 0x60 beginnt, sollten eigentlich auch 1000
Messwerte in den Speicher passen. Dann hat man noch 24 Bytes für den
Stack was ausreicht.

Das Sendeprotokoll kann man eigentlich ziemlich einfach halten.
Ich würde einfach von 0 an jedem Befehl einen Wert geben:
0 Messung starten

1 ADC Teiler auf 2 setzen
2 ADC Teiler auf 4 setzen
3 ADC Teiler auf 8 setzen
4 ADC Teiler auf 16 setzen
5 ADC Teiler auf 32 setzen
6 ADC Teiler auf 64 setzen
7 ADC Teiler auf 128 setzen
8 ADC Teiler auf 256 setzen
9 ADC Teiler auf 512 setzen

10 Eingangsteiler 1:1
11 Eingangsteiler 10:1
12 Eingangsteiler 100:1

15 Eingang AC Kopplung
16 Eingang DC Kopplung
17 Eingang auf GND

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Samplerate, da sollte man problemlos einen Sinus bis 20kHz erkennen
Ich habe es vor einiger Zeit getestet.Den internen ADC kann man zwar
übertakten aber bei 20kHz ist die äußerste grenze dessen was man
darstellen kann.
Hier ein Beispiel,8Mhz Quarztakt, Vorteiler CLK/2, Signal 3.15kHz,255
Messpunkte, das Signal ist stark verzerrt:
http://www1.kielnet.net/home/marc.in/bilder/takt8M...

Seit ca.3 Monaten arbeite ich auch an einem digital Oszilloskop, ich
verwende allerdings externen AD-Wandler um höhrere Samplingrate zu
erreichen.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab die Installation nochmals überprüft, bei mir kam die geleiche
Fehlermeldung.

Hab jetzt alles per Hand zusammen-ge-zipt, müsste jetzt laufen. Sorry

>>adr_DATEN_SPEICHER Erst bei 0x060 +100 anfängt ?
Ursprünglich sollte der freie Bereich noch für andere Zwecke verwendet
werden

>>Das Sendeprotokoll kann man eigentlich ziemlich einfach halten.
...genau, machmal ist einfach doch am Besten.
Ich werde das Windows-Programm mit diesem Protokoll umgestalten

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:
  • 1.zip (948 KB, 1203 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Bei den drei vorhergehenden Installations-Disketten hat sich beim
erstellen der Disketten ein nicht nachvollziehbarer Fehler
eingeschlichen.

UPDATE DISK1

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:
  • 2.zip (807 KB, 1046 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Bitte den Inhalt aller Disketten in ein Verzeichnis kopieren und dann
installieren.


UPDATE DISK2

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:
  • 3.zip (274 KB, 926 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
UPDATE DISK1

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie läuft die Software bei mir nicht so recht:
Nach dem starten zeigt das Programm einmal die empfangenen Werte an und
reagiert danach nichtmehr. Die CPU Auslastung steigt dann auf 100% an.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Starten des Windows 95/98 Programms wird zuerst eine Simulation
gestartet und eine Sinuskurve dargestellt.
Anschließend versucht das Programm COM1 zu öffnen und wartet dort auf
Daten.
Kann COM1 nicht geöffnet werden, dann erscheint die
Textzeile (oben links)rot. Man kann dann einen anderen Port eingeben.
Mit welchem Betriebssystem arbeitest Du?

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernhard, bitte verstehe mich nicht falsch aber warum braucht man für so
ein Programm 3 Disketten ???
Ich habe hier, zwar unter Linux, etwas änliches und es hat grade mal
50KB. Ein Windowas Programm wäre aber auch nicht viel grösser (wenn
nicht kleiner).

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende WinXP

Die Sinuskurve erscheint, dann laufen die Zahlen links oben in der Ecke
mehrmals hoch, mein gemessenes Signal erscheint korrekt und dann tut
sich garnixmehr, außer dass mein CPU Lüfter anfängt hochzufahren...
Die Textzeile bleibt grün.

Autor: Wiskas(TM)-Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Bernhard, bitte verstehe mich nicht falsch aber warum braucht
> man für so ein Programm 3 Disketten ???

Naja, kommt halt drauf an, in welcher Sprache man programmiert, oder?
Die ganzen Runtimebibliotheken müssen ja mitgeliefert werden.

Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Programm in Visual Basic 5.0 geschrieben, leider entstehen
so viele Installations-Dateien für die Komplett-Installation, da man
nicht weiß, ob der Nutzer sie schon hat.

Bei weiteren Updates, brauchen sie natürlich nicht mitgeliefert
werden.

Die eigentliche Programm-Datei ist nur wenige 100 kB groß.

Testen konnte ich sie nur unter Win 95 und 98, ich hoffe, dass sie bei
anderen Systemen auch funktioniert.

Hier ein neues Update (Version: 1.0.24)

Was ist neu?

Bei Programmstart muss manuell der Button "Start" betätigt werden,
damit die Daten vom µC empfangen werden können.

Autor: moin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich habe mir dein Programm bisher nur sehr kurz angesehen und hab noch
einen kleiner Vorschlag um die Sampelrate zu erhöhen:
Die Messdaten direkt abspeichern und erst beim Übertragen berechnen und
umwandeln.
Viel Spass mit deinem Projekt
Moin

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@moin
Die Samplerate kann man nicht mehr erhöhen, der ADC läuft schon mit
etwa 1300% der maximalen Samplerate...

Was man aber gut optimieren kann ist ADLAR zu aktivieren und die
Speicher voll Funktion leicht anzupassen. So bleibt sogar noch genügend
Rechenleistung um das DC Offset direkt vor dem Speichern zu entfernen.

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob kleines Progrämmchen oder Riesenprogramm, Ihr habt alle meine
vorbehaltlose Bewunderung - ich kann gerade mal eine LED blinken
lassen, mehr nicht... :-)

Stephan.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stephan
Jeder fängt mal klein an, das kommt schon noch.
Ich habe damals ein paar Stunden gebraucht, um meine erste LED an einem
Mikrocontroller blinken zu lassen.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Läuft denn die Windows-Software oder hängt sie sich immer noch auf?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich drücke start, mein gemessenes Signal erscheint und dann hängt das
Programm....
Auf mein zweiten PC (mit Win98SE) genau dasselbe, nur dass hier nicht
das Programm sondern gleich Windows komplett abstürzt.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Das scheint ein Betriebssystem-Problem zu sein,
manchmal funktioniert die Abwärts-Kompatibilität von Windows
doch nicht so.
Ich denk mal darüber nach, ob ich das Windows Problem irgendwie umgehen
kann.
Leider kann ich nur in Win98 (4.10.1998) müsste SE Version sein,
programmieren.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das scheint ein Betriebssystem-Problem zu sein

Wiso ? Es geht bei mir unter WinXP und unter Win98SE nicht.
Daher liegt es kaum am Betriebssystem.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es geht bei mir unter WinXP und unter Win98SE nicht.

Also doch ein Betriebssystem-Problem,
sonst würde es doch unter beiden Systemen nicht laufen,
oder liege ich da falsch?

Ist aber gut zu hören, dass das Windows-Programm auch unter WinXP
läuft.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Win98SE -> geht nicht
WinXP -> geht nicht

-> Unabhängig vom Betriebssystem geht es nicht.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Achso, jetzt habe ich's verstanden. Hatte Deine Antwort nicht richtig
gelesen, sorry.

Hoffentlich fällt mir was ein, wie ich ich das Problem der Windows
Software beheben kann.

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Tobias Fischer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: stromi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
die Installation ging bei mir auch nicht: .....ex2 oder so nicht
gefunden.
Nach Aufruf der exe datei vom Download lief das Teil (XP SP2),
zumindestenz die Window-Geschichte. AVR habe ich noch nicht
programmiert.
Ich finde es eine gute Programmieraufgabe so etwas zu proggen.
Haste fein gemacht, Bernhard !!
Kanste das auch "Parallel" mit zum Beispiel 2 oder besser 3 mal 8
bit
aus einem schnellem AVR. Dann wäre es der viel beschriebene
Logiganalyser, zwar für langsame Aufzeichnungen, aber dafür preiswert.
Ev kann mann das ja mit 'nem CPLD schnell machen, oder die gelesenen
Bits in ein ext. Ram speichern und nach dem Einspeichern wieder
auslesen und übertragen, oder gleich über den Paralellport einlesen.
Du hast ja netterweise das Protokoll (beim Oscar) offen gelegt, wenn du
es wieder so machst, könnte man daraus ein Gemeinschaftsprojekt machen
??
mfG

Autor: Margarine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, es ist eher ein Betriebssystemproblem bei Benedikt. Ich habe
es unter Win2000, WinXP (SP2) und Win98 getestet, läuft wie nei Eins!

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Margarine

>Win2000, WinXP (SP2) und Win98 getestet, läuft wie nei Eins!

Danke für Deine wertvolle Info.

In den nächsten Tagen werde ich die Win-Software, nach Benedikts
-Protokoll, bidirektional umschreiben, so dass man vom PC aus den µC
steuern kann.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard

Könntest du mal eine fertige Hex Datei für den uC posten ?
Dann kann ich ausschließen, dass mein AVR Studio mist gebaut hat.

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>Könntest du mal eine fertige Hex Datei für den uC posten ?

gern; und funktioniert sie?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard
Leider geht es immer noch nicht.
Ich hatte es bisher nur am PC simuliert und die Daten an einen zweiten
PC gesendet, auf dem dann die Software läuft.

Jetzt habe ich mal schnell eine Schaltung mit dem mega8 aufgebaut, aber
immer noch dasselbe problem.
Die Daten kommen korrekt an (lade ich die empfangenen Daten in ein
Audioprogramm sehe ich einen schönen Sinus.

PS: könntest du die Linie mit der das Signal dargestellt wird dünner
machen ?
Im Audioprogramm sehe ich einen sauberen Sinus, im Oszilloskop nicht
viel brauchbares...

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>könntest du die Linie mit der das Signal dargestellt wird dünner
machen ?

Ich habe Dir die Linie etwas dünner gemacht, hoffentlich ist sie jetzt
nicht zu dünn?

Und zusätzlich links oben ein Button installiert, um den Port besser zu
konfigurieren.

>Jetzt habe ich mal schnell eine Schaltung mit dem mega8 aufgebaut,
>aber immer noch dasselbe problem.

Könntest Du vielleicht mal ein Hard-Coppy Deines Bildschirmes machen,
damit ich die Kurve mal genau sehe, wenn Du einen Sinus einspeist?

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe Dir die Linie etwas dünner gemacht, hoffentlich ist sie jetzt
nicht zu dünn?

Jetzt ist sie optimal ! Man erkennt sogar den 10kHz Sinus noch recht
gut.

Ich starte das Programm, das läuft stundenlang problemlos, bis der
erste Datenblock empfangen und angezeigt wurde, dann hängt es.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muss mal Fragen wodurch die 800 Datenpunkte vorgegeben wird. Soll
das die Samplefreq.  darstellen ?

Gruß,

Dirk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 800 Datenpunkte sind einfach 800 Messwerte die bei jeder Messung
gemacht werden. Theoretisch sind sogar 1000 möglich.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke Benedikt also werden diese wohl genutzt um eine Mittelwertbildung
zumachen.

Gruß,
Dirk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mittelwertbildung ?
Es werden einfach nacheinander die Werte per ADC gemessen und dann
durch Linien verbunden angezeigt.

Autor: Thomas Forster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Bernhard,

Ich habe 2 AD-Wandler als Oszi direkt am Par-Port hängen. Leider bin
ich noch nicht dazugekommen, ein ordentliches Windows-Programm zu
schreiben. Deshalb wäre ich an deimen VB-Quellcode interessiert. Willst
du den veröffentlichen?

Thomas

Autor: Gerhard Fischer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas

>... Par-Port hängen.....
>....wäre ich an deimen VB-Quellcode interessiert...

Meine WIN-Software ist für den COM-Port geschrieben.
Trotzdem Interesse?

Bernhard

Autor: Thomas Forster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Auslesen der Daten vom LPT funktioniert bei mir.
Was mir fehlt, ist eine GUI mit den Routinen der grafischen Darstellung
der eingelesenen Daten. Insofern hab ich noch Interesse an deinem
VB-Project und würde dort dann meine Einlese-Routinen einsetzen.

Thomas

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard

Hallo

Hätte auch Interesse an dem VB-Quellcode. Kannst du ihn
nicht mal hier einstellen oder mir zukommen lassen.

MFG
Dieter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Respekt für die Leistung.
Ist die HEX vom 30.08.2005 18:45 die aktuelle und funktioniert sie?
Ab wann ist denn ein Update zu erwarten?

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was habe ich denn jetzt falsch gemacht? Ich benutze WinXP SP2. Das
Programm (1.0.24) läuft.
Ich habe die HEX (welche hab ich schon beschrieben)in den M8 geflasht.
Anstelle des 20MHz Oszi verwende ich einen normalen Quarz weil nix
anderes da war.
Ich behaupte mal, das wirkt sich nur auf die Messgenauigkeit aus.
Die LED blinkt mit etwa 2Hz. Das Programm scheint was zu empfangen.
Nach Daten: ändert sich die Zahl ab und zu.
Aber es wird nichts gemessen. Ja, ich habe auf Start gedrückt und der
M8 ist auf Quarz eingestellt.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

arbeite zwar mit Delphi, trotzdem nette Sache *!RESPEKT!*

Autor: Stromi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marco
kleinerer Quarz: mindestems andere Baudrate !
Haste das bedacht?
mfg

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, hab ich wohl etwas missverständlich beschrieben. Der Quarz hat
auch 20MHz. Aber es ist kein Quarzoszilator, sondern ein 'normaler'
Quarz. Die Fusebits sind dafür auch gesetzt, Kondensatoren habe ich
auchdran.
Der AVR arbeitet ja auch. Die LED blinkt und es werden Daten zum PC
gesendet. Aber halt nicht Spannung gemessen :(
Ich weiss ja auch nicht, ob die HEX die richtige ist. In der ZIP war ja
auch eine ASM, aber die müsste ich erst compilieren. Und wenn die HEX
nicht die richtige ist, warum wurde sie hochgeladen?

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas
@Dieter

>... Hätte auch Interesse an dem VB-Quellcode.

Ich hoffe, ich habe ihn ausreichend dokumentiert?

Bernhard

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marco

>Ist die HEX vom 30.08.2005 18:45 die aktuelle und funktioniert sie?

Ja, sie ist die aktuelle und funktioniert

>Ab wann ist denn ein Update zu erwarten?

Benedikt und ich, wir wollen dieses System noch bidirektioal gestalten,
wird aber noch einige Tage dauern.

> Ich weiss ja auch nicht, ob die HEX die richtige ist. In der ZIP
> war ja auch eine ASM, aber die müsste ich erst compilieren. Und
> wenn die HEX nicht die richtige ist, warum wurde sie hochgeladen?

Die Hex ist direkt aus der ASM entstanden


> Der AVR arbeitet ja auch. Die LED blinkt und es werden Daten zum PC
> gesendet. Aber halt nicht Spannung gemessen :(

Ich hoffe, dass die Windows-Software bei Deinem Betriebssystem richtig
funktioniert, denn ich habe sie in Win98 erstellt.

Überprüfe doch mal mit einem Terminal-Programm, welche Daten vom µC
gesendet bzw. vom PC empfangen werden. Vielleicht kann man dann den
Fehler schon einkreisen?

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Bernhard für die Antwort(en)!
Wenn es bidirektional funktioniert, kommt danach die Version für ein
LCD? Somit wäre das ganze unabhäniger.

In deinem Programm steht unter den Einstellungen ja Daten: Da wechseln
sich Zahlen ab zu anfang.
Leider habe ich auf die schnelle kein Terminalprogramm gefunden, wo ich
56000baud einstellen kann. Deshalb kann ich z.zt. noch nicht sagen, was
wirklich ankommt.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marco

>kommt danach die Version für ein LCD?

Ist gerade in Arbeit, das LCD-Grafik-Modul habe ich vorhin aus der
Original-Verpackung heausgeholt(EA DIP 128-6, KS0108).Sind aber doch
eine Ganze Menge Pins, die verdrahtet und angesteuert werden müssen.
Hatte es mir einfacher vorgestellt.

>kein Terminalprogramm gefunden, wo ich 56000baud einstellen kann.

Setze doch die Baud-Rate im Assembler_Programm auf den gewünschten
Wert.

> In deinem Programm steht unter den Einstellungen ja Daten: Da
> wechseln sich Zahlen ab zu anfang.

In diesem Feld wird die Anzahl der im Puffer befindlichen (und noch
nicht aufbereiteten) Daten dargestellt

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernhard

Danke für den VB Code.

Das Porgramm startet normal, wenn ich dann auf Start drücke, liest es
die Daten einmal ein und hängt sich dann auf. Daten werden vom uC
weitergesendet.

Habe mal im Quellcode geschaut, finde den Fehler im Momnet noch nicht.

Habe WIN XP SP 2 und einen USB -->> RS232 Wandler

Gruß
Dieter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich Assembler könnte, hätte ich es ja gemacht. Ich habe mich davor
immer mit BASCOM gedrückt ;)

Ich weiss nicht, wie es in Assembler ist, aber in BASCOM bräuchte man
einen kompletten Port um die Datenleitungen eines gLCDs anzusprechen.
Und wenn ich mal so auf den Schaltplan schaue, wäre beim Mega8 kein
Port da, wo nicht mind. ein Pin fehlt um auf volle 8 zu kommen.

Und das EA beim Display hört sich so nach 60€ und mehr an :(

Ich werd mal AVR-Studio installieren und mein Glück probieren. Aber
wenn der PC die Daten empfängt, wird die Software unter XP doch
arbeiten, oder?

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
23 23 23 23 20 03 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 C0 23 23
23 23 20 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23
23 23 23 20 03 00 00 00 00 00 00 00 00 00 00 00 00 00 23 23 23 23 20 03
00 00 00 00 00 00 00 00 00 00 00 23 23 23 23 20 03 00 00 00 00 00 00 00
00 00 00 00 23 23 23 23 20 03 00 00 00 00 00 00 00 00 00 00 23 23 23 23
20 03 00 00 00 00 00 00 00 00 00 23 23 23 23 20 03 00 00 00 00 00 00 00
00 23 23 23 23 20 03 00 00 00 00 00 00 23 23 23 23 20 03 00 00 00 00 00
23 23 23 23 20 03 00 00 00 23 23 23 23 20 03 00 00 00 00 23 23 23 23 20
03 00 00 00 00 23 23 23 23 20 03 23 23 23 E4 1E FE 23 23 23 23 20 FF 23
23 23 23 E0 E0 23 23 23 E3 20 E0 23 3F 23 3F BC E4 FC E3 FC FC E4 BC FC
A4 FE FE

Das sind die ersten paar Sekunden als HEX. Danach ist erstmal Ruhe,
obwohl die LED noch blinkt.

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernhard.

Meine Programm läuft jetzt richtig.

Der Fehler lag in der

Public Sub ABFRAGE_AUF_HDD_SPEICHERN()

und zwar erwartet er ein File auf Laufwerk C:\AUSGABE_OSZI.txt
Ist dieses File nicht vorhanden, hängt sich das Programm bei mir auf.

Also habe ich einfach ein leeres File mit dem Namen angelegt und los
gehts.

Vielen Dank für das schöne Porgramm und weiter so

MFG
Dieter

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>und zwar erwartet er ein File auf Laufwerk C:\AUSGABE_OSZI.txt
>Ist dieses File nicht vorhanden, hängt sich das Programm bei mir auf.

Genau das war auch der Fehler bei mir !
Jetzt läuft es.

@Bernhard

Wie sieht es aus mit der neuen Version mit den unterschiedlichen
Samplerates usw. ? Da die Software nun auch bei mir läuft, kann ich nun
endlich die Software im AVR umschreiben.

Wenn du schon dabei bist, kannst du noch weitere Befehle einbauen ?
An das wichtigste hat nämlich niemand gedacht: Triggerung

020 Triggerwert senden (gefolgt von einem Wert im Bereich 0-255)
021 Triggerung bei steigender Flanke
022 Triggerung bei fallender Flanke

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ich noch vergaß:
023 Triggerung aus

Wenn AC Eingang aktiv ist, wird der Wertebereich automatisch auf
-128...+127 gesetzt, bei DC auf 0...255

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
... ein neues Update (Version 1.0.25).....

@Dieter
@Benedikt

> ... Public Sub ABFRAGE_AUF_HDD_SPEICHERN()
> und zwar erwartet er ein File auf Laufwerk C:\AUSGABE_OSZI.txt
> Ist dieses File nicht vorhanden, hängt sich das Programm bei mir auf

Danke für den sehr wichtigen Hinweis, ich habe gleich diese Prozedur
und die Prozedur "Public Sub ANZAHL_DATENSÄTZE_BEGRENZEN()"
verbessert.
Anscheind kamen andere Betriebssysteme damit nicht zurecht.
Nochmals Danke


@Marco

>.... wird die Software unter XP doch arbeiten, oder?

Probier' bitte das neue Update mal aus?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MARCO

> ...bräuchte man einen kompletten Port um die Datenleitungen eines
> ...gLCDs anzusprechen.

Der komplette Port - das wäre der Idealfall,
aber den haben wir beim ATmega8 nicht, das macht aber nichts,
da man ja alle Pins, egal wo sie sich befinden, einzeln ansteuern kann
und somit alle Pins des GLCD bedienen kann.
Ist dann nur noch eine Frage der Software.

> Und das EA beim Display hört sich so nach 60€ und mehr an :(
Leider ja

> 23 23 23 23 20 03 01 01 01 01 01 01 01 01 .....
Sieht doch schon ganz gut aus, ich hoffe, dass Du mit dem neuen Update
Deine Daten grafisch sichtbar machen kannst.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>Wie sieht es aus mit der neuen Version mit den unterschiedlichen
>Samplerates usw. ? Da die Software nun auch bei mir läuft, kann ich
>nun endlich die Software im AVR umschreiben.

In den nächsten Tagen werde ich die WIN-Software mit dem neuen
bidirektionalen-Protokoll erstellen.
Ich habe jetzt Deine Wünsche nocheinmal zusammengefasst.
Und hoffe, dass ich nichts übersehen habe?

0 Messung starten

1 ADC Teiler auf 2 setzen
2 ADC Teiler auf 4 setzen
3 ADC Teiler auf 8 setzen
4 ADC Teiler auf 16 setzen
5 ADC Teiler auf 32 setzen
6 ADC Teiler auf 64 setzen
7 ADC Teiler auf 128 setzen
8 ADC Teiler auf 256 setzen
9 ADC Teiler auf 512 setzen

10 Eingangsteiler 1:1
11 Eingangsteiler 10:1
12 Eingangsteiler 100:1

15 Eingang AC Kopplung
16 Eingang DC Kopplung
17 Eingang auf GND

20 & x Triggerwert senden (gefolgt von einem Wert im Bereich 0-255)
21     Triggerung bei steigender Flanke
22     Triggerung bei fallender Flanke
23     Triggerung aus

Wenn AC Eingang aktiv ist, wird der Wertebereich automatisch auf
-128...+127 gesetzt, bei DC auf 0...255

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal einen ersten Entwurf für die Hardware angehängt.
Im DC Modus öassem sich leider keine negativen Spannungen messen, aber
ohne negative Hilfsspannung geht das leider nicht so einfach.

Die Befehle sind so OK.
Wäre es möglich (aber nur, wenn es keinen zu großen Aufwand ist), die
Werte direkt in Volt (entsprechend den Teilerfaktoren) anzuzeigen und
eine Kalibrierfunktion einzubauen? Dazu legt man eine Gleichspannung
an, und gibt den Spannungswert ein. Das Programm merkt sich den
Spannungswert und rechnet dann alle Werte in Volt um.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

was spricht gegen ein 4052 als Quellwahlschalter? Duerfte besser sein
als viele Relais. Die beste Loesung aber auch die teuerste wird wohl
der DG409 sein.

Gruß,
Dirk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CMOS Schalter waren auch mein erster Gedanke, aber:
Legt man 100V an, und nimmt den 100:1 Teiler hat man 1V also alles OK.
Am 1:1 Teiler liegen dann aber 100V an. Das gibt ein nettes
Feuerwerk...

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

in den billigeren DSO's die fuer max 20V ausgelegt sind wird die
Funktion genutzt. Kurzzeitig sollten das die Schutzdioden aushalten und
der AVR koennte einen groessen Spgteiler waehlen bei Overflow. Eine
andere Moeglichkeit waere es per Autorange die Spannungsteilung
festzulegen.

Gruß,
Dirk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schutzdioden halten das nicht aus, wenn man keine Widerstände
davorbaut. Außerdem fließt ein Strom durch den 10:1 Teiler und
verfälscht die 100:1 Ergebnis.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>Ich habe mal einen ersten Entwurf für die Hardware angehängt

Gefällt mir, beonders die Relais-Variante.
Einfach und gut. Und vorallem robust.

Selbst bei einer Eingangsspannung von 100V und Vorteiler 1:1 lässt
diese Eingangsspannung maximal R2 und R5 das zeitliche segnen.
Der Verlust dieser beiden R ist vertretbar.

Hab' nochmal nachgerechnet, die Grenzfrequenz des Tiefpasses
R1+R2+R5 + C2 =21k/100pF liegt momentan bei 76 kHz,
wird beim einem 10kHz Rechteck-Eingangssignal etwas eng,
besser wäre C2=56pF.

Erhöhe bitte C1 auf 1µF, sonnst haben niedrige Frequenzen (bei 1:1)
keine Chance und ein Rechteck bei 100Hz sieht etwas merkwürdig aus.

Was meinst Du Benedikt? Sollte der Spannungsteiler auch
Frequenz-gang-kompensiert werden?

>Wäre es möglich die Werte direkt in Volt (entsprechend den
Teilerfaktoren) anzuzeigen und eine Kalibrierfunktion einzubauen?

Sehr gute Idee. Man bräuchte die empfangenen Werte nur mit einem Faktor
zu multiplizieren. Z.B. bei 1:1,  empfangener Wert=100 Ergebnis= 1 Volt.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vergesst die Schaltung, sie ist falsch: Das DC Offset von halber
Spannung wird auch durch den Teiler mitgeteilt.
Die geänderte Version hat den Masseanschluss für das Messsignal bei
halber Betriebsspannung. Eventuell sollte man daher die RS232 Leitung
üver Optokoppler trennen.

>Gefällt mir, beonders die Relais-Variante.
>Einfach und gut. Und vorallem robust.

Allerdings hat man hier die Gefahr, dass aufgrund des geringe Stroms
die Kontakte oxidieren. Mit Reed Relais sollte es aber gehen.

>Hab' nochmal nachgerechnet, die Grenzfrequenz des Tiefpasses
>R1+R2+R5 + C2 =21k/100pF liegt momentan bei 76 kHz,
>wird beim einem 10kHz Rechteck-Eingangssignal etwas eng,
>besser wäre C2=56pF.

Besser wäre eine Frequenzkompensation des Spannungsteilers, aber das
muss ich einfach mal ausprobieren. Ich probiere lieber, als zu rechnen,
die ganzen Werte habe ich so nach Gefühl ausgewählt.

>Erhöhe bitte C1 auf 1µF, sonnst haben niedrige Frequenzen (bei 1:1)
>keine Chance und ein Rechteck bei 100Hz sieht etwas merkwürdig aus.

Warum ? Der Eingangswiderstand liegt immer bei 1M, dass sollte
ausreichen. Der 10k Widerrtand beeinflusst das Signal nicht.

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man nicht statt Relais MOSFET einbauen?

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann man, statt die Eingänge unzuschalten, nicht für jeden Messbereich
einen ADC Eingang nehmen?

gefällt mir sehr gut, die Idee...

Autor: Bart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist einfach, dass wenn man für jeden Messbereich einen
eigenen Eingang nimmt, bei einer 100V Messung der 1:1 Bereich eben 100V
abbekommt.

Bei MOSFETs hat man interne Dioden. Wenn man diese einsetzt, dann muss
man zwei antiparallel in Reihe geschaltete verwenden, oder gleich ein
MOSFET Optokoppler.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
> Erhöhe bitte C1 auf 1µF...
> Warum ? Der Eingangswiderstand liegt immer bei 1M

Stimmt! Hatte ich total übersehen. War gestern (heute Morgen) doch
etwas spät/früh. Sorry

> Mit Reed Relais sollte es aber gehen
Denke ich auch, sie sind platzsparend und so teuer sid sie auch nicht

> Die geänderte Version ....
Stellst Du sie uns bitte noch zur Verfügung ;)

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
können wir Dein Protokoll noch ändern?

Mein Vorschlag:

0 Messung starten
1 Messung stoppen
2 µC RESET

10 ADC Teiler auf 2 setzen
11 ADC Teiler auf 4 setzen
12 ADC Teiler auf 8 setzen
13 ADC Teiler auf 16 setzen
14 ADC Teiler auf 32 setzen
15 ADC Teiler auf 64 setzen
16 ADC Teiler auf 128 setzen
17 ADC Teiler auf 256 setzen
18 ADC Teiler auf 512 setzen

20 Eingangsteiler 1:1
21 Eingangsteiler 10:1
22 Eingangsteiler 100:1

30 Eingang AC Kopplung
31 Eingang DC Kopplung
32 Eingang auf GND

40 & x Triggerwert senden (gefolgt von einem Wert im Bereich 0-255)
41     Triggerung bei steigender Flanke
42     Triggerung bei fallender Flanke
43     Triggerung aus

Wenn AC Eingang aktiv ist, wird der Wertebereich automatisch auf
-128...+127 gesetzt, bei DC auf 0...255

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Änderungen sind OK.
Befehl 1 wollte ich auch gerade noch einfügen, wobei Messung nicht
gerade das richtige Wort ist. Damit lässt sich nur die Wartezeit auf
eine Triggerung abbrechen. Sobald die Messung oder die Datenübertragung
läuft, kann diese nicht mehr abgebrochen werden.

Zu dem Wertebereich:
In meiner neuesten Version lässt sich der Messbereich von 0 bis 255 auf
-128 bis +127 per Relais umschalten.
Also wäre noch ein weiterer Befehl hilfreich, um zwischen den beiden
umzuschalten.
Sagen wir mal
35 Messbereich 0-255
36 Messbereich -128-+127

Im AC Modus soll fest der Bereich -128-+127 verwendet werden, im DC
Modus kann man auswählen.

Die nächste Schalplan Version werde ich in ein paar Tagen hochladen,
wenn ich den ausprobiert habe. Es macht nämlich wenig Sinn andauernd
neue Versionen zu posten, die alle irgendwelche Fehler haben.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

ich schwitze auch gerade über der Windows-Software, schon das visuelle
gestalten ist schon eine Herausforderung.


> Die geänderte Version hat den Masseanschluss für das Messsignal bei
> halber Betriebsspannung. Eventuell sollte man daher die RS232
> Leitung über Optokoppler trennen.
> Die nächste Schalplan Version werde ich in ein paar Tagen hochladen,

Versuche bitte die Schaltung so zu entwickeln (gut vormuliert, gel?),
dass das Masse-Potential nicht auf der halben Betriebsspannung liegt,
denn in der Praxis ist das dann sehr schwer zu realisieren.
Ich z.B. hätte schon große Probleme den µC zu programmieren, da bei mir
faßt alles (PC, Oszi, HF-Generator, Netzteil) geerdet ist.

Man müsste zwar ein zusätzliches Relais mit verwenden (für AC/DC), ich
denke, das ist vertretbar.

Nach meiner Meinung wird sehr selten DC im negativen Bereich gemessen,
notfalls kann man auch auf AC-umschalten.

Was hältst Du davon?

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die Masse der uC Schaltung bleibt auf Masse. Im AC Modus muss ich nur
irgendwie die Ruhespannung auf halbe Refernzspannung bringen.
Dazu schalte ich die Masse des Messeingangs auf halbe Refernzspannung.
Alternativ kann man das auch mit einem Opamp machen, aber dann benötigt
man eine negative Hilfsspannung usw.
Da nehm ich dann doch lieber gleich zwei Optokoppler und trenne meine
komplette Schaltung vom Rest, da kann ich dann wenigstens auch andere
Spannungen messen, die ein offset gegenüber Masse haben.

Ich mache noch eine andere Version, die eine negative Hilfsspannung
benötigt. Dafür gibt es dann aber auch eine per Software einstellbare
DC Offset Verschiebung von etwa +/-Messbereichsendwert.

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir funktioniert weder die exe noch das vb.
Bekomme bei der exe nur die Fehlermeldung "MSCHRT.OCX missing".
Dito bei der vb. Habe DevStudio 6 Prof und da heißt das Element
"MSCHRT20.OCX", scheinbar sind darin einige Funktionen geändert
worden, man kann es nicht einfach so einbinden.
Hat das ggf. schon jemand überarbeitet, bevor ich ans große basteln
gehen muß?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Fabian

> Bekomme bei der exe nur die Fehlermeldung "MSCHRT.OCX missing".

Ich kenn das Problem. Ich denke, durch eine Komplett-Installation
(UPDATE DISK1...3), da sind alle Bibliotheken enthalten, müsste dieses
Programm auch lauffähig sein.
Probiers bitte aus?

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Respekt! Das ist eine professionelle Schaltung von Dir.

Habe mir auch mal ein paar Gedanken zum AC/DC-Problem gemacht, damit
die Schaltung einfach bleibt, fiel mir dieses Prinzip ein...

Was meinst Du, käme mir auch sehr entgegen, wenn wir eine einfache
Lösung präsentieren?

Und jeder kann, entsprechend "Baukastenprinzip", dieses Projekt bist
zur "totalen Perfektion" ausbauen?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
juhu ich brauch nichmal was trixen um testhardware für meine openbench
zu bekommen ;)

wie vielleicht bekannt will ich ja was für den logic analyzer machen
und die soft soll auch gleich als scope fungieren können...

also wie wärs mit einer kooperation ;)

ich hab derzeit "nur" eine linuxbox... windows-box steht im eck und
wartet auf einen 2. tft G

ich würde das ganze gerne in c++ machen.. bin aber auch bereit eine
andere sprache zu vergewaltigen (nur bitte kein java boder basic)...

meine "ideen" sind im wiki nachzulesen..

jetzt speziell zum scope ;)

1. wärs schön wenn jemand beim coden zur hand gehen könnte...

aber ich will den grundcode nochmal überarbeiten weil ich da ganz grob
noch was drehen will.... das mit den plugins wie ichs derzeit
aufgezogen habe ist einfach viel zu abstrakt => viel code => kein
schwein kennt sich mehr aus ;)

wie gesagt.. derzeit c++ und wxWidgets... das wär schön ;)

zur hardware...

falls mal bei analog die lustigen arm dinger verfügbar sein sollten...
1msps und 8k ram... das wär doch wirklich was ;)

73

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@alle
Mein erster Entwurf der neuen Bi-Direktionalen-Windows-Software ist nun
endlich fertig.

Für Kritiken, Hinweise oder Anregungen bin ich sehr dankbar.



@Benedikt
In dem Eigabefeld "TEST" kannst Du "per Hand" Kommandos an den µC
senden, ich denke, es wird Dir für den Anfang sehr nützlich sein.

Oben links sieht man, Frau natürlich auch ;) welches Zeichen zuletzt an
den µC gesendet wurde.

Ein paar Kommandos fielen mir beim programmieren noch ein/auf:
33 Eingang nicht auf Ground
44 Triggerung EIN

Versuche bitte den µC so zu programmieren, dass beim Start der
Windows-Software und Reset des µC gleiche Schaltzustände anliegen.(z.B.
der Vorteiler)

Bevor ich's vergesse, ich habe die Taktfrequenz des µC mal mit
sichtbar gemacht, man kann wählen, wenn man diese Frequenz ändert,
   ob der ADC-Vorteiler angegeben werden soll,
   oder die Zeit pro 100 Messungen (ms/Teilung),
somit wäre auch die X-Ausrichtung geeicht.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard

Deine Schaltungsversion ist exakt meine vorletze Version, die ich aus
mehreren Gründen verworfen habe:

a) Ich möchte die interne 2,56V Referenz nehmen, um den kleinsten
Messbereich empfindlicher zu machen (z.B. um ein Audiosignal zu
messen)
b) Wenn man DC misst und den Wertebereich auf +/- einstellt, läd sich
der Elko langsam auf und man bekommt einen DC Offset Fehler.
c) um diesen DC Offset Fehler gering zu machen, muss der
Spannunsgteiler niederohmiger gemacht werden. Das darf bei der ADC
Refrenz aber nicht sein.

Respekt, die Änderungen der Software gingen jetzt aber schnell !
Ich werde jetzt erst mal die Hardware aufbauen, ehe ich alles teste.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch die andere Schaltungsvariante, die eine negative Spannung
benötigt (kann man z.B. mit einem IC7660 erzeugen).
Hier kann man das Eingangssignal per PWM erzeugter Spannung im Offset
verschieben. Dadurch entfällt das ganze Offset-Umschalt-Problem per
Relais, und man kann eben einen Offset einstellen, so wie bei einem
echten Oszilloskop.

@Bernhard
Sendet das Programm vor jeder zu startenden Messung den "Messung
starten Befehl ?" Irgendwie wird dieser nie gesendet, zumindest
startet die Erste Messung bei mir nicht.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
> Deine Schaltungsversion ist exakt meine vorletze Version, die ich
> aus mehreren Gründen verworfen habe:

Stimmt, ich glaube hier hatten wir den gleichen Grundgedanken, nur dass
ich bei meinem Prinzip ohne das Wechsel-Kontakt-Relais auskam,
deshalb stellte ich Dir das leicht geänderte Prinzip zur Verfügung.

> Hier noch die andere Schaltungsvariante, die eine negative
> Spannung...
Super! Ich denke, dieses Prinzip hat sehr viele Vorteile.
(AC/DC, +/- Spannungen, Software-Offset... herrlich)
Sieht unkompliziert aus und ist sehr übersichtlich.
Respekt!

Der ULN2803 ist sicherlich nur ein Treiber für die Read-Relais?
Eigentlich könnte man ihn weglassen, da die Read-Relais ca. 500 Ohm
Wicklungswiderstand aufweisen.
Oder hast Du bedenken, dass der ADC-Wert verfälscht wird?

Der R9=20K, erscheint mir etwas groß, momentan ist die Verstärkung für
die Offset-Spannung =2, war das so gewollt von Dir?

Das soll jetzt kein Nörgeln sein, könntest Du bei Deinen Schaltungen an
wichtigen Punkten z.B. "Referenz-Ausgang" ICB5 die Spannungswerte mit
angeben, die Schaltungen lassen sich dann einfacher nachvollziehen,
ohne dass man gedanklich die wichtigen Spannungen immer berechnen muss?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

> die Änderungen der Software gingen jetzt aber schnell !
...hat mich zwei sehr! lange Abende gekostet....

>Sendet das Programm vor jeder zu startenden Messung den "Messung
>starten Befehl ?" Irgendwie wird dieser nie gesendet, zumindest
>startet die Erste Messung bei mir nicht.

Wird momentan noch nicht gesendet.
A: Soll er nur 1x gesendet werden, wenn man den Button "Start"
   betätigt?
B: Soll er ständig gesendet werden, wenn der komplette
   800-Daten-Messzyklus empfangen wurde?

Ich denke, Variante A ist günstiger, denn sollte dieser Start-Befehl
mal "untergehen" (z.B. Übertragungsfehler) dann bleibt das ganze
System stehen und muss mühsam durch zwei Mouse-Klicks wieder zum Leben
erweckt werden.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte an Variante B, denn so kann leichter Single-Shot usw.
implementiert werden, und man wäre insgesamt flexibler.
Das wirklich mal ein Impuls untergehen sollte (was bei mir noch nie
passiert ist, ich würde sagen die Warscheinlich das sowas bei einer
ordentlich aufgebauten Schaltung passiert ist viel seltener als
1:1000000), glaube ich daher eher nicht.

Zur Schaltung:
Die Verstärkung von 2 bei der Offset Spannung dient dazu um auch das
Messsignal zu verstärken, um einen empfindlicheren Bereich zu bekommen,
um auch Audiosignale messen zu können (+/-640mV). Ich denke +/-64V
sollte eigentlich als maximaler Messbereich ausreichen. Man kann dann
den ja immer noch mit einem 10:1 Tastkopf auf +/-640V erweitern.
Als OP sollte man etwas besseres als den LM358, den verwende ich nur
immer als Platzhalter für die besseren die ich dann später einsetze.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bendikt
> Ich dachte an Variante B

OK, mache ich.
Ich werde es so umsetzen:
Immer, wenn alle Daten (z.B. 800) empfangen wurde, dann wird
automatisch der "Messung starten Befehl" gesendet.

> Die Verstärkung von 2 bei der Offset Spannung dient dazu um auch das
> Messsignal zu verstärken
Sehr gute Lösung

> den verwende ich nur immer als Platzhalter für die besseren die ich >
dann später einsetze
...grins... ;)

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, mich würde mal der sourcode interessieren von visualbasic5.0
progge auch noch damit in verbindung mit dem avr und video-capture.
mfg pebisoft

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard

Ich habe jetzt meine Testhardware und die Software soweit fertig, dass
es funktioniert, zumindest teilweise.

Hast du die Version, bei der vor jeder Messung der Messung starten
Befehl gesendet wird, soweit fertig ?

Was bedeuted die Zahl links oben über dem PORT Button ?

Sind das die Anzahl an empfangenen Bytes ?
Hier sollte bei 1000 Werten doch immer 1006 stehen, oder ?
Da im Moment der Messung starten befehl noch nicht automatisch gesendet
wird, muss ich für jede Messung noch per Hand den Wert über die "an den
uC senden" Funktion starten. Allerdings kommt nicht immer ein neues
Bild, manchmal muss ich bis zu 10x klicken, ehe was kommt.
Außerdem bleibt der Zähler links oben öfters mal irgendwo <1000 stehen,
und wenn ich dann nochmal klicke springt er auf 1006 und es kommt ein
Bild. In der Darstellung sieht man dann einige Spikes, die anscheinend
die Startbytes der Übertragung sind.
Kann es sein, dass das Programm ab und zu Daten verliert ?
Wenn ich das ganze mit einem Terminalprogramm laufen lassen, kommen bei
jedem Senden einer 0 exakt 1006 Bytes zurück.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@pebisoft

>mal der sourcode interessieren von visualbasic5.0

Ich werde mal noch einige Änderungen vornehmen und ihn anschließend
wieder hier veröffentlichen,
Vielleicht genügt der momentan veröffentlichte?

> und video-capture

Klingt sehr interessant.
Vielleicht könntest Du mal einen Beitrag zu diesem Thema
veröffentlichen?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>Hast du die Version, bei der vor jeder Messung der Messung starten
Befehl gesendet wird, soweit fertig ?

Ich versuche, bis zum Wochenende eine brauchbare Version zu erstellen.

>Was bedeuted die Zahl links oben über dem PORT Button ?

Das ist die Datenmenge (Anzahl der Zeichen),
die sich momentan noch im Eingangspuffer des PC's befindet
und noch nicht ausgewertet wurde,
diese Zahl sollte nach kurzer Zeit (ca. 1 Sekunde) wieder auf "0"
stehen.

>Zähler links oben öfters mal irgendwo <1000 stehen

Ich werde das Windows-Programm auf diesen Effekt hin konrollieren.
Vielleicht könntest Du mir Dein Assembler_Code mal zu mailen,
"Bernhard.Erfurt@gmx.de" vielleicht finde ich den Fehler dann im
Win-Prog schneller?

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist das Programm, allerdings noch eine extreme Testversion.

Die meisten Funktionen sind schon drin, aber noch ungetestet.
Wenn man z.B. den Messung stoppen Befehl sendet, hängt sich alles
auf...

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Ich denke, dass ich den Fehler gefunden habe,
dieses Windows-Programm kommt mit Baud-Raten über 56k nicht zurecht,
bei mir traten auch seltsame Effekte auf.

Ein paar Fehler im Win-Prog konnte ich auch noch abstellen.

Sobald das Win-Prog gestartet wird, wird nun nach 1000ms das Zeichen
Null gesendet um die Daten vom µC anzufordern, und die Daten vom µC
kommen auch alle an, funktioniert wunderbar!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Software läuft schon ganz gut...
Das mit den Messungen läuft einwandfrei.

Allerdings funktionieren 1000 Messwerte nicht: Das Programm emfpängt
zwar die Daten, zeigt diese aber nicht an. Mit 800 Werten geht es
wunderbar.

Ist die Triggerfunktion schon eingebaut ? Denn irgendwie geht diese
noch nicht, bzw. der Triggerpegel wird falsch eingestellt. Wenn ich
diesen per Hand einstelle läuft auch die Triggerung.
Der "aus" Button beim Trigger sollte besser "ein" heißen.

Wenn die Triggerung aktiv ist, sollte das Programm keine erneute
Messung starten, wenn der letzte Wert noch nicht empfanfen wurde.
Wenn man die Messung während des Wartens auf die Werte durch den
ein/aus Button stoppt, sollte der Messung stoppen Befehl gesendet
werden.
Für das DC Offset der Eingangsspannung wird dann auch noch irgendwo ein
Regler benötigt. Der Befehl zum einstellen des DC Offsets ist 50 gefolgt
vom Wert

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch ein kleines Oszi-Programm geschrieben.
Beim Atmega8 mit 8Mhz konnte ich eine Abtastrate von 6.5us~160kHz
erreichen.
Die Aufnahme eines 10kHz Sinussignals sieht ziemlich sauber aus.

Gruss,
christoph

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>Allerdings funktionieren 1000 Messwerte nicht

Ich werde nach dem Fehler suchen, nur was mich sehr wundert, dass die
1000 Werte bei mir problemlos empfangen werden.
Ich lass mir was einfallen.

>Ist die Triggerfunktion schon eingebaut ?
noch nicht, kommt aber in kürze

>Der "aus" Button beim Trigger sollte besser "ein" heißen.
ändere ich

>Für das DC Offset der Eingangsspannung wird dann auch noch irgendwo
>einRegler benötigt. Der Befehl zum einstellen des DC Offsets ist 50
>gefolgt vom Wert
implementiere ich

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Schappihunter

> Und aus diesem Grund habe ich die Tastenentprellung, die
> Drehgeberauswertung sowie die RC5-Decoderroutine NICHT von Peter
> Dannegger übernommen und ich kam auch zum gewünschten Erfolg.


Dazu kann ich nur sagen: "Wer nicht fragt, bleibt dumm !"

Bisher hat nämlich jeder, der zu meinen Beispielen Fragen hatte, auch
Antworten dazu bekommen, man muß nur fragen wollen.

Wer aber erwartet, daß einem Wissen wie gebratene Tauben in den Mund
fliegt, der ist auf dem Holzweg.


Auch ich habe manchmal Schwierigkeiten durch fremde Quelltexte
durchzusteigen, daran ist überhaupt nichts schlimmes.

Es ist eben nur ne Frage, ob man seinen eigenen Horizont erweitern will
oder nicht. Und wenn Du es eben nicht willst, dann ist mir das auch
egal.


Ich behaupte auch nirgends, daß meine Beispiele das Optimum sind.
Deshalb gucke ich mir auch andere Beispiele an und äußere mich dazu.


Peter

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein weiteres Update der WIN-Software mit dem VB-Code

@Benedikt
Ich habe soweit alle Änderungen eingearbeitet, hoffentlich
funktionieren sie?

Neu ist:
- oben links siehst du die Historie der gesendeten Zeichen
- im Feld TEST kannst Du Dir die ersten 200 Daten Werte anschauen, wenn
aus irgend welchen Gründen die 1000 Daten nicht angezeigt werden
-zusätzliche Fehlerüberwachungen habe ich mit eingebaut
(z.B. Datenüberlauf am COM-Port)

Bernhard

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Moment habe ich leider etwas viel zu tun, aber ich hoffe bis Ende der
Woche die Software soweit fertig zu haben.

Diese automatische Y Bereichswahl ist zwar nützlich, aber ich empfinde
den als sehr nervig, wenn andauernt das Bild größer/kleiner wird, wenn
das Messsignal nicht sauber ist (z.B. bei einem Audiosignal). Ich denke
ein fester Bereich von 0-255 bzw. -128-127 wäre sinnvoller.

Autor: Daniel Weiss (daniel2008)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich hatte auch schon die Idee ein COM-Port-Oszi zu bauen, allerdings
macht es IMHO nicht viel Sinn, im Soundkartenfrequenzbereich
rumzukrebsen, da man ja dann wirklich auch gleich die Soundkarte nehmen
kann, bei überbrückten Entkoppelkondensatoren sogar für DC. Dennoch ist
dieses Projekt als Übung sicherlich nicht schlecht, aber eben doch nur
der Nachbau von etwas, das jeder PC sowieso schon (fast) kann...

==================================================================

Daher wäre mein Vorschlag, diese Schaltung aufzubohren, folgender:
diesen ADC nehmen:
ADS830 (bei Reichelt.de: 5.25 EUR(!), Daten: 8 Bit, 60 MHz, paralleler
Ausgang)

Dann dem Atmel sagen, dass er seinen Takt ausspucken soll (PORTB.0 kann
das glaube ich), dann direkt damit den ADC takten (also auch mit 20 MHz)
und in einer hochoptimierten Routine, ggf. ganz einfach OHNE
Schleifenanweisungen, sondern plump 800 Mal hintereinander einen PORT
abzufragen und in ein Array-Feld zu speichern. auch das hochzählen des
arrays NICHT programmieren, sondern fest über 800 verschiedene
Konstanten (0 bis 799) realisieren.
Also sowas
move.b PORTB,ADRESSE000
move.b PORTB,ADRESSE001
move.b PORTB,ADRESSE002
...
move.b PORTB,ADRESSE799

oder in C:
wave[000]=PORTB;
wave[001]=PORTB;
wave[002]=PORTB;
...
wave[799]=PORTB;
(kann ja sein, dass einC-Compile da letztlich genauso schnellen Code
erzeugt)

Also wirklich 800 fast identische Code-Zeilen!!! Eben um Rechenzeit zu
sparen (hat man auch beim Amiga500 gelegentlich so gemacht, der hatte
auch keinen Cache, bei heutigen PCs wäre das natürlich hahnebüchener
und noch dazu ausbremsender Blödsinn)


Wichtig ist eben, dass man nicht mit hochzuzählenden Variablen arbeiten
darf, da das hochzählen Zeit kostet (auf einem PC würde das hochzählen
Zeit SPAREN, da alles im 1st-Level-Cache abläuft, aber MCUs haben sowas
ja nicht, jedenfalls nicht diese ganz kleinen)
Damit der C-Code richtig schnell wird, müsste der Compiler die
Variavle+Index-Konstanten in absolute Adressen umwandeln, was er aber
wahrschienlich tun wird.


Wenn der ATMEGA in einem Takt z.B. PORTD lesen und gleichzeitig eine
speicherstelle schreiben kann, hätte man 20 MHz Abtastrate (falls er
dafür 2 Takte brauchen sollte eben 10 MHz)

Wenn man sagt, dass einem 10 Abtastungen pro Schwingung reichen, hätte
man immerhin ein Oszi bis 2 MHz für 10..15 Euro...
(kommerzielle Oszis machen bei 40 Mhz Darstellung 1 Milliarde
Samples/Sek., d.h. 25 Samples pro Schwingung, mit wiviel Bit weiß ich
nicht)

Natürlich sollte man hier dann auch gleich Vorsehen, die
ADC-Referenzspannung per Software variieren zu könne, ggf. auch noch
einen OP an den Eingang (den könnte man ja in seiner Verstärkung per
externem DA-Converter einstellbar machen, der DA-Converter könnte auch
seriell zu füttern sein, der muss ja nur gelegentlich einen neuen Wert
erhalten)


Das nur mal so als Idee. PC-Software sowie Controller-Firmware als GPL
wäre cool, falls ich jemals neben dem Job noch Zeit haben sollte, eine
PC-Oszi-Software schreiben, würde ich das in Java machen (also dann bis
in 5 Jahren oder so... ;-)

Ich stelle hiermit schonmal die Idee, einen ADC, wie z.B. den ADS830 +
einen Mikrocontroller zu einem Teil eines Oszilloskops zu verdrahten
prophylaktisch unter die GPL. :-)

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn der ATMEGA in einem Takt z.B. PORTD lesen und gleichzeitig eine
speicherstelle schreiben kann

Was er aber nicht kann, da er ein uC ist der immer nur einen Befehl
gleichzeitig ausführen kann, d.h. er braucht 1 Takt zum einlesen, 2
Takte zum Speichern, kann also maximal mit 6,66MHz einlesen.

Mit etwas Zusatzhardware (extrener Adresszähler, SRAM) kann man
problemlos 40-50MHz Abtastrate erreichen.
Die Oszilloskopsoftware kann man auch damit verwenden.


PS: Deine Idee ist nicht neu, ich habe alles auch schon
druchgerechnet:
- externes SRAM, einlesen über uC: 7 Takte
- externes SRAM, einlesen über "DMA": 6 Takte
- internes SRAM, einlesen in Schleife: 6 Takte
- internes SRAM, einlesen über 1000 Befehle: 3 Takte
- externes SRAM, eigener Adresszähler: 1 Takt, max. 40-50MHz

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch vor (sofern ich zeit haben sollte) so ein Oszilloskop zu
bauen.
Ich habe auch schon geeignetes SRAM-Baustein - W24129AK-12 AD-Wandlwer
- TDA8703.
Geeigneten Adresszähler habe ich hoch keinen, aber das dürfte kein
Problem sein.

Das grösste Problem hier wird wohl sein,  Eingangsverstärker für 40Mhz
zu bauen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Finger weg vom TDA8703 !
Ich persönlich hasse das Teil: Ich habe schon 3-4 von den Dinger
abgeschossen: Einmal den Eingang auf <0V ausgesteuert und man kann
einen neuen kaufen. Außerdem rauscht das Teil bei mir ziemlich.
Der ADS830 ist nicht nur billiger, sondern auch besser (so ziemlich in
allen Eigenschaften, abgesehen vom Gehäuse).

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

www.bitscope.com zeigt wie man es richtig macht. Der AD kostet ca 20
Euro dann werden noch ein paar OPA627 benoetigt kostet ca 7 Euro pro
Stueck.

Rechnet mal mit knapp 50 Euro pro Kanal an Bauteilkosten ohne die 4
Layer PCB.

Gruß,

Dirk

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Einmal den Eingang auf <0V ausgesteuert und man kann
einen neuen kaufen.
Hast du wohl was falsch gemacht. Ich habe noch keinen kaputt bekommen.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

>Diese automatische Y Bereichswahl ist zwar nützlich, aber ich
>empfinde den als sehr nervig, wenn andauernt das Bild größer/kleiner
>wird

Ich denk' mal darüber nach, ob sich das Problem so ohne weiters lösen
lässt, denn dieses Diagramm kann man leider nur bedingt durch Befehle
steuern.

Bernhard

Autor: dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das Projekt fertig ? Gibt es dazu eine Webseite?

Und welche Schaltung etc. gibts jetzt ?

Gute Idee muß ich sagen einfach und Handlich!

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@dirk

>Ist das Projekt fertig ?

Nein, leider noch nicht, Benedikt wollte sich noch um einen
überarbeiteten Assembler-Code kümmern, aber vom Grundsatz her
funktioniert es.

>Und welche Schaltung etc. gibts jetzt ?

Die letzten Updates sind die aktuellsten.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die neueste Version.
DC Offset ist integriert und funktioniert wunderbar: Man kann das
Signal wie bei einem echten Oszilloskop verschieben, die Eingangsteiler
funktionieren auch.

@Bernhard
Funktionieren 115200Baud eigentlich jetzt problemlos, oder hat die
Warnung die beim Einstellen der Baudrate kommt noch eine bedeutung ?

Wenn man den Trigger einschaltet werden keine Messung starten Befehle
mehr gesendet.
Könntest du die Software so abändern, dass nach Aktivieren der
Triggerung ein Messung Starten Befehl gesendet wird, und gewartet wird
bis die Werte kommen, ehe der nächste Messung starten Befehl gesendet
wird ?

Autor: Peter Zechneer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ihr da draußen.

wir haben 1979 ein 50 MHz Oszilloskop am Apple II betrieben. Sicher war
die Auflösung nicht das was man heute verlangt aber der Apple lief mit
nicht ganz einem MHz als Taktfrequenz !! Und natürlich war das
Eingangssignal gesampelt ! Mich wundert, daß es heute mit den 100 fach
schnelleren CPUs Probleme gibt. Oder sollte es daran liegen, daß alle
wie das Kaninchen auf die Schlange auf Windows starren. Dies  ist doch
ein Büroprogramm zum Verwalten und Bürokratisieren.... wenn ich mich
richtig erinnere waren die noch niemals die Schnellsten.

Weiterhin viel Erfolg wünsche ich allen die sich in ein Problem
hineinwühlen können, der Erfolg eines selbstgeschriebenen Programms ist
zwar nicht immer ein finanzieller, aber er hebt das Selbstbewustein
gegen über allen die mit Fragen wie "zu was braucht man so etwas", "
das gibts schon lange" und sonstigen Unwissenheit kaschierenden
Gegeargumenten den Wind aus den Segeln nehmen wollen.

Tinkerbox

Autor: dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter: Wenn du was besseres hast her damit.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Danke, dass Du das Assembler-Programm fertig hast, in den nächsten
Tagen werde ich mich etwas intensiver damit beschäftigen.

>Funktionieren 115200Baud eigentlich jetzt problemlos, oder hat die
>Warnung die beim Einstellen der Baudrate kommt noch eine bedeutung ?

Ja die Warnung ist berechtigt, da manche Betriebsssteme mit dieser
115200 Baudrate nicht zurecht kommen.

>Könntest du die Software so abändern, dass nach Aktivieren der
>Triggerung ein Messung Starten Befehl gesendet wird, und gewartet
>wird bis die Werte kommen, ehe der nächste Messung starten Befehl
>gesendet wird ?

das müsste gehen, ändere ich ab

Du Benedikt, könntest Du uns bitte den Schaltplan für diese Variante
noch zur Verfügung stellen, damit alle den gleichen Wissensstand haben
und der Nachbau problemloser erfolgen kann?

Noch eine Frage, gab es noch Probleme mit der Übertragung von 1000
Datenpunkten?

Gruß Bernhard

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
115200Baud sind echt ein Problem ? Wo gibt es denn genau Probleme ? Bei
mir lief es problemlos. Die 1000 Werte habe ich noch nicht getestet.

An der Hardware hat sich nichts geändert, ich benutze diese hier:
http://www.mikrocontroller.net/attachment.php/2330...

Demnächst ist ja bei der Elektor Ausgabe ein kleiner 16bit uC dabei,
der kaum mehr kostet als ein AVR, aber mehr Speicher und einen 300kHz
ADC hat. Dann werde ich mit diesem mal einen zu der AVR Schaltung
kompatible Schaltung bauen, denn beim AVR ist recht schnell die Grenze
der Samplerate erreicht.

Könntest du mir mal den aktuellen Source Code zur Verfügung stellen ?
Ich habe einen 40MS/s Logik Analyser den ich auch als Oszi nutze, nur
hat der ein etwas anderes Protokoll und ich habe bisher keine passende
Windows Software dafür...

Autor: Peter Zechner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das 50 MHz Oszilloskop liegt bei mir noch herum, jedoch vermute ich ist
die Hardware über den Jordan (-:( Die Diskette mit dem Programm und
Beschreibung habe ich noch.

Aber ich habe einmal einen Oszillograf in der MC publiziert so 1980 81
der ein wirklicher Graf war er hat nämlich die Kurven ausgedruckt.

Belegexemplare liegen irgendwo im Speicher wenn wirkliches Interesse
besteht suche ich sie raus. Die A/D Wandlung wurde per Programm
gemacht, maximale Sampling Rate war 7,5 kHz.

Viel Erfolg

Autor: dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar , vielleicht gibts, verbesserung die man mit einbauen , kann.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ist schon mal jemand über die folgende Seite gestolpert?
Ist ein vergleichbares Projekt und könnte vielleicht hilfreich sein.

http://elm-chan.org/works/wcs/report_e.html

Gruß Thomas

Autor: Christian Ess (christians)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard Schulz

Könntest du mir mal den aktuellen Source Code des Programms zur
Verfügung stellen ?

Es hat noch einige Fehler (z.B. irgendein Overflow tritt öfters ein),
und ich würde daher gerne die Software noch ein wenig an meine
Bedürfnisse (andere AD Wandler) anpassen.

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt

>Könntest du mir mal den aktuellen Source Code des Programms zur
>Verfügung stellen ?

Ich habe Dir den VB-CODE angehängt und hoffe, dass ich Dir damit weiter
helfen kann, hoffentlich findest Du den Fehler.

Gruß

Bernhard

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schöne Idee, interessante Geschichte geworden.
Wie wärs mit LCD ???
Was machen die Ideen mit den schnelleren Wandlern und ext. RAM ??

Macht weiter so !!!

Gruß High Low

Stephan

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@stephan

>Wie wärs mit LCD ???

Das LCD liegt schon seit vielen Wochen bei mir und wartet darauf,
etwas anzeigen zu dürfen.

Werde aber bei passender Gelegenheit den Assemlercode aud ein LCD
umschreiben.

>Was machen die Ideen mit den schnelleren Wandlern und ext. RAM ??
Ich versuche diese tollen Ideen mit umzusetzen.

Gruß

Bernhard

Autor: Kaktus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe gar keine mschart.ocx Komponente. Schade.
Das wird daran liegen, dass ich auch kein VB5 o. 6 drauf habe.
Wollte ich mir trotzdem mal ansehen. Kann mal einer die ocx hochladen?

Danke

AxelR.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AXEL

>Kann mal einer die ocx hochladen?

Ich habe in diesem Beitrag die Installations_Disketten mit zu Verfügung
gestellt, damit müsste es eigentlich funktionieren?

Bernhard

Autor: ,,,, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann mal einer die ocx hochladen?
Ist nicht zulässig (copyright).

Autor: Vierpol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hurraa!

Ich hab das Oszilloskop am laufen !!!

In VB6 auf XP. Allerdings noch mit dem Sinus (Startdaten) auf dem
Bildschirm. Weil die MSChart bei mir auch Probleme machte, habe ich die
Kurven-Darstellung auf die (wohl etwas moderne) MSCRT20 angepasst.
Jetzt muss ich mich nur noch um die Hardware kümmern.

@Bernhard: Klasse Projekt. Hast Du SUPER gemacht. Bedanke mich
vielmals!

Gruß,

Vierpol

Autor: Ilja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Vierpol: Mach doch mal den Source hier ins Forum rein!

Ilja

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Luciano de souza (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DIGITAL- Oszilloskop
MSCHART.OCX  ERROR OCX NOT REGISTRED

Autor: <°####>< (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
to Register the Control type:

regsvr32.exe MSCHART.OCX

Autor: Luciano de souza (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
My VB is VB6 SP6

Autor: Thomas Pred (pred8or)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Tosci (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard Schulz
gutes Projekt, Respekt!
Könnte man so etwas nicht als Logikanalyser bauen:
schneller AVR mit SRAM und dann über PC auswerten?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@TOSCI

>Könnte man so etwas nicht als Logikanalyser bauen:
>schneller AVR mit SRAM und dann über PC auswerten?

Als Logikanalyser? Gute Idee. Ich denke man käme sogar ohne eine
ADC-Wandlung aus. Einfach die PINS abfragen (per Interrupt?) und die
Daten in den SRAM übertragen und anschließend auswerten.

Bernhard

Autor: Tosci (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard
ja genau, könnte man auch mit 16Bit und 2 schnellen S-RAM Bausteinen
bestimmt easy machen. Ev. einen Arm oder PIC nehmen, die sind z.T. noch
schneller???
Klingt so einfach..... warum gibt es dann nicht.? Aber dein Oszi ist
auch relativ einfach, und den gab es vorher auch nicht :-)
Gruß Tosci

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ev. einen Arm oder PIC nehmen, die sind z.T. noch schneller???

PICs sind langsamer, da diese mit 1/4 vom Takt laufen.
Arm könnte schneller sein, aber das ist etwas Oversized.

Wie schnell soll das ganze sein ?
Wenn jemand eine passende Windows Software schreibt, machte ich gerne
den uC Teil.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bendikt


>Wenn jemand eine passende Windows Software schreibt, machte ich gerne
>den uC Teil.

Die Win Software existiert doch schon, was würdest Du daran ändern
wollen?

Gruß

Bernhard

Autor: DeLux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm... was haltet ihr von einer portierung auf ein nicht M$
Betriebsystem?
wenn du UML/Struktogramm/Programm-Ablauf-Plan deiner igitigit
VB-Sourcen machst würde ich es in angriff nehmen!

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nicht einfach ein externes SRAM, das von einem CPLD  gefüllt wird
und vom AVR an den PC geschickt? Sollte kein Problem sein wenn man es
einfach hält.

Autor: Tosci (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lupin
für mich wäre das ein Problem, gerade der einfache Aufbau mit
überschaubarem Aufwand macht das Teil so interessant. Eine CPLD
Anwendung gibt es schon (E****tor oder andere) Nur ich kann sie nicht
programmieren, bzw. verstehe den Code auch nicht.
Da hat die AVR-Anwendung mehr Vorteile: Preis und einfach aufbaubar.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard
Es ging um den Logik Analyser




AVR, CPLD, FPGA
Dazwischen liegen Welten, sowohl im Preis als auch Aufwand, als auch
Geschwindigkeit.

Wenn ich mir das recht überlege:
Ein Logik Analyser mit <1MHz ist eigentlich zu nichts zu gebrauchen.
Meistens verwende ich irgendwas im Bereich 5-20MS.
Mit 1000Bytes Speicher wie beim Oszilloskop wird das auch nix, die
reichen gerade mal für einige Bytes aus einem SPI Transfer.
32kB sollten es mindestens sein.

Außerdem benötigt ein Logik Analyser eine ordentliche Triggerung.
Wenn man das diskret aufbaut, wird das eine ziemlich große Platine
voller HCMOS ICs und kritischem Timing.
Alternative: ein CPLD, und max. 2 HCMOS IC + SRAM und AVR.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: AVRNIX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es schon was neues zum Projekt

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AVRNIX

>Gibt es schon was neues zum Projekt

Momentan noch nicht, ich plane, dieses Projekt auf ein Matrix-Display
anzupassen.

Bernhard

Autor: Sascha Str (sascha)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Versuche mich auch an einem Scope. Anbei mal ein kleines Video(sorry,
schlechte Qualität).
Es zeigt ein Rechteck-Signal von 976Hz. Da ich noch auf Fifo`s und
schnellen A/D warte, muß erstmal ein TLC0820 herhalten. Trigger ist
noch nicht.

Mfg Sascha

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sascha,
in welcher Sprache programmierst Du?

Ich habe in Delphi eine Bitmap erzeugt, welches aber nur im Speicher
steht. Dort schreibe ich meine Messwerte hinein. Wenn die Kurvenform
auf dem Schirm passt, schreibe ich das komplette Bitmap via Bitblt in
mein Fenster. dann flimmert es nicht und man hat ein stehendes Bild.

Gruß
AxelR.

Autor: Sascha Str (sascha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

in C. Momentan Sample ich 180 Werte in einen Buffer. Diese werden dann
angezeigt. Da der Mega32 durch das Messen im Timer-Interrupt sehr stark
belastet wird, flimmert es leider. Deswegen warte ich auf die Fifos für
den A/D.

Mfg Sascha

Autor: Alfred Q. (higedigdag)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

ich hab ne frage zu dem oszi.
ich bin noch recht neu bei der ganzen sache mit den microcontrollern.

ich hab vor mir ne schaltung zu bauen mit nem mega8 und LCD auf dem ich
dann messungen vom auto abfragen kann.

nun zum oszi. kann ich mit diesem oszi z.b. den drehzahlsensor
anzeigen.  oder z.b. den radsensor vom ABS für die geschwindigkeit.

das sind alles nur einfache induktivesensoren soweit ich weiß.

ich kann mit kein richtiges oszi leisten. da wäre eure nette sache doch
sehr toll ;)

mfg andy

und weiter so!

Autor: Alfred Q. (higedigdag)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hoffe das projekt läuft noch?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andy H

>nun zum oszi. kann ich mit diesem oszi z.b. den drehzahlsensor
>anzeigen

Dieses einfache Oszilloskop kann Dir Frequenzen bis ca. 10 kHz
hinreichend genau (feine Auflösung) anzeigen, mehr schafft der Atmega8
bei 16 MHz nicht.

>kann ich mit diesem oszi z.b. den drehzahlsensor anzeigen.

bei 10.000 Impulsen bzw. Umdrehungen pro Minute (166 Hz) würde er es
problemlos schaffen.

Bernhard

Autor: Alfred Q. (higedigdag)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
oh das ist ja super wenn das klappt.

hab da noch paar fragen zu dem schaltplan.

diese relais? welche nimmt man da? vielleicht welche die es bei
reichelt gibt.
und dann hab ich noch einen pfeil reingemalt. das ist doch sicher der
messanschluss, oder? macht man da so eine BNC-buchse dran?

und dann noch diese minus 5 Volt. wo bekomm ich die denn her? ich
brauch das ja eigentlich nicht beim auto, oder?

danke schon mal ;)

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Andy


>diese relais? welche nimmt man da? vielleicht welche die es bei
>reichelt gibt.

genua, Read-Relais reichen aus

>und dann hab ich noch einen pfeil reingemalt. das ist doch sicher der
>messanschluss, oder? macht man da so eine BNC-buchse dran?

muss nicht sein, normale Buchsen reichen, ist ja kein HF-Signal

>und dann noch diese minus 5 Volt. wo bekomm ich die denn her? ich
>brauch das ja eigentlich nicht beim auto, oder?

Aber zum betreiben dieser OPVs



Noch was, wenn Du diese Schaltung nur für positive Spannungen ensetzen
möchtest, dann kann man aus Kostengründen ;) alle Relais und OPVs
weglassen.

Ein Schaltplan hierzu müsste schon hier vorhanden sein.

Bernhard

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Nur mal als Anregung gedacht:
Wie wäre es wenn ihr ein Input Plugin für Osqoop schreibt ?
Osqoop ist eine in QT4 geschriebene Oszi Software (linux+win):
http://lsn.unige.ch/osqoop/

Ich hab letztens für einen selbstgebastelten ADC der an nem
fpga hängt ein input Plugin für Osqoop geschrieben.
Das war in unter einer Stunde erledigt, das howto für input Plugins ist
recht brauchbar :)

Wobei ich mir die Software von Bernhard nicht angeguckt habe, evtl
bietet sie ja schon ähnliches ;)
(hab nur Linux Rechner)

Bye, Simon

Autor: Alfred Q. (higedigdag)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo bernhard

kannst du vielleicht mal über die liste gucken.
bin mir mit den teilen immer noch nich sicher. vorallem wegen den
relais. kannst du mir da vielleicht ma ne nummer geben welche da gehen,
von reichelt vielleicht? das wär sehr nett.

hast du vielleicht ein layout deiner platine?

mit den minus 5 Volt das kapier ich auch nich :( sorry

danke fürs verständnis

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andy

>kannst du mir da vielleicht ma ne nummer geben welche da gehen,

5V Reed-Relais: DIP 7212-L 5V

>hast du vielleicht ein layout deiner platine?

nein, leider nicht

>mit den minus 5 Volt das kapier ich auch nich

ist nötig zum messen von negativen Spannungen,

sollen nur positive Spannungen gemessen werden, kann die Schaltung
stark vereinfacht werden (Kostenreduzierung)

Bernhard

Autor: AVRNIX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard wie siehst mit dein Oszi mit Display aus ?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo AVRNIX,

>wie siehst mit dein Oszi mit Display aus ?

Gerade in Arbeit!

Habe hier eine 128x64 Display mit KS0108 Controller vor mir liegen.

ES beherrscht schon
-Kreise, Halbkreise, Rechtecke und Linien
-Digitaloszilloskop

Momentan schwitze ich nur noch an den ASCII-Zeichensatz, da ich mit
Hand noch jeds Zeichen vereinbaren muss.

Bitte noch etwas Geduld, werd's bald veröffentlichen.

Bernhard

Autor: AVRNIX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Berhard klar ich kann warten ;)

Ich hätte da mal ne frage:

wenn der AVR ca 15Ksps hat - wie machst du die Dimisonierung von t und
V auf dem Display, sodas man die Daten auf den Display ablesen kannst?

Weil es braucht ja eine gewisse Zeit der Wandlung und wie Rechnet man
das um auf der Zeitachse bzw in Werten ( wegen der Abtastung )?
(min. fabtast=f*2)

Ich hoffe ich habe das Verständlich gesagt :|

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AVRNIX

>wenn der AVR ca 15Ksps hat - wie machst du die Dimisonierung von t
>und V auf dem Display, sodas man die Daten auf den Display ablesen
>kannst?

Man könnte in Deinem Beispiel nach 150 ADC-Wandlungen eine X-Hilfslinie
Zeichnen und schön hätte man die Zeitachse kalibriert.


Bei der Y-Achse könnte man ebenso (als Bsp: alle 50 mV) eine Hilfslinie
zeichnen bzw. andeuten.

Bernhard

Autor: AVRNIX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Berhard: Es kam doch nicht soklar rüber wie ich dachte.

Vielleicht so :
1 Messung dauert sagen wir mal 10µS ja das heisst 1280µS würde eine
Komplette Messreihe geben.

So wie messe ich jetzt bzw stelle ich dar wenn das Signal 10ms dauert
oder wenn ich es am Gerät so einstelle?

Aber wenn ich 10ms eingestellt habe, kann ich durch die Erhöhung der
Abtastung da genauer Messen. Aber wie messe / Berechne ich 10µs 1ms
10ms 1 s etc. Die Abstatunggeschwindigkeit bald ja gleich, die
Abtastung je länger das Signal ist erhöht sich ( dadurch wird auch die
Genauigkeit besser). Aber wie Berechne ich jetzt die
Darstellungparameter?

Das Signal kann ja mal den ganzen Bildschirm füllen oder nur ein Teil
wie beim Oszi.

Wie wird das real gemacht da komme ich auf keinen nenner.
Da ja auch durch die Messung und Speichern schon Zeit verloren geht.

Wie hast du das jetzt bzw wirst es machen ?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AVRNIX

>1 Messung dauert sagen wir mal 10µS ja das heisst 1280µS würde eine
>Komplette Messreihe geben.

Wir bleiben mal bei diesem Beispiel, das sind brauchbare Zahlen.

1 mal Messen=10µs  mal 128 Messung ergeben 1280µs für 128 Messungen

Diese Meswerte könnte man sofort auf einem Display darstellen.

Würde als Eingangssignal eine Frequenz von 781 Hz (1/1280µs) anliegen,
dann würdest Du eine wunderschöne Sinusfunktion betrachten können.

Wäre aber Dein Eingangssignal nur 781/2 Hz, dann würdest Du als Bsp.
nur die positive Halbwelle bewundern können.

In diesem Fall könnte man, die Messzeit auf das Doppelte verlängern
oder pro Messpunkt 2 mal messen, um wieder den kompletten Sinus zu
sehen.

Wärend einer Messung verbleibt noch genügend Zeit, um den Messwert der
vorhergehenden Messung in den SRAM abzulegen (ca. 10 Takte=> bei 16MHz
==> ca. 1µs)

Bernhard

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessantes Projekt auf jeden fall. Ich würde sowas gerne mit einem
240x128 Display betreiben. Ich werde erst mal warten, bis du die 128x64
routinen fertig hast und sie dann wohl auf mein 240x128 umschreiben.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hauke

>Ich werde erst mal warten, bis du die 128x64
>routinen fertig hast und sie dann wohl auf mein 240x128 umschreiben

...grins...

Dürfte Dir nicht sonderlich schwer fallen, da ich alles schon dafür
vorbereitet habe ;)

Bernhard

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann dir auch gerne helfen die aktuellen Probleme zu lösen :) melde
dich einfach mal

Autor: Alex H. (hoal) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine frage hätte ich... funktioniert das Teil nur mit Spannungen bis 5V
oder auch drüber?

Super Projekt! Respekt würde ich nicht hinbekommen!

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Fabian

>eine frage hätte ich... funktioniert das Teil nur mit Spannungen bis
>5V oder auch drüber?

Funktioniert natürlich auch bei Eingangsspannungen über 5V,

ist nur anhängig vom Eingangs-Spannungs-Teiler.


Bernhard

Autor: cdc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wollt Ihr nicht mal ein Wicki für das Projekt aufmachen, mit aktuellem
Schaltplan und Sourcen? oder könnt ihr nicht mal die aktuellen soursen
und den aktuellen schaltplan posten?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@CDC

>Wollt Ihr nicht mal ein Wicki für das Projekt aufmachen, mit
>aktuellem Schaltplan und Sourcen?

könnte man tun, ist leider nur eine Zeitfrage

>oder könnt ihr nicht mal die aktuellen soursen
>und den aktuellen schaltplan posten?

Diese sind alle in diesem Thread abgelegt


Bernhard

Autor: Ecki Bär (ecki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
respect super Projekt.

Wenn ich das Teil nachbaue, was für eine Betriebsspannung lege ich dann
an die OPs an? +/- 5V oder nur 5V und Gnd?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian

>was für eine Betriebsspannung lege ich dann
>an die OPs an? +/- 5V oder nur 5V und Gnd?

+/- 10 V wäre besser, damit die OPVs besser durchsteuern können

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.

wenn ich den OP nun mit +/- 10V (oder +/- 5V) versorge, kann ich doch
nicht garantieren, das der AIn-Port am AVR zuviel bzw. negative
Spannung abbekommt oder?

währe es dann nicht besser die Dioden direkt vor dem AVR zu
platzieren?

oder ich versorge den OP nur mit 6V und Gnd, somit kommt am AVR nur
eine Spg. zwischen 0 und ca. 5V oder? Ich hoffe ich habe keinen
Denkfehler!

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian

>wenn ich den OP nun mit +/- 10V (oder +/- 5V) versorge, kann ich doch
>nicht garantieren, das der AIn-Port am AVR zuviel bzw. negative
>Spannung abbekommt oder?

Da hast Du natürlich Recht. Ein kleiner Trick wird angewendet damit das
nicht passiert, man nutzt die internen Schutzdioden des µC.

Ein Vorwiderstand (10k) sorgt dafür, dass der Eingangs-Strom nicht zu
hoch wird.


>währe es dann nicht besser die Dioden direkt vor dem AVR zu
>platzieren?

könnte man zusätzlich tun, muss aber nicht sein


>oder ich versorge den OP nur mit 6V und Gnd, somit kommt am AVR nur
>eine Spg. zwischen 0 und ca. 5V oder?

Ja, aber es kann passieren, dass der OPV, wenn er seinen Ausgang auf
GND legen muss, dann nicht mehr exakt arbeitet.


Bernhard

Autor: CK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi ich habe bemerkt, dass das hier erwähnte Programm nur eine selbst 
konfigurierte Schwingung darstellt doch ich suche nach einem Programm 
das mir einen Ton den ich als Sounddatei habe in Form eines 
Oszilloskopbildes wiedergibt.
Also...
Kann mir jemand sagen ob es ein digitales Oszilloskop gibt bei dem ich 
eine beliebige Tonspur die ich in das Programm des Oszillographen 
einlesen lasse dargestellt bekomme?
Wer eine Antwort kennt kann mir bitte per E-Mail antworten 
c-kerst@web.de
Bin für jede Hilfe dankbar.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich habe bemerkt, dass das hier erwähnte Programm nur eine selbst
>konfigurierte Schwingung darstellt

... da warst Du im Simulations-Modus  ;)

>doch ich suche nach einem Programm
>das mir einen Ton den ich als Sounddatei habe in Form eines
>Oszilloskopbildes wiedergibt.

Ich nehme an, dass Du den analogen-NF-Pegel darstellen möchtest, dann 
kannstDu problemlos diese Soft und Hardware nutzen.

Autor: Hans-jürgen Herbert (hjherbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Anzeigen von Soundpegeln von .wav, .ogg und .mp3-Dateien nehme ich 
audacity von http://audacity.sourceforge.net/

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhard (Gast)
interessantes Projekt, Software lief dank Update auch sofort.

@Axel Rühl
>arbeite zwar mit Delphi, trotzdem nette Sache *!RESPEKT!*

hast Du mal ähnliches irgendwo reingestell.

Wigbert

Autor: womai (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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_Feat...

und hier:

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

Wolfgang

Autor: Dirk Willner (psychodirk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Frage: ist vieleicht ein Layout vorhanden?
       .sch / .brd
für   einfaches DIGITAL- Oszilloskop (800 Datenpunkte)

So richtig komme ich mit den .gif`s nicht klar..
bin ja auch nur Anfänger.

Danke

      Dirk

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Hallo Benedikt

wie hast du die pins 4 & 8 des LM358N beschaltet ? Mit 5V und GND oder 
mit 5V und -5V ? Letztere Variante währe eigentlich unsinnig mit Blick 
auf die Z-Dioden, doch lieber nochmal nachfragen. Wie sind sie 
eigentlich dimensioniert ZD 5.1 1,3W ?

MfG Sebastian

Autor: Christian Haerringer (Firma: CSC) (chris-h) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen!

Ich habe mich lange Zeit mit einem Soundkartenansatz für ein PC-Oszi 
gespielt, das Grundrauschen der Karte aber nicht weg bekommen. Dieser 
Ansatz scheint eine schöne Alternative zu sein.

Mein Problem: der Atmega wird ziemlich warm. Ist das normal? Kann es 
sein, dass die 20 MHz zu viel sind?

LG
Christian

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian

>Mein Problem: der Atmega wird ziemlich warm. Ist das normal? Kann es
>sein, dass die 20 MHz zu viel sind?

Ja, die Erwärmung ist normal.

Der ATmega8-16 wird bei 20MHz schon ordentlich übertaktet, dadurch auch 
die Erwärmung (ein Beschaltungs-Hardwarefehler Deinerseits schließe ich 
aus).

Der Hersteller garantiert ein fehlerfreies Arbeiten dieses µC bis 16MHz.

Kann natürlich sein, dass bei einer starken Üertaktung auch mal ein 
interner Prozessorfehler auftritt.

Bernhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.