PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spannungsmessung mit Prozentausgabe



programmer05
17.06.2007, 14:16
Ich arbeite im Moment an einem Projekt, das mit Hilfe eines ADCs die Spannung eines Goldcap 1F Kondensators misst und den Wert in Prozent ausgibt.

100%...5V...ADC=1023
0%...0V...ADC=0

Das Problem mit der konvertierung der Spannung von Analog auf Digital hätte ich bereits gelöst, das Problem besteht momentan in der Ausgebe!!! Ich hätte geplant die Prozentwerte auf einem 4-Char. Dot-Matrix Display Auszugeben. Da ist mir das HDLO-2416 Display in den Schoß gefallen. Als Controller verwende ich einen Atmega 32. Das Problem ist, dass ich aus dem Datenblatt nicht entnehmen kann wie ich das Display am AVR anschließe!!! Ein Schaltplanbeispiel würde mir in diesem Fall sehr viel weiterhelfen. Wenn es dann noch im Rahmen des Möglichen liegt könnte mir dann noch jemand erklären wie ich den AVR für die Ausgabe programmieren muss?

Ich gebe gleich im Anhang dei Datenblätter dazu, da die Suche zum Teil sehr lästig ist!!

HDLO-2416: http://www.ortodoxism.ro/datasheets/hp/HDLU-2416.pdf

ATMEGA32: http://www.ortodoxism.ro/datasheets/atmel/2503S.pdf

Ich bitte um möglichst rasche Antwort!!!
mfg...programmer05

Zentauro
17.06.2007, 14:32
könntest du dein problem vielleicht etwas genauer beschreiben, im datenblatt steht doch eh alles drinnen.... - Seite 2 - rechts unten! die io's vom display mit freien atmel io's auf deinem board verbinden, spannung drauf, adresse selektieren, daten drauflegen - alles super!

programmer05
19.06.2007, 09:59
Erstmal Danke für die schnelle Antwort!

Das Problem besteht darin, das ich keine Ahnung habe wie ich den AVR programmieren soll um eine Ausgabe am Display zu bekommen!!!

mit
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , Rs = Portc.5
und alle anderen io ports auf GND funktioniert die Sache nicht!!!

Wie bereits gesagt, ein Programmbeispiel und ein Schaltplanbeispiel würden mir extrem weiterhelfen!!!

Danke nochmal...programmer05

jar
19.06.2007, 10:47
mit
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , Rs = Portc.5
und alle anderen io ports auf GND funktioniert die Sache nicht!!!


logo das es nicht funzt !

musst du schon selber machen

ein Port mit 7 bit vom Atmel für ASCII an Display

gut wäre

Port(ABC welchen willst du ?).0 an D0 Pin 11
Port(ABC welchen willst du ?).1 an D1 Pin 12
Port(ABC welchen willst du ?).2 an D2 Pin 13
Port(ABC welchen willst du ?).3 an D3 Pin 14
Port(ABC welchen willst du ?).4 an D4 Pin 17 !
Port(ABC welchen willst du ?).5 an D5 Pin 16 !
Port(ABC welchen willst du ?).6 an D6 Pin 15 !

Port(ABC welchen willst du ?).7

anderen
Port(ABC welchen willst du ?).? an CE1 Pin1
Port(ABC welchen willst du ?).? an CE2 Pin2
Port(ABC welchen willst du ?).? an CLR Pin3
Port(ABC welchen willst du ?).? an CUE Pin4
Port(ABC welchen willst du ?).? an CU Pin5
Port(ABC welchen willst du ?).? an WR Pin6
Port(ABC welchen willst du ?).? an A1 Pin7
Port(ABC welchen willst du ?).? an A0 Pin8

UB Vcc an Pin 9
GND an Pin 10

zum Schreiben nur noch die Ports setzen

zuerst CE 1+2 auf low
dann die Adressen A0 und A1 gemäß deines Wunsches
siehe Tabelle 2 ! Digit 0-3
CLR und CU auf high
WR auf low

TW abwarten, kleines Delay siehe Timingdiagramm und AC Timing

WR wieder alleine auf high setzen, Daten wurden geschrieben

und das Zeichen für Zeichen, bis alle 4 Zeichen gesetzt sind

programmer05
19.06.2007, 15:03
danke!!!!!!!!!!!!!!!

ich bin schon so gut wie fertig mit dem projekt, nur die programmierung ist noch fehlerhaft :-k

jar
19.06.2007, 15:07
nur die programmierung ist noch fehlerhaft :-k

aha :-b

Otti20vt
19.06.2007, 16:22
Ich bitte um möglichst rasche Antwort!!!
mfg...programmer05

