www.mikrocontroller.net

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


Autor: Stephan Henning (stephan-)
Datum:
Angehängte Dateien:

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

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein download?????

Pieter ????

Autor: Pieter (Gast)
Datum:

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

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast auch immer was zu meckern......

Nich böse gemeint :-)

Machs gut

Autor: Stephan Henning (stephan-)
Datum:

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

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@pieter,
ei da scha her !!!

http://www.allegromicro.com/

Autor: Pieter (Gast)
Datum:

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

Autor: Stephan Henning (stephan-)
Datum:

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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Pieter,


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


hatten wir das Ganze nicht schon längst:

http://www.mikrocontroller.net/attachment.php/3419...

- negative Zahl addieren spart "CLR C"

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


Peter

Autor: Stephan Henning (stephan-)
Datum:

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

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.