BJT VBE auto adjust?

On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity

Cheers

Klaus
 
On Saturday, April 18, 2020 at 4:32:45 PM UTC-4, Klaus Kragelund wrote:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity

I thought a simple FM detector was a filter followed by an AM detector. The filter passes the carrier through with different amplitude based on frequency turning it into AM modulation. I think the signal needs to be clipped to constant amplitude before the filter for best results. So a simple RC filter can be added to your detector and it's an FM receiver!

Can you easily frequency modulate your 1 MHz carrier?

--

Rick C.

- Get 1,000 miles of free Supercharging
- Tesla referral code - https://ts.la/richard11209
 
lørdag den 18. april 2020 kl. 22.32.45 UTC+2 skrev Klaus Kragelund:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity

what's the baudrate?
 
On Sunday, April 19, 2020 at 3:21:56 AM UTC+2, Lasse Langwadt Christensen wrote:
lørdag den 18. april 2020 kl. 22.32.45 UTC+2 skrev Klaus Kragelund:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity


what's the baudrate?

1Mbit/s
 
On Sunday, April 19, 2020 at 12:44:02 AM UTC+2, Ricky C wrote:
On Saturday, April 18, 2020 at 4:32:45 PM UTC-4, Klaus Kragelund wrote:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity

I thought a simple FM detector was a filter followed by an AM detector. The filter passes the carrier through with different amplitude based on frequency turning it into AM modulation. I think the signal needs to be clipped to constant amplitude before the filter for best results. So a simple RC filter can be added to your detector and it's an FM receiver!

Can you easily frequency modulate your 1 MHz carrier?

The carrier is about 10MHz, and yes, cost is no concern on the generator side
 
On 19/04/2020 9:07 am, Klaus Kragelund wrote:

Hmm? OK here are two first pass attempts. The first uses a LC tank of
moderate Q to raise the 100mV signal to more easily detectable level...



Version 4
SHEET 1 880 680
WIRE 720 -128 512 -128
WIRE 0 -112 -224 -112
WIRE -224 -96 -224 -112
WIRE 512 -96 512 -128
WIRE -224 0 -224 -16
WIRE -32 0 -224 0
WIRE 512 0 512 -16
WIRE 640 0 512 0
WIRE 80 16 -224 16
WIRE 512 16 512 0
WIRE 80 48 80 16
WIRE 720 48 720 -128
WIRE -32 64 -32 0
WIRE 32 64 -32 64
WIRE 400 64 320 64
WIRE 448 64 400 64
WIRE 320 80 320 64
WIRE 400 96 400 64
WIRE 0 112 0 -112
WIRE 32 112 0 112
WIRE 640 112 640 0
WIRE 80 160 80 128
WIRE 192 160 80 160
WIRE 320 160 320 144
WIRE 320 160 272 160
WIRE 80 176 80 160
WIRE 320 176 320 160
WIRE 0 192 0 112
WIRE 32 192 0 192
WIRE -224 208 -224 16
WIRE -32 240 -32 64
WIRE 32 240 -32 240
WIRE 320 272 320 240
WIRE 400 272 400 176
WIRE 512 272 512 112
WIRE 640 272 640 176
WIRE 720 272 720 128
WIRE 80 304 80 256
WIRE -224 336 -224 288
FLAG 80 304 0
FLAG -224 336 0
FLAG 640 272 0
FLAG 720 272 0
FLAG 320 272 0
FLAG 400 272 0
FLAG 512 272 0
FLAG 640 0 RXD
SYMBOL voltage -224 -112 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value PULSE(1 -1 0 1n 1n 1u 2u)
SYMBOL voltage -224 192 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value SINE(0 0.1 10meg)
SYMBOL sw 80 32 R0
SYMATTR InstName S1
SYMATTR Value CSW
SYMBOL sw 80 160 R0
SYMATTR InstName S2
SYMATTR Value CSW
SYMBOL voltage 720 32 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value 3.3
SYMBOL res 496 -112 R0
SYMATTR InstName R1
SYMATTR Value 22k
SYMBOL npn 448 16 R0
SYMATTR InstName Q1
SYMATTR Value 2N3904
SYMBOL cap 656 176 R180
WINDOW 0 24 56 Left 2
WINDOW 3 24 8 Left 2
SYMATTR InstName C3
SYMATTR Value 22p
SYMBOL ind 384 80 R0
SYMATTR InstName L1
SYMATTR Value 4.7Âľ
SYMATTR SpiceLine Rser=0.5
SYMBOL cap 304 80 R0
SYMATTR InstName C2
SYMATTR Value 47p
SYMBOL cap 304 176 R0
SYMATTR InstName C1
SYMATTR Value 470p
SYMBOL res 176 176 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Rsource
SYMATTR Value 50
TEXT -112 352 Left 2 !.model CSW SW(Ron=1m Roff=1G Vt=0)
TEXT -224 392 Left 2 !.tran 10u
TEXT 24 392 Left 2 ;10MHz OOK at 1Mbaud
TEXT 368 392 Left 2 ;Tuned Klaus Det SED - EPW Apr 2020


