Forum: Projekte & Code 3fach Sapnnunsg und Strom Anzeige auf LCD für Labornetztei


von Stephan H. (stephan-)


Angehängte Dateien:

Lesenswert?

Hallo Elektroniker,

heute will ich Euch mal mein letztes Projekt, oder besser gesagt
einen Teil davon vorstellen und
vielleicht passt es bei dem einen oder anderen von Euch.

Wie der Name sagt, handelt es sich um eine 3fach Spannungs / Strom-
Anzeige auf einem 2x16 Display.
Ich wollte damit mein doch schon etwas betagtes Labornetzteil
aufwerten.
Da ich eine Festspannung (5V) und 2 variable
( 1x unsymetrisch 0-25V und 1x Symetrisch 2-15V ) habe,
ist die Anzeige entsprechen vorbereitet. ( Punkte )
Die Stromanzeige ist für alle gleich auf max. 4,096A ausgelegt.
Woher 4.096A ??
Der Grundmeßbereich des  A/D ( LTC1093 6 Kanal A/D mit 10 Bit)
beträgt hier 4,096V.
An einem Rsense von 0,1 Ohm ergibt das .... na ??
Im Schaltplan ist exemplarisch für Vref ein LM4040 eingezeichnet.
Dieser kann natürlich durch entsprechende Referenz Spannunsgquellen zB.
REF19xx von Analog oä. ersetzt werden.

BITTE...keine Z-Dioden...... es gibt keine mit 4.096V !!!!!!
Die Genauigkeit des ges. Systems steht und fällt damit !!!!

Die Anzeige entspricht der Kanalbelegung. Kanal 0,1,2 erste Zeile und
Kanal 3,4,5 zweite Zeile.
Die Einstellregeler am Eingang des A/D haben lediglich symbolischen
Charakter.
Dei Anzeige sieht wie folgt aus:

| 5,05 12,2 15,8 V|  Kanal:  0   1   2
| 1,01 0,12 0,92 A|          3   4   5

Die Spannungsmessung erfolgt auf Kanal 0-2.
Die Strommessung erfolgt auf Kanal 3-5.
Die Einstellregler für Kanal 3-5 (symbolisch) sollten durch
entsprechende I/U Wandler oder Differenzverstärker ersetzt werden.
Da alle benötigten Informationen vorliegen, ist auch möglich eine 6fach
Spannungsanzeige oder 6 fach Stromanzeige oder irgendeine Kombination
daraus zu machen.

Ich habe lediglich Kanal 1 und 2 mit Vornullunterdrückung ausgestattet.
Da Ihr aber alle selber Fit seid,
könnt Ihr den Rest selber machen.
Denken ist im Gegensatz zum Rauchen nicht schädlich. ;-)

Das Programm ist so gestaltet das es auf jeder 8051 basierender MCU
läuft. Entwickelt auf 89C51ED2
RAM Speicher ( intern)  wird nur bis 7Fh benutzt !!!!
Also geht auch 89C2051.
Die Querzfrequenz liegt bei typ. 11.059 MHz ( Gruß von V.24 )

Grüße Stephan

ps.: im Schaltplan ist nicht jedes Detail und jeder Wert angegeben. Wie
gesagt.....nachdenken schadet nicht.

von Stephan H. (stephan-)


Lesenswert?

ein download?????

Pieter ????

von Pieter (Gast)


Lesenswert?

Hi Stephan,

den MAX186 nehme ich wegen 8x12Bit + interner 4,096V Ref. Mit meinem
Fluke189 messe ich bei 4 Modulen nie 4,096V. Als DAU verwende ich den
LTC1446, der hat intern 4,096V. Stimmt aber auch nicht genau.
Lade mal des LTSpice, dann sind die analog Schaltungen kleiner und
berechenbar.
Der USB-89C51A läuft mit 24Mhz, X2-Mode, seriell geht grade noch so mit
115200.

Und wieder kleine mecker:

    MOV  R6,A        ; Low wert
  ;  MOV  A,R6  ;überflüssig