Halt bloss die klappe ](*,) ](*,) Sind wir deine angestellten oder was? :evil:




nur die programmierung ist noch fehlerhaft

Welche Sprache? Wo liegt das Problem? Rück doch mit deinem Programm raus wenn du hilfe brauchst, dann kann dir vielleicht auch jemand helfen.



könnte kotzen :-&

programmer05
19.06.2007, 21:05
Der Satz mit nur noch die programmierung wäre fehlerhaft war eigentlich so gemeint, das das BASCOM Programm für das falsche display ausgelegt war, und das ich noch an der programmierung arbeiten muss!!!

Doch bei diser Gelegenheit:
Wie programmiere ich die io-ports für die ausgabe???
---BASCOM---
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , Rs = Portc.5

wäre das alte programm!!!
BASCOM kennt die Definitionen der HDLO-2416 pins nicht!!!
Standard LCD wie im alten programm funzt nicht!!!

Sry für die äuserst unkonkret gestellten Fragen, doch es ist nicht wirklich meine stärke viel inhalt in wenig text zu fassen!!!!!

mfg...programmer05

programmer05
19.06.2007, 21:07
bitte um möglichst rasche antwort war keines falls bösartig gemeint!!
das sollte nur ausdrücken, dass ich es mit dem projekt etwas eilig habe!!

wkrug
19.06.2007, 21:18
Hab mal das Datenblatt von deinem Display kurz überflogen.
Der da verbaute Controller ist, soweit ich das sehe, nicht HD44780 kompatibel.
Aus diesem Grund wird die .lib von Bascom nicht funktionieren.
Das heisst Du kannst deine LCD Pins konfigurieren wie du magst, es wird nicht gehen.
Also wirst Du wohl oder übel das Datenblatt durcharbeiten und ein eigenes Ansteuerprogramm für dieses Display programmieren müssen.

Wenn es nur um Zahlenwerte geht, warum nimmst du dann nicht einfach 3 Siebensegmentanzeigen, die Du im Multiplexbetrieb ansteuerst. Wär vermutlich von der Sofwareseite her einfacher zu realisieren.

programmer05
19.06.2007, 21:51
ok...eigene ansteuerung hört sich äuserst umständlich an!!!
das mit den 7-Segment displays ist ja schön und gut, aber ich habe vor auch noch in minuten die restzeit des kondensators angeben, wie lange er ein led noch zum strahlen bringt...

Das heißt zum einen, auf dem display soll stehen:
z.B.: ADC 1023 ... Display = "100%"

Restzeit ... Display="9min"

es wäre also "estätischer" wenn min und % auch noch angezeigt werden würden

wkrug
20.06.2007, 11:30
Dann würd ich mir bei einem der einschlägigen Elektronikversender (in diesem Fall Pollin) ein 1*16 (2*16?) Display holen, das zu Bascom kompatibel ist. Und warum funktionieren diese Displays bei Dir nicht ?
So ein Teil kostet zwischen 4 und 8€ bei günstigem Einkauf.

jar
20.06.2007, 12:40
Hab mal das Datenblatt von deinem Display kurz überflogen.
Der da verbaute Controller ist, soweit ich das sehe, nicht HD44780 kompatibel.

das war doch schon vor deiner Antwort klar , schrieb ich auch schon, nur nicht so schön wie du


Aus diesem Grund wird die .lib von Bascom nicht funktionieren.

genau, sagte ich auch schon


Wenn es nur um Zahlenwerte geht, warum nimmst du dann nicht einfach 3 Siebensegmentanzeigen, die Du im Multiplexbetrieb ansteuerst. Wär vermutlich von der Sofwareseite her einfacher zu realisieren.

warum soll er das tun, das Display bietet schon 4 Stellen für ASCII Code, er muss nur an jede Stelle, dafür die Adressleitungen und den ASCII Code übertragen, wie hab ich auch schon erklärt, wozu also noch 7-Segment kaufen oder gar ein 16x2 ?

wkrug
20.06.2007, 18:07
@jar

Sorry ich dachte deine Antwort bezieht sich nur auf die Harwareanschaltung und die Benutzung der BASCOM .lib, denn das hätte auch nicht funktioniert.
Also ein Missverständnis.
Die Idee mit den 1*16 Display ist mir gekommen weil Programmer05 schreibt, das er Die Prozentwerte + Zeit anzeigen will, also "100%_10sek".
Das sind bereits 10 Stellen, er bräuchte dazu 3 von seinen Displays.
Da fand ich ein 1*16 auch wegen der Programierung halt einfacher.

Ausserdem, wie schaut es mit den Bezugsquellen für die HDLO-2416 in ein paar Jahren aus, wenn ihm mal eins kaputt geht.