..... and this second version uses a second transistor amplifier if you
can spare the extra parts count and standby current consumption ...

Version 4
SHEET 1 1124 680
WIRE 48 -112 -176 -112
WIRE 736 -112 512 -112
WIRE 896 -112 736 -112
WIRE -176 -96 -176 -112
WIRE 512 -80 512 -112
WIRE 736 -80 736 -112
WIRE -176 0 -176 -16
WIRE 0 0 -176 0
WIRE 16 0 0 0
WIRE 128 16 -176 16
WIRE 416 32 400 32
WIRE 512 32 512 0
WIRE 512 32 496 32
WIRE 128 48 128 16
WIRE 16 64 16 0
WIRE 80 64 16 64
WIRE 512 64 512 32
WIRE 592 64 512 64
WIRE 736 64 736 0
WIRE 848 64 736 64
WIRE 848 80 848 64
WIRE 48 112 48 -112
WIRE 80 112 48 112
WIRE 512 112 512 64
WIRE 512 112 496 112
WIRE 736 112 736 64
WIRE 896 144 896 -112
WIRE 128 160 128 128
WIRE 240 160 128 160
WIRE 336 160 320 160
WIRE 400 160 400 32
WIRE 400 160 384 160
WIRE 432 160 400 160
WIRE 592 160 592 128
WIRE 656 160 592 160
WIRE 672 160 656 160
WIRE 128 176 128 160
WIRE 48 192 48 112
WIRE 80 192 48 192
WIRE 656 192 656 160
WIRE -176 208 -176 16
WIRE 592 208 592 160
WIRE 16 240 16 64
WIRE 80 240 16 240
WIRE 128 304 128 256
WIRE 496 304 496 208
WIRE 592 304 592 272
WIRE 656 304 656 272
WIRE 736 304 736 208
WIRE 848 304 848 144
WIRE 896 304 896 224
WIRE -176 336 -176 288
FLAG 128 304 0
FLAG -176 336 0
FLAG 896 304 0
FLAG 496 304 0
FLAG 736 304 0
FLAG 848 304 0
FLAG 848 64 RXD
FLAG 0 0 RXD
FLAG 592 304 0
FLAG 656 304 0
SYMBOL voltage -176 -112 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value PULSE(1 -1 0 1n 1n 1u 2u)
SYMBOL voltage -176 192 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value SINE(0 0.1 10meg)
SYMBOL sw 128 32 R0
SYMATTR InstName S1
SYMATTR Value CSW
SYMBOL sw 128 160 R0
SYMATTR InstName S2
SYMATTR Value CSW
SYMBOL voltage 896 128 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value 3.3
SYMBOL res 720 -96 R0
SYMATTR InstName R4
SYMATTR Value 10k
SYMBOL res 512 16 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R1
SYMATTR Value 220k
SYMBOL npn 672 112 R0
SYMATTR InstName Q2
SYMATTR Value 2N3904
SYMBOL cap 400 144 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C1
SYMATTR Value 100p
SYMBOL cap 864 144 R180
WINDOW 0 24 56 Left 2
WINDOW 3 24 8 Left 2
SYMATTR InstName C3
SYMATTR Value 22p
SYMBOL res 336 144 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Rsource
SYMATTR Value 100
SYMBOL res 496 -96 R0
SYMATTR InstName R2
SYMATTR Value 2.2k
SYMBOL npn 432 112 R0
SYMATTR InstName Q1
SYMATTR Value 2N3904
SYMBOL cap 576 64 R0
SYMATTR InstName C2
SYMATTR Value 100p
SYMBOL diode 608 272 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D1
SYMATTR Value 1N914
SYMBOL res 640 176 R0
SYMATTR InstName R3
SYMATTR Value 22k
TEXT -96 352 Left 2 !.model CSW SW(Ron=1m Roff=1G Vt=0)
TEXT -192 408 Left 2 !.tran 10u
TEXT 504 408 Left 2 ;2Q Klaus Det SED - EPW Apr 2020
TEXT 88 408 Left 2 ;10MHz OOK at 1M baud