subtraktion:  CLR  C
hier:    INC  zähler1  ;bei Rückspring ist c nie gesetzt
    MOV  A,R6
    SUBB  A,#fah
    MOV  R6,A
    MOV  A,R5
    SUBB  A,#0
    MOV  R5,A
    MOV  A,R6  ;überflüssig
    JNC  hier  ;subtraktion
.
.
.
    MOVC  A,@a+dptr  ;leg gleich ASCII ab!
    ADD  A,#30h  ;dann überflüssig
    MOV  zähler001,A

So, erst mal mehr nicht, für heute habe fertig.

Gruß
Pieter

von Stephan H. (stephan-)


Lesenswert?

hast auch immer was zu meckern......

Nich böse gemeint :-)

Machs gut

von Stephan H. (stephan-)


Lesenswert?

@Pieter,
jo stimmt MOV A,R6 1x überflüssig, stammt noch von der
Fehlersuche......

>subtraktion:  CLR  C
               hier:    INC  zähler1  ;bei Rückspring ist c nie
gesetzt
               MOV  A,R6
               SUBB  A,#fah

Sollte nicht JEDE Subtraktion mit CLR C anfangen sofern sie nicht das
Ergebnis einer vorherigen ist und C noch gebraucht werden könnte ???

Jo ASCII könnte man auch gleich ablegen, da viele Straßen nach ROM
führen. Aber die Tabelle war fertig und ein ADD a,#30h einzufügen ist
nun mal kürzer als die Tabelle neu zu schreiben.

un man lernt jeden Tag was dazu ......

Machs gut

von Stephan H. (stephan-)


Lesenswert?

@pieter,
ei da scha her !!!

http://www.allegromicro.com/

von Pieter (Gast)


Lesenswert?

Hi Stephan,

>>Sollte nicht JEDE Subtraktion mit CLR C anfangen

nö, der Rücksprung kommt ja nur wenn KEIN C, warum also das nicht
gesetzte C nochmal löschen??? Einfach Zeit sparen.

Das war heute morgen nicht mehr fehlerfrei:

    MOV  R6,A  ; Low wert
    ;MOV  A,R6  ;überflüssig
subtraktion:  CLR  C
hier:    INC  zähler1  ;bei Rückspring ist c nie gesetzt
    ;MOV  A,R6  ;überflüssig, A ist immer R6
    SUBB  A,#fah
    MOV  R6,A
    MOV  A,R5
    SUBB  A,#0
    MOV  R5,A
    MOV  A,R6  ;das wird doch gebraucht
    JNC  hier  ;wenn Rückstellung
    ADD  A,#fah

Mit Gruß
Pieter

von Stephan H. (stephan-)


Lesenswert?

ich weis da obere ist zu viel.... wie geasgt Fehlersuche.
Display spinnte ja rum... wegen Init von Zähler1 udn 01.
Ist jetzt drin und gut.

Warst mal bei Allegro ????
Interessant Sachen haben die da. Stromsensoren.
Was mir gefällt ist der A3977SED. für ne fräse ?? !!!
Sample schon geordert !!!
CNC at Home !!

von peter dannegger (Gast)


Lesenswert?

@Pieter,


"MOV  R6,A  ; Low wert
..."


hatten wir das Ganze nicht schon längst:

http://www.mikrocontroller.net/attachment.php/341943/DISP409.A51

- negative Zahl addieren spart "CLR C"

- "XCH" spart ein "MOV", wenn man den Accu noch braucht.


Peter

von Stephan H. (stephan-)


Lesenswert?

jo Peter, so isses,

aber im Vordergrund stand ja der Lerneffekt nicht das abschreiben.
Ich wollte wissen was Ihr anders oder kürzer machen würdet.
Davon habe ich einiges aufgenommen wie zB MOV A,'0'-1.
Oder das High Byte bei Überlauf links liegen zu lassen.
Solche Sachen bleiben hängen.
 1oder 2 Zeilen mehr machen den Kohl nicht fett.

Hauptsache ist doch man liegt nicht völlig daneben.

Also bis dann

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.