Forum: Mikrocontroller und Digitale Elektronik µC strommessen


von Dave <. (dave666)


Lesenswert?

Hallo,

ich habe mir ein Bleiakku-Ladegerät gebaut bzw. bin dabei. Nun wollte 
ich es so erweitern das von einem µC der Ladestrom gemessen wird. Sodass 
auf einem LC-Display angezeigt wird,wenn Strom fließt Akku wird geladen 
und wenn kein Strom fließt Akku geladen.

Aber irgendwie steht ich gerade auf dem Schalauch und komme nicht mehr 
weiter, ich hoffe Ihr könnt mir weiter helfen. In Assembler bin ich so 
einigermaßen fit.

Danke schon mal im Vorraus für eure Antworten und Tipps und 
Hilfestellunen

dave666

von Mr.X (Gast)


Lesenswert?

Ab welchem Punkt kommst du genau nicht mehr weiter?

von Dave <. (dave666)


Lesenswert?

Mr.X wrote:
> Ab welchem Punkt kommst du genau nicht mehr weiter?

An dem Punkt wie ich den µC anschließen und den Strom messen kann.
Welchen µC kann ich für diese einfache Aufgabe verwenden?

von Mr.X (Gast)


Lesenswert?

Ich würde einen AVR nehmen.

von Dave <. (dave666)


Lesenswert?

Mr.X wrote:
> Ich würde einen AVR nehmen.

Einen ATmega 8 oder ATmega32?

von Mr.X (Gast)


Lesenswert?

Vom Programmumfang her sollte es in beide passen. Kommt also 
hauptsächlich auf die von dir benötigte Anzahl an Pins an. Also zähl mal 
die Anzahl an Pins die du benötigst.

von Dave <. (dave666)


Lesenswert?

Mr.X wrote:
> Vom Programmumfang her sollte es in beide passen. Kommt also
> hauptsächlich auf die von dir benötigte Anzahl an Pins an. Also zähl mal
> die Anzahl an Pins die du benötigst.

Ich denke ich brauche einen ATmega32 den ich will da ja ein LCD Display 
anschließen.

von Mr.X (Gast)


Lesenswert?

Na dann Datenblatt des Displays und des ATmega besorgen und an den 
Schaltplan setzen.

von Dave <. (dave666)


Lesenswert?

Mr.X wrote:
> Na dann Datenblatt des Displays und des ATmega besorgen und an den
> Schaltplan setzen.

Gibts sowas wie eine Grundschaltung für den ATmega?? Denn ich hab zwar 
schon so einen Mikrocontroller programmiert aber noch nie so eine 
Schaltung aufgebaut.

von Josef (Gast)


Lesenswert?

Fuer den analogen Teil zur Strommessung gibt's hier recht gute Info -> 
http://focus.ti.com/analog/docs/gencontent.tsp?familyId=57&genContentId=28020

von Sumynona (Gast)


Lesenswert?

Da das Roboternetz grad nicht geht, kann ichs nur textuell aufschreiben:

- alle GND und AGND an Masse
- alle VCC und AVCC an Versorgungsspannung
- für jeden VCC/AVCC-pin einen 100nF Abblockkondensator vorsehen
- AREF anschließen, je nach Schaltung (Suchfunktion hilft)
- RESET-Leitung über R=10k an VCC und über 100nF an GND
- Falls Reset-Taster erwünscht: den 100nF damit überbrücken

Falls Quartz erwünscht:
- An XTAL1 und XTAL2 einen Quartz hängen
- zusätzlich an beide pins je einen 22pF kondi gegen Masse
also
XTAL1 -o--||---|
       |
     Quarz
       |
XTAL2 -o--||---|

von Andrew T. (marsufant)


Lesenswert?

Dave <> wrote:
> Hallo,
>
> ich habe mir ein Bleiakku-Ladegerät gebaut bzw. bin dabei.

Feine Sache. Dann kann man ja noch die Finessen einplanen.