piglet
 
On 19/04/2020 9:07 am, Klaus Kragelund wrote:
On Sunday, April 19, 2020 at 3:21:56 AM UTC+2, Lasse Langwadt Christensen wrote:
lørdag den 18. april 2020 kl. 22.32.45 UTC+2 skrev Klaus Kragelund:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity


what's the baudrate?

1Mbit/s

1Mbit modulation OOK on a 10MHz carrier is only a 10:1 ratio which seems
pretty tough - can the data rate be lower?

piglet
 
On 19.4.20 11:07, Klaus Kragelund wrote:
On Sunday, April 19, 2020 at 3:21:56 AM UTC+2, Lasse Langwadt Christensen wrote:
lørdag den 18. april 2020 kl. 22.32.45 UTC+2 skrev Klaus Kragelund:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity


what's the baudrate?

1Mbit/s

Are you running a radio connection or cable?

On cable, I'd recommend trying to use a Manchester coding scheme
and send the baseband as is.

--

-TV
 
On Sunday, April 19, 2020 at 6:34:39 PM UTC+2, Tauno Voipio wrote:
On 19.4.20 11:07, Klaus Kragelund wrote:
On Sunday, April 19, 2020 at 3:21:56 AM UTC+2, Lasse Langwadt Christensen wrote:
lørdag den 18. april 2020 kl. 22.32.45 UTC+2 skrev Klaus Kragelund:
On Saturday, April 18, 2020 at 8:23:07 PM UTC+2, Tauno Voipio wrote:
On 18.4.20 20:17, Klaus Kragelund wrote:
On Thursday, April 16, 2020 at 5:56:42 PM UTC+2, jla...@highlandsniptechnology.com wrote:
On Thu, 16 Apr 2020 03:42:11 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

On Thursday, April 16, 2020 at 4:41:28 AM UTC+2, jla...@highlandsniptechnology.com wrote:
On Wed, 15 Apr 2020 15:24:19 -0700 (PDT), Klaus Kragelund
klauskvik@hotmail.com> wrote:

Hi

So, I have this small detector circuit, where I need to convert a low voltage (1Vpeak) sine wave into a digital signal

I do that by feeding it into the base of a BC847, with a resistor to 5V from the collector. The signal is 1MHz, so I have added a baker clamp schotkky to avoid the BJT storage time

It works fine

I would like to have it work down at 100mVpeak instead

So I capacitive couple the signal and add a bias network at the base to keep it biased just below the point where the BJT knee kicks in (600mV)

That also works fine - but the VBE voltage shifts a lot with temperature, 2mV/K

So I was thinking some kind of auto adjust to adjust the bias according to the actual VBE knee (maybe check the digital side, if no signal, then I need to shift the bias up, and if it is clamped to GND, I need to shift the bias down)

Anyone done something like this?

(I am cost driven, so I cannot just use a fast comparator, which would be the easy solution)

Cheers

Klaus

Sounds risky. You could add some gain ahead of the detector for a few
cents more.

This is pleasingly weird:

https://www.dropbox.com/s/akcwlbg744fnds4/Detector_4.jpg?raw=1

(hope the pic works. Dropbox has again chosen to change everything
just to annoy their paying customers.)


It works fine. (Dropbox has a funny way to annoy their customers)

I am working on your idea, needs some more work. Will post back if it works

100 mV peak, 200 p-p, should work with healthy margins. Run Q1
saturated with a forced beta around 40 maybe. I've spiced that in the
past and it works.


I used forced beta at 30, and tried different values, but could not get it to work


Can your digital thing catch moderate duty cycle things? If so,
eliminate Q2.


It's a UART input on a micro, so it needs pretty accurate timing

Cheers

Klaus

Oh, you must be modulating serial data on a carrier. I think my
circuit will work for that if the carrier/baud ratio is reasonably
high.


