MMDVM HotSpot製作
2018.06.30
STM32F103C8T6 Blue Pillが入手出来ましたのでRF7021SE(ADF7021)ワイヤレスモジュールとの組合せでMMDVM HotSpotを製作してみました。共に中華製基板です。
RF7021SEはDVSP2(DVMEGA仕様)で使用していたもので水晶発振器TCXOはすでに14.7456MHzに交換済の物を使用しました。
新規でRF7021SEを購入した場合は14.7456MHz水晶発振器(TCXO)精度2.5ppm以下の物に交換が必要です。
中国で安く売られている14.7456MHz水晶発振器の中には25ppmと言った悪い物がある様です。
測定器等を所持していない場合は少々高いですが精度の高い発振器を購入しないと調整に苦労すかも知れませんね。
JE4SMQ局のサイト及びF5UII局のサイト https://www.f5uii.net/en/hotspot-homebrew-zumspot-mmdvm-pistar-tune/ を参考にさせて頂きました。
DVSP2(DVMEGA)と違いレベルコンバータが不要ですので比較的簡単に制作出来ると思います。
最新のファームではDVSP2(DVMEGA)で苦労したRF7021SEのCLKOUTのジャンパー配線は不要となったとの事です。
発光ダイオードはTX/RX表示だけでモード表示用は省略しましたが不便はありません。
F5UII局のサイトでは/opt/MMDVM_HS/Config.hを変更する様に書かれていますが中身を確認、特に変更は必要無しの様でしたのでそのままでコンパイル、Pi-StarにてD-Star/YSF/DMRは問題なしで動作しました。
尚、Pi-Starのモデムタイプは ZumSpot Libre(USB)を選択しました。
ファーム書込み手順メモは こちら です。
RF7021SEはDVSP2(DVMEGA仕様)で使用していたもので水晶発振器TCXOはすでに14.7456MHzに交換済の物を使用しました。
新規でRF7021SEを購入した場合は14.7456MHz水晶発振器(TCXO)精度2.5ppm以下の物に交換が必要です。
中国で安く売られている14.7456MHz水晶発振器の中には25ppmと言った悪い物がある様です。
測定器等を所持していない場合は少々高いですが精度の高い発振器を購入しないと調整に苦労すかも知れませんね。
JE4SMQ局のサイト及びF5UII局のサイト https://www.f5uii.net/en/hotspot-homebrew-zumspot-mmdvm-pistar-tune/ を参考にさせて頂きました。
DVSP2(DVMEGA)と違いレベルコンバータが不要ですので比較的簡単に制作出来ると思います。
最新のファームではDVSP2(DVMEGA)で苦労したRF7021SEのCLKOUTのジャンパー配線は不要となったとの事です。
発光ダイオードはTX/RX表示だけでモード表示用は省略しましたが不便はありません。
F5UII局のサイトでは/opt/MMDVM_HS/Config.hを変更する様に書かれていますが中身を確認、特に変更は必要無しの様でしたのでそのままでコンパイル、Pi-StarにてD-Star/YSF/DMRは問題なしで動作しました。
尚、Pi-Starのモデムタイプは ZumSpot Libre(USB)を選択しました。
ファーム書込み手順メモは こちら です。
MODEM基板スペクトラム
2018.06.11
中華製MMDVM MODEM基板とFT-7800の組合せに於いてDMRモード時のスペクトラムを測定してみました。
測定はUSBワンセグTVチューナ+SDR#を簡易スペアナとして利用、Pi-Starに組込まれているMMDVMCalを起動して行いました。
下の画像の通り12本位の信号が出ていました。他のサイトを参照すればこの波形でOK??の様です。
DMRでの通信試験はしていませんがちゃんと信号が出ていますのOK??と思います。
-------------MMDVMCalスペクトラムを測定手順メモ---------------------
TeraTerm等でssh接続
以下のコマンドを一括で貼付けMMDVM関係のソフトを停止する。
#------------------------------------------
rpi-rw
sudo systemctl stop pistar-watchdog.timer
sudo systemctl stop pistar-watchdog.service
sudo systemctl stop mmdvmhost.timer
sudo systemctl stop mmdvmhost.service
sleep 3
sudo killall MMDVMHost
sudo killall MMDVMHost_NoOLED
sudo killall MMDVMHost_Adafruit
#------------------------------------------
上記を実行後
MMDVMCal /dev/ttyAMA0 でMMDVMCalを起動
D をキーボードより入力してDMR Deviation Mode (Set to 2.75Khz Deviation)を選択する。
スペース を押すと送信、再度押すと送信が停止する。
送信状態でスペクトラムを測定、12本位??の信号が正常に観測されるか確認する。
----6/15 追記-------------------------------------------------------------------
スペクトラム中央の信号(画像では赤ラインのところ)が一番下がる様にT(t)にてTXLevel調整、その値をExpertのMMDVMHost設定Modem項DMRTXLevelに設定するとDMR受信(ノード機FT-7800-->MD380)は受信出来ました。しかしDMRTXLevelは非常にシビアでした。
FT-7800はTCXOではなくFズレ等による不安定要素があり中華製modemとのコンピではDMRの運用はしない方が良いと考えます。Fズレはメーカ調整用アライメントモードで調整は可能ですが温度等に変動する可能性があります。
もったいないですが本格運用するにTCXOの固定機、デジタル機を利用した方が良いかも?。
FT-7800でもYSFは送受信とも十分にマージンが有りOKでした。
測定はUSBワンセグTVチューナ+SDR#を簡易スペアナとして利用、Pi-Starに組込まれているMMDVMCalを起動して行いました。
下の画像の通り12本位の信号が出ていました。他のサイトを参照すればこの波形でOK??の様です。
DMRでの通信試験はしていませんがちゃんと信号が出ていますのOK??と思います。
-------------MMDVMCalスペクトラムを測定手順メモ---------------------
TeraTerm等でssh接続
以下のコマンドを一括で貼付けMMDVM関係のソフトを停止する。
#------------------------------------------
rpi-rw
sudo systemctl stop pistar-watchdog.timer
sudo systemctl stop pistar-watchdog.service
sudo systemctl stop mmdvmhost.timer
sudo systemctl stop mmdvmhost.service
sleep 3
sudo killall MMDVMHost
sudo killall MMDVMHost_NoOLED
sudo killall MMDVMHost_Adafruit
#------------------------------------------
上記を実行後
MMDVMCal /dev/ttyAMA0 でMMDVMCalを起動
D をキーボードより入力してDMR Deviation Mode (Set to 2.75Khz Deviation)を選択する。
スペース を押すと送信、再度押すと送信が停止する。
送信状態でスペクトラムを測定、12本位??の信号が正常に観測されるか確認する。
----6/15 追記-------------------------------------------------------------------
スペクトラム中央の信号(画像では赤ラインのところ)が一番下がる様にT(t)にてTXLevel調整、その値をExpertのMMDVMHost設定Modem項DMRTXLevelに設定するとDMR受信(ノード機FT-7800-->MD380)は受信出来ました。しかしDMRTXLevelは非常にシビアでした。
FT-7800はTCXOではなくFズレ等による不安定要素があり中華製modemとのコンピではDMRの運用はしない方が良いと考えます。Fズレはメーカ調整用アライメントモードで調整は可能ですが温度等に変動する可能性があります。
もったいないですが本格運用するにTCXOの固定機、デジタル機を利用した方が良いかも?。
FT-7800でもYSFは送受信とも十分にマージンが有りOKでした。
2018.06.11 21:27
| 固定リンク
| D-STAR/C4FM etc
MMDVM MODEM基板到着
2018.06.10
ebayに注文していた中華製のMMDVM MODEMが到着しましたのでRaspberryPi2(Pi-Star)+MMDVM MODEM+FT7800の組合せで実験してみました。
ケーブルはPS2マウス/キーボード延長ケーブルを切断して片方にピンヘッダーメスを付けました。
(6ピンMiniDinオス<-->ピンヘッダーメス)
DATA端子のPTT -------------- MODEM基板のPTT(3)
DATA端子のDATA IN -------------- MODEM基板のTX(5)
DATA端子のDATA OUT(9600bps) -------- MODEM基板のRX(6)
DATA端子のGND -------------- MODEM基板のGND(9or10)
上記の通りFT-7800の6ピンMiniDin DATA端子(パケット端子)とMODEM基板を4本で接続
FT-7800の設定はパケット速度を9600bps、送信はWIDEモードに設定しておきます。
MODEM基板のRXレベル調整ボリュームは中央、TX調整ボリュームは最大(左回り一杯)で仮調整しました。
Pi-Starの設定でModemタイプは「ZUM Radio-MMDVM for Pi(GPIO)」を選択しましたが「STM32-DVM/MMDVM_HS_Raspberry Pi Hat(GPIO)」でも動くとの情報もあます。
(何でもOKなのかな???)
MODEM基板の動作確認が取れた後、ファームを1.34(20180327版)にアップ実施しました。
-----------------------ファームアップメモ---------------------------------
RaspberryPiを立上げ、TeraTerm等でssh接続
wget http://www.taozhengbo.com/mmdvm/RPT_134.hex
でファームダウンロード、完了後シャットダウンして電源を切る。
MODEM基板のJP1を接続してRaspberryPiを立上げ
TeraTerm等でssh接続、
sudo killall MMDVMHost でMMDVM関係のソフトを停止させた後、
sudo stm32flash -w RPT_134.hex /dev/ttyAMA0
を素早く実行する。
素早く実行しないと
Interface serial_posix: 57600 8E1
Failed to init device.
のエラーが出てアップ出来ない場合がある。
その場合はシャットダウン電源再投入で立上後、再度
sudo killall MMDVMHost
sudo stm32flash -w RPT_134.hex /dev/ttyAMA0
を実行する。
------------------------------------------------------------------------
------------------RX/TXレベル調整メモ(ファーム20180327)---------------------
ExpertのMMDVMHost設定Modem項の設定はFT-7800(430MHz帯)でD-Star/FusionC4FMでは確認OK。
TXInvert:1
RXInvert:0 <--144MHz帯は1
RXLevel:50 <--大きく変化させてもBitエラー変化無し、MODEM基板のRXレベル調整ボリュームでBitエラーが少なるなる様に調整。
TXLevel:50 <--大きく変化させても変調音(ザー音の大きさ)に変化無し、MODEM基板のTXレベル調整ボリュームで調整又は下のモード毎TXLevelを調整??。
D-StarTXLevel:50 <--変調音(ザー音の大きさ)をハンディ機と同じにした。
DMRTXLevel:30 <--未確認
YSFTXLevel:30 <--17~43の間でFT1Dにて復調OK 中間の30を設定
P25TXLevel:30 <--未確認
----------------------------------------------------------------------------------
DMRについては後日調整予定です。YAESU System Fusionと同じ4値FSKなので動くと思います。
DVMEGA GMSK MODEMで430MHz帯にてD-Star公開ノードの運用をしていますのでMMDVM MODEMでの公開ノード運用は当面しない予定です。
尚、気が変わって公開ノードとして運用する場合は144MHz帯になると思います。
ケーブルはPS2マウス/キーボード延長ケーブルを切断して片方にピンヘッダーメスを付けました。
(6ピンMiniDinオス<-->ピンヘッダーメス)
DATA端子のPTT -------------- MODEM基板のPTT(3)
DATA端子のDATA IN -------------- MODEM基板のTX(5)
DATA端子のDATA OUT(9600bps) -------- MODEM基板のRX(6)
DATA端子のGND -------------- MODEM基板のGND(9or10)
上記の通りFT-7800の6ピンMiniDin DATA端子(パケット端子)とMODEM基板を4本で接続
FT-7800の設定はパケット速度を9600bps、送信はWIDEモードに設定しておきます。
MODEM基板のRXレベル調整ボリュームは中央、TX調整ボリュームは最大(左回り一杯)で仮調整しました。
Pi-Starの設定でModemタイプは「ZUM Radio-MMDVM for Pi(GPIO)」を選択しましたが「STM32-DVM/MMDVM_HS_Raspberry Pi Hat(GPIO)」でも動くとの情報もあます。
(何でもOKなのかな???)
MODEM基板の動作確認が取れた後、ファームを1.34(20180327版)にアップ実施しました。
-----------------------ファームアップメモ---------------------------------
RaspberryPiを立上げ、TeraTerm等でssh接続
wget http://www.taozhengbo.com/mmdvm/RPT_134.hex
でファームダウンロード、完了後シャットダウンして電源を切る。
MODEM基板のJP1を接続してRaspberryPiを立上げ
TeraTerm等でssh接続、
sudo killall MMDVMHost でMMDVM関係のソフトを停止させた後、
sudo stm32flash -w RPT_134.hex /dev/ttyAMA0
を素早く実行する。
素早く実行しないと
Interface serial_posix: 57600 8E1
Failed to init device.
のエラーが出てアップ出来ない場合がある。
その場合はシャットダウン電源再投入で立上後、再度
sudo killall MMDVMHost
sudo stm32flash -w RPT_134.hex /dev/ttyAMA0
を実行する。
------------------------------------------------------------------------
------------------RX/TXレベル調整メモ(ファーム20180327)---------------------
ExpertのMMDVMHost設定Modem項の設定はFT-7800(430MHz帯)でD-Star/FusionC4FMでは確認OK。
TXInvert:1
RXInvert:0 <--144MHz帯は1
RXLevel:50 <--大きく変化させてもBitエラー変化無し、MODEM基板のRXレベル調整ボリュームでBitエラーが少なるなる様に調整。
TXLevel:50 <--大きく変化させても変調音(ザー音の大きさ)に変化無し、MODEM基板のTXレベル調整ボリュームで調整又は下のモード毎TXLevelを調整??。
D-StarTXLevel:50 <--変調音(ザー音の大きさ)をハンディ機と同じにした。
DMRTXLevel:30 <--未確認
YSFTXLevel:30 <--17~43の間でFT1Dにて復調OK 中間の30を設定
P25TXLevel:30 <--未確認
----------------------------------------------------------------------------------
DMRについては後日調整予定です。YAESU System Fusionと同じ4値FSKなので動くと思います。
DVMEGA GMSK MODEMで430MHz帯にてD-Star公開ノードの運用をしていますのでMMDVM MODEMでの公開ノード運用は当面しない予定です。
尚、気が変わって公開ノードとして運用する場合は144MHz帯になると思います。
2018.06.10 11:31
| 固定リンク
| D-STAR/C4FM etc
CW Decoder完成
2018.06.07
液晶ディスプレイLCD2004が入手出来ましたのでケースに入れ、CW Decoderを完成させました。
LCD2004は予想以上に大きくスイッチ類を取付けると手持ちのケースはギリギリの状態でした。
LCD2004で表示出来る様にスケッチを変更しました。
1行目は速度、欧文/和文モード、Tone検出周波数、BandWidthを表示します。
2行目~4行目が受信データの表示です。
新しい受信データは4行目に表示して古い受信データは3->2行目に繰上る様にしています。
スイッチで欧文/和文モード強制切替、Tone検出周波数/BandWidthの変更が出来ます。
Tone検出周波数/BandWidthの変更は使用スイッチの関係上、各々3通りの設定となっています。(スケッチ上は各々4通り可能)
取り合えずは完成、まずまずの性能と言う事ですがあくまでも苦手な和文の練習用で実戦での使用は考えていません。
LCD2004は予想以上に大きくスイッチ類を取付けると手持ちのケースはギリギリの状態でした。
LCD2004で表示出来る様にスケッチを変更しました。
1行目は速度、欧文/和文モード、Tone検出周波数、BandWidthを表示します。
2行目~4行目が受信データの表示です。
新しい受信データは4行目に表示して古い受信データは3->2行目に繰上る様にしています。
スイッチで欧文/和文モード強制切替、Tone検出周波数/BandWidthの変更が出来ます。
Tone検出周波数/BandWidthの変更は使用スイッチの関係上、各々3通りの設定となっています。(スケッチ上は各々4通り可能)
取り合えずは完成、まずまずの性能と言う事ですがあくまでも苦手な和文の練習用で実戦での使用は考えていません。