Forum: Platinen Entwicklung Converter Impulszähler (Hallsensor) auf 0-10V


von Dominic78 (Gast)


Lesenswert?

Ich benötige einen Impulszähler (Drehzahlauswertung von Gebläse via 
Hallsensor), der die Drehzahl auf 0-10V Analog ausgibt.

Ich dachte an eine einfache, sehr kostengünstige Schaltung in einem 
Schrumpfschlauch verpackt wird und auf beide Seiten einen Stecker hat.

Versorgungsspannung 24 V DC steht zur Verfügung.

Analoger Eingang an der Steuerung vorhanden mit:
0 - 3 Volt (bzw. 0 - 10 V - ca. 100 kOhm)

Der Hallsensor ist laut Spezifikation mit 3,5 bis 24 Volt betreibbar.

Wir wären gerne in der Lage, mit der Schaltung 6 kHz auszuwerten.
Also max. 100 steigende Flanken pro Sekunde.

Wer könnte mir so eine Schaltung, ggf. mit einem PIC layouten?

Bei einer Menge von ca. 50-100 Stk sollte die fertige Platine max. 15 € 
kosten.

Was müsste man für das Platinenlayout / Software ca. rechnen?

Ich hoffe es kann mir hier jemand helfen.

von René B. (reneb)


Lesenswert?

Hallo Dominic,

hast du den Hallsensor den schon ausgesucht und zusammen mit deinem 
Gebläse mal verwendet?
Da wäre es z.B. mal wichtig zu sehen wie der Ausgang des Halls sich 
verhält. z.B. Oszilloskop-bild o.ä.
Dann könnte man nämlich sehen ob es noch zusätzliche Analogzauberei 
braucht und mit welchem Hall es funktionieren soll.
Welche Anforderungen an die Genauigkeit und Auflösung des Ausgangs hast 
du?

Prinzipiell sehe ich auf der PCB:
- Eingangnsschutzbeschaltung
- 3,3V und/oder 5V Regler
- µC mit eingebautem ADC und PWM (oder sogar DAC)
- evtl. Analogteil um den Hall für den µC verwertbar zu machen
- Verstärkung um am PWM-Ausgang des Controllers auf 0-10V zu kommen
- Schutzschaltung des Analogausgangs

Jetzt kommt es noch auf deine Anforderungen bezüglich dem hier an:
- Genauigkeit und Auflösung des Ausgangs
- Umweltbedingungen (Temperaturbereich)
- Sicherheit (Ein/Ausgänge, Verpol-, Überspannungsschutz usw)
- Gehäuse?
- Bauform, Bauteile?
- Anschlussart (Klemmentyp..)

Das ganze mit einer einzigen HW/SW-Schleife zu bauen wird nicht einfach. 
Im Endeffekt hieße das ja für 1500€ 100 fertig aufgebaute und 
programmierte Platinen zu liefern, inkl. Software, Schaltplan und 
Layoutentwicklung. Und auch noch für die 100 Stück die Garantie zu 
übernehmen...

Da müsste jede PCB verdammt günstig in der Herstellung sein, dass sich 
das bei der kleinen Stückzahl lohnt.
Alternativ kannst du dir auch jemanden suchen, der SW, Schaltplan und 
Layout samt einem Prototyp für dich entwickelt und du dich dann um die 
Herstellung der Kleinserie kümmerst.

: Bearbeitet durch User
von Dominic78 (Gast)


Lesenswert?

Hallo René,

dass ging ja fix. Nicht schlecht. (-;

Also der Hallsensor ist bereits im Gebläsemotor verbaut.
Es handelt sich um folgenden Typ: US5881

Wir wollen die Drehzahl erfassen. Es muss nicht ultragenau sein. Die 
Frage ist, welche Genauigkeit wäre mit geringem Aufwand möglich?

Ich dachte an eine kleine Platine, ca. 25 x 70 mm, welche in einem 
Schrumpfschlauch eingeschrumpft wird. Nur Berühr und Staubschutz. Das 
Ganze wird dann in einem Kabelkanal verstaut.

Die Platine wird in der Regel bei ca. 10 - 25 Grad Raumtemperatur (im 
Keller) betrieben.

Verpolungsschutz nicht zwingend notwendig.

Steckerbuchsenkontakt z.B. Phönix 3 Polig, Verbindungskabel zum 
Gebläse-Hallsensor

Auf der anderen Seite ein flexibles Kabel (Adern) Länge 25 cm (24 V 
Versorgung, 0-10 V).

Ich suche jemand, der das ganze entickeln kann und einen Prototyp baut. 
Die Serienproduktion / Garantie würden wir selbst organisieren.

Die Frage ist, was muss man für die Entwicklung Prototyp rechnen?
Wer kann das hier machen? Wie schnell?

von René B. (reneb)


Lesenswert?

Soweit ich das Datenblatt des Sensors verstehe, hat der Hall keinen 
Analogausgang für die Magnetfeldstärke, sonder einen Digitalausgang, so 
dass bei Rotation ein Rechteck am Ausgang erscheint.

Ich hätte da mehrere Optionen.
Einmal die µC-Keule schwingen:
In einem günstigen Aufbau kommt man so auf 5..8% Genauigkeit 
(Wiederholgenauigkeit am Analogausgang, bei gleicher Drehzahl). Je 
genauer, desto teurer.

Oder du brauchst nur eine ungefähre Drehzahl für eine 
Lüfterausfall-Erkennung:
Da könnte man mit etwas Analogzauberei und ohne µC einen Wert 
generieren, der zumindest für eine Lüfterausfallerkennung und ungefähre 
"Drehzahlabschätzung" taugt. Mit Analogausgang halt. Das kann man 
(günstig) so auslegen, dass er im oberen Drehzahlbereich eine 
Genauigkeit besser 15% erreicht, aber im niedrigeren Drehzahlbereich 
stark abweicht. Da aber der untere Bereich evtl. bereits der 
"Lüfterausfall" ist, wäre das vlt. eh uninteressant.

Oder man nutzt das ganze direkt als Lüfterausfallerkennung, so dass es 
auf einen Digitaleingang einer SPS oder Steuerung geht. Dazu kann man 
beispielsweise einen retriggerbaren Timerbaustein verwenden, der erst 
dann kontinuierlich 24V ausgibt, wenn der Hallsensor die Impulse schnell 
genug liefert.

Wenn sich hier sonst niemand beteiligt, einfach mal registrieren, vlt. 
meldet sich ja jemand per PN.

: Bearbeitet durch User
von Dominic U. (dominic78)


Lesenswert?

So, jetzt gleich mal registriert. (-;
Super dass Du mir so toll behilflich bist.

Wir haben an unserer Steuerung (Auswerteeinheit) einige Digitaleingänge 
frei, die aber mit der hohen Frequenz des Hallsensors nicht klar kommen 
können.

Daher den Umweg von Impulszähler > 0-10 V

Grundsätzlich wären beide Varianten die Du angesprochen hast sehr 
interessant.

1) Drehzahlauswertung
2) Ausfallerkennung

Tendenziell würde mir die erste Variante besser gefallen, da wir die 
Drehzahl ganz gerne auswerten und vielleicht sogar das Gebläse danach 
steuern wollen. Genauigkeit 2-3 % wäre dafür geeignet.

Wäre das mit einem PIC nicht auch ganz gut machbar oder wäre das zu 
teuer? Kannst du das mal überschlägig rechnen damit man mal eine 
Vorstellung hat was die Varianten kosten könnten.

Kannst Du sowas layouten? Hättest Du Zeit dafür?

von René B. (reneb)


Lesenswert?

Die 2-3% machen einem schon zu schaffen. Schließlich gehen Zeit- und 
Spannungsreferenz darin ein. z.B. kann man den internen RC-Oszillator 
des µC dann nur bedingt verwenden. Genauso den Ausgang des 
Linearreglers. Selbst wenn man die interne Spannungsreferenz des µC 
nimmt und zurückliest, müsste man besser als 1% Widerstände nehmen. Das 
geht alles in den Platzbedarf und den Zeitaufwand des Layouts ein.
Ob PIC, AVR oder MSP430 entscheidet der Preis, es sei denn du hast dich 
auf PIC festgelegt. Eigentlich hab ich für sowas nicht mehr die Zeit, 
aber reizen würde mich das Projekt schon. Aber in einer einzigen 
Hardwareschleife krieg ich das nicht hin.

