How to connect piezo accelerometer?

I am trying to read piezo accelerometer ACH-01 data with Arduino;
I am confused with interface circuit it requires. Data sheet says it need biased power supply and provides a simple schematic with -5V/+5V supply; there is another uni-polar alternative with two op-amps;
Is there any simpler way to interface Arduino with this accelerometer?
If I connect it to Gnd, +5V and to analog ping through RC high pass filter, it shows accelerations, but only top half of acceleration wave - I vaguely understand it has something to do with that biasing.
Another thing I don't understand about it - why it requires high-pass filter?
I tried connecting it directly to gnd, +5V and analog pin to read output voltage; when untouched the output is about 0; if I give it a little knock, the output momentarily goes to 2-3 V and then goes back to zero very slow, like, for a second or so. Why?

Try connecting a resistor of about 33K between the output and ground. That should make the device perform better output go back to zero quickly.

The reason for the high pass filter is that the output will have a bias voltage of around +1V on it. You could connect the output direct to the Arduino (without the high pass filter, but with the 33K resistor in place), but you would have to allow for the bias voltage when you take the reading, and the bias voltage may vary a little with temperature. However, you would be able to read negative acceleration as well as positive acceleration.

Another way to read both positive and negative acceleration is to modify your high pass filter to add a bias of +2.5V. To do this, replace the single resistor you have between the input pin and ground by two equal resistors, one to ground and one to +5V.

PS:

  1. You can use a single-supply op-amp instead of the dual-supply one shown in the datasheet, if you bias the op-amp noninverting input to +2.5V.

  2. The 33K resistor to ground that I suggested takes the place of the 180K resistor to the negative supply shown in the datasheet.

  3. It is not difficult to generate a low-current supply of around -4V if you have a spare PWM pin on the Arduino. But you should be fine without it if you choose the op amp carefully.

dc42, thank you for the prompt response!
this is my current connection:

Resistors are 15k (left) and 150k (right), capacitor 0.33 mF
With this setup I can only see positive accelerations.
What should i change to see both negative and positives?
May be, I should connect R1 and R2 not to the Gnd, but to something like +2v from simple voltage divider?

To see negative accelerations as well, the simplest approach is to connect another 150K resistor from the Arduino pin to +5V.

PS- 15K is a bit low for the left hand resistor. You will get better sensitivity and better range for negative accelerations with 33K or 47K.

So it should be something like this?

I don't quite understand why do I need R1 at all? It's not a part of high pass filter, right?
Is it something related to high output impedance of the sensor?

Yes, that looks right. R1 is needed to provide the ground current to the FET in the transducer.

Thanks a lot for your help, dc42!
Now it really works,
so I am acquiring and storing about 28000 points/sec with Arduino Mega.