> Nun wollte
> ich es so erweitern das von einem µC der Ladestrom gemessen wird. Sodass
> auf einem LC-Display angezeigt wird,wenn Strom fließt Akku wird geladen
> und wenn kein Strom fließt Akku geladen.

Da wird immer Strom fließen, ist bei Pb-Akkus so.
Du mußt wenn es brauchbar anzeigen soll einen Schwellwert 
einprogrammieren, bei dessen Unterschreitung Du die "Geladen" Meldung 
ausgibst.

Alternativ bietet sich bei Pb an die Ladespannung zu überwachen, das ist 
ebenfalls ein gutes Kriterium für Volladung.

Säuredichte wäre es ebenfalls, ist aber etwas schwieriger für den uC 
umzusetzen. Bzw. bei gekapselten Akkus/Gel/Fliess/etc. nicht mehr 
machbar.

Du weißt sicher, das diese Werte alle temperaturabhängig sind? Wenn 
Deine Akkus etwas sensibel sind, sollte Dein Ladegerät das ebenfalls 
berücksichtigen.

>

hth,
Andrew

von Mr.X (Gast)


Lesenswert?

Quarz und AD-Wandler sind zwar ganz schick, aber den Anforderungen nach 
reicht es völlig den internen Oszillator zu verwenden. Für die "Strom 
fließt - Strom fließt nicht" Sache dann den Analog Converter und sehr 
viele Fehlerquellen sind von schonmal ausgeschlossen.

von Dave <. (dave666)


Angehängte Dateien:

Lesenswert?

Ist der µC so richtig angeschlossen?
An welche Pins muss ich das LCD Display anschließen?

von Gast (Gast)


Lesenswert?

An die freien, unbelegten Pins.

von Dave <. (dave666)


Lesenswert?

Gast wrote:
> An die freien, unbelegten Pins.

Da sind aber ziehmlich viele frei Pins. Ist es egal ob es an PA, PB, PC 
oder PC angeschlossen wird?

von Gast (Gast)


Lesenswert?

Deinem Displays ist das egal.

Wenn eine bestimmte Belegung aber eine Erleichterung beim Verdrahten 
oder ansteuern mit sich bringt würde ich diese Belegung bevorzugen.

von Dave666 (Gast)


Lesenswert?

Ich hab mir ein 16x2 Display ausgesucht und auch schon teilweise 
angeschlossen also DB0 bis DB7 hab ich an Pin 33 bis 40 des Mega32 
angeschloßen. Und wo schließ ich RS, R/W und E an??

von Justus Skorps (Gast)


Lesenswert?

>> Und wo schließ ich RS, R/W und E an??

da wo du es im Programm dann ansprichst...

von Dave <. (dave666)


Angehängte Dateien:

Lesenswert?

Ist der Display so richtig angeschlossen??

von Sumynona (Gast)


Lesenswert?

Spendier doch dem µC bitte auch an VCC-GND und an AVCC-GND je einen 
100nF

von Dave <. (dave666)


Lesenswert?

Okay hab das LCD-Display dann soweit angeschlossen. Aber wie muss ich 
den µController jetzt anschließen das ich Stom / Spannung messen kann?

von JetztAber (Gast)


Lesenswert?

Shunt in die Leitung und an den ADC. Dabei muss man aufpassen, dass der 
ADC Eingang nicht negativ gegenueber GND wird. Dh da kommen noch ein 
paar OpAmps hinzu.  Alternativ einen Coulombzahler IC, wie den LTC4150 
verwenden.

von Dave <. (dave666)


Lesenswert?

JetztAber wrote:
> Shunt in die Leitung und an den ADC. Dabei muss man aufpassen, dass der
> ADC Eingang nicht negativ gegenueber GND wird. Dh da kommen noch ein
> paar OpAmps hinzu.  Alternativ einen Coulombzahler IC, wie den LTC4150
> verwenden.

Shunt ?? Wie find ich heraus ob der ADC Eingang nicht negativ gegenüber 
GND wird?