: Bearbeitet durch User
von Dominic U. (dominic78)


Lesenswert?

Noch eine andere Idee.

Die verfügbaren Digitaleingänge können bis 25 Hz erfassen. Vielleicht 
könnte man auch Digital bleiben, also die Eingangspulse mit einem 
bestimmten Verhältnis runterskalieren?

Eingang: 50 Hz >>> Ausgang: 25 Hz
Eingang: 25 Hz >>> Ausgang: 13 Hz

usw ...

Wäre das aus schaltungstechnischer Sicht nicht deutlich einfacher?
Vermutlich aber ungenauer wegen der geringen Auflösung.

???

von René B. (reneb)


Lesenswert?

Na dann sind wir bei einem Frequenzteiler, das geht mit ein paar 
FlipFlops ganz gut. 7kHz rein und nach 8 FlipFlop kommen 27Hz raus, bzw 
mit 9 FlipFlops dann 14Hz.
Sowas schüttel ich noch ausm Ärmel, so dass es deinem Platzbedarf 
genügt.

Blockschaltbild mit genauer Anschlussbelegung wäre dann noch sinnvoll.

Deine Steuerung muss dann zuverlässig die Zeit zwischen zwei steigenden 
flanken ermitteln können. Da würde ich in der Frequenz noch weiter 
runter gehen, es sei denn es gibt so etwas wie eine Zählfunktion an den 
Eingängen. Aber für eine ordentliche und schnelle Regelung ist das etwas 
langsam. So könntest du z.B. die tatsächliche Drehzahl nur ein paarmal 
in der Sekunde rauskriegen und dann auch nur sehr ungenau. Je länger der 
Zeitraum ist, über den du die Impulse zählst, desto genauer wird es.

: Bearbeitet durch User
von Dominic U. (dominic78)


Lesenswert?

Ich habe gerade mit einem Kollegen gesprochen, der hat mir vom 
Frequenzteiler abgeraten, da dies von der Steuerung nicht 
unproblematisch und sicher ausgewertet werden kann.

Ich denke wir sollten beim ursprünglichen Modell bleiben.

Vielleicht gibt es auch einen passenden IC den man dafür nutzen kann?
Wäre sicher das günstigste, da man keine Software braucht.

von Chris (Gast)


Lesenswert?

Hallo,

ich würde die Schaltung mit einem LM2907 
(Frequency-to-Voltage-Converter) realisieren. Der ließe sich auch direkt 
mit den 24V versorgen. Dadurch würde kein Spannungsregler und auch keine 
Software benötigt werden.

In der Beispielbeschaltung der Applikation-Note werden 67Hz/V als 
Ausgangsspannung angegeben. Diese mit dem 0-3V Eingang ausgewertet, 
sollte eigentlich eine halbwegs vernünftige Auflösung bieten (zumindest 
für die Ausfallerkennung). Über die externe Beschaltung des Baussteins 
ließe sich die Ausgangsspannung aber auch noch beeinflussen/einstellen, 
so wie ich das AppNote verstehe.

Vielleicht wäre dieser Lösungsvorschlag ja auch zielführend - bis zu 
Ende durchdacht habe ich ihn aber noch nicht... Was meint ihr dazu?

von Dominic U. (dominic78)


Lesenswert?

René, der Vorschlag von Chris klingt sehr interessant und der IC wäre 
auch für rund 1 € / Stück zu bekommen. Ich denke noch ein paar 
Widerstände, Kondensatoren, Anschlussklemmen, eine Platine. Sollte man 
alles für 5-7 € bekommen können + Zusammenbau. Dann wäre mein Zielpreis 
vielleicht doch machbar?

Könntest Du das Platinenlayout + Prototyp übernehmen?
Woher kommst Du? PLZ?

Super Idee Chris!

von René B. (reneb)


Lesenswert?

