Dear E2E,
I bought ultrasonic-2-click board and try to use it for distance measurement application. I have connected ultrasonic-2-click board to stm32l452e using uart rx/tx + gnd/3.3V. My application engineer cooked for me basic code that communicates with pga460 chip. We do not have communication problems. The chip seems to be configurable, readable and writteable. We are using the following piezo transducer MA58MF14-7N with 58.6kHz center frequency. The piezo transducer is driven by transoformer and we are using monostatic configuration. At the end of the day we would like to sense objects below 10 cm if possible. Right now we are trying 50 cm and longer distance objects without succeed. I think the issue we have is to correctly setup pga460 registers to sense any kind of object. The problem is that we do not see i.e. any difference between situation with object present or without. Below is our basic pga460 configuration:
Configure PGA460 with Murata MA58MF14 7N sensor...
EEPROM memory dump:
Master to PGA460: 0x55 0x0b 0xf4
|------------|------------|------------|------------|------------|
|TVGAIN0 |TVGAIN1 |TVGAIN2 |TVGAIN3 |TVGAIN4 |
|0x88 |0x88 |0x88 |0xc3 |0x0c |
|------------|------------|------------|------------|------------|
|TVGAIN5 |TVGAIN6 |INIT_GAIN |FREQUENCY |DEADTIME |
|0x30 |0xc0 |0x60 |0x8f |0xa0 |
|------------|------------|------------|------------|------------|
|PULSE_P1 |PULSE_P2 |CURR_LIM_P1 |CURR_LIM_P2 |REC_LENGTH |
|0x04 |0x10 |0x55 |0x55 |0x19 |
|------------|------------|------------|------------|------------|
|FREQ_DIAG |SAT_FDIAG_TH|FVOLT_DEC |DECPL_TEMP |DSP_SCALE |
|0x33 |0xee |0x7c |0x4f |0x00 |
|------------|------------|------------|------------|------------|
|TEMP_TRIM |P1_GAIN_CTRL|P2_GAIN_CTRL| | |
|0x00 |0x00 |0x00 | | |
|------------|------------|------------|------------|------------|
and diagnostic readbacks
Master to PGA460: 0x55 0x09 0x7f 0x77
Register 0x7f value: 0xc9
Master to PGA460: 0x55 0x09 0x4c 0xaa
Register 0x4c value: 0x80
THR_CRC_ERR: no error
Master to PGA460: 0x55 0x19 0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00 0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00 0x7e
Master to PGA460: 0x55 0x0f 0xf0
Retrieved thresholds registers:
0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00 0x88 0x88 0x88 0x88 0x88 0x88 0x42 0x10 0x84 0x21 0x08 0x40 0x40 0x40 0x40 0x00
Threshold registers have program settings
Master to PGA460: 0x55 0x09 0x7f 0x77
Register 0x7f value: 0x0c
Master to PGA460: 0x55 0x09 0x4c 0xaa
Register 0x4c value: 0x80
THR_CRC_ERR: no error
right now we have either 11m or 0.01m readbacks which alternate every interval of readback i.e. every 1 sec.
Could You take a look to our registers readback and give us basic informations what could go wrong with our setup and registers set?