Hier habe ich mal in Anlehnung vom Berhards " einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler" habe ich mal in Bascom Basic geschrieben. Es ist einfach gestrickt und wäre dankbar wenn weitere Verbesserungen einflissen würden. Später wird noch mehr hinzukommen, da der Mega 32 noch nicht ausgelastet ist. Display habe ich das Toschiba TLX-1391 (T6369) 128x128 genommen. Sollte 100µs für eine Messung machen und eine Messreihe hat 770 Messungen. Für Anregungen und Tips wäre ich Dankbar, vielleicht sogar eine Erweiterung. Später kommt es auf www.comwebnet.de wenn einige Sachen drinne sind ( Oszi, Logikanayler, Logiktester ,?,?) Alles soll einfach und nachbaubar sein. AVRNix Das Gerät müsste bis 10Khz messen können.
Das ist die Grundschaltung die ich benutzt habe. Jetzt brauche ich nur was zur Wechselspannungsmessung und zur Umschaltung der Spannungsmessung. Das Gerät Misst bis 5V bzw. AREF. Kommt später AREF mit dem LM336 2,5V
Wie wär's wenn du dafür eine Seite in der Artikelsammlung erstellst? Einfach die Vorlage von hier rauskopieren http://www.mikrocontroller.net/wikisoftware/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&action=edit und hier einsetzen, anpassen und abspeichern: http://www.mikrocontroller.net/wikisoftware/index.php?title=Einfaches_Oszilloskop_mit_Bascom-AVR&action=edit
10 kHz? da misst man ja schneller wenn man nen ADC an den Parallelport hängt..
Man könnte auch einen externen schnelleren AD Wandler dranhängen. Klar man kann auch 2000 für einen teuern bezahlen. Für einfache Sachen reicht es. Für Verbesserungsvorschläge habe ein offenes Ohr und mein Teil ist PC unabhängig ;) Aber es soll auch bezahlbar sein. Wer anregungen hat , her damit! :)
@Avr-Nix Hut ab! Vor allem nicht mies machen lassen durch "Experten", die vielleicht selbst nicht mal eine Taschenlampenbatterie wechseln können. Mit einem externen Wandler wäre die Sache natürlich fixer und immer noch bezahlbar. Gruß Sigma-N
Wieso externer Wandler ? z.B. mit einem R8C uC der einen 300kHz Wandler besitzt, kann man wunderbar ein Oszi mit LCD bauen, das 100kHz Signale abtasten kann. OK, damit ein Sinus noch einigermaßen wie ein Sinus aussieht, sollte die Frequenz zwar unter 50kHz liegen, aber immerhin ist das ganze dann brauchbarer als ein 10KS/s Oszi. Alternativ gehen auch AT90PWM oder ein kleiner dsPIC. Diese beitzen 500kS/s oder gar 1MSs/s ADCs.
Ich habe es auf einen AVR gemacht, soll dafür sein und nicht für eine anderen µC Typ. Wie würde es den beim AVR gehen?
Bevor du hier was sagst solltest du auch mal die Überschrift lesen -da steht was von BASCOM. Es ist für Leute die mit BASCOM AVR arbeiten. Und darauf bezieht sich das alles hier.
Die Überschrift zeigt, das du nicht schreiben kannst, und deine Beiträge bestätigen die Meinung vieler, das BASCOM Programmierer nicht programmieren können. Ich wollte ja eigentlich nur helfen, aber dazu habe ich jetzt keine Lust mehr.
Danke für deine Hilfe. Aber wo ist der bezug zum Projekt ? Es gibt viele BASCOM Programmier und die machen auch Projekte die sich nicht verstecken brauchen. Also, das vielleicht C oder ASM effektiver sind, schön und gut. Ich wollte - zu meinen Projekt - gerne Hilfe haben, nicht ein gerede über die bessere Programmiersprache. Oder wie du sagst BASCOM -Müll, somdern auch die Hardwareseite verbessern. Da frage ich mich wo da die Hilfe ist? Ich bedanke mich trozdem für deine Bemühungen.
@Benedikt Mh genau BASCOM Programierer können garnix und der Code ist natürlich C der ausieht wie Basic, weil das kann ja eh nix was?! Ich glaub auf deine "Hilfe" kann man verzichten, wenn ich angemacht werden will geh ich sonstwohin wo sich unfreundliche Leute rumtreiben. tz...
@ Avr-nix Schönes Projekt und lass Dich nicht entmutigen von solchen Wichtigtuern. Ich programmiere auch in Bascom (und Assembler) und habe schon so einige Projekte hinter mir. Der Programmierstil ist entscheidend und nicht die Sprache. So nun zum Prescaler: Schau mal auf Seite 204 und auf Seite 216 des Datenblattes. Dort findest Du die Anleitung, wie Du die Register entsprechend setzen mußt. Ich würde auch nochmal den Befehl "fusing" überdenken, braucht sehr viel Rechenzeit. Vielleicht findest Du eine andere Lösung. Gruß Ronny
@ronny: Denke darüber nach, allerdings ist das nach der Messreihe. Das Datenblatt werde ich auch nochmal zu Hilfe nehmen. Kann man den in Bascom das so beeinflussen die in C bzw ASM? Ich benutze GETADC Routie mit dem Prescaler AUTO In der Hilfe sagt folgedes aus: PRESCALER A numeric constant for the clock divider. Use AUTO to let the compiler generate the best value depending on the XTAL Also hat man doch nach einen Compilervorgang die "Optimale" Einstellung. Und dieser Code wird dann erstellt laut der Hilfe: The following ASM is generated(depending on the chip) In _temp1,ADCSR ; get settings of ADC Ori _temp1, XXX ; or with settings Out ADCSR,_temp1 ; write back to ADC register Und der Auto als Prescaler nimmt den höchsten Wert ( 200Khz) Frage: Laut Datenblatt kann der AVR ATM 32 -> 15KSps Vielleicht schmeisse ich jetzt was durcheunander, aber kann er 200KHz samplen oder jetzt mit 15 KSps. Ich bin jetzt von den 15KSps ausgegangen bei der Messung.
Das ist zwar nach der Meßreihe geht aber in die Meßzeit mit ein (for/next-Schleife). Die Register kannst Du genauso setzen wie in C oder ASM. Bsp Voreinstellung: ADMUX = &B11000000 'interne Referenz und Kanal ADC0 ADCSRA = &B11010111 'ADC ein, Start ADC, Vorteiler 128 für 125Khz ADC-Takt Die 200Khz (was eh nicht geht bei 16Mhz) ist die Taktrate des AD-Wandlers, die Samplingrate hängt vom Programmcode (auch was noch folgt bis zur nächsten Messung) und ob Single-Messung oder Freerun-Messung. Der AVR braucht eine gewisse Anzahl von ADC-Takten zum Wandeln (siehe Seite 206 Datenblatt). Ich habe mich am Anfang auch ums Lesen des Datenblattes gedrückt, aber da kommt Du nicht dran vorbei. Gruß Ronny
"Use AUTO to let the compiler generate the best value depending on the XTAL Also hat man doch nach einen Compilervorgang die "Optimale" Einstellung." Optimal(?) vielleicht, aber nicht die maximal mögliche. Den ADC kann man schneller clocken, dann hat er aber nicht mehr die volle 10Bit-Auflösung. Wenn dir 7-8 Bit reichen kommst du bis etwa 80kHz Samplingrate. Der ADC braucht 13 Clocks für Wandlung und Sampling, das gibt also einen ADC-Clock von etwa 1 MHz. Bei 16MHz Quartz also einen Teiler von 16 einstellen statt AUTO. Gruss Andi
Also meineserachtens sollte die ADC-Taktrate zwischen 50 und 200 khz liegen. Darüber ist dann der 10-bit-Wert mehr und mehr "verrauscht". (siehe Datenblatt und AVR-GCC-Tutorial von hier) Gruß Ronny
@Ronny: Wenn man 10 Bit braucht ist das sicher richtig, aber wenn einem 8 Bit reichen kann man den ADC auch gerne schneller betreiben. Ich bastel hier gerade ein ähnliches Projekt und habe mich auf 7Bit Auflösung beschränkt. Der Flaschenhals ist bei mir derzeit aber die Geschwindigkeit der seriellen Schnittstelle zur Übertragung der Daten zum PC.
@Andi: habe den Teiler auf 16 eingestellt :) geht echt schneller. Wie mache ich den Timebase einstellung? Bei der alten Variante mache ich eine Messreihe und nehme entspreched jede xten Wert zur Darstellung. Da jetzt die Abtastung viel höher ist bekomme ich nicht das Signal ganz auf dem GLCD. Als nächstes versuche ich mal den AD Wandler in BAscom in ASM zu proggen. Das Datenblatt werde ich heute Abend durchgehen. habe mal es Überflogen. Bei Freerunning Mode (Normal Conversion S207)braucht er 1x 13 ADC Takte sonst 1,5-2 Takte für jede Wandlung Da sind doch 10BitWandler drinne, wieso ist dann 8Bit schneller das wird doch nur auf Zwei ADCH + L Register reingepackt und ich lese bei 8Bit nur ADCH aus (S.203) Sehe ich das soweit richtig?
Es bleibt ein 10Bit Wandler, aber wenn du ihn schneller als im Datenblatt angegeben betreibtst, sind irgendwann die niederwertigsten Bits reines Rauschen und damit wertlos, die höherwertigen (zB. 8Bit) aber noch gut benutzbar. Wenn du 8Bit aus ADCH auslesen willst musst du dafür vorher das ADLAR Bit setzen, sonst stünden in ADCH nur die oberen 2 Bit.
Hallo, Mich würde interessieren,ob das Projekt weiter verfolgt wird. Wo kriegt man das Display her.Vielleicht kann man auch eine Libary für andere Displays erstellen.
Das Projekt mache ich später weiter, das Display mit dem T6963C bekommt man in verschieden Auflösungen und lässt sich gut anpassen im Programm. Eine C Lib gibt es in der Codesammlung. Im Bascom ist die Lib schon drinne. Da bei mir der Kontrast schei... ist. Probiere ich es mit einen Siemens S65 Farb Display, allerdings steht es am Anfang des Projekts. Da ich kein ASM kann, werde ich sehen wie ich schnelles Sampling und Timebaseeinstellung optimieren lassen.
Danke für die Info. Ich wollte schon in Bascom bleiben.Ist demnächst eine Veröffentlichung eines Bords vorgesehen?.Sonst muss ich selbst ran.
Dank für das schnelle Reinstellen. würde es Dir es was ausmachen, das Bord als Eagle-Datei zu übersenden?. Als Display, so nehme ich an, wirst Du das selbe wie auf Deiner Hompage verwenden wollen (Typ 020....)? Dann mal ran.Hab son Ding bestellt.
Das Board ist für T6963C Display - den S65 werde ich später reinstellen
Ja richtig,es werden wohl dann nur 5 Pins benötigt und 2,9V Versorgung zusätzlich.OK besten Dank erstmal.Vielleicht kriegst Du es bis Jahresende hin.Ich hab Geduld.Das neue Display muss auch erst mal am Testbord laufen.
Hallo, für die S65 Ansteuerung reicht doch der Stecker PL3(SPI)? LCD.. muss dann doch nicht mehr herausgrführt werden? Dein "Kontakt" auf Deiner Hompage funktioniert irgendwie nicht(Error 80)
Die Kontake werden Drähten angelötet. 5 Leitungen zur Ansteuerung und 5 Leitungen zur Stromversorgung( 2,9V,1,8V,GND, +LED,GND_LED. Was ist ein PL3 Stecker?
PL1 ist einen Wannenstecker für den T6963C Toshiba TLX-1391 Display der über Flachbandkabel angeschlossen wird. für den S65 Display - braucht ja nur 10 Ltg , wobei 5 zur Ansteuerung sind und der Rest für die Versorung dient. Das Toschiba Display hat mehr Anschlüsse als der S65 und sind nicht Kompatibel.
Mein reden, übrigens Cristian K. schliesst den Pin 1,8 V an 2,9 V mit an.Seltsam? Also SPI-Schnittstelle + Stromversorgung,das wärs für S65. Vorschlag:Vielleicht bringst Du Dein Kontakt auf der Hompage in Gange und wir brauchen das Forum nicht "zumüllen". Das waren bestimmt nicht die letzten Fragen.
laut Thread, soll der 1,8V nicht connect sein, habe eine Interface mit Spannungsteiler trozdem auf 1V8 angeschlossen geht auch auf 2,9V. Die HP bringe ich in den nächsten Tagen in Ordung. Die 1. Version mit dem S65 denke mal kommt mit einfachen Oszi Aufzeichnung in den nächsten Tagen Online. Also 10Bit Messung und Ausgabe der Werte als Graph erstmal.
Prima,nun ich habe nur "Stakstromelektrik" studiert,und bin beim Ausbau Deines Projekts sicher auf Deine Hilfe angewiesen.
Der 1V8 Pin ist die Interface Spannung (also die Spannung mit denen dann das SPI des Displays läuft) und war beim Handy eben 1,8V, man kann jedoch eine beliebige Spannung (innerhalb der spezifikationen) dort anschließen.
Danke Hauke, teil mir mal bitte die Spezifikation mit.Vielleicht hat jemand doch ein Datenblatt im Schubfach.In meinen Fall wäre Scharp-version interessant.
Die Spezifikation weis ich auch nicht genau aber ich denke alles von 1V bis 3,3V sollte gehen.
Hallo AVRNix, muss noch mal dumm fragen:Brauche was für Wechselspannung? Du hast doch auf den Display ein Sinus "gemalt".Wird nicht nach jeden Messvorgang ein Pixel "gemalt"? Spannungsumschaltung? Spannungsteilerkette, bei AC Kondensator vor und mit DC vorspannen,x Achse auf Höhe der DC einstellen(Datenpunkt verändern) Nun ich habe nur Erfahrung mit Nokia 3310 Display. Oder sehe ich das zu einfach.
Du hast recht :-) Diese Grundschaltung misst Mischspannung bis Aref. Bei Wechselspannung muss man ein Kondensator zur Abblockung der Gleichspannung davor schalten. Für einfache sachen noch ein Spannungteiler der aus die 5V einen Offset von 0 auf 2,5V macht ( 2 x 10k Widerstände z.B.). Zur Messung: Es wird eine Messreihe erstellt und auf dem LCD ausgegeben. Meine HP: www.comwebnet.de Kontakt sollte gehen dort gibts auch ein Forum
So ich habe auf meiner Homepage unter Projekte/Osziloskop mit einen S65 dieses auch auf einen S65 - Display portiert.
Die Adresse zum einfachen Osziloskop auf der Homepage hat sich geändert. Die ist neu: http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=8&Itemid=49 eine SRAM 32 K Erweiterung ist in Planung, sowie Zusätze. eine 8Bit 1MSPS Sampling ADC Ersatz findet man im Forum auch weitere Infos dort: http://comwebnet.weimars.net/forum/forumdisplay.php?fid=20 Frohes neues Jahr 2008! AVRNix
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.