Ich möchte den Druchflussmesser Low Flow Flowmeter Serie: FCH-m-POM-LC Art.-Nr. 150392 (Conrad Art.-Nr.150392-62)hier befindet sich auch ein Datenblatt in Form einer PDF Datei an meinen mikrocontroller anschließen. Das Ausgangssinganal an Pin 1 soll 5V betragen. Dazu habe ich folgende Schaltung gefunden. (Dateienanhang) Ist bei den im Schaltplan angegebenen Bauteilen nun eine Spannung von 5 oder 24V an die Pins 2 und 3 anzulegen?
schaltplan: http://www.produktinfo.conrad.com/datenblaetter/175000-199999/187151-da-01-de-Durchflussmesser.pdf
>Dazu habe ich folgende Schaltung gefunden. (Dateienanhang) Vergessen? Vorschau angeklickt? >Das Ausgangssinganal an Pin 1 soll 5V betragen. Das glaube ich nicht. Laut Datenblatt handelt es sich um einen Open-Collector-Ausgang - der schaltet nur gegen Masse. Den kannst du direkt an den Controllereingang mit einen Pull-Up-Widerstand lagen. AVR und diverse andere Controller haben Pull-Ups schon eingebaut. >Ist bei den im Schaltplan angegebenen Bauteilen nun eine Spannung von 5 >oder 24V an die Pins 2 und 3 anzulegen? Der Sensor verträgt Spannungenn zwischen 5V und 24V. Wenn du also deine Schaltung auf 5V auslegst, kannst du den Sensor auch damit betreiben.
d.h. also, dass ich die zusätzliche Schaltung nicht benötige? und ich kann den Controller auch nicht zerstören, indem ich die Spannung des Durchflussmessers auf 24V einstelle? Als ich an den pins 2 und 3 6V, 9V , 12V anlegte Zählte der Controller die Singnale des Durchflussmessers nicht. Erst bei 24V erkannte der Controller die Singnale.
daher war meine vermutung, dass die Spannung am Durchflussmesserausgang steigt mit der Erhöhung der Spannung an des Pins 2 und 3
> daher war meine vermutung, dass die Spannung am Durchflussmesserausgang > steigt mit der Erhöhung der Spannung an des Pins 2 und 3 Wie bereits gesagt und wie auch im Datenblatt vermerkt: Das ist ein OpenCollector-Ausgang! DER LIEFERT KEINE SPANNUNG! Das ist lediglich ein Schalter, der entweder gegen Masse schaltet oder hochohmig ist. Um die Spannung musst du dich selber mit einem Pull-Up-Widerstand kümmern!
danke,jetzt hab ichs endlich verstanden was ein OpenCollector-Ausgang ist. d.h. wenn man im controller keinen "Pull-Up-Widerstand" zur verfügung hat, so müsste man nach dem schaltplan bauen um 5V als ausgangssingnal zu erreichen. auf seite 2 befindet sich in der Mitte der schaltplan: http://www.produktinfo.conrad.com/datenblaetter/175000-199999/187151-da-01-de-Durchflussmesser.pdf das 5V signal wird dann an den Controllereingang angelegt.
Hallo Jochen, hab gerade deinen Beitrag gelesen. Ich hab das gleiche Teil von Conrad und hab d.Schaltung "in der Mitte Datenblatt" genommen. Das scheint zu gehen. Was hast du denn mit dem Mengenmesser geplant? Ich will den Ölverbrauch meiner Heizung messen. Nur hab ich keinen Plan wie das Programm dazu aussehen muß. Der Messer bringt ja 2500 Impulse pro Liter bei einer 3 mm Düse. Die müssten dann ja gezählt und auf LCD angezeigt werden. Hast du schon einen Plan, wie das Programm aussehen könnte? Gruß kurtel
>Der Messer bringt ja 2500 Impulse pro Liter bei einer 3 mm >Düse. Die müssten dann ja gezählt und auf LCD angezeigt werden. Zähle nicht die Impluse, sondern nur die Flanken (Entweder die steigenden oder die fallenden). Für jede (fallende) Flanke erhöht man eine Veriable um eins. 2500 Impulse pro Liter bedeutet doch, dass pro Impuls 0,0004 l durchgeflossen sind, was 0,4 ml entspricht. Also teilt man entweder die gezählten Impulse durch 2500 (float-Berechnung), oder addiert immer 4 zu der Zählvariablen hinzu und zeigt auf dem Display die Variable mit einem um eine Stelle verschobenen Komma an (Fixpoint-Arithmetik). Ich würde die zweite Variante bevorzugen.
Das klingt alles so einfach, daß blöde ist nur, ich hab nicht viel Ahnung von solchen Sachen. Hast du vielleicht so ein Programm auf Lager?
Code at 0 include reg_8252.pdf extern code initLCD,loeschen,loeschzeile1,loeschzeile2,textzeile1,textzeile2,cursorp os,cursoran,cursoraus, textaus,zifferaus,hexaus,dezaus,dualaus,dualaus1,dualaus2,charaus sjmp init org 0013h ;IE1 (Interrupt 1) ljmp interrupt ;Sprung zur Interrupt-Service-Routine init: setb EAL ;Freigabe für alle Interrupts setb EX1 ;Freigabe externes Interrupt 1 setb IT1 ;Selektionsbit für interrupt 1 (auslösen bei fallender Flanke) mov P2,#1 lcall initLCD lcall loeschen mov R1,#0 ;tausender Register(R1) mov R0,#0 ;hunderter Register(R0) lcall TEXTAUS_tausend lcall TEXTAUS_hundert s1: jnb P3.7,s1 s2: jb P3.7,s2 inc R0 cjne R0,#100,s1 inc R1 mov R0,#0 sjmp s1 TEXTAUS_hundert: mov A,#45h lcall cursorpos mov A,R0 lcall dezaus ret TEXTAUS_tausend: mov A,#40h lcall cursorpos mov A,R1 lcall dezaus ret interrupt: lcall TEXTAUS_hundert lcall TEXTAUS_tausend mov A,P2 RL A mov P2,A reti end
Hierbei handelt es sich um einen Assemblercode, wird P3.3(taster) aktiviert, wird die Anzahl empfangener Impulse auf dem LCD-Display ausgegeben.(schick mal einen Liter durch und schau nach ob du auf 2500Impulse kommst, ansonsten stimmt was mit dem Code nicht^^) Aus dem Datenblatt: mit Düse Nozzle size D= 1,0 mm ca. 10.000 Imp. / L Pulse output D= 3,0 mm ca. 2.500 Imp. / L ohne Düse: ein Impuls entspricht 0,0004 L mit Düse: " " " 0,0001 L Im Quellcode müsste man also die Impulsanzahl mit 0,0004 L bzw.0,0001 L multiplizieren und dann auf dem LCD-D. ausgeben.
ach ja, der Impulsgeber hängt an P3.7. Und die Schaltung nicht vergessen, welche 5V gibt.
Hallo Jochen, danke erstmal mal für d. Code. Werd mich mal dahinterklemmen. kurtel
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.