von JetztAber (Gast)


Lesenswert?

Nicht wissen, das ist einfach, sondern sicherstellen. Der GND deiner 
Schaltung kommt an das (-) der Batterie. wenn nun eine andere Speisung 
ueber einen (-)-Shunt die Batterie laedt, so ist der eine Pin des shunt 
auf GND, der andere aber tiefer. Das muss man beheben, inden  man fuer 
den ADC zB 2.5V dazuzaehlt.
Alternativ kann man einen (+) Shunt verwenden. Dan sind beide Pins des 
shunts ausserhalb des ADC Bereiches. Dann muss man die beiden Pins 
voneinander subtrahieren und 2.5V hinzuzaehlen.

von Jan (Gast)


Lesenswert?

PortA(Pin33-40), und nur dieser, kann beim Mega32 als ADC angesprochen 
werden.
Du hast da jetzt dein Display dran(PortA0-7)...und nimmst dir damit die 
Möglichkeit Spannung zu messen.

Ganz allgemein, kann man Strom indirekt als Spannungsfall an nem 
Widerstand(Shunt) nach U=R*I "messen"

Damit die Messung mittels Shunt nicht zu sehr beeinflusst, wird dieser 
typisch sehr niederogmig gewählt 0,01Ohm z.B. Daher kann evtl. noch eine 
Verstärkung des Spannungsabfalls mittels OPV nötig sein.

Gruß

von Dave <. (dave666)


Angehängte Dateien:

Lesenswert?

Hallo, also ich habe nun für meinen Display Port B benutzt, somit ist 
Port A wieder frei. Nun mein Kleines Problem wie muss ich den Shunt an 
den ADC anschließen bzw. brauch ich noch andere ICs / OPs??

von Josef (Gast)


Lesenswert?

Fuer den analogen Teil zur Strommessung gibt's hier recht gute Info ->
http://focus.ti.com/analog/docs/gencontent.tsp?familyId=57&genContentId=28020

von Dave <. (dave666)


Lesenswert?

Josef wrote:
> Fuer den analogen Teil zur Strommessung gibt's hier recht gute Info ->
> http://focus.ti.com/analog/docs/gencontent.tsp?familyId=57&genContentId=28020

Und wie soll mir das weiterhelfen?

von michi88_1 (Gast)


Lesenswert?

Benutzt mal die Suchfunktion nach "shunt".
Da findest du einige gute Infos.

von Karl H. (kbuchegg)


Lesenswert?

Dave <> wrote:
> Josef wrote:
>> Fuer den analogen Teil zur Strommessung gibt's hier recht gute Info ->
>> http://focus.ti.com/analog/docs/gencontent.tsp?familyId=57&genContentId=28020
>
> Und wie soll mir das weiterhelfen?

Steht doch dort! (bzw. im weiterführenden Link ganz unten)

Du baust einen Widerstand ein - eben den Shunt. Am einfachsten geht das 
wenn du den - Anschluss des Akkus über diesen Widerstand zur gemeinsamen 
GND Leitung führst. Laut Ohmsches Gesetzt fällt über diesem Widerstand 
eine Spannung ab, wenn Strom (also der Ladestrom) durchfliesst. Diese 
Spannung kannst du messen und über das Ohmsche Gesetzt den Strom 
ausrechnen, der gerade fliesst.

Je größer der Widerstand, desto größer auch die Spannung die dort 
abfällt. Aber: Desto größer auch die Verlustleistung des Widerstands.
Denn P = U * I
1) geht dir hier was verloren, denn der Widerstand verheizt diese 
Leistung
2) Muss der Widerstand diese Verlustleistung auch abkönnen
3) Muss dein Ladegerät diese Verlustleistung zusätzlich aufbringen. 
Denn: von nichts kommt nichts.