Dominic78 schrieb:
> Wir wären gerne in der Lage, mit der Schaltung 6 kHz auszuwerten.
> Also max. 100 steigende Flanken pro Sekunde.

Da muss ich dann doch mal Fragen. Geht es um 50Hz, 100Hz oder 6kHz am 
Hall?

: Bearbeitet durch User
von Dominic U. (dominic78)


Lesenswert?

Ich habe nochmal nachgesehen. Es sind max. 50 Hz, also 3.000 r/m.
Die Drehzahl ist mit 2.400 r/m spezifiziert.

Ideal wäre also eine Erfassung vom Hallsensor bis zu 50 Hz und eine 
Ausgangsspannung von 0-10 V.

Also 50 Hz = 10 Volt (5 Hz = 1 V)

Nenndrehzahl: 2400 U/s = 40 Hz => 8 Volt

von René B. (reneb)


Lesenswert?

Hallo Dominic,
normalerweise wird der Hall mehrmals pro Umdrehung getriggert, daher die 
Frage. Denn einmal kann man innerhalb einer feststehenden Zeit die 
Anzahl der Impulse erfassen, dazu sollte das Signal aber >>100Hz sein.

Alles was darunter angesiedelt ist, sollte über die Periodendauer 
ausgewertet werden, also die Zeit zwischen zwei Impulsen. Sonst dauert 
es ja viel zu lange bis man die aktuelle Drehzahl ermittelt hat.

Wenn die Impulse nur einmal je Umdrehung kommen, geht der LM2907 auch.
Evtl. braucht es noch einen OpAmp um den Spannungsbereich hinten 
aufzuweiten und weil erfahrungsgenmäß die Eingangsimpedanz der 
ADC-Eingänge an der SPS nicht allzu hoch sind.
Aber alleine schon am Beispielaufbau sieht man, dass das Ding eigentlich 
auch für mehrere Impulse je Umdrehung gedacht ist. Denn in der Appnote 
ist der Ausgang auch auf 66Hz je Volt gedreht worden.

Und in diesem Bereich ist der Rippel am Ausgang des LM2907 auch sehr 
hoch, somit also sehr ungenau zu erfassen. Du kannst es dir ja mal auf 
Lochraster aufbauen und testen, falls es dann doch zu ungenau ist, muss 
man wieder zum µC und damit eine Zeitmessung zwischen den Impulsen 
machen.

von Dominic U. (dominic78)


Lesenswert?

René B. schrieb:

> Wenn die Impulse nur einmal je Umdrehung kommen, geht der LM2907 auch.
> Evtl. braucht es noch einen OpAmp um den Spannungsbereich hinten
> aufzuweiten und weil erfahrungsgenmäß die Eingangsimpedanz der
> ADC-Eingänge an der SPS nicht allzu hoch sind.
> Aber alleine schon am Beispielaufbau sieht man, dass das Ding eigentlich
> auch für mehrere Impulse je Umdrehung gedacht ist. Denn in der Appnote
> ist der Ausgang auch auf 66Hz je Volt gedreht worden.
>
> Und in diesem Bereich ist der Rippel am Ausgang des LM2907 auch sehr
> hoch, somit also sehr ungenau zu erfassen. Du kannst es dir ja mal auf
> Lochraster aufbauen und testen, falls es dann doch zu ungenau ist, muss
> man wieder zum µC und damit eine Zeitmessung zwischen den Impulsen
> machen.


Hallo René,
die Eingangsimpedanz liegt bei 100 kOhm bei dem 0-10V. Wäre Deiner 
Meinung nach der LM2907 für Drehzahlen von ca. 200 bis 2.600 U/min 
geeignet? WelcheGenauigkeit könnte man am Ausgang damit realisieren?

Eine Einschätzung im unteren, mittleren und oberen Drehzahlbereich wäre 
interessant.

Welche Komponenten braucht man für so eine Schaltung?
Könntest Du das für mich skizzieren? Ich könnte dann mit Deiner 
Unterstützung auf einer Lochrasterplatine einen Prototyp aufbauen und 
testen. Woher kommst Du? Vielleicht kann man sich auch treffen? Ich 
komme aus 37581 Bad Gandersheim.

