hi!
geniales projekt, muss ich schon sagen.... gefällt mir! und um mal n einfache signalform abzutasten sicher auch vollkommen ausreichend.
Druckbare Version
hi!
geniales projekt, muss ich schon sagen.... gefällt mir! und um mal n einfache signalform abzutasten sicher auch vollkommen ausreichend.
Hi Locked,
das ist ja mal was richtig geiles!!!! Will ich auch haben!!!!!
kannst du bitte, bitte, noch nen Schaltplan und ein Hex File der Programme posten?
Hätte da noch eine Frage: warum sind da zwei Programme dabei?
Sorry für die doofe Frage, aber von C habe ich leider keinen Plan...
Danke im Vorraus
Neutro
Hallo,
nun, ich hab das Projekt in zwei c Files aufgeteilt, um die Übersicht zu bewahren, und quasi die "unwichtigeren" Funktionen in ein separates File verlagert. Das Projekt besteht quasi aus allen beiden, oder besser aus allen drei Files (Grafik LCD Libery) zusammen. O:)
Das gewünschte hex File kannst du unter folgendem Link downloaden: Hexfile ("Speichern unter" wählen)
Tja, der Schaltplan, das ist eben so eine Sache, da ich, wie gesagt, mir jenen lediglich im Kopf überlegt, und auf einem Lochraster aufgelötet habe. Im Prinzip steckt aber nicht viel dahinter, lediglich die Mega8 Standardbeschaltung (LC – Analogversorgungsfilter, Quarz, RST - Schaltung), ein Transistor mit welchen man die 15V fürs LCD schaten kann, und drei Taster.
Hier die Pinbelegung wie man das LCD anschließt:
#define D0_out DDRB |=(1<<1), PORTB&=~(1<<1)
#define D1_out DDRD |=(1<<6), PORTD&=~(1<<6)
#define D2_out DDRD |=(1<<7), PORTD&=~(1<<7)
#define D3_out DDRD |=(1<<5), PORTD&=~(1<<5)
#define D4_out DDRB |=(1<<2), PORTB&=~(1<<2)
#define D5_out DDRD |=(1<<4), PORTD&=~(1<<4)
#define D6_out DDRD |=(1<<3), PORTD&=~(1<<3)
#define D7_out DDRD |=(1<<2), PORTD&=~(1<<2)
#define RES_out DDRC |=(1<<2), PORTC|=(1<<2)
#define RS_out DDRB |=(1<<0), PORTB|=(1<<0)
#define WR_out DDRC |=(1<<5), PORTC|=(1<<5)
#define RE_out DDRC |=(1<<4), PORTC|=(1<<4)
#define CS_out DDRC |=(1<<3), PORTC|=(1<<3)
#define HV_out DDRC |=(1<<1), PORTC&=~(1<<1)
Wobei “HV” der Pin für den Transistor ist, welcher die LCD Treiberspannung schaltet.
Aber wie gesagt, erwarte dir bitte kein echtes Oszilloskop, lediglich einen Aufbau, mit welchem du Spannungsverläufe rudimentär visualisieren kannst, da weder Spannungs- noch Zeitachse 100% stimmen. Zum betrachten niederfrequenter Spannungsverläufe sollte es jedoch ausreichen.
mfg
Vielen Dank für dein schnelle Antwort,
aber ich habe da noch ein paar Fragen:
Wenn ich die Tabelle mit den Anschlussbelegungen richtig verstehe dann ist z.B. D0 vom Display mit PortB.1 verbunden, D1 mit portD.6 usw?
Welchen Analogen Eingang hast du verwendet?
Wird der LC Filter für die Analoge Versorgungsspannung an AVCC angeschlossen?
Ich hoffe ich stapaziere dich nicht zu stark....
MFG Neut :Haue ro
Hallo,
ja, hast du korrekt aus der Tabelle gelesen, ich hab der Einfachheit halber die Definitionen lediglich aus dem Headerfile Kopiert, daher die etwas umständliche Darstellung ;-)
Das zu messende Signal muss an Port C Pin 0 angeschlossen werden.
Die drei Taster werden übrigens wie folgt verbunden:
#define tu_in DDRB&=~(1<<1), PORTB
#define to_in DDRD&=~(1<<6), PORTD
#define tm_in DDRD&=~(1<<7), PORTD
Ja genau, das LC - Filter kommt zwischen der 5V (Digital-)Versorgung und der Analogversorgung (AVCC) des Mikrocontrollers, weiters sollte man noch einen 100nF Stützkondensator an der Digitalversorgung des Prozessors anbringen, und auch den AREF Pin mit einem 100nF Kondensator gegen GND abschließen.
mfg
Hallo locked,
danke noch mal für deine Mühe, ich denke das ich das wohl hinbekommen
werde...
Wenn das Teil läuft werde ich mich noch einmal melden, und wenn nicht
werde ich mich auch melden :Ostern
Bis denn
Neutro
Hallo,
sehr gut, freue mich schon auf dein Feedback ;)
mfg
Hallo Locked,
ich bins noch mal wieder....
Hätte da noch folgende Frage: Ist das richtig das die Taster mit in den
gleichen Portpins wie die Datenleitungen D0-D2 verbunden sind?
Werden die Taster gegen +5V oder GND geschaltet?
Bin Momentan dabei einen Schaltplan mit EAGLE zu erstellen und
werde dann mal ein Layout entwerfen.
Du hattest Eingangs mal erwähnt das die maximale Eingangsspannung
bei 2,56V liegt. Damit meinst du doch bestimmt das 2,56V Eingangspannung sozusagen als 0V Dargestellt werden. Wenn sich die
Spannung gegen GND verschiebt wird eine neg. Spannung angezeigt und wenn die Eingangsspannung sich in 5V Richtung bewegt wird eine pos.
Spannung angezeigt, richtig?
MfG
Neutro
Hallo,
ich hab mir meinen Lochrasteraufbau nach nun mehr als einem Jahr wider angesehen, und erinnere mich wieder an die damalige Problematik. Da der ATMega8 zu wenig Pins hat, um das LCD und die Taster anzuschließen, habe ich ein paar Pins doppelt belegen müssen. Um jedoch zu verhindern, dass ein Tastendruck die Daten für das Display manipuliert, habe ich die Tasten mit dem Enable Signal vom LCD und verknüpft. Da man dazu jedoch ein Logikgatter (extra IC) benötigen würde, hab ich einfach drei NPN Transistoren verwendet, welche bei Aktivierung des Displays die Tasten wegschalten.
Am einfachsten ist es, wenn du mir deine Schaltung schickst, und ich dir dann die Taster samt Transistoren einzeichne, um Missverständnisse zu vermeiden.
Nein, 2.56V (interne Referenz) sind bereits die maximale Aussteuerung, da ich ansonsten noch weniger Pixel für die Darstellung zu Verfügung hätte. Sprich negative Spannungen können in diesem Sinn nicht ohne (Vor)Verstärker gemessen werden. Da du jedoch so oder so einen Verstärker (OPV) benötigen wirst um die Eingangsspannung anzupassen, läst sich damit recht einfach eine Schaltung entwerfen, welche zusätzlich (evtl. Abschaltbar) 1.27V offset hinzufügt.
Mfg
Hallo Locked,
habe dir eine Private Nachricht geschickt, (ich bekomm das mit dem Dateianhang nicht gebacken:-( )
schau mal bitte in deinem Postkasten nach.