www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bräuchte Hilfe beim Strom messen


Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich muss einen Strom von 0,3 A messen wie mache ich das am besten mit 
einem Attiny 2313?
Es soll der Strom von einem 3,3 V Motor gemessen werden und dann beim 
erreichen von 0,3A abgeschaltet werden.
Das ganze soll unter C programmiert werden.
was für Bauteile bräuchte ich um den Strom zu messen?
mfg.
GBZoholiker

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zumindest einen Shuntwiderstand.
Über den jagst du den Strom drüber und gemäss Ohmsches Gesetz
   U = R * I
verursacht der Stromfluss durch den Widerstand einen Spannungsabfall am 
Widerstand. Und den kann man wiederrum messen. Je nach Shuntwiderstand 
und ADC muss diese Spannung allerdings erst mal etwas verstärkt werden, 
damit man sie auswerten kann.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zunächst mal die Frage wie du den Motor anschließt?

Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
U=R*I=10Ohm*0,3A=3,3V
Kann ich als Shunt Widerstand einfach einen 10Ohm Widerstand nehmen oder 
ist das ein Spezieller? Wie wird das dann geschaltet?

Flo schrieb:
> Zunächst mal die Frage wie du den Motor anschließt?

Den Motor schließe ich über ein Relais an.

Autor: Kluchscheißernder Nixwisser (kluchscheisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZoholiker schrieb:
> Hallo,
> ich muss einen Strom von 0,3 A messen wie mache ich das am besten mit
> einem Attiny 2313?

Warum unbedingt Tiny2313?

> Es soll der Strom von einem 3,3 V Motor gemessen werden und dann beim
> erreichen von 0,3A abgeschaltet werden.

Gemessen werden (also jederzeit der augenblickliche Messwert erfasst 
werden)? Das kann der Tiny2313 mangels ADC nicht besonders gut. Mit dem 
integrierten Analog-Komparator ist das zwar möglich, aber doch etwas 
softwarelastig.

Oder reicht es aus, das Überschreiten des Grenzwertes zu erkennen? Dann 
kann man den integrierten Analog-Komparator des Tiny2313 benutzen.

> Das ganze soll unter C programmiert werden.

Das sollte kein Problem sein, wenn man C kann.

> was für Bauteile bräuchte ich um den Strom zu messen?

Du brauchst wohl erstmal einen Shunt, an dem der Strom einen 
Spannungsabfall verursacht. Dann brauchst Du noch ein paar Widerstände 
zur Beschaltung des Analog-Komparators des Tiny2313.

Die Komplettlösung findest Du vermutlich bei www.hausaufgaben.de

> mfg.
> GBZoholiker

Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kluchscheißer Kluchscheißer schrieb:
> Oder reicht es aus, das Überschreiten des Grenzwertes zu erkennen? Dann
> kann man den integrierten Analog-Komparator des Tiny2313 benutzen.

Es soll der Motor abgeschaltet werden wen 0,3A erreicht sind bzw. 0,28 A 
überschritten sind.

Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kluchscheißer Kluchscheißer schrieb:
> Warum unbedingt Tiny2313?

weil ich nicht viel Platz habe

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also dann nimmst du einen einergermaßen kleinen Widerstand, schaltest 
den Zwischen Motor und Masse.
Dann greifst du am Widerstand die Spannung ab, die über U=RI mit dem 
Strom zusammenhängt, diese Spannung führst du auf einen Eingang deines 
Analog-Komparators. Am anderen Eingang deines Komparators ein Poti (oder 
Festwiderstände) über das du die Schwellspannung angeben kannst.

Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat jemand davon eine Skize oder einen schaltplan?
damit man es besser verstehen kann

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZoholiker schrieb:
> U=R*I=10Ohm*0,3A=3,3V
> Kann ich als Shunt Widerstand einfach einen 10Ohm Widerstand nehmen oder
> ist das ein Spezieller?


kleine Widerstände nennt man Shunt

denk mal nach.
Du hast

                   A             B
                   |             |
                   v  +-------+  v
    3.3V ----------+--|  100  |--+----+
                      +-------+       |
                                      |
                                   Motor
                                      |
      0V ------------------------+----+
                                 ^
                                 |
                                 C

Wenn du am Shuntwiderstand, zwischen den Punkten A und B, die 3.3V 
misst, wieviel Spannungsdifferenz bleibt dir dann noch zwischen den 
Punkten B und C?

genau: 0V

mit 0V wird dein Motor aber nicht drehen :-)