von Dominic U. (dominic78)


Lesenswert?

Noch was. Da sich die Drehzahl nicht so oft ändert, reicht eine 
Erfassung der Drehzahl alle 2-3s. Wichtiger ist eine stabile 
Ausgangsspannung, welche man u.u. mit einem Kondensator glätten sollte.
(Stichwort: Hardware Mittelwertbildung)

Kann mir hier jemand behilflich sein und vielleicht einen Schaltplan 
entwickeln, welchen man als Prototyp bauen könnte um das testen zu 
können?

?????

Schönen Abend noch Euch Allen!

von René B. (reneb)


Lesenswert?

Mal angenommen man vernachlässigt den Rippel, weil man ein fettes 
RC-Glied dahinterhängt, so bleibt systembedingt immer noch dieser 
Zusammenhang des LM2907/29017:
Vout=fin*Vcc*R1*C1.
Den Widerstand kriegt man auf 0,1..1%, den Kondensator auf 3..5% genau 
geliefert. Vcc schwankt aber immer noch. Wenn man einen 12V-Regler 
verbaut, kriegt man den auf etwa 2%. Die interne Zener-Option des LM2917 
kommt auf 160..200mV@12V, was auch etwa 1,5% ausmacht.

Selbst wenn man für R1 1k wählt, kommt das ganze parallel an 100k des 
ADC und macht auch hier wieder 1% aus.

Daher bleibt dir mit dem LM2907 nichts anderes übrig als:
- Ordentliche 12V erzeugen (extern)
- Trimmer bei R1 vorsehen um bei dem Teil eine "Werkskalibrierung" 
durchzuführen
- Impedanzwandler hinter den Ausgang (einfach ein OpAmp), so dass die 
(ungefähren!) 100k des ADC keinen Einfluss mehr haben. Der OpAmp kann 
auch gleich für die Tiefpassfilterung hergenommen werden. Dann hat man 
eine Chance die 2..3% zu erreichen.

Als SMD passt das schon irgendwie auf 2,5x7cm

: Bearbeitet durch User
von Dominic U. (dominic78)


Lesenswert?

Klingt recht aufwändig und teuer. (-;
Vielleicht dann doch besser einen günstigen D/A via PIC?

Wäre das damit nicht preiswerter und einfacher zu realisieren?

Mir wurde das hier empfohlen.
Wie bewertet Ihr das für meinen Zweck?

//
Würde es auf PIC16F1704 Basis umsetzen. Der Controller hätte einen
internen 8Bit DA Wandler und OPV.
//

Die Bauteile sollen sehr günstig für < 5 € zu haben zu sein.

Mich würde Eure Meinung zu diesem Vorschlag interessieren?

Grüße, Dominic

von Bernd (Gast)


Lesenswert?

Wenn die Schaltung nicht sehr genau sein muß, machst du folgendes: Nimm 
einen Kondensator, den du mit den Impulsen auflädst und der über einen 
Widerstand auch wieder entladen wird. Je mehr Impulse, je höher die 
Ladespannung. Je weniger Impulse, um so mehr wird der Kondensator 
entladen. Die Werte mußt du selbst herausfinden, einfach messen. So hast 
du eien quasi-Analogwert.

von schris (Gast)


Lesenswert?

Wenn mittels uC, wäre mein Vorschlag:
12V ldo, LM432, uC mit ADC sowie PWM, PIC12F1571 wäre ein Kandidat.
Je nach Genauigkeit mit oder Quarz.

von m.n. (Gast)


Lesenswert?

Mein Vorschlag aus der Schublade:
http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp10
Man kann den DAC auch weglassen und die Ausgangsspannung per PWM 
erzeugen, filtern und mit einem OPV auf 0-10V verstärken.
Als µC ginge auch ein ATtiny45/85 oder 'viel schöner' ein ATtiny841.
Das Programm läßt sich mühelos auch auf Eingangsfrequenzen von z.B. 0,1 
- 100Hz anpassen.
Solltest Du noch keine Lösung gefunden haben, schreib mir eine e-email.

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.