- Encoderã®ç¨®é¡ã¨é¸å®
- Keiths' SDRã®Encoderå¨è¾ºã½ããã¦ã§ã¢ã®èª¿æ»
- I2C Encoderã®æ¥ç¶
Encoderã®ç¨®é¡ã¨é¸å®
Keiths' SDRã§ãµãã¼ããããEncoderã®ç¨®é¡
èªä½ãKitã®Transcieverã«ä½¿ãããEncoderã«ã¯ã大å¥ããã¨ä»¥ä¸ã®ç¨®é¡ãããã¾ãã
- ï¼1ï¼å å¦å¼ Encoder
- ï¼2ï¼æ©æ¢°å¼ Encoder
- ï¼3ï¼I2C Encoder
ï¼1ï¼å å¦å¼Encoderã¯ããµã¼ãã¢ã¼ã¿çã®å転軸ã«ç´çµãã¦ç¨ããå転ã»ã³ãµãæµç¨ãããã®ã§ããããã³ãï¼æ»ãæ¢ãã®ããã®å転ä½ç½®ä¿ææµæï¼ãç¡ããã¹ã ã¼ãºã«å転ãã¾ããã·ã£ãããå«ãã¦å¤§åã§ããã1å転å½ããã®ãã«ã¹æ°ãå¤ããããVFOï¼PLLã·ã³ã»ãµã¤ã¶ï¼ã®å¨æ³¢æ°ãã¥ã¼ãã³ã°ç¨ã¡ã¤ã³ãã¤ã¤ã«ã«å¥½ã¾ãã¦ä½¿ãããä¾ãå¤ãããã§ãã
ï¼2ï¼æ©æ¢°å¼Encoderã¯ãå°åãã¤å®ä¾¡ã§ãããQRP Transciever Kit ã®å¤ãã«æ¡ç¨ããã¦ãã¾ããã¹ã©ã¹ãæ¹åã®ããã·ã¥ã¹ã¤ãããä»ãã¦ãããã®ãããã¾ãã
ï¼3ï¼I2C Encoderã¯ãï¼2ï¼æ©æ¢°å¼Encoderã®åºé¨ã«I2Céä¿¡ç¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹åºæ¿ãä»ãããã®ã§ããSDR Transcieverãè¤æ°ã®Encoderãæã¤æ§æã«ããã¨ãã¦ããTeensyã¨ã®æ¥ç¶ã容æã«ãªãã¾ããã¾ããã¤ã³ã¿ã¼ãã§ã¼ã¹åºæ¿ã«æè¼ããããã¤ã³ã³ãã«ã¦ã³ã¿æ©è½ãæã¤ãããTeensyã®è² è·ãå¹¾åãã¯è»½æ¸ããã¾ãã90度ä½ç¸ã®ãããA/Bãã«ã¹ããå転æ¹åãå¤å¥ãã¦ã«ã¦ã³ããUp/Downããã¨ããã¾ã§I2C Encoderå´ã§å®è¡ãã¾ãã
Keiths' SDRã¯ä¸è¨ã®å ¨ã¦ã®ã¿ã¤ãããµãã¼ããã¾ãããï¼1ï¼ãï¼2ï¼ããMechanical Encoderãã«åé¡ãããããã·ã¥ã¹ã¤ããã®æç¡ã§åºå¥ããã¾ããå æ¥çµã¿ç«ã¦ãBackpackãã¼ãã«ã¯ãããã·ã¥ã¹ã¤ããç¡ãã®ãMechanical Encoderãç¨ã³ãã¯ã¿ãä¸å¼ãããã·ã¥ã¹ã¤ããæãã®ãMechanical Encoderãç¨ã³ãã¯ã¿ãäºå¼ããI2C Encoderãç¨ã³ãã¯ã¿ãä¸å¼ããããæºåããã¦ãã¾ãã
é¸å®ããI2C Encoder
K7MDLå±Mike OMãæ¡ç¨ããï¼3ï¼I2C Encoderã¨åããã®ãé¸å®ãã¾ãããã¤ã¿ãªã¢DUPPA社ã®ãI2C Encoder V2ãã§ããã¤ã¿ãªã¢ããçºéã¨è¨ããã¦ãã¾ããããå®éã¯ãªã©ã³ãããçºéãããã³ããç¦ã®å½±é¿ãä¸æè¡æ¹ä¸æã«ãªãã¾ããããé·æ ã®æ«ã«å°çãã¾ãããè足ã§ãããDUPPA社ã®ã¢ã¤ã³ã³ã¯æ¥æ¬ã®ã¢ãã¡ãã£ã©ã¯ã¿ã«é¡ä¼¼ãã¦ãã¾ããã¤ã¿ãªã¢ã®ã¹ã¿ã¼ãã¢ããã®è¥è ã¯æ¥æ¬ã®ã¢ãã¡ãã¡ã³ãªã®ã ãããã»ã»ã»ï¼
ãI2C Encoder V2ãã¨ã¯I2Cã¤ã³ã¿ã¼ãã§ã¼ã¹åºæ¿ã®ãã¨ãæããä»ã«Encoderæ¬ä½ã¨ãããã¢ã¯ã»ãµãªã®ä¸ããé¸å®ãã¦èª¿éããå¿ è¦ãããã¾ããMike OMã¨åãæ§æãé¸å®ãã¾ãããEncoderã¯RGB LEDãå èµããéæã·ã£ããã®ãRGB Encoderãã¨ããããã¯å°ç¨ã®éæãªã³ã°ãåããΦ22.2mmã®ãAluminum black knobããé¸å®ãã¾ãããé¸æå¯è½ãªããã®ä¸ã§ã¯æ大å¾ã§ãããã¤ã³ã³ï¼PIC16F18345ï¼ã®GPIOã使ç¨ãã¦ãªã³ã°ã調å ããHMIï¼Human Machine Interfaceï¼ã®ä¸ç¿¼ãæ ããããã¨ãã§ãã¾ãã
Keiths' SDRã®Encoderå¨è¾ºã½ããã¦ã§ã¢ã®èª¿æ»
å²è¾¼ã¿ã¨ãã¼ãªã³ã°
Encoderã®ã«ã¦ã³ãUp/Downã®åããã¼ããé²ãããã«ãå½åã¯ãã«ã¹çºçã«ããå²è¾¼ã¿ãå©ç¨ãã¦ããã¨æãè¾¼ãã§ãã¾ãããVFOå¨æ³¢æ°ãã¹ã ã¼ã¹ã«å¤åããªãã¨ã¹ãã¬ã¹ã«ãªãããã§ãã
ããããã½ããã¦ã§ã¢ãç²¾æ»ããã¨ããããI2C Encoder V2ãã®ã¨ãã¸ãã¤ã³ã³ï¼PIC16F18345ï¼ã¯å²è¾¼ã¿ãå©ç¨ãã¦ã«ã¦ã³ããã¦ããã¨æ³å®ãã¦ãã¾ãããTeensyã¯å²è¾¼ã¿ãåãä»ããè¨å®ã§ã¯ãªããI2C Encoder V2ãããã®å²è¾¼ã¿ä¿¡å·ç·ã®H/Lã¬ãã«ããã¼ãªã³ã°ãã¦ãããã¨ãåããã¾ãããä¿¡å·å¦çé£éããµã³ããªã³ã°å¨æ³¢æ°ã§æ£ç¢ºã«èµ·åããDMAå²è¾¼ã¿ãæåªå ã¨ãªããããè¤éãªå¤éå²è¾¼ã¿ãé¿ãã¦ãããã®ã¨æããã¾ãã
I2C Encoderã使ãéãã¯ãã¨ãã¸ãã¤ã³ã³ãå°æ¥ã§ã«ã¦ã³ããããããåããã¼ãã¯çºçããªãã¨æå¾ ããã¾ããã·ã³ã°ã«ã³ã¢ã®Teensyã«å¯¾ãã¦ã¨ãã¸ãã¤ã³ã³ããµãã¼ããã¦ããæ ¼å¥½ã§ãã
Encoderå¨è¾ºã½ããã¦ã§ã¢
Keiths' SDRã®Encoderã«ä¿ããã½ããã¦ã§ã¢ã¯ä»¥ä¸ã®3é層ããæãã¾ãã
- ï¼1ï¼SDRã¢ããªã®ã¡ã¤ã³ããã°ã©ã ï½SDR_RA8875.inoï½
- ï¼2ï¼SDRã¢ããªã®I2C Encoderã¢ã¸ã¥ã¼ã«ï½SDR_I2C_Encoder.cppï½
- ï¼3ï¼DUPPAæä¾I2C Encoderãã¡ã¼ã ã¦ã§ã¢ï½i2cEncoderLibV2.cppï½
DUPPA社ãæä¾ããï¼3ï¼I2C Encoderãã¡ã¼ã ã¦ã§ã¢ã¯ããI2C Encoder V2ããã¼ããæ½è±¡åããi2cEncoderLibV2ã¯ã©ã¹ãæä¾ãã¦ãã¾ããï¼1ï¼SDRã¢ããªã®ã¡ã¤ã³ããã°ã©ã ï½SDR_RA8875.inoï½ã§ã¯ããã®i2cEncoderLibV2ã¯ã©ã¹ã®ãªãã¸ã§ã¯ããæ¨æºã§2ã¤å®£è¨ãã¦ãã¾ãããã«ããã¡ã³ã¯ã·ã§ã³ç¨ã®ãMF_ENCãã¨ããµãã®ãENC2ãã§ããI2Cæ¥ç¶ã®ããEncoderã®å¢è¨å¯¾å¿ã¯å®¹æã§ãããæ大ã§ãENC6ãã¾ã§I2Cã¢ãã¬ã¹ãäºç´ããããªãã¸ã§ã¯ã宣è¨ãã³ã¡ã³ãã¢ã¦ãããã¦ãã¾ãã
è¤æ°ã®Encoderã®å½¹å²ã¯User_Settingsæ§é ä½å¤æ°ã§åæå®ç¾©ããã¦ããããMF_ENCãã®å転ã«å¯¾ãã¦ã¯"MFTUNE"ï¼å¨æ³¢æ°ãã¥ã¼ãã³ã°ï¼ããããã·ã¥ãã¿ã³ã«å¯¾ãã¦ã¯"RATE_BTN"ï¼å¨æ³¢æ°ãã¥ã¼ãã³ã°ã¹ãããåæï¼ãå²ãä»ãã¦ãã¾ããã¾ãããENC2ãã®å転ã«å¯¾ãã¦ã¯"RFGAIN_BTN"ï¼RFã²ã¤ã³èª¿æ´ï¼ããããã·ã¥ãã¿ã³ã«å¯¾ãã¦ã¯"MODE_BTN"ï¼ã¢ã¼ãåæï¼ãå²ãä»ãã¦ãã¾ãã
ï¼1ï¼ã¡ã¤ã³ããã°ã©ã ã®setup()é¢æ°ã§I2C Encoderã®åæè¨å®ãè¡ããï¼2ï¼I2C Encoderã¢ã¸ã¥ã¼ã«ï½SDR_I2C_Encoder.cppï½ã®åæè¨å®é¢æ°set_I2CEncoders()ãã³ã¼ã«ãã¦ãã¾ããå¼ã³åºãããåæè¨å®é¢æ°ã®ä¸ã§ãEncoderã¤ãã³ãã¨SDRã¢ããªå´ã®callbacké¢æ°ãç´ä»ãã¦ãã¾ããå ·ä½çã«ã¯ãonChangeï¼ã«ã¦ã³ãå¢æ¸ï¼ã¤ãã³ãã«å¯¾ãã¦ã¯encoder_rotated()é¢æ°ããonButtonReleaseï¼ããã·ã¥ãã¿ã³æ¼ä¸ï¼ã¤ãã³ãã«å¯¾ãã¦ã¯encoder_click()é¢æ°ãããããç´ä»ãã¦ãã¾ãã
ï¼1ï¼ã¡ã¤ã³ããã°ã©ã ã®loop()é¢æ°ã§é次ã«ï¼2ï¼I2C Encoderã¢ã¸ã¥ã¼ã«ã®Check_Encoders()é¢æ°ãã³ã¼ã«ãã¦ãI2C Encoderã®å²è¾¼ç·ã®ãã¼ãªã³ã°ãè¡ãã¾ããè¤æ°ã®Encoderãåãå²è¾¼ç·ãå ±æãã¦ãããããå²è¾¼ã¤ãã³ããæ¤ç¥ããã¨ï¼3ï¼I2C Encoderãã¡ã¼ã ã¦ã§ã¢ã®updateStatus()é¢æ°ãã³ã¼ã«ãã¦Encoderåä½ã¨ã¤ãã³ãå 容ã調ã¹ã¾ããä¾ãã°ãonChangeï¼ã«ã¦ã³ãå¢æ¸ï¼ã¤ãã³ãã§ããã°åæè¨å®ã§callbacké¢æ°ã¨ãã¦å²ãä»ããencoder_rotated()ã¢ããªã±ã¼ã·ã§ã³é¢æ°ããã¡ã¼ã ã¦ã§ã¢ããã³ã¼ã«ããã¯ããã¾ãã
I2C Encoderã®æ¥ç¶
I2C Encoderã®çµç«
RGBã¨ã³ã³ã¼ãã¨XHã³ãã¯ã¿äºå¼ããI2C Encoder V2ãåºæ¿ã«ã¯ãã ä»ãããã ãã§çµç«ã¯å®äºã§ãã5x4=20åã®ç«¯åãå§çããé ç·æã®è£½ä½ã®æ¹ã大å¤ã§ããã
ããã¯RGBã¨ã³ã³ã¼ãã®å¹³ç®ãã¼ã¬ãã軸ã«å§å ¥ããã ãã§ããã©ã¸ã¢ã«æ¹åå ¨å¨ã«åä¸ã«LEDå ãé å ããéæ軸ãªã®ã§ããã¸æ¢ãå¼ã®ããã¯ä»ããããªãä»æ§ã§ããRGBã¨ã³ã³ã¼ãã«ã¯å°ç¨ãããå¿ è¦ãªãããDUPPAçºæ³¨æã«å¿ããªãããã«ããå¿ è¦ãããã¾ãã
4æ¹åã®ã¨ãã¸ã®ãã³é ç½®ã¯ç¹å¯¾ç§°ï¼180度å転対称ï¼ã§ã¯ãªãç·å¯¾ç§°ï¼æãè¿ã対称ï¼ã§ããããã¯å¯¾æããä¸ä¸ï¼ãããã¯å·¦å³ï¼ã®ã³ãã¯ã¿å士ãåããã³é ç½®ã«ãªãããã«ããæªç½®ã§ããXHã³ãã¯ã¿ãã¯ãã ä»ãããã¨ãã·ã«ã¯å°å·ã®ä¿¡å·åãè¦ããªããªãããããã¼ã¿ã·ã¼ãã§ç¢ºèªããªããé ç·ãè¡ãå¿ è¦ãããã¾ããè¦ãã¦ããé£ã®ã¨ãã¸ã®ä¿¡å·åãé ã®ä¸ã§90度å転ããã¦ã¯ããã¾ããããDuPPa.netãã®ã³ã¼ãã¼å°åãå転æ¹åã®ç®å°ã§ãã
I2Cã¢ãã¬ã¹ã¯7bitsã®ã¸ã£ã³ãã¼ãã³ãã¯ãã ã§ã·ã§ã¼ãããã¦è¨å®ãã¾ãããã¼ãã¦ã§ã¢ã®è¨å®ã¨ã½ããã¦ã§ã¢ã®è¨å®ãæ´åãã¦ããã°åé¡ãªãã®ã§ãããMike OMã®è¨å®ã«å£ãã¾ããããMF_ENCãã0x61ããENC2ãã0x62ã§ãã
Teensy Backpackãã¼ãã®ã³ãã¯ã¿ã®ä¿¡å·é ç½®ã¯ãI2C Encoder V2ãã®ããã¨ã¯ç°ãªããã注æãå¿ è¦ã§ããTeensy Backpackãã¼ãã®ã³ãã¯ã¿ã¯ãG-SCL-SDA-INT-5Vãã®é ç½®ã§ããä»æ¹ããI2C Encoder V2ãã®ã³ãã¯ã¿ã¯ãINT-SCL-SDA-5V-Gãã®é ç½®ã§ããç·æãè²åãããæ¹ãå®å ¨ã§ããèç±é»åã¯ã¤ã¤AWG24ï¼7è²ï¼ãã5è²ãç¨ãã¾ããã
I2C Encoderã®ãã¹ã
ãI2C Encoder V2ãå´ã³ãã¯ã¿ã®é»æºé»å§ç¢ºèªãè¡ã£ãå¾ããI2C Encoder V2ããæ¥ç¶ãã¦Keiths' SDRãèµ·åãã¾ããã
Serialã¡ãã»ã¼ã¸ã«ã¯ãè¨å®ããã¢ãã¬ã¹ã®I2C Encoderã2å¼è¦ã¤ãã£ãæ¨ã®å ±åãããã¾ããã
åé¡ãªã2å¼ã®I2C Encoderãåä½ãã¦ãããã¨ã確èªãã¾ããã"MFTUNE"ï¼å¨æ³¢æ°ãã¥ã¼ãã³ã°ï¼ã®æ©è½ãå²ãä»ãããMF_ENCãã®å転ã«å¯¾ãã¦VFOå¨æ³¢æ°ãé£åãã¦å¤åãããã¨ã確èªã§ãã¾ããã"RATE_BTN"ï¼å¨æ³¢æ°ãã¥ã¼ãã³ã°ã¹ãããåæï¼ã®æ©è½ãå²ãä»ããããã·ã¥ãã¿ã³ã§ã¹ãããåæãåä½ãã¾ããã
ã¾ãã"RFGAIN_BTN"ï¼RFã²ã¤ã³èª¿æ´ï¼ã®æ©è½ãå²ãä»ãããENC2ãã®å転ã«å¯¾ãã¦RFã²ã¤ã³ã®åæããSã¡ã¼ã¿ã«è¡¨ç¤ºããããã¨ã確èªãã¾ããã"MODE_BTN"ï¼ã¢ã¼ãåæï¼ã®æ©è½ãå²ãä»ããããã·ã¥ãã¿ã³ã§ã¢ã¼ããåãå¤ãããã¨ã確èªã§ãã¾ãããEncoderã®å転ããã³ãæ¯ã«LEDãç·è²ã«çºå ãã¦èªç¶ã«ãã§ã¼ããã¾ããä¸ä¸éå¤ã«å°éããã¨èµ¤è²ã«çºå ããã§ã¼ããã¾ãã
ãã«ã¹ã®åããã¼ããè©ä¾¡ããããã«ãæé¦ã®ã¹ããããå¹ããã¦ä¸æ°ã«ãMF_ENCããå転ããã¦ã¿ã¾ãããæå¾ ã«åãã¦ãåããã¼ããçºçãããã¨ãåããã¾ããã
ãI2C Encoder V2ãã®ç¹å¾´ã¨ãã¦ä»¥ä¸ã®æ°å¤ãDUPPAã®ãã¼ã ãã¼ã¸ã«æ²è¼ããã¦ãã¾ãã
Maximum A/B signal frequency: 100Hz (Tested)
24 pulses for rotations
æ大ãã«ã¹å¨æ³¢æ°100Hzã1å転ã®ãã«ã¹æ°24ãããã«ã¦ã³ãå¯è½ãªæ大å転é度ã¯250rpmï¼4.2r/sã0.24s/rï¼ã«ãªãã¾ãããããã¹ããããå¹ããã¦ããããã»ã©é«éã«å転ã§ãã¦ããã¨ã¯æãã¾ããã
ãI2C Encoder V2ãã®ãã¼ã¿ã·ã¼ãã«ããã°ãå²è¾¼ã¿çºçå¾ã«ã¨ãã¸ãã¤ã³ã³ï¼PIC16F18345ï¼ã® ESTATUSï¼Encoder Status?ï¼ã¬ã¸ã¹ã¿ãTeensyãèªã¾ãªãã¨ãå²è¾¼ç·ã®H/Lã¬ãã«ããªã»ãããããªãã¨ã®ãã¨ãå²è¾¼ããªã»ãããããªãã¨ã¨ãã¸ãã¤ã³ã³ã®ã«ã¦ã³ããã¹ãããããã¨èããã°ããã«ã¹ã®åããã¼ãçºçã妥å½ã§ãããã®ä»®èª¬ãæ£ãããã°ãçµå±ã®ã¨ãããã«ã¹ã®åããã¼ãã®æç¡ã¯Teensyãå®è¡ããloop()é¢æ°ã®åå¾©é »åº¦ã«ä¾åãããã¨ã«ãªãã¾ããEncoderå°ç¨ã®ã¨ãã¸ãã¤ã³ã³ãé ç½®ãã¦ããã®ã«ãã£ãããªãæ°ããã¾ãã
ããã³ãä»ãã®RGBã¨ã³ã³ã¼ããé«éã«å転ããããã¨ã¯ãªãã¨æãã¾ãããå å¦å¼ã¨ã³ã³ã¼ãã«ä»£ããéã«ãã«ã¹ã®åããã¼ããã©ããªããèå³ã®ããã¨ããã§ããããã¯å°æ¥ã®èª²é¡ã§ãã