Wie wärs, wenn du einfach mal ein paar andere Ladegeräte studierst, um 
zu sehen, wie die das machen? Wie du hoffentlich schon gesehen hast: So 
einfach ins Blaue hinein zu entwickeln wird das nichts.

Es ist nicht so, dass man einfach nur ein paar Dinge an ein paar Pins 
des µC anschliesst, und irgendwie wird das dann schon gehen.

von sebba (Gast)


Lesenswert?

@dave:

sag mal, ist das eigentlich dein ernst?

> Aber irgendwie steht ich gerade auf dem Schalauch und komme nicht mehr
> weiter

Du steht nicht irgendwie aufm Schlauch, du hast keine Ahnung. Was sollen 
denn diese Fragen? Selbst wenn dir jemand perfekt beantwortet ob du nun 
einen Mega8 oder 32 brauchst kannst DU damit nichts anfangen. BTW: Ein 
Tiny2313 (wenn überhaupt) reicht für deine Zwecke voll aus.

Wie schon so oft... Hier mal wieder der Tip:

Fang einfach an: Lies dir ein paar Grundlagen zu Elektronik durch.
(Um dem "Shunt... hää?" vorzubeugen)
Lies dir ein paar AVR Tutorials durch.
Fang an zu verstehen wie ein AVR funktioniert.
Und nebenbei lies dir n Tutorial zu LCDs durch.

Dann brauchst du auch keine blöden Fragen zu stellen, wo denn nun RS RW 
und E angeschlossen werden.

Versteh mich nicht falsch, man hilft dir sicherlich gern, aber momentan 
stellst du vollkommen zusammenhangslose Fragen. Selbst wenn dir jemand 
eine fertige Lösung präsentiert wirst du da momentan nicht viel bei 
lernen.

Schönen Gruß
Sven

von Dave <. (dave666)


Angehängte Dateien:

Lesenswert?

@ sebba
Ich hatte eigendlich gedacht das ich in diesem Forum geholfen wird, aber 
da hab ich mich wohl getäuscht. Dann muss ich mir wohl ein anderes Forum 
suchen, das mir weiterhilft.




sebba wrote:
> @dave:
>
> sag mal, ist das eigentlich dein ernst?
>
>> Aber irgendwie steht ich gerade auf dem Schalauch und komme nicht mehr
>> weiter
>
> Du steht nicht irgendwie aufm Schlauch, du hast keine Ahnung. Was sollen
> denn diese Fragen? Selbst wenn dir jemand perfekt beantwortet ob du nun
> einen Mega8 oder 32 brauchst kannst DU damit nichts anfangen. BTW: Ein
> Tiny2313 (wenn überhaupt) reicht für deine Zwecke voll aus.
>
> Wie schon so oft... Hier mal wieder der Tip:
>
> Fang einfach an: Lies dir ein paar Grundlagen zu Elektronik durch.
> (Um dem "Shunt... hää?" vorzubeugen)
> Lies dir ein paar AVR Tutorials durch.
> Fang an zu verstehen wie ein AVR funktioniert.
> Und nebenbei lies dir n Tutorial zu LCDs durch.
>
> Dann brauchst du auch keine blöden Fragen zu stellen, wo denn nun RS RW
> und E angeschlossen werden.
>
> Versteh mich nicht falsch, man hilft dir sicherlich gern, aber momentan
> stellst du vollkommen zusammenhangslose Fragen. Selbst wenn dir jemand
> eine fertige Lösung präsentiert wirst du da momentan nicht viel bei
> lernen.
>
> Schönen Gruß
> Sven

von sebba (Gast)


Lesenswert?

jepp

und danke für das schöne Abschiedsbild ;)

von Karl H. (kbuchegg)


Lesenswert?

Dave <> wrote:
> @ sebba
> Ich hatte eigendlich gedacht das ich in diesem Forum geholfen wird, aber
> da hab ich mich wohl getäuscht. Dann muss ich mir wohl ein anderes Forum
> suchen, das mir weiterhilft.

Oh, wir helfen alle gern.
Aber es muss auch zumindest ein klein wenig Sinn machen.