Shuntwiderstände sind kleine Widerstände! 1 Ohm, 0.1 Ohm, 0.001 Ohm
Der Shunt bildet im Grunde mit dem Verbraucher einen Spannungsteiler! Du 
willst aber haben, dass der Shunt im Spannungsteiler die Spannung des 
Verbrauchers möglichst wenig beeinflusst. Auf der anderen Seite möchtest 
du aber auch haben, dass am Shunt genügend Spannung abfällt, damit dir 
noch was vernünftiges zum Messen bleibt und du nicht nur Rauschen afu 
der Messschaltung hast.

Und ausserdem gilt dann auch noch P = U * I
d.h. je größer der Spannungsabfall am Shunt bei gegebenem Strom ist, 
desto mehr Wärme muss der Shunt aushalten. Shuntwiderstände sind daher 
auch dicke, widerstandsfähige Widerstände.

Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Parallel zum Motor
und an welchen Punkt schließe ich den Mikrocontroller an?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZoholiker schrieb:
> Also Parallel zum Motor

Nein

> und an welchen Punkt schließe ich den Mikrocontroller an?

Lass es sein.
Dir fehlen zuviele Grundlagen.
Such dir jemanden der davon Ahnung hat und zahl ihm was dafür.

Autor: Alter Hase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Karl heinz hat Recht,

schon Probleme beim Anschließen, dann wird das Auswerten sicher noch
interessant.

Nur "Strom zu groß --> Abschalten" ist nicht.

Der Anlaufstrom ist i.d.R. ein mehrfaches des Betriebsstroms,
also nach dem Einschalten so 200ms bis 400ms*) warten bis der Strom
gemessen wird.

*) Hängt vom Motor ab, bei so kleinen reichen die Zeiten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alter Hase schrieb:

> schon Probleme beim Anschließen,

Mal ich ihm schon eine Serienschaltung hin, und er erkennt das als 
Parallel. Ts, Ts

> dann wird das Auswerten sicher noch
> interessant.

Allerdings
Das soll sich wer anderer antun. Einen gewissen Grundstock setz auch ich 
voraus.

Autor: GBZoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toll mein Hobby soll aber nicht darin bestehen nur immer andere Leute zu 
bezahlen dann kann ich auch einfach das Geld aus dem Fenster werfen

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZoholiker schrieb:
> Toll mein Hobby soll aber nicht darin bestehen nur immer andere Leute zu
> bezahlen dann kann ich auch einfach das Geld aus dem Fenster werfen

Dann benutz dein Geld um dir Literatur zu kaufen und die Dinge zu 
lernen.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dann benutz dein Geld um dir Literatur zu kaufen

Es gibt auch Leih-Büchereien...

Autor: Kluchscheißernder Nixwisser (kluchscheisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZoholiker schrieb:
> Kluchscheißer Kluchscheißer schrieb:
>> Warum unbedingt Tiny2313?
>
> weil ich nicht viel Platz habe

Es gibt durchaus kleinere AVRs, die mit ADC ausgestattet sind und somit 
eine softwaremäßige Schaltschwelle mit Hysterese und Anlaufstromignoranz 
ermöglichen. Siehe Tiny13/25/45/85 mit 8 Pins oder Tiny26/261/461/861 
mit 20 Pins.

Denn das mit AC mögliche einfache Abschalten beim Überschreiten der 
Schwelle und Einschalten beim Unterschreiten würde zur Selbsterregung 
führen. Eine Hysterese müsste in Hardware realisiert werden 
(Beeinflussung des Referenzspannungsteilers), da kann man auch gleich 
auf den MC verzichten und einen OPV benutzen.

Der Tiny26 (wie Tiny2313 auch 20 Pins) z.B. bietet ADC-Differenzmessung 
gegen interne Referenz mit Gain 20, was einem Messbereich von 125mV 
entspricht. Dies ermöglicht durch einen kleinen Shunt eine verlustarme 
Strommessung mit hoher Auflösung. Dies wiederum ermöglicht es, auf 
verschiedene Ströme unterschiedlich zu reagieren, z.B. bei schwachem 
Überstrom erst nach einer gewissen Zeit abzuschalten, bei starkem 
Überstrom sofort abzuschalten und beim Einschalten eine gewisse Zeit 
lang einen erhöhten Anlaufstrom zuzulassen. Falls Du einen Schaltplan 
und weitere Hinweise dazu brauchst, dann murmele mal nach "trxcharger". 
Das ist zwar ein Akku-Lader, aber es interessiert ja nur das Detail der 
Strommessung.

Autor: Kluchscheißernder Nixwisser (kluchscheisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZoholiker schrieb:
> Toll mein Hobby soll aber nicht darin bestehen nur immer andere Leute zu
> bezahlen dann kann ich auch einfach das Geld aus dem Fenster werfen

Jetzt wirst Du aber ungerecht.

Wenn Du es selbst machen willst, dann setze Dich auf den Arsch und lerne 
die Grundlagen. Kunst kommt nämlich von Können, käme es von Wollen, dann 
würde es Wulst heißen! Also lernen und selbstmachen oder in Auftrag 
geben und zahlen.

Und Grundlagenwissen musst Du Dir schon selbst erarbeiten, das kann man 
nicht in einem Forum zusammenfragen, da wirst Du schnell auf Widerstand 
stoßen, denn das wird (mit recht) als Faulheit angesehen.

Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo GBZoholiker,

ich habe den ganzen Thread gelesen, trotzdem nochmal auf die schnelle:

GBZoholiker schrieb:
> ich muss einen Strom von 0,3 A messen wie mache ich das am besten mit
> einem Attiny 2313?

Warum unbedingt ein ATTiny? Ich kenn' mich mit den uC's von Atmel nicht 
aus, aber unten schrieb jemand etwas davon, daß dieser Typ keinen 
integrierten ADC (Analog-Digital-Konverter) enthält. "Sinnvoll ist am 
besten": nimm' ein uC mit integriertem ADC. Weiter unten schreibst Du, 
es solle möglichst klein sein, mit dem AT2313er brauchst du jedoch einen 
oder mehrere zusätzliche Bausteine.
Messung klassisch über Shunt. Dimensioniere nach Leistung und 
Genauigkeit. Wenns genau sein soll, die Referenz für den ADC nicht 
vergessen!

> Es soll der Strom von einem 3,3 V Motor gemessen werden und dann beim
> erreichen von 0,3A abgeschaltet werden.

Sag' mal lieber was du bezweckst, eventuell kann man's anders machen. 
Soll der Motor abgeschaltet werden, wenn er sich gerade zu drehen 
beginnt? Oder brauchst Du eine Überstromschutzschaltung? Man kann Dir 
besser helfen, wenn Du sagst wo das Problem liegt.

> Das ganze soll unter C programmiert werden.

Kannst Du in C programmieren? Was hast du mit Controllern schon gemacht?

> was für Bauteile bräuchte ich um den Strom zu messen?

Einen je nach Genauigkeit genauen und nach Leistungsfähigkeit 
leistungsfähigen ohmschen Widerstand, R. Wie genau muss es sein?

> mfg.
> GBZoholiker

Gruß zurück, Iwan

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.