Yes, correct. I am modulating a carrier with a UART TX signal. Then trying to pick it up at the other end with a sort of a AM modulation scheme. I have a cap on the output of the last BJT emitter, with a pull-up, so that I have a hold function when the NPN is turned on a regular intervals

Cheers

Klaus


AM is not a good idea for digital transmission. It was understood
in radio transmissions decades ago and moved to FSK.

It is easy to detect the onset of the AM pulse, but the absence
of the pulse (or low level) is difficult to relaibly detect.

We have very little resources in the micro, so a FSK decoder is not feasable. In HW it would also require a mixer and oscillator

I guess you could also do it with a goertsel algoritm, but that takes many cycles to respond. A lock in could also work, but again takes additional complexity


what's the baudrate?

1Mbit/s


Are you running a radio connection or cable?

On cable, I'd recommend trying to use a Manchester coding scheme
and send the baseband as is.

--

I am on a radio connection, so not really possible to operate directly at the baseband

Cheers

Klaus
 
On Sunday, April 19, 2020 at 12:16:40 PM UTC+2, piglet wrote:
On 19/04/2020 9:07 am, Klaus Kragelund wrote:

1Mbit/s


Hmm? OK here are two first pass attempts. The first uses a LC tank of
moderate Q to raise the 100mV signal to more easily detectable level...



Version 4
SHEET 1 880 680
WIRE 720 -128 512 -128
WIRE 0 -112 -224 -112
WIRE -224 -96 -224 -112
WIRE 512 -96 512 -128
WIRE -224 0 -224 -16
WIRE -32 0 -224 0
WIRE 512 0 512 -16
WIRE 640 0 512 0
WIRE 80 16 -224 16
WIRE 512 16 512 0
WIRE 80 48 80 16
WIRE 720 48 720 -128
WIRE -32 64 -32 0
WIRE 32 64 -32 64
WIRE 400 64 320 64
WIRE 448 64 400 64
WIRE 320 80 320 64
WIRE 400 96 400 64
WIRE 0 112 0 -112
WIRE 32 112 0 112
WIRE 640 112 640 0
WIRE 80 160 80 128
WIRE 192 160 80 160
WIRE 320 160 320 144
WIRE 320 160 272 160
WIRE 80 176 80 160
WIRE 320 176 320 160
WIRE 0 192 0 112
WIRE 32 192 0 192
WIRE -224 208 -224 16
WIRE -32 240 -32 64
WIRE 32 240 -32 240
WIRE 320 272 320 240
WIRE 400 272 400 176
WIRE 512 272 512 112
WIRE 640 272 640 176
WIRE 720 272 720 128
WIRE 80 304 80 256
WIRE -224 336 -224 288
FLAG 80 304 0
FLAG -224 336 0
FLAG 640 272 0
FLAG 720 272 0
FLAG 320 272 0
FLAG 400 272 0
FLAG 512 272 0
FLAG 640 0 RXD
SYMBOL voltage -224 -112 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value PULSE(1 -1 0 1n 1n 1u 2u)
SYMBOL voltage -224 192 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value SINE(0 0.1 10meg)
SYMBOL sw 80 32 R0
SYMATTR InstName S1
SYMATTR Value CSW
SYMBOL sw 80 160 R0
SYMATTR InstName S2
SYMATTR Value CSW
SYMBOL voltage 720 32 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value 3.3
SYMBOL res 496 -112 R0
SYMATTR InstName R1
SYMATTR Value 22k
SYMBOL npn 448 16 R0
SYMATTR InstName Q1
SYMATTR Value 2N3904
SYMBOL cap 656 176 R180
WINDOW 0 24 56 Left 2
WINDOW 3 24 8 Left 2
SYMATTR InstName C3
SYMATTR Value 22p
SYMBOL ind 384 80 R0
SYMATTR InstName L1
SYMATTR Value 4.7Âľ
SYMATTR SpiceLine Rser=0.5
SYMBOL cap 304 80 R0
SYMATTR InstName C2
SYMATTR Value 47p
SYMBOL cap 304 176 R0
SYMATTR InstName C1
SYMATTR Value 470p
SYMBOL res 176 176 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Rsource
SYMATTR Value 50
TEXT -112 352 Left 2 !.model CSW SW(Ron=1m Roff=1G Vt=0)
TEXT -224 392 Left 2 !.tran 10u
TEXT 24 392 Left 2 ;10MHz OOK at 1Mbaud
TEXT 368 392 Left 2 ;Tuned Klaus Det SED - EPW Apr 2020


