PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Durchflussmessung mit Atmega8



live5
23.02.2015, 07:33
Hallo,

Ich möchte mit einem Atmega8 einen Durchflussmessen ich habe diesen Sensor http://www.conrad.at/ce/de/product/150391/Durchflussmesser-Flow-Meter-FCH-m-POM-LC-001-35-lmin-BIO-TECH-eK-FCH-m-POM-LC-mit-Duese-1-mm-001-10-lmin

Den Sensor Versorge ich mit 12V und der R* Pullup vom Sensor habe ich mit 1,6kOhm gewählt.
Die Signalleitung ist direkt am T0 (PD4) angeschlossen.

Mein Problem ist das sowie ich den Sensor anschließe der Counter vom µC zählt obwohl nichts fließt...

Versucht habe ich bereits eine LED mit 1k gegen +5V mit an den Ausgangspin des Sensors zu schließen, wenn ich den Sensor leicht bewege flakert die LED, musste aber dafür den Sensor mit 14V versorgen. :confused:

Mit einem Oszi habe ich den Sensor bereits angesehen, da bekomme ich ein Schönes Rechtecksignal...

Mein C-Code:


#define F_CPU 16000000UL
#include <avr/io.h>
#include "lcd-routines.h"
#include <stdlib.h>
#include <util/delay.h>
#include <avr/interrupt.h>

int main(void)
{
LCD_DDR = 0x0FF;
lcd_init();


DDRD &= ~(1 << DDD4); // Clear the PD4 pin
// PD0 is now an input
PORTD |= (1 << PORTD4); // turn On the Pull-up
// PD4 is now an input with pull-up enabled


//TCCR0 |= (1 << CS02) | (1 << CS01);
// Turn on the counter, Clock fall Rise

TCCR0 |= (1 << CS02) | (1 << CS01) | (1 << CS00);
// Turn on the counter, Clock on Rise


sei();


while (1)
{
// we can read the value of TCNT0 hurray !!
lcd_setcursor(0, 0);
char Buffer[50];
itoa(TCNT0, Buffer, 10 );
lcd_string(Buffer);
}
}


Vielen Dank für eure Hilfe

damfino
23.02.2015, 09:13
Der R* ist aber hoffentlich nicht an den 12V angeschlossen? Der Eingang am Atmega verträgt nur 5V, also darf der Pull-up auch nur an 5V angeschlossen werden.
Kann sein dass der Pin schon defekt ist, wenn du Pech hast ist schon der ganze Atmega defekt.
Probier mal einen anderen Eingangspin, und dann Ausgabe auf LED an einen anderen Pin zum testen, sollte funktionieren.

Sicherer wäre es die ganze Schaltung auf 5V zu belassen, der Sensor funktioniert doch auch ab 5V.

LG!

live5
24.02.2015, 10:31
Ja den Sensor betreibe ich mit 12V und 1.6KOhm R*

Ich hab das ganze mal über einen Taster getestet der den eingang gegen maße zieht, dann zählt er bei jedem dücken 1 hoch als ist dem Atmega noch ok...

Und soweit ich das Verstehe wäre 1 x Impulse = 1x eingang gegen masse oder ist das doch etwas komplizierter ?

shedepe
24.02.2015, 10:37
Hey. Hast du auch schon mal mit dem Oszi, das Sensorsignal überprüft wenn es am Atmega angeschlossen ist ? So fern ich deine Beiträge richtig gelesen habe, funktionieren ja Sensor bzw. Atmega alleine so wie sie sollen.
Es könnte nun sein, dass die Ausgangsleistung vom Sensor nciht reicht um den Pin auf 0 zu ziehen.

Und. Ein Pin vom Atmega geht von 7,5 mA Fehlerstrom noch nicht kaputt.

PICture
24.02.2015, 11:39
Hallo!


Und soweit ich das Verstehe wäre 1 x Impulse = 1x eingang gegen masse oder ist das doch etwas komplizierter ?

Und soweit ich das verstehe, meinst du, dass es ohne Entprellung der Taste ein Impuls pro ein Tastendruck gibt. :confused:

live5
25.02.2015, 07:05
@Picture: ja hab mrir gedacht ich könnte das so testen...

@shedepe: also das wärde ich versuchen mit dem Oszi, dann müsste ein Transistor das Problem beheben.

damfino
25.02.2015, 08:01
Und. Ein Pin vom Atmega geht von 7,5 mA Fehlerstrom noch nicht kaputt.
http://www.atmel.com/Images/doc2508.pdf Seite 7: "but note that the maximum current through the AVR’s clamping diode should not be higher
than 1 mA."

Deswegen würde ich mal testen ob der Pin noch funktioniert, wenn nicht dann die Schaltung überarbeiten.


Und soweit ich das verstehe, meinst du, dass es ohne Entprellung der Taste ein Impuls pro ein Tastendruck gibt.
Ist ein Hallsensor, da braucht man normalerweise keine Entprellung.

LG!

live5
25.02.2015, 09:00
Ich werde den PIN Prüfen aber ich gehe davon aus das er Funktioniert, ich glaube das ich mit dem Sensor etwas falsch mache aber ich habe auch noch kein ähnliches beispiel gefunden...

damfino
25.02.2015, 10:08
Mit dem Sensor kann man nicht viel falsch machen. Würde den trotzdem auf 5V anschließen, damit passiert dem Atmega sicher nichts.
Der interne Pull up ist überflüssig, da schon R* angeschlossen ist.
Oder 12V am Sensor lassen, R* entfernen, und nur den internen Pullup nutzen, sollte auch gehen.

LG

live5
25.02.2015, 11:54
also wenn ich den R* weglasse dann funktioniert das überhaupt nicht (dann bekomme ich kein rechteck signal bei oszi), ich werde es einfach mal an 5V hängen und den internent pullup abschalten.

Dieses Signal bekomme ich wenn ich den Sensor mit 10.5V und R* 1.6kOhm betreibe.
29893

shedepe
26.02.2015, 10:28
Könnte es sein, dass deine Peakspannung der Rechtecke nur 0,5V beträgt ? Dann ist es kein wunder dass der Atmega nichts registriert. Du bist damit unterhalb der Grenze bei der das Signal als High erkannt wird.