Radar Module with Open Collector / Internal Pullup vs. External

I'm trying to connect the "Hygrosens RAD-MOD"--a radar based motion detector module http://www.produktinfo.conrad.com/datenblaetter/500000-524999/502667-da-01-en-RADAR_MODUL_RAD_MOD.pdf

to the Arduino. I connected the Arduino to a 12V supply and used Vin for the radar module.

The radar module has an Open Collector output. When I connect this output with an external pullup (10K and 20K tested and working) to the Arduino (pin7) all is working. But when I connect the Radar Output directly to the Arduino and enable Arduino's internal pullup via pinMode(radarPin, INPUT_PULLUP);

there is no switching signal on the pin. Any suggestion why and how to fix it?

The internal pullup resistor is 20k to 50k for the atmega328p. You could try 33k and 47k to see what the signal is doing. I think it is possible that 30k is too high for the open collector. At 5V that is 0.17mA.

When I connect this output with an external pullup

Is this a pull up to +5V? I hope it is not to +12V as you may have damaged your arduino pin if it was. Try the internal pull up on another pin.

Hmm, I have modified the subject of the initial posting. It is an Open Collector output. As I understand, it is independent from the 12V for the module itself. But perhaps this is the reason why it is not working with internal pullups?

As I understand, it is independent from the 12V for the module itself.

Yes it is.

But perhaps this is the reason why it is not working with internal pullups?

No, the reason will be:- 1) The internal pullups could be too high a resistance - I consider this unlikely. 2) You have not turned them on correctly in the code - can you measure 5V on the input pin once you have enabled them. 3) Something wrong with your wiring meaning they were not connecting properly.

Caltoa: The internal pullup resistor is 20k to 50k for the atmega328p. You could try 33k and 47k to see what the signal is doing. I think it is possible that 30k is too high for the open collector. At 5V that is 0.17mA.

Thank you! Yes it seems this is the reason! I tried 30K as external pullup and it doesn't work also. So the too high value seems to be the reason.

Grumpy_Mike:
2) You have not turned them on correctly in the code - can you measure 5V on the input pin once you have enabled them.

Yes, I have 5V, I used this code for testing:

int radarPin = 6;
int piezoPin = 3;
int ledPin = 13;

int radarValue = 0;

void setup() {
  pinMode(radarPin, INPUT_PULLUP);
  pinMode(piezoPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  //read radar value
  int radarValue = digitalRead(radarPin);

  if (radarValue == HIGH) {
    noTone(piezoPin); 
    digitalWrite(ledPin, LOW);
  }
  else {
    tone(piezoPin, 2800); 
    digitalWrite(ledPin, HIGH);
  }  
}