31/07/2020

My IC-7300 "Big Controller" (part 2)



The Wiring ...

I finally found some time to continue working on this project.
See part 1 here

I have not drawn a complete wiring diagram because some things may change during the programming, after which I can make a final diagram.

So I'll just describe what I did in text form.


(source https://store.arduino.cc/arduino-mega-2560-rev3)


I used an Arduino Mega 2560, see pinout above.
Part of this project can probably also be made with an Arduino UNO, or even a Nano.
Just change the pins and change the code accordingly and see how far you get ...

If you need more pins for buttons, you can apply the analog port trick: add up to 5 buttons on one analog pin with a resistor network.
(see https://wiki.dfrobot.com/Arduino_LCD_KeyPad_Shield__SKU__DFR0009_ ) 

The TFT display can be changed for a simpler I²C controlled LCD display to save some wires and memory.

Also, I didn't use the extra hardware serial ports on the Mega, but I used SoftwareSerial, so the code should work on the UNO and Nano as well.
The only problem will be that you can't use a rotary encoder AND a SoftwareSerial port at the same time, since both need the interrupt pins, and the UNO/Nano only have two of those (D2 and D3).
So you will have to make a menu with some buttons for navigating. See this example:
https://educ8s.tv/arduino-nokia-5110-menu/



Now here is what I wired so far ...

First come all the pushbuttons:

4 BIG Memory buttons (short press = once, long press = repeat)

M1 <> A11          Send MEM1
M2 <> A12          Send MEM2
M3 <> A13          Send MEM3
M4 <> A14          Send MEM4

I will probably change these, as I can only send the VOICE memories via CI-V command.
It's a shame that Icom didn't provide commands for the CW/RTTY memories!
One solution is to mimic the resistor network at MIC pin 3, and use transistors to key them, like used by ON7EQ in his Arduino memory keyer.
(see https://www.qsl.net/on7eq/en/ under "Projects": ARDUINO ICOM Auto Keyer)

8 SMALL pushbuttons

B1 <> D31           Cycle TX POWER : 5W > 10W > 50W > 100W (levels settable via menu)
B2 <> D32           TUNE (put rig in mode CW , set power to 5W* as long as button is
                             pressed, then reset to previous MODE and POWER).
                             * Tuning power settable via menu.
B3 <> D33           BAND DOWN
B4 <> D34           BAND UP
B5 <> D35           TOGGLE USB AF <> IF
B6 <> D36           TOGGLE KEY TYPE STRAIGHT KEY <> PADDLE
B7 <> D37           Cycle Band stack registers
B8 <> D38           PF Key ... not sure what to do yet, maybe assign some functions per menu,
                             initiate a CW decoder, ... ?  

Rotary Encoder (model without breakout board)
GND <> GND
A        <> D2
B        <> D3
SW   <>  D4


Color Display 160 x 128 pixels =  Sainsmart 1.8" TFT ST7735,
see info 
https://randomnerdtutorials.com/guide-to-1-8-tft-display-with-arduino/

Connect these pins
Arduino UNO     or    Mega
LED        3.3 V
SCK        13         or       52
SDA        11         or       51
A0/DC      9
RESET     8
CS           10         or      53
GND      GND
VCC       5 V

The SPI MISO signal (Master IN Slave OUT, pin 12 (UNO) or pin 50 (Mega)) is not used for the TFT display, it is WRITE only. I'll have to connect it later if I would do something with the SD card.

Switches 
I used DPDT switches, but using only one contact, so SPDT switches are also OK. 
Also, I mounted too many switches because I had the space on the front panel, but don't really know what to use them for, hi. 
Well, I may find a use for them in the future ... anyone have a good idea?

From left to right
SW1       ICOM MIC <> HEIL MIC, this switches only the microphone line.
   Common = MIC to transceiver pin 1
   Left = MIC in from front J1, pin 1
   Right = MIC in from HEIL Headset , J3

Problem to be solved : I have a Heil Proset Elite with the dynamic element, not the iC element.
So the level is a bit low, and I have to adjust the transceiver settings. I tried using a step transformer, but that didn't help much. To be investigated ...

SW2 future use

SW3 future use

SW4       SPEAKER <> HEADPHONES
   Common = SPK IN from RIG  from J11
   Left = External SPKR to J10
   Right = HEIL Headphone to J3 , with in series 6 Ohm , parallel on J3 2.2 Ohm (attenuator)  
   The speaker output from the IC-7300 must be connected ot the controller, and a good quality
    external station speaker if you need speaker audio


Jacks 
FRONT, left to right

J1            Icom Original MIC input (8 pin round connector)
NOTE: For the HM-219 and the SM-50, also the FREQ UP/DOWN line must be wired if you want to use the UP/DOWN buttons, or another keypad.
NOTE : for Desk Microphones SM-30 and SM-50, the +8V line must be wired! (= Power supply for the electret microphone is taken from this supply, nont from the DC on the MIC pin!)
Connect PTT input (pin 5) to PTT line on MIC OUT Cable, via a 1N4148 diode (cathode to J1)

J2            HEADPHONE OUT for HEIL Headset (TIP + RING connected)

J3            MIC input from HEIL headset (NO DC needed for dynamic element)

BACK, left to right

J4            MAINS POWER INPUT

Connect J5 to J8 all in parallel : GND to GND, and TIP to TIP


J5            COOTIE KEY (optional)


J6            BUG (optional)


J7            STRAIGHT KEY
Connect also RING to RING at J8 and J9

J8            PADDLE for electronic key


J9            KEY OUT to rig (connect to rig KEY IN)   

J10         SPEAKER OUT (connect a station speaker here)

J11         SPEAKER IN (connect to the EXT Speaker output of the rig)

J11         CI-V (connect to the CI-V port at the rig)


Connect per following diagram, the RX pin must be an interrupt capable pin.


J12         FOOT or HAND PTT SWITCH IN
               (use an appropriate type of jack for your model of switch)
               Connect PTT line to PTT on MIC OUT Cable, via 1N4148 diode (cathode to J12)

MIC out cable to Icom MIC IN

SS_4374] Icom Mic Wiring Diagram Get Free Image About Wiring ...
Wire these lines MIC, MIC GND, PTT GND, PTT,  +8V , 
UP/DOWN

Internal Power supply
GND <> GND
+5V  <> Arduino 5V
I haven't done this yet, I'm still powering the Mega via the USB connector while I'm testing some code.

RESET buttonconnect to Arduino RESET pin and GND




So far it looks like a rats nest ... I  hope to find the time to rebuild the whole thing nicely when the programming and test phase are over ...

To be continued in part 3 ...

73,
Luc ON7DQ/KF0CR

No comments:

Post a comment