Lets say we are building a bipolar pulse PI metal detector,we have two transmit pulses,one for the high side and one for the low side. Then we have two sample pulses for each half cycle,so that is four sample pulses.So we have a total of six pulses all timed from the first. So in common PI circuit you would use a clock 555 timer,and two dual monostable cd4538 ic's to get the three pulses you need,but we need three more. We dont want to duplicate that again it will take up too much room on the board. Is there a better way to get all six pulses from one chip? I dont know anything about micros yet,I guess a micro would do it. Anybody use any other ic's that would get the job done?
Announcement
Collapse
No announcement yet.
Announcement
Collapse
No announcement yet.
Clock pulse generator ic question for PI, need a better way
Collapse
X
-
I did it today,I read the designing PI circuits chapter in the book again last night.I decided this morning I would get what I need. I spent the morning looking over the 8pin and 14pin chips. I ordered the pickit3 ,5 pcs PIC12F1840, and 5 pcs PIC16F1824 which looks like a similar chip with more io pins.I ordered a zif ICSP adapter socket and cable off ebay as well. I'm guessing microchip's software will be the easy way for me to learn this stuff?Originally posted by Carl-NC View PostWhen you get beyond a simple mono-polar PI detector, it's time to invest in learning micros. You can do it with discrete logic but it quickly gets large and making anything other than minor timing tweaks is difficult.
Comment
-
The clone Pickits are barely cheaper than the Real Deal and have problems, so get Microchip if you can.
The PI projects in the book use a 12F1840 because I wanted a minimalist circuit. Also, the coding is not really a good approach, in that I used an interrupt and timer-based delays to generate the pulses. In reality, I wouldn't use this approach except maybe in a pinpointer design or a fairly basic PI. But it's a really good start to learning micros, which was the whole intent. And you can probably take it forward to bipolar pulsing, at which point you'll start wondering, "Is there a better way to do this?" And the answer is 'yes.'
Comment
-
Oh yeah I saw that coming,I spent the extra 4 dollars and got the pickit from microchip,I needed the chips anyway so it was one stop shopping. I figured if the third party zif socket doesnt work then I'm still in business,but if a third party programmer doesnt work then I'm dead in the water. I looked at the chips and looks to me like the 12F1840 is the best 8pin they offer,isnt it? With this chip is there another way of generating the pulses than what you used in the book? And by the way while I have your ear,will this chip work for the HH2 boards I bought from you?Originally posted by Carl-NC View PostThe clone Pickits are barely cheaper than the Real Deal and have problems, so get Microchip if you can.
The PI projects in the book use a 12F1840 because I wanted a minimalist circuit. Also, the coding is not really a good approach, in that I used an interrupt and timer-based delays to generate the pulses. In reality, I wouldn't use this approach except maybe in a pinpointer design or a fairly basic PI. But it's a really good start to learning micros, which was the whole intent. And you can probably take it forward to bipolar pulsing, at which point you'll start wondering, "Is there a better way to do this?" And the answer is 'yes.'
Comment
-
I know this thread is a bit old but an easy way to program those chips is with Great Cow Basic;
http://gcbasic.sourceforge.net/starting.html
It's free and creates some nice tight assembly code.
Here's a snip from my project;
#chip 18F4550,48
#config WDT=OFF, BOR = ON, DEBUG=ON, MCLRE = ON, FOSC = ECPLLIO_EC, PLLDIV = 1, CPUDIV = OSC1_PLL2, USBDIV = 2, LVP = off
'No Watchdog / Brown Out Reset On / Debug On / MCLR = Reset / External Clock for USB and CPU / 4 Mhz Osc to PLL / 48 Mhz to USB and CPU / Low Voltage Prog off so can use B5
'Setup Ports
#define TXFet PortD.0
#define Damping PortD.1
#define First PortD.2
#define Second PortD.3
#define GndBal PortD.4
#define First2 PortD.5
#define Second2 PortD.6
#define GndBal2 PortD.7
DIR PortD OUT
MakePulse:
PulseOut TXFet, 50 us '50 us Range
Wait 20 us
PulseOut First, 20 us
Wait 20 us
PulseOut Second, 20 us
Wait 250 us
GOTO MakePulse
Comment

Comment