Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
- BITX20
- Messages
Search
Mark - N7EKU
I made a few changes to the firmware which some may like, so I am posting my changes here.? Also, there is a small bug in the sideband selection code that seems also to exist in the v5 and v6 stock firmware, so you may want to change that.
Change to ubitx_v4.3_code.ino: * McNabb (N7EKU) ?*?? Change to smaller speed steps (was 50, 500, 10000) ?*?? Change to bigger trigger, s, action (was 0, 2, 4) ?*?? Fix sideband selection (frequency should have >= condition) ?*/ void doTuning(){ ? int s; ? unsigned long prev_freq; ? s = enc_read(); ? if (s != 0){ ??? prev_freq = frequency; ??? if (s > 6) ????? frequency += 1250l; ??? else if (s > 2) ????? frequency += 100l; ??? else if (s > 0) ????? frequency +=? 10l; ??? else if (s < -6) ????? frequency -= 1250l; ??? else if (s < -2) ????? frequency -= 100l; ??? else ????? frequency -= 10l; ??? if (prev_freq < 10000000l && frequency >= 10000000l) ????? isUSB = true; ???? ? ??? if (prev_freq >= 10000000l && frequency < 10000000l) ????? isUSB = false; ??? setFrequency(frequency); ??? updateDisplay(); ? } } Change to ubitx_menu.ino: //# Menu: 1 /* ?* McNabb (N7EKU) Menu 1 Change ?*?? Change title from "Band Select" to "Speed Tune" ?*?? Change step change from 0.2MHz to 0.1MHz ?*?? Reduce knob sensitivity (knob < -2 and > 2 instead of < 0 or > 0) ?*/ int menuBand(int btn){ ? int knob = 0; ? int band; ? unsigned long offset; ?// band = frequency/1000000l; ?// offset = frequency % 1000000l; ?? ? ? if (!btn){ ?? printLine2("Speed Tune??? \x7E"); ?? return; ? } ? printLine2("Speed Tune:"); ? //wait for the button menu select button to be lifted) ? while (btnDown()) ??? active_delay(50); ? active_delay(50);?? ? ? ritDisable(); ? while(!btnDown()){ ??? knob = enc_read(); ??? if (knob != 0){ ????? /* ????? if (band > 3 && knob < 0) ??????? band--; ????? if (band < 30 && knob > 0) ??????? band++; ????? if (band > 10) ??????? isUSB = true; ????? else ??????? isUSB = false; ????? setFrequency(((unsigned long)band * 1000000l) + offset); */ ????? if (knob < -2 && frequency > 3000000l) ??????? setFrequency(frequency - 100000l); ????? if (knob > 2 && frequency < 30000000l) ??????? setFrequency(frequency + 100000l); ????? if (frequency >= 10000000l) ??????? isUSB = true; ????? else ??????? isUSB = false; ????? updateDisplay(); ??? } ??? checkCAT(); ??? active_delay(20); ? } ? while(btnDown()) ??? active_delay(50); ? active_delay(50); ? ? printLine2(""); ? updateDisplay(); ? menuOn = 0; } The changes I made were mainly to tame the automatic tune speed up so it doesn't react so fast, and to also allow more fine grained tuning (10Hz) and to make the knob a bit less sensitive to small movements.? I also changed the "Band Change" menu selection to "Speed Tune" since it really doesn't change to specific bands, and I slowed the tune rate there also. With these changes, I find the auto speed up is now easy to use and I can still make small frequency adjustments.? I like the auto speed change feature so that I don't have to change the speed steps all the time, but the stock firmware settings were too fast for me :-/ The sideband selection problem I noticed when moving quickly across 10MHz the sideband changed fine, but when moving slowly at a 10Hz rate it didn't change reliably from LSB to USB and back.? With the change I made, it works fine all the time now. I can post compiled firmware in the files section here if requested. Cheers, Mark PS:? According to John/VK2ETA, both RX and TX can be improved by increasing the SI5351 clock driver power from 4ma (as in v3 code) to 8ma (as in v5 code.? Make the change in ubitx_si5351.ino if desired. |
Sidebands on uBITXv6
All,
So with all the fun with playing with the firmware on my uBITXv6, I blew away the factory calibration, and had to redo it. I used the BFO alignment aid ( what a wonderful tool! ) and my radio is receiving fine...except: 1. I tune in an LSB signal on 40M. Loud and clear. 2. Punch the "USB" button on the screen. Mode now USB. 3. NO CHANGE to the received signal! What's going on? I would expect ...the received signal to go away ( if the display shows CARRIER frequency ) or ...The received signal to turn into Donald Duck quacking ( if the Display shows the frequency actually being received ) The plot thickens: The received signal DOES go away if you nudge the tuning knob. Nudge it back to where it was, and the received signal is still gone. Change to the correct sideband, nudge the tuning knob, and it comes back. ...So the sideband is only selected if there is a frequency change. - Jerry KF6VB |
Re: CNC encoder for ubitx
why does this group have people smarter than?me? On Sat, May 15, 2021 at 1:56 PM Raj vu2zap <rajendrakumargg@...> wrote:
|
Re: CNC encoder for ubitx
You would get 2.4 Farhan!
toggle quoted message
Show quoted text
One turn of tune shaft should turn encoder 10 times to get 240. At 15/05/2021, you wrote: Why not pulley-and+thread the existing encoder to a smaller shaft? If the drum Diameter on the encoder is 10 times the diameter of your tuning shaft, you will be 240 pulses instead of 24. |
Re: Question about voltage regulator
Hello,
What I saw is actually a tough one, but doesn¡¯t interfere with the operation. Besides I did the test to remove it and put 2 separate power supplies of 5V and 12V, my parasitic noise does not leave. If you want for low noise regulator mountings, I found regulators based on LT3045. There are many models. Example: cdt |
Re: CNC encoder for ubitx
Why not pulley-and+thread the existing encoder to a smaller shaft? If the drum Diameter on the encoder is 10 times the diameter of your tuning shaft, you will be 240 pulses instead of 24. On Sat 15 May, 2021, 8:22 AM Arv Evans, <arvid.evans@...> wrote:
|
Re: micro bitx kit from 2018
#ubitx
Trystan
I am thinking there is a large population of v3 and v4, I wonder if they might outnumber the later versions. Our local club did a group build, more than 2 dozen. Actually my v4 was originally decently clean on about half of the bands each in cw and ssb. Improving it was much of the adventure, but honestly much more global interest in customizing them. I appreciate for some places on the globe hams use it as a primary rig. I have better rigs that sometimes sit for weeks at a time while I make contacts and or improve the ubitx.? Occasionally I call someone dx even on ssb with the ubitx, and if I give my call twice they can be quite annoyed when we double, when they copy me the first time. A rig whose circuit boards cost maybe 3 or 4 loads of fuel for our automobile is quite a treasure. But surprising how much time many of us have invested in hardware and code, and have vastly spread the knowledge.? 73 Curt |
Re: CNC encoder for ubitx
Optical encoders that drive a small computer like an Arduino should be easy to handle in software.? It the number of states per revolution is too high, just use a software divider to lower the number of states. If the number of mechanical states is too low, it should be easy to make a state multiplier for 2X, 3X, etc.? Arv _._ On Fri, May 14, 2021 at 7:33 PM Jack, W8TEE via <jjpurdum=[email protected]> wrote:
|
Re: CNC encoder for ubitx
Jack Me too.? It sounds like fun! Arv _._ On Fri, May 14, 2021 at 7:41 PM Jack, W8TEE via <jjpurdum=[email protected]> wrote:
|
Re: Tuning
On 2021-05-14 19:35, Reed N wrote:
Hi Jerry,Hi Reed, int enc_read(void) {That's exactly what I did. In addition, I toned down fastTune() by a factor of 20 or so. And I changed the minimum step size to ( I think ) 25Hz. - Jerry } |
Re: Sidetone
All,
toggle quoted message
Show quoted text
Well, I have a solution to the loud sidetone. Sort of. In cwKeydown() I replaced the call to tone() with a call to analogWrite(). By specifying a really low value ( 1 ) , I was able to get a CW sidetone I could live with - on the highest bands. On 80M, I could hardly hear it at all. That's because on the lower bands, the natural gain of the radio is higher, and so you turn the volume down. I could put in logic to change the volume depending on the frequency. It would only need two or three volumes - one for anything below 20M, the other 20M & up. Changing the tone is a bit more complex. There is a setup register in the CPU that you write to set the PWM frequency. But it's completely doable, without a whole lot of code. There are 1962 bytes left on the chip. - Jerry KF6VB On 2021-05-14 19:10, jerry@... wrote:
All, |
Re: Tuning
Hi Jerry,
The only function that should really need adjusting is . If you revise it to the below, it will be fully linear: int enc_read(void) { ? int ret_val = enc_count; ? enc_count = 0; ? return ret_val; } The 200ms thing you saw in the routine is only used for the momentum parameter. Alternatively, you can adjust the momentum scale factors (lines 116 and 119, currently 40 and 20's) to adjust the amount of momentum. There's also a scale factor applied to the tuning in . Change the 50 to whatever frequency step size you'd prefer. I don't think there's sub-Hz tuning capability right now, since most frequency stuff uses integers, but that's not impossible either, with sufficient will power :P As for getting the behavior you described for your SB-34, it's definitely possible to do that in software, but that's a bit more work than just removing the momentum stuff in there right now. Reed |
Sidetone
All,
The CW sidetone is extremely loud. Is it adjustable? Don't think so. It comes out of an Arduino pin and is fed directly into the receive audio chain just before the volume control. OK, is it adjustable with software? Also no. It's produced by a call to "tone()" which is part of the Arduino standard library. And tone() can only do 50-percent duty cycle square waves. Otherwise, I would have been able to adjust it in software by shortening the duty cycle. There is a low-pass filter consisting of 3 resistors and 3 caps - R252,R251,R250, C252,C251,C250. It should be possible to tame it by increasing the value of R250. Another possiblity - the CW sidetone is produced by pin D6. This is a PWM ( Pulse Width Modulation ) pin. PWM works by varying the duty cycle of the output pulse. Tone() is surely using the built-in PWM functionality. I could just bypass tone() and use the PWM directly. Shorter duty-cycle pulses SHOULD sound softer. And the lowpass audio filter should make it not sound too horrible. I think. - Jerry KF6VB |
Re: CNC encoder for ubitx
Jack, W8TEE
Hi Arv: I misunderstood what you were saying for the?clear dumb terminal. Your solution works fine, is easy to code...what's not to like? If the column does come into existence, I hope readers will write in with questions. Unfortunately, I won't always have the answer, but perhaps I can find someone who does. I hope it happens! Jack, W8TEE
On Friday, May 14, 2021, 5:35:18 PM EDT, Arv Evans <arvid.evans@...> wrote:
Jack At the risk of giving away some content that may have been better saved for your column, I was talking about the pseudo dumb terminal that is part of the Arduino IDE.? To the best of my knowledge there is no command that be sent by the attached Arduino to clear this pseudo-terminal screen. My solution is to have the Arduino code send a series of "\n" commands to the dumb terminal emulator.? At 9600 or above this happens so fast that existing screen content is simply scrolled off the screen and disappears without even a flicker.? Code has been added to BitLash to allow it to poll and write to various ports in modes that provide ham radio type interfaces (i.e. SWR, PWR, REV, FWD, MODE, FREQUENCY, FREQUENCY STEP SIZE, FREQUENCY STEP RATE, VFO-A, VFO-B, VFO-C, VFO-D, and so on).? BitLash can be rebuilt to be both attached computer with, or without CAT controls for various type of CAT...even the Schr?dinger's version! ? As you know, many of those here have only recently started to teach themselves C-language.? My typical mistakes may be of interest to them as they make similar mistakes and have related questions.? Others are like me, old codgers with poor memories, and need all the help we can get. Arv _._ On Fri, May 14, 2021 at 2:51 PM Jack, W8TEE via <jjpurdum=[email protected]> wrote:
--
Jack, W8TEE |
Re: CNC encoder for ubitx
Jack, W8TEE
Joe: There are a lot of optical encoders that can approach 200 ppr, but they're not cheap. I think I saw one on eBay for less that $30, but that was several weeks ago. Some go as high as several hundred dollars...probably way overkill for your needs. What is a "better encoder" to you? I'm working on an SDT and I have a $1.50 encoder in it and it's fine for me. However, I like detents as they prevent me from "coasting" past a desired frequency. As to buying a subscription, truth be told, almost anything you see in print today can be slightly modified and then posted on the Net. My publisher once told me that for every book I sell, 5 are downloaded for free. The real cost is not what I lose, but the books that don't get written because it's just not worth it anymore. However, we really do need to support the magazines that interest us. Ham Radio, Electronics Illustrated, 73 Magazine, Radio News and others...gone. Give up a dinner out and buy a subscription to one that still exists: CQ, QST, QRPQ, Sprat, RadCom and others...any one of them is worth it. Jack, W8TEE
On Friday, May 14, 2021, 6:34:29 PM EDT, jereed@... <jereed@...> wrote:
Jack, That would be very cool.? But darn, I¡¯d have to subscribe to CQ.? If they go for it let me know and I¡¯ll subscribe. I¡¯ve been wondering about a better encoder.? Something like 200 PPR so a dial rotation would come out at 2KHz at 10 Hz.? I bought one on eBay but it is for industrial counting of things and not smooth enough for a VFO.? So most def, I am interested in such a column. And I like your topic immensely, Joe N9JR -- Jack, W8TEE |
Re: Tuning
All,
toggle quoted message
Show quoted text
As a first cut toward reasonable tuning, I tried disabling the "momentum" stuff in encoder.cpp. Not too bad. It tunes fairly slow, and is not at all "skittish". But I wouldn't want to scan to the other end of the band with it. And I'd like to be able to tune a little finer - so when I tune across a carrier, it sounds like a smooth tune with no jumps. Having a bit of a challenge finding out where tuning is actually done. It looks like there's a 200ms ( 5 times a second ) interrupt where the encoder is read, but the frequency is not actually set there. Whups, the nitty gritty is in doTuning(). Cscope wasn't seeing it because it's in a .ino file, and cscope ( a VERY old C analysis tool ) doesn't know about .ino files. I tried halving the constants in doTuning - much smoother. But you won't be spinning from one end of the band to the other with it. Fast tune mode is still available however. And actually, fast tune is just too fast for my taste also. I changed the increment from 500001 to 200001. Even at that, it pops from one end of 40M to the other in about a quarter turn. OK, I changed it to 100001... then 50001. Now it goes from one end of 40M to the other in about a turn and a quarter of the knob. I set the increment down to 20001.... Now it goes from one end of 40 to the other in a bit over 3 turns. This I can live with. This is fun. This kind of stuff is why I bought the uBITX. Because it's hackable. - Jerry KF6VB On 2021-05-14 13:34, jerry@... wrote:
All, |
Re: Tuning
Mark - N7EKU
Hi Jerry, |
Re: Strange drop in sensitivity on V6
#ubitxv6
Justin,
That is the same way that I connected the AGC for my friend's ?BITX.? Was not sure if you did the connection to the board or the volume control. I complain about keyboards and spellcheckers all the time!? Of course, it isn't my typing skills that are at issue ;-) 73 Evan AC9TU |
to navigate to use esc to dismiss