Simple SSB Rig: Part 2 - VFO, Arduino Code, Si5351 Calibration

  Рет қаралды 22,142

Charlie Morris ZL2CTM

Charlie Morris ZL2CTM

Күн бұрын

Пікірлер: 82
@acestudioscouk-Ace-G0ACE
@acestudioscouk-Ace-G0ACE 3 жыл бұрын
Wow, quick progress! Thanks for the detailed explanation and with the algebra which was never my strong point at school...and that was 50years ago!
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Glad it was helpful!
@genericdynamics6618
@genericdynamics6618 3 жыл бұрын
This is basically what i have been looking for months. Thank god i subscribed to the channel a while ago so this could pop up in my subs section! 😂
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Excellent. I'm pleased it was useful Ivan.
@mariaviklund4546
@mariaviklund4546 5 ай бұрын
Wow, this is amazing. As someone previously said, this is something i have been looking for. Awesome job Sir.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 4 ай бұрын
Excellent. I'm really pleased it was useful.
@khalidtarawneh2289
@khalidtarawneh2289 3 жыл бұрын
Can't thank you enough for all the detail and info cheers
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
My pleasure Khalid.
@khalidtarawneh2289
@khalidtarawneh2289 3 жыл бұрын
@@CharlieMorrisZL2CTM Built the VFO and all seems going well, except that when pin 5 is grounded i get a Continuous flicker between USB/LSB and TX/RX, Do you think adding some resistance with the toggle switch might help ? I will be building this as a receiver only hence I'm only using Arduino regular power without the 13.8v source and Voltage divider Cheers n 73's
@curtstacy779
@curtstacy779 3 жыл бұрын
Looking good Charlie, Thank you for the extra math explanation. I can always use that. I have received my first HF signals with my DC receiver over the last few weeks on 80, 40, and 20 meters. it feels good, I'm coming up to speed :) of course not without a couple of bugs but I'll get those ironed out. I can't thank you enough for all your help, it would have taken ages to get this far on my own.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
That's great news Curt. Well done indeed!
@rontaylor9026
@rontaylor9026 3 жыл бұрын
Thanks Charlie. That fixed that. Now I have an issue that the display is only showing the leading digit of each part of the display. So I have the “3” of the frequency, the “1” of the 1000 and the “H” of the Hz. Same is true on the bottom line. Only have U, R and Z showing. They are all where they should be and they change with appropriate inputs on mode, PTT, Radix etc. This is happening on two different displays. I loaded a test sketch for the display and it works fine with that sketch. I am seeing the appropriate frequencies coming out of the Si5351. Thoughts? Thanks Ron
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Ron. I have never seen that before. All I can suggest is copy the syntax from the example sketch into the VFO sketch. Other than that, I haven't a clue sorry. Charlie
@WhatDennisDoes
@WhatDennisDoes 3 жыл бұрын
Just found your channel and I'm really loving your methodology and practical approach! I'm starting on my first transceiver now. Question: I read that the Siglent has a "high precision frequency counter" built in. Could you have used that?
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Thanks. From what I can see the freq counter goes down to 10s Hz, whereas I need 1s Hz.
@MiscDotGeek
@MiscDotGeek 3 жыл бұрын
I really appreciate this video. I am going to be rebuilding the crystal filter on my bitx40 and putting on a different frequency and so I'm very curious as to how you decide which frequencies to use for your bfo. I was going to use a sketch that would allow me to tune the bfo separately from the vfo so that I could decide which frequencies to use for the upper and lower sideband and then hardcode those in. But I am really curious how you're going to do it!
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
That's a great approach which I use often. Start with something close to (Bandwidth/2) + 300 Hz, then tweak it from there.
@edbeckerich3737
@edbeckerich3737 Жыл бұрын
On your sig gen you set it up for 1.4 volts, was that measured to 50 ohms? Does the SI5351 put out at least 1.4v into 50 ohms? Or does anyone really send 7dbm to thier mixers??
@R2AUK
@R2AUK 3 жыл бұрын
Thanks for the video! What kind of encoder is that (seems to be an optical one) and can such a knob be bought somewhere? 73s de R2AUK
@R2AUK
@R2AUK 3 жыл бұрын
Opps, it was in the Part 1 which I missed. Sorry for this.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
All good. I suspect it is an optical one. Very smooth with no indents. As for the knob, it's off an old rig.
@rontaylor9026
@rontaylor9026 3 жыл бұрын
Hi Charlie, I really appreciate all your good work here and your willingness to share it. I'm trying to duplicate the VFO in the Simple SSB rig. The firmware won't compile and returns "no matching function for call to 'LiquidCrystal_I2::begin()'. According to the literature I might have the wrong library chosen. Can you tell me what library you used for the LCD and/or if there is some other issue here? Thanks.. Ron
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Ron. Libraries are always a problems. I've taken a look at mine as there is no way to tell where it came from. What I suggest you do is open the example sketch that comes with your library and simply copy across the syntax into the VFO sketch. I do that all the time when I have problems here.
@rontaylor9026
@rontaylor9026 3 жыл бұрын
Thanks Charlie. That fixed that. Now I have an issue that the display is only showing the leading digit of each part of the display. So I have the “3” of the frequency, the “1” of the 1000 and the “H” of the Hz. Same is true on the bottom line. Only have U, R and Z showing. They are all where they should be and they change with appropriate inputs on mode, PTT, Radix etc. This is happening on two different displays. Also seeing the appropriate frequencies coming out of the Si5351. Thoughts? Thanks Ron
@M0XFXUK
@M0XFXUK 3 жыл бұрын
Hi Charlie The Si5351 looks a really interesting device. I am in the middle of modifying an old 1980s multimode CB to 1.5MHz to 500Mhz coverage using the Analog Devices AD831 active mixer and the AD9910 as a DDS VFO controlled by Arduino. I am thinking of using the Si5351 to replace the SSB carrier oscillator I would be interested in your thoughts and how it performs at around 10MHz? BTW I really enjoy your videos Best Regards M0XFX
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi John. I have had not problems using the Si5351 at around 20MHz for high side injection. That was using a simple DBM. I would have thought you'd be fine. They are certainly cheap enough to just give it a go.
@colincolin30
@colincolin30 3 жыл бұрын
Hi Charlie, I noticed something a bit different on this build compared to other projects you have built. What is the reasoning for having the (2) 470 ohm and (2) .01 uf caps on the encoder? I have managed to get the "sketch" to compile, it might seem a little thing to you, but believe its a major achievement for me getting it to compile. Still in a steep learning curve when comes to Arduino sketches. About to power up the VFO for the first time. 73 vk2jcc
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Colin. I was very kindly given some rotary encoders, which require the 470 ohm resistors. Great news about the VFO. I know compiling can be difficult, especially if any of the libraries are different. Keep it up!
@stephaneshm3043
@stephaneshm3043 3 жыл бұрын
hello, thanks for your video, where can i found the code ? i want to try your project, i am a new HAm radio ( F4IRX ) , thanks again.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Stephane. Everything goes up on the blog at: zl2ctm.blogspot.com/
@Superfungus0
@Superfungus0 3 жыл бұрын
Why not calibrate using your oscilloscope? I'm thinking either use two channels or feed the external timebase of your scope with your sig-gen (presuming you trust the sig-gen timebase over the 'scopes).
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
I have used the oscilloscope in the past using the X-Y mode. The freq counter does not do low enough, and I find the beat freq method works for me.
@robertcullipher3492
@robertcullipher3492 3 жыл бұрын
I would also continue that some don’t have oscilloscopes or signal generators. An alternative is using a receiver near a time signal (WWV 10 MHz for example). This gives the possibility of doing a zero beat without having pricey equipment, and the only error would come from trusting the stability of the time signal near your country.
@Superfungus0
@Superfungus0 3 жыл бұрын
@@CharlieMorrisZL2CTM I see, thanks for the clarification. I was wondering if there was some special advantage to this beat frequency method I wasn't considering, but if it's just your preferred method because you like it that's certainly valid too! Really enjoying the project-log nature of your channel by the way, keep it up!
@docfoot316
@docfoot316 3 жыл бұрын
New years greetings Charlie ,well explained great job helps alot and like wise maths wasn't my strong point at school ,brought up with old math's arithmetic then second year at high school new math's was introduced ,confused me hi hi. Many thanks for sharing.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Happy New Year too Dave. Thanks for the feedback. I personally want to try and understand the underlying logic/math. It certainly helps me.
@aneespi4684
@aneespi4684 3 жыл бұрын
Charlie, I have a doubt.Are you using BFO signal from si5351? If so I hope it is using for LSB and USB with IF shift programmed . Good video
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Anees, Yes, I normally program the BFO shift into the code (see my other rigs). On this occasion I decided to be different and make it manual.
@ambroribo6079
@ambroribo6079 3 жыл бұрын
VERY GOOD video Charlie ! Congratulations. I am not familiary with those you tube video: I would like to ask HOW TO download the code for the Arduino please ? Have you already available any schematics diagram and part list for the receiver ? I am very interested. Thanks for all.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Ambro. Everything shown on the video is available on the blog at: zl2ctm.blogspot.com/
@AmateursRadioYi1hxh
@AmateursRadioYi1hxh 2 жыл бұрын
Nice video
@diddleize
@diddleize 3 жыл бұрын
To protect the Arduino from over voltage on 13.8V line, suggest to have resistive TX divider to output 3-4V not 5V... 3-4V is well above the HIGH threshold of the digital inputs
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Antony. I had thought of that, but dismissed it as the VCC line will have a voltage regulator. I might look to redesign it for-say-4 VDC
@RA4FOC
@RA4FOC 3 жыл бұрын
good project. Can you give a direct link to the synthesizer schematic?
@nodzie1
@nodzie1 3 жыл бұрын
Hi Charlie, what is the actual model arduino / chipset etc that you are using here? Cheers Chris VK3TUB
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi Chris. The original was a stock standard Uno with a Mega 328P and the second a Arduino Mega board. The display was a simple 16x2 with an I2C interface. Nothing special.
@RICKY_TECNO_RADIO
@RICKY_TECNO_RADIO 2 жыл бұрын
Excelent! L7805 regulator is more simple! Wright?
@mars667
@mars667 3 жыл бұрын
Hi Charlie. Excellent videos as always, thank you. Could add any comments about the effectiveness of the rotary encoder in this and other rigs that you have built? I see that your code for "decoding" the encoder is very simple and doesn't include other more complex things seen in other rigs like interrupts, quadrature state machines, debouncing, etc. But yet it appears to be very smooth. Do you attribute that to the high-quality encoder that you are using? Or are there other tricks? I have built several rigs using commodity encoders (very similar to the cheap one you showed in part I) and I never get a really smooth response. My tuning sometimes goes the wrong direction (backlash?) for a click or two during tuning, or steps unevenly. It's still usable, but not great. I'm sure it's a software thing. I'd be interested in any hints you can share. 73s and thanks!!
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi. You are experiencing exactly the same as I had when I first started using rotary encoders. In the end I settled on the code that features in all of the radio up until this one (check out zl2ctm.blogspot.com/). That code has been rock solid for me - nice and smooth, no jumps etc. I suggest you give that a go as I think that will solve your problems. The advantage too is that it is not a library. In this radio I am using a rotary encoder and associated code that was very generously given to me. That code sits in the main loop and not in an interrupt called function. Given that the demands on the microprocessor (Arduino) are minimal, I have elected to leave it there for now. I might look to move that to an interrupt called function as a separate effort. I hope this helps. Charlie
@nevmarr
@nevmarr 3 жыл бұрын
@@CharlieMorrisZL2CTM Charlie, a comment from my school of fun & games with optical encoders ... when I went from the pooling method to the interrupt method the speed/responsiveness increased massively. On my setup the step size is 100Hz and I can tune all of 80 in a matter of moments. Have a go and you may find the same. I use the STM32 series which are a bit faster than the Nano. Cheers.
@mars667
@mars667 3 жыл бұрын
@@CharlieMorrisZL2CTM Thanks much Charlie, I'll give that one a look.
@stephenfine8671
@stephenfine8671 3 жыл бұрын
Do you know if the sketck will work with a cheap 'clicky' three pin encoder. Thanks
@brianharper9798
@brianharper9798 3 жыл бұрын
For calibration of the si5351 I have an old I think Neo6 gps module I can set the output to 1Mhz, on the new ones you can set them to 10Mhz. I changed the Si code to 1Mhz and lock the top trace of my scope to that. And when the 2nd trace connected to the Si module stops moving using the calibration code I know I'm good to go.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
That's good to know thanks Brian, I'll remember that. I have found this sig gen to be very good and certainly accurate enough for my needs here. If I didn't have that then the GPS method would be an excellent option.
@newmonengineering
@newmonengineering 3 жыл бұрын
Definitely a cool build!!
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Thanks for that. The aim is for simplicity, hopefully.
@Chris-ZL
@Chris-ZL 3 жыл бұрын
you make it look so easy!
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Not sure about that Chris. I just wish I could remember all that I have read!
@fredriko.zachrisson9711
@fredriko.zachrisson9711 3 жыл бұрын
What is that rotary encoder wheel you are using?
@daviddickey9832
@daviddickey9832 3 жыл бұрын
Such good info! Thanks so much!
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
You are so welcome David. Really pleased it was useful.
@ernestb.2377
@ernestb.2377 Жыл бұрын
Maybe an easier way (suggestion) on the math regarding the voltage divider. Let: R2=4k7 --> I=5V/4k7=1.064mA. R1=(13.8V-5V)/1.064mA= ~8k3.
@joewoodchuck3824
@joewoodchuck3824 3 жыл бұрын
Nice project. I suppose I should learn something about arduino. I'm all in for analog circuits, but never explored the digital world very much.
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Give it a go Joe. It won't cost you much.
@joewoodchuck3824
@joewoodchuck3824 3 жыл бұрын
@@CharlieMorrisZL2CTM I don't even know where to begin, but I should start by reading I guess. I tried my hand at simple programming a few times but I was baffled each time.
@missangas
@missangas 2 жыл бұрын
Dear Charlie I tried to use your code but gave me lots of errors due to the fact I guess its not an updated coding do you have an updated code I can use to do this project ? I cant code at all... Thanks for your attention Big Hugs Jose CT2KFQ
@HeathLedgersChemist
@HeathLedgersChemist 3 жыл бұрын
I'm confused by what you mean when you say 'tin Megahertz'.
@diddleize
@diddleize 3 жыл бұрын
2nd comment. Have to adjust band limits depending on LSB or USB. Ty cannot TX USB at 3.9MHz or you are out of band... (assuming 3.9 is your local upper limit)
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Hi again. In the past I have had the L/USB auto select in software depending on the band in use. In this particular case I have given the operator a choice.
@dadangsudrajat9406
@dadangsudrajat9406 2 жыл бұрын
How to use Callibration IF...? Thank you from YG1AQH. From West Java Indonesia...
@rudysr
@rudysr 3 жыл бұрын
Thanks for your excellent project. I can't compile the code, it gives me an error. // Initialize the display lcd.begin(); In function 'void setup()': error: no matching function for call to 'LiquidCrystal_I2C::begin()' lcd.begin(); \Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t) void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS ); \Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided exit status 1 no matching function for call to 'LiquidCrystal_I2C::begin()' Forgive my inexperience in programming, Thanks for your project
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Rudy. Look at the example code that comes with your LCD library and port over the syntax.
@rudysr
@rudysr 3 жыл бұрын
@@CharlieMorrisZL2CTM thank you very much friend. I have already managed to activate it. Thanks for your time and for sharing your projects. My congratulations, we continue to communicate. 73
@fredriko.zachrisson9711
@fredriko.zachrisson9711 3 жыл бұрын
4:31 Math on the Voltage divider 8:11 Code
@louisbanaszak3125
@louisbanaszak3125 2 жыл бұрын
if you are having difficulty with line lcd.begin(); change to lcd,init(); g0psz
@luizhenriquemialchi435
@luizhenriquemialchi435 3 жыл бұрын
Whitis is the steck code for download ?
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
Check out: zl2ctm.blogspot.com/
@luizhenriquemialchi435
@luizhenriquemialchi435 3 жыл бұрын
@@CharlieMorrisZL2CTM Very good!! Tank you very much!!!!
@bfx8185
@bfx8185 3 жыл бұрын
Let's build preamp for your computer microphone ;)
@CharlieMorrisZL2CTM
@CharlieMorrisZL2CTM 3 жыл бұрын
It works fine, except for the Xbox recording software. A real pain.
@bfx8185
@bfx8185 3 жыл бұрын
@@CharlieMorrisZL2CTM Try to increase sensitivity in the audio settings.
@rambasu7502
@rambasu7502 11 ай бұрын
Code out of focus.
Simple SSB Rig: Part 3 - Crystal Filter
12:14
Charlie Morris ZL2CTM
Рет қаралды 12 М.
Simple SSB Rig: Part 1 - Thoughts and Ideas
20:16
Charlie Morris ZL2CTM
Рет қаралды 8 М.
Un coup venu de l’espace 😂😂😂
00:19
Nicocapone
Рет қаралды 11 МЛН
1 сквиш тебе или 2 другому? 😌 #шортс #виола
00:36
How it feels when u walk through first class
00:52
Adam W
Рет қаралды 21 МЛН
Calibrating an Si5351 VFO with Arduino Software
10:55
Super Simple Breadboard-SDR Receiver from 50 kHz to 30 MHz
14:29
Doctor Volt
Рет қаралды 29 М.
#1185 HF VFO 20kHz to 220MHz
14:13
IMSAI Guy
Рет қаралды 17 М.
EP 159 - Tristar 747 - SI5351 Crystal generator conversion .
13:04
Some si5351 Hackery and the Tayloe at 150MHz - FAIL!!
21:46
39 - Multifunction Digital VFO - Part 1: Hardware
47:39
M0NTV Homebrewing
Рет қаралды 6 М.
ESP32 CW Transmitter
5:50
NA5Y
Рет қаралды 3,2 М.
Simple SSB Rig: Part 10 - RF Power Amplifier, First On-Air Contacts
26:38
Charlie Morris ZL2CTM
Рет қаралды 5 М.
#967 Why not use a Si5351 clock generator?
18:43
IMSAI Guy
Рет қаралды 33 М.
How to Calibrate the Si5351 on the Arduino Platform
18:34
John Hawkes
Рет қаралды 5 М.
Un coup venu de l’espace 😂😂😂
00:19
Nicocapone
Рет қаралды 11 МЛН