.... and this second version uses a second transistor amplifier if you
can spare the extra parts count and standby current consumption ...

Version 4
SHEET 1 1124 680
WIRE 48 -112 -176 -112
WIRE 736 -112 512 -112
WIRE 896 -112 736 -112
WIRE -176 -96 -176 -112
WIRE 512 -80 512 -112
WIRE 736 -80 736 -112
WIRE -176 0 -176 -16
WIRE 0 0 -176 0
WIRE 16 0 0 0
WIRE 128 16 -176 16
WIRE 416 32 400 32
WIRE 512 32 512 0
WIRE 512 32 496 32
WIRE 128 48 128 16
WIRE 16 64 16 0
WIRE 80 64 16 64
WIRE 512 64 512 32
WIRE 592 64 512 64
WIRE 736 64 736 0
WIRE 848 64 736 64
WIRE 848 80 848 64
WIRE 48 112 48 -112
WIRE 80 112 48 112
WIRE 512 112 512 64
WIRE 512 112 496 112
WIRE 736 112 736 64
WIRE 896 144 896 -112
WIRE 128 160 128 128
WIRE 240 160 128 160
WIRE 336 160 320 160
WIRE 400 160 400 32
WIRE 400 160 384 160
WIRE 432 160 400 160
WIRE 592 160 592 128
WIRE 656 160 592 160
WIRE 672 160 656 160
WIRE 128 176 128 160
WIRE 48 192 48 112
WIRE 80 192 48 192
WIRE 656 192 656 160
WIRE -176 208 -176 16
WIRE 592 208 592 160
WIRE 16 240 16 64
WIRE 80 240 16 240
WIRE 128 304 128 256
WIRE 496 304 496 208
WIRE 592 304 592 272
WIRE 656 304 656 272
WIRE 736 304 736 208
WIRE 848 304 848 144
WIRE 896 304 896 224
WIRE -176 336 -176 288
FLAG 128 304 0
FLAG -176 336 0
FLAG 896 304 0
FLAG 496 304 0
FLAG 736 304 0
FLAG 848 304 0
FLAG 848 64 RXD
FLAG 0 0 RXD
FLAG 592 304 0
FLAG 656 304 0
SYMBOL voltage -176 -112 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value PULSE(1 -1 0 1n 1n 1u 2u)
SYMBOL voltage -176 192 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value SINE(0 0.1 10meg)
SYMBOL sw 128 32 R0
SYMATTR InstName S1
SYMATTR Value CSW
SYMBOL sw 128 160 R0
SYMATTR InstName S2
SYMATTR Value CSW
SYMBOL voltage 896 128 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value 3.3
SYMBOL res 720 -96 R0
SYMATTR InstName R4
SYMATTR Value 10k
SYMBOL res 512 16 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R1
SYMATTR Value 220k
SYMBOL npn 672 112 R0
SYMATTR InstName Q2
SYMATTR Value 2N3904
SYMBOL cap 400 144 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C1
SYMATTR Value 100p
SYMBOL cap 864 144 R180
WINDOW 0 24 56 Left 2
WINDOW 3 24 8 Left 2
SYMATTR InstName C3
SYMATTR Value 22p
SYMBOL res 336 144 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Rsource
SYMATTR Value 100
SYMBOL res 496 -96 R0
SYMATTR InstName R2
SYMATTR Value 2.2k
SYMBOL npn 432 112 R0
SYMATTR InstName Q1
SYMATTR Value 2N3904
SYMBOL cap 576 64 R0
SYMATTR InstName C2
SYMATTR Value 100p
SYMBOL diode 608 272 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D1
SYMATTR Value 1N914
SYMBOL res 640 176 R0
SYMATTR InstName R3
SYMATTR Value 22k
TEXT -96 352 Left 2 !.model CSW SW(Ron=1m Roff=1G Vt=0)
TEXT -192 408 Left 2 !.tran 10u
TEXT 504 408 Left 2 ;2Q Klaus Det SED - EPW Apr 2020
TEXT 88 408 Left 2 ;10MHz OOK at 1M baud


Very nice indeed. That last one has what I need, and not expensive at all, so I will go deeper into that one. Thanks a lot :)
 

Welcome to EDABoard.com

Sponsor

Back
Top