Es macht aber keinen Sinn, jemand die Integralrechnung zu erklären, 
selbst wenn er sich noch so sehr dafür interessiert, wenn er beim 
Bruchrechnen schon aussteigt. Da fehlen einfach zuviele Grundlagen.
Wenn man aber deine Fragen mal zugrunde legt, sind wir aber noch gar 
nicht beim Bruchrechnen. Deine Fragen wären in dieser Analogie in etwa: 
Stimmt es, dass man Punkt vor Strich rechnet.

von Jan (Gast)


Lesenswert?

Ohne die Grundlagen wirst DU das nicht schaffen ;)
Eine Fertiglösung wird dir hier kaum jemand präsentieren.

Ein möglicher "Fahrplan" könnte in etwa wie im Anhang aussehen.
Als Shunt(du hast dich inzwischen informiert?) könntest du im 
einfachsten Falle ein definiertes Stück Draht nehmen.

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

ups...Anhang

von Dominique G. (dgoersch)


Lesenswert?

Dave <> wrote:
> Ich hatte eigendlich gedacht das ich in diesem Forum geholfen wird, [...]

Wie soll man dir denn helfen, wenn quasi garkein Basiswissen vorhanden 
ist? Im Moment suchst du jemanden, der dir die Scshaltung zusammen 
schustertn, in ein paar Tagen schlägst du hier wieder auf, weil du die 
Software auf deinem µC brauchst...

von Tom (Gast)


Lesenswert?

Der liest nicht mehr mit.

So können wir nur unter uns überlegen, ob wir ihm geholfen haben.

Warum nicht mal einem Anfänger eine fertige Lösung verraten? Immer 
dieses "überleg mal selber".

Natürlich hat sich der TO ein bisschen dusselig gegeben. Manche können 
sich aber nicht so gut ausdrücken, manchen fehlen die Grundlagen, manche 
schnallen es gerade nicht. Alle die vor den Kopf stossen??? Bitte nicht.

von Dave <. (dave666)


Lesenswert?

Dominique Görsch wrote:
> Dave <> wrote:
>> Ich hatte eigendlich gedacht das ich in diesem Forum geholfen wird, [...]
>
> Wie soll man dir denn helfen, wenn quasi garkein Basiswissen vorhanden
> ist? Im Moment suchst du jemanden, der dir die Scshaltung zusammen
> schustertn, in ein paar Tagen schlägst du hier wieder auf, weil du die
> Software auf deinem µC brauchst...


Ne die Software schreib ich selbst bzw. ist fast fertig.

von Dominique G. (dgoersch)


Lesenswert?

Du hast die Software fast fertig, bevor du weißt welchen µC du 
verwendest, wo du das Display anschliesst und wie du den Strom überhaupt 
messen kannst?

YMMD!

von sebba (Gast)


Lesenswert?

hihi, na dann poste deinen Code mal ;)

von John-eric K. (mockup)


Lesenswert?

Also ich habe mir mal das Datenblatt der INA 193-8 angeschaut,
weil mich das in einer ähnlichen weise grad Beschäftigt.
Das wäre eigentlich genau das was du brauchst.
Die geben in abhängigkeit deines Stromes durch den Shunt
(Spannung die darüber abfällt),
eine Ausgangsspannung aus mit faktor 20/50 oder 100 verstärkt.
Siehe hier : http://focus.ti.com/docs/prod/folders/print/ina193.html
Das blöde ist nur, die gibt es nach meinem suchen nur bei Farnell und 
sind im SOT23-5 gehäuse also SMD.

MockUp

von Werner (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich lege mal meine Schaltung bei.

DAbei wird die Spannung am shunt mit Hilfe eines OPs auf den 
Spannungsbereich 0,..,2.5V umgesetzt, so dass der Atmega diese 
Messspannung verarbeiten kann.

Ohne OPs gehts halt nicht.
Gruß

Werner

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.