Sounds good, it will be interesting to see what you can squeeze out of that chip.
Announcement
Collapse
No announcement yet.
PI CHIP
Collapse
X
-
v2.0 chip now operational + descrim pulse control
Update .... I have dumped the PWM SAT output and instead there is now a secondary TX PWM called the DESCRIM output. I have no idea why I did this .... but I am sure it will come in useful. There is an additional menu item on the control menu. The DESCRIM value may be adjusted by entering >C1234 where 1234 is the value of the DESCRIM pulse.
updated menu screen shown below .... updated schematic to follow ....
moodz.
If you want a programmed chip they are $10 AUD each + postage .... I only have a dozen or so and these are bleeding edge .... so caveat emptor.
Comment
-
Nice works moodz
You might have covered this but I wonder if you could explain some more about the function of some of the pins ?.
Apart from the TX and the INV I have no idea what the other PWM outputs are for ?. Also I see the ADC input but what are sample 1 and 2 for, Just a output of the sampling "pulse" ?
Comment
-
Originally posted by maca404 View PostNice works moodz
You might have covered this but I wonder if you could explain some more about the function of some of the pins ?.
Apart from the TX and the INV I have no idea what the other PWM outputs are for ?. Also I see the ADC input but what are sample 1 and 2 for, Just a output of the sampling "pulse" ?
PWM1 is the main TX pulse. You can set the frequency and duty cycle ( ie ON time ) using the A and B command at the serial menu.
eg A7370 sets a frequency of 2.000 Khz ( 500 us ) ( 66 ns steps )
B7370 sets an ontime of 250 us ( 33 ns steps )
The TX-INV is an inverted version of the TX signal ... gives you versatility in MOSFET drivers / switching.
PWM2 is the DISC TX pulse .... this is for discriminate .... it runs at the same frequency as the main ( PWM1 ) so you dont need to set the frequency but you can set the duty cycle via the C command eg C4000 sets an ON time of 135.685 us ( 33 ns steps ).
The DISC pulse is an "alternative" or "extended" or "restricted" pulse .... if you see how detectors like the CHANCE work you may find a use for this signal ... this is an option I added for experimenters like me ... it is not required for simple PI detectors.
PWM3 is the target response signal after processing inside the chip. This PWM runs at the TX rate frequency however the duty cycle is related to the target signal. If you run this signal through a simple RC low pass filter ( say 20 Hz cutoff ) you will get a DC value that is nominally 2.5 volts ... a target difference from the internal SAT level will vary this signal +/- from 2.5 volts down to 0 volts or up to 5 volts. Thus by connecting to analogue meter and a fixed 2.5 volt bias .... you get an analogue indication of target strength. This level could be used for other things like AGC for an front end amp etc. ... you dont need this signal for a basic AUDIO only detector.
There are two pulse signals 1 and 2 ... these are ouput signals. You can set the ON time and OFF time using the E F G and H commands. eg E2500 169.607 us ON time for pulse 1.
The ON and OFF times are relative to the start of the TX pulse .... ie if you want to sample at 10 us after TX off and your TX on time was set to 50 us then the ON time for pulse one must be set to 60 us. If sample pulse one must be on for 10 us then the OFF time is set to 70 us. ( ie 70 - 60 = 10 us ON time for pulse starting 60 us after TX on ). You can set the on/off time for the two sample pulses anywhere during the TX cycle.
There actually is a small fixed offset error in the pulse relative offset ( due to interrupt latency in CPU ) ... but the difference ( or duration time ) is very accurate.
It is very easy using the main TX ( PWM1 ) and sample 1 and sample 2 to set up the timing for a surfPI or hammerhead ... you just type in the settings and save to eeprom.
The analogue IN can accept a voltage from 0 to 5 volts and is approximately 17 bit accurate ( yes 17 real bits ..... ) The analogue input expects to see a signal that consists of a relatively stable base voltage that varies as targets are passed over ... so it is a motion detector. However if the SATLOCK button is pressed ( 0 volts on button pin ) the SAT will no longer try to catch up with the target signal ... so you can hover over the target without it being SATed out so to speak.
The audio out is a type of digital voltage to frequency converter .... the frequency is dependant on the target signal. A larger target makes a larger frequency shift. The M option on the menu sets the lower and upper frequency range with one setting ... neat huh ? ( 0 is the lowest audio frequency BTW )
The ZERO button "snap locks" the SAT threshold to the current target signal ... This makes the current SAT level the same as the target level ... ie the difference is zero so no target indication. This is useful if a large target / ground change suddenly swamps the detector SAT ( cannot keep up ) and for finding gold coins balanced on cannon balls. ( true ... if the ZERO button is released the detector will effectively only detect the difference ... cannon ball only = no signal ... cannon ball + coin = yes signal ).
I think that is the main pins for now ...
cheers
moodz.
Comment
-
UNIVERSAL PI CHIP v2.2 UNIPI updated schematic
Added LCD display ....
The rotary QEI will select the menu item .. push click ... then rotate to change value ... push click to set value.
Dropped the complementary PWM outputs to free up three pins ... redundant in most designs anyway and I can change the polarity of the TX pulse using code anyway if required ...
Code tweaking in progress ( menu configuration )
Configuration via LCD or serial port ( or both if you like)
Now we are using every pin on the chip ...
moodz.
Comment
-
Originally posted by WM6 View PostThanks moodz,
please, post here last version of other stages (frontend ...) too.
wont be long.
cheers from moodz.
Comment
-
Originally posted by moodz View PostPreviously I have worked from frontend to back end ... this time I am working back to front (end) .... I will tweak code bit more then publish rest when tested ... patience please.
wont be long.
cheers from moodz.
Only reminder, because I am not quite well to put togheter puzzle pieces from different forums and posts.
Best wishess
Comment
-
quick update
Originally posted by WM6 View PostOk Moodz, I dont want to push you or disturb your great work.
Only reminder, because I am not quite well to put togheter puzzle pieces from different forums and posts.
Best wishess
The Rotary Encoder code is now debugged and working.
The LCD code is now operational and under debugging. ( tip ....dont use Powertip 1602-H LCD displays ... the contrast control is non standard .. spent lots of time looking at blank display thinking code was not working when it was the contrast all the time).
As soon as the LCD checks are complete .. hopefully tonite ... the LCD menu will go in ... easy street now.
moodz.
Comment
-
update images
....bread boarded the last published PI chip circuit and all works ....except ... the contrast on the LCD wants a -volts bias .... buried away in specs so display is very faint. Need a negative bias generator to provide this or use other type of LCD ... this was a Powertip 1602-H.
Schematics OK ....
rotary OK ...
LCD OK ( add -ve bias for contrast )
Menu code under construction ... should be OK.
moodz.
Comment
-
UNIVERSAL PI CHIP v2.2 UNIPI update.
..fixed issue with negative ve required by LCD. Added two caps and two diodes to secondary PWM TX output and voila .... LCD works OK ...
Menu is now working and fully operational.
Turning the rotary switch changes from TX Freq, Tx pulse, sample pulse 1 ON , Off etc etc.
Pushing the rotary switch allows the currently displayed value to be changed.
Pushing the rotary swith again saves the updated value to EEPROM.
The serial menu is simultaneously available and independant of the LCD.
I have uploaded a few menu shots ... there are more ... all operational ( can be selected, changed and saved ).
moodz
Comment
Comment