Durchflussmesser am Atmega8

Gast #4022566
Lesenswert?

Hallo,

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

an einem Atmega8 angeschlossen (PD4) um die Impulse zu zählen per 
Counter aber ich komme nicht auf den Fehler drauf...

1) ist es normal das ich am PD4(T0) +4,9V messe ?
2) Wenn ich den PD4 gägen masse schalte dann zählt er soll auch so sein.

Den Sensor habe ich versucht mit 5V bzw. 12V zu betreiben ohne
bei 5V  -> zählt er überhaupt nicht (ob Wasserfliesßt oder nicht ist 
egal)
bei 12V -> zählt er immer (ob Wasserfliesßt oder nicht ist egal)

ich habe auch einen Widerstand verwendet von 1,6kOhm wie in der 
Anleitung beschrieben, macht jedoch keinen unterschied.

Das ist mein Code (zum Testen)...

#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);
    }
}
(Firma: matzetronics) #4022701
Lesenswert?

Mach dir mal eine LED mit 1k gegen +5V mit an den Ausgangspin des 
Sensors (das kannst du auch gleich als Pullup mitverwenden) und schau, 
ob da was rauskommt, denn ein Oszi wirst du nicht haben. Ich denke mal, 
das du evtl. was an den Anschlüssen des Sensors verwurschtelt haben 
könntest, denn wenn Tippen gegen Masse läuft, sollte der Sensor ja auch 
tun.
Oder Klaus hat dir was kaputtes geschickt.

Patrick schrieb:
> char Buffer[50];

Schön ist das so mitten im Code nicht. Setzt das doch einfach als 
global.
(Firma: matzetronics) #4024160
Lesenswert?

Patrick schrieb:
> Hat jemand noch eine idee ?

Du lässt aber schon den internen Pullup aktiviert, oder? Die LED zieht 
das ganze nicht auf 5V hoch, sondern nur auf etwa 3,5V und das ist bei 
5V am MC im 'wackeligen' Bereich, sprich, nicht ganz high und auch nicht 
low.

Dem Sensor und dem MC musst du unbedingt Abblockkondensatoren verpassen, 
wie in jeder Schaltung, die CMOS involviert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren