jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

2020年04月

Arduinoその14

TS820のVFOのDDS化でDDS IC Si5315Aを使ったDDSの回路図をEAGLEアプリCADで作り、パターンを書きガーバーデータを作成し、CNC3018pro用に付属してきたWindos10上で動く切削用のアプリCandleにて既にパターンを削ってみました。直接は買ったばかりのCNC3018proでは操作も見様見真似でやはり、1発ではDDS基板は削る気がしません。少し操作に慣れるのと、アプリの設定値確認と大本のEAGLEのパターン幅とパターン間の距離等の最適な値の確認の為に練習を行いました。練習で使用したのは、DDSの回路図にあるLPFの部分の回路をEAGLEで練習用に作製し、パターンも書いて、そのガーバーデータで基板を削る練習です。いろいろと失敗がありました。が、EAGLEでのパターン幅や、ドリル穴のサイズとかも、おかげでどう設定すればいいかが、分かるようになりました。以下PCB切削練習で使った基板の写真です。

CNC3018proの一番最初の失敗基板
CIMG8413
何もせずにオリジナルのまま設定で削った所、削る深さが深すぎとCNCの
原点位置の合わせ方がまだわからなかった時の基板です。一番最初の
削りですが、失敗で途中で止めました。パターンらしい形には削っています
が、全くダメでした。気をとりなおして、ガーバーデータ作成用設定ファイルの
項目を調べました。

2回目のある程度の設定を見直して、切削したときの基板です。
CIMG8412

少し各設定を見直した後の削った失敗基板です。
CIMG8411

この時の失敗は、Candleアプリの設定中のある項目を使わなかった為
CNC3018proの組み立て上のアルミプレート台のひずみがそのままでて
しまった問題基板です。Candleには、Height Mapなるひずみを測定して
削る深さ(寸法)を一定に調整してくれるものがありました。これも練習しま
した。何回かやってるうちに、手持ちの10本中5本刃を折ってしまいました。
これでは刃が、足りなくなると思い、ネットで即追加で注文しています。
こんだけ失敗すると、手順はほぼ間違いなく身に付きます。Hi!

失敗基板なのですが、もったいないので、練習として、EAGLEのパターン
幅と、Candleのスピンドルスピードと、ドリル深さ、他を調整しての練習で
の基板です。このころになると、基板を作成している気持ちになります。
CIMG8414

これは、ドリルの穴径が小さすぎた例として残しています。パターンと穴あ
けは、別々のガーバーデータを使いました。パターンのガーバーデータに
はドリルの処理もありますが、わざわざドリルの刃を取り換えるようなパーツ
毎のサイズ違いがあるので、パターンは同じサイズのドリルで全部処理する
様にガーバーデータを修正します。修正はCandleにドリルのガーバーデータ
を読み込みさせ、チェックというモードに設定☑してでスタートさせると、ドリル
サイズ交換のデータ部分でエラーがでます。出たエラーを全部削除するだけ
です。これをすると同じサイズで穴開けするガーバーデータになります。
細かい操作は、チェックでエラーがでたらAbortボタンで止め、エラーの出た
行を全部削除です。選択してキーボードのdelキーで簡単に削除されます。
削除するデータはドリル交換のM06のデータです。Hi

この状態までなると、ほぼ問題なく設定する箇所も理解できていますので
CNC3018proが動いていても安心して、他のことをしたり出来るようになり
ます。最初はどうなるのかわからないので、付きっきりで見ていました。
注意しなければならないのは、必ず眼鏡をかけて行うことです。刃が折れ
たりしたときの目の保護は必ず必要です。私は伊達眼鏡を使っています。

この基板は設定項目を調整した最終の状態でのPCB切削したときの基板
です。基板作成も安定してきています。同パターンのエッジもきれいです。
CIMG8415
このパターンはEAGLEでのパターン幅を太くしてドリル径1mmでの穴あけ
で作製しています。基板止めの穴は最後に手動でサイズの大きなドリルで
空ける必要があります。実際の穴あけでは、ドリル交換ポジションにきます
ので、一時停止してドリルサイズ交換もできますが、面倒くさいのと、ドリル
の芯だしができないので、同じドリル刃をそのままにしているのが実情です。

ほぼ問題なくPCBを削れるようになりました。3日間ぐらいはああーだ、こうだ
していたかと思います。

練習もほぼ終わりました。早速目的の基板切削の開始です。
実際にTS820用に設計した基板を削ってみました。

AruduinoNanoとDDS IC、820のVFOのバッファと自作のLPFの回路
が基板として削れました。
CIMG8407

表側からの基板ですガラエポ(FR4)なのでパターンが透けて見えます。
CIMG8406

DDS IC5315Aの8pソケットのあたりのパターンの削りです。OKです。CIMG8408

DDS VFO基板を切削作製してみて、今後は、パターンのランド全体的に
少し大きめにする(特にディスクリートパーツのランド)変更が必要という
ことと、ドリル穴径、サイズの調整も必要という2点です。
(実際に使用した切削の刃サイズは0.1Φ15° ドリル径は手持ちで0.7Φ )
このくらいの基板(100x80)だと、完成まで5時間弱ぐらいかかりました。

事後ブログですが、やはり基板を削って作るのは楽しいですね。当初の
CNC3018pro購入から約1か月の期間でPCB削り出しがうまくできるように
なりました。基板作成でエッチング工程がないのがとても楽です。

つづく?

Linux 18.04LTS 64bit Qt5でのCNC3018Pro用 Candle-その2

Qt5 CreatorでのLinux アプリのCandleソースダウンロードからコンパイル、実行まではできましたが、残念なことに、通常のアプリケーションを表示する左下のアイコンをクリックして表示される、常用、すべてで、表示されているインストール済みのアプリケーションの中にCandleも入れてみたいという思いは誰しも思うはずです。Candleアプリを起動するのに、わざわざ、Qt5のCreatorを起動して、ソースを読み込んで、コンパイルして、実行で使用するのは、超面倒です。他の方法でもコンソールでのコマンドで 共有ライブラリの階層までcd で設定し、./Candleでも起動することはできますが、これも、手間です。やはりアイコンワンクリックでCandleを起動したいというのが、一番でしょう。やり方の大筋が書いてあるWebページがありましたが、やはり、一筋縄では行きません。この通りやっても、うまく行きませんでした。結果上手くできたから言うのですが、やはり情報の不足部分を寄せ集めてトータルでどうすればいいかを自分なりにまとめることで、初めて動作までこぎつけることが出来るという、少し根気も必要という事です。つまり、このページだけの情報では不足していてコンパイルでの単独実行ファイルは完成しないということです。また、他の人のwebページには、残念ながらLinux 64bitでのCandleはうごきませんでしたなどというページもあり、私自身最初の頃は多少の不安もありましたが、その点このWebでは、動作しない場合の解決手順として載っているので、動かないという事は無いんだと、その点の迷いは払拭できました。Linuxは17.10 64bitで動く手順でしたので、私のLinux18.04LTS 64bitも大丈夫と言うことで進めたわけです。

http://naisema.blogspot.com/2017/11/install-candle-on-ubuntu-64bit-machines.html

このwebページの流れでやっていくのですが、実は、この作業は一番最後にやることになります。他の作業が必要なのです。しかしこの手順を先に説明です。1はQt5のインストールですので、すでに入れてあるので省略です。2はgit clone にてCandleのリボジトリのクローン複製します。これは、このままで実施します。
3は、インストールしたCandleソースコードのコンパイルですが、端末(コマンドライン)操作になります。3の手順は次のようになっています

$cd Candle/src
$qmake
$make

最初のcdでのCandleの階層クローン複製展開ダウンロードしてしたところの階層に持って行きます。ここのインストールCandleのソースコードを展開保存した階層を自分で決めた場合は、その決めた階層になります。特に問題は無い手順です。
次は、qmakeでコンパイルするのですが、この階層にもqmakeのパスを設定してから行えばこのままでいいのですが、設定してないので、エラーとなります。qmakeのコマンドの場所はフルパスで指定する必要があります。さすれば、qmakeは何処ぞ?ということですが、Qt5のQt Creatorを開きます。前のその1にも記載しました、メニューバーのツール→オプションでQtバージョンタグを開きます。自分のインストールしたQtのバージョンの下の方にある Qt5.14.2.GCC 64bit のqmakeのパスをコピーします。

範囲を選択_016kako

□□□□□〜/Candle/src$/home/※※※※/Qt/5.14.2/gcc_64/bin/qmake
となります。
次はmakeですが、このままでOKです。
□□□□□〜/Candle/src$make

簡単に上のqmakeとmakeを一行で記載して実施するには、次のようにします。
□□□□□〜/Candle/src$/home/※※※※/Qt/5.14.2/gcc_64/bin/qmake  &&  make

上記がqmake と makeの手順になります。これでコンパイルします。この手順だけでは、共有ライブラリしかできません。つまりQt Creatorでのソースコンパイルと何ら変わりません。
あとこのqmakeのコンパイル1回行ってしまうと、2回目はコンパイルしません。qmakeを行ったあとには(拡張子.o)オブジェクトが生成されます。このオブジェクトがある状態ではqmakeはコンパイルしません。ここで、何回か試したりする場合は、コマンドラインで作成されたオブジェクトを消します。
□□□□□〜/Candle/src$make clean
これで、コンパイルで作成されたオブジェクトを全部消せます。

4は最新のx86 Candleをgithub.comからダウンロードし、tar コマンドでフォルダ/opt にextractします。
5では/opt/Candle にコンパイルした Candle x64をコピーします。
6はldd でCandleのシンボルリンクを確認します。

ファイル名は、そのままCandle.proファイルをテキストエディターで修正します。
実は、この作業がコンパイルを行う前にして置かなければならない作業になります。先にコンパイルの仕方を説明していますが、こちらのテキストファイル修正が先です。一番の重要なポイントです。
展開したファイルの中のCandle.proファイルに下記の1行を追加します。このファイルによりコンパイルが実施されます。
追加行:QMAKE_LFLAGS += -no-pie

範囲を選択_019
この1行を追加することで、qmake、makeのコンパイルで、実行ファイルが生成されるようになります。ここで、先のコンパイルを実施します。

□□□□□〜/Candle/src$/home/※※※※/Qt/5.14.2/gcc_64/bin/qmake  &&  make
ファイルがギヤのアイコンになっていれば実行ファイル作成成功です。
このままでも、マウスでCandleファイルをクリックすると実行ファイルなのでCandleが起動します。

7はコンパイル後実行ファイルができている状態にてのショートカットの作成です。
次は、いよいよプログラムの登録ので通常のアプリケーションと同じようにアプリケーションの表にのに入れる作業です。通常のショートカット作成です。
注意点は実行ファイルがあるパスをExecにパス付きで記載することと、アイコンの置き場所にアイコンファイルをコピーしておきます。通常はUbuntuの階層で決まっている/usr/share/app-install/icons/ にアイコンファイルをコピーです。

[Desktop Entry]
Name=Candle
GenericName=Candle
Comment=CNC controller software
Exec=/opt/Candle/Candle
Icon=/usr/share/app-install/icons/candle.png
Terminal=false
Type=Application
Categories=Development;Electronics;

しかしこのCandle.desktopのショートカット作成時は所有者、グループの設定に気をつけます。
作成時は、自分が所有者になります。グループも自分です。ショートカットをLinuxのapplicationsのフォルダに移すときはその階層の所有者(root)、グループ(root)設定にします。 $sudo chown root:root ファイル拡張子付き でファイルを 所有者(root)、グループ設定を(root)に変えられます。スーパーユーザーモードで行います。
また、書き込み(w)=4 ,読み込み(r)=2,実行(x)=1,の設定がとても重要です。自分のフォルダ内で
は、ファイル − wrx wrx wrx と設定してます。$sudo chmod 777 全部許可って感じです。
(2020/05/05修正)
また、書き込み(w)=2 ,読み込み(r)=4,実行(x)=1,の設定がとても重要です。自分のフォルダ内で
は、ファイル 
− rwx rwx rwx と設定してます。$sudo chmod 777 全部許可って感じです。

最初がファイルか、フォルダか、シンボリックかで次が、所有者の書き込み読み込み実行、次がグループの書き込み読み込み実行、その次が他ユーザーの書き込み読み込み実行のアクセス権限設定である。
アイコンファイルなどは自分の所有になっていたりするので、Linuxのアイコンファイルなどにはこのアクセス権を合わせないとコピーできなかったりします。
candle.desktopは1行追加したものを保存します。移す前にプロパティを開きます。アクセス権のタグで
実行:☑プログラムとして実行可能(E)のように☑にします。このチェックのあとにroot権限にします。アクセス権の設定を移動先フォルダにあわせrootになったので、それをLinuxの /usr/share/applications/ にコピーします。また、デスクトップにもCandleショートカットアイコンを置きました。また、アイコン画像も Icon=/usr/share/app-install/icons/candle.png にダウンロードされたフォルダからコピーします。

以上で自分のPCのアプリケーションにも登録ができました。また、ワンクリックでの起動も問題ありません。前後したりしていますが、必要な事を先に行ってからの手順実施が大切です。Linux18.04LTSでの作業は実質2日かかりましたが、何とか完了できました。まだまだわからない点もある中のトライでしたが、Candleがアプリ登録され、アイコン起動できたので完了です。
これで、他の事ができるわけですが、まだまだ、茨の道は続きそうです。
Linuxの基板作成CADとか、ガーバーデータ作成アプリなんかも確認していかなければなりません。Windows10ならもうすぐにでもできているのですが、Linuxでは難儀かもしれません。
誰か先にやってくれている方がいると助かるのですが、これから調査開始です。

つづく?

Linux 18.04LTS 64bit Qt5 でのCNC3018Pro用 Candle-その1

Windows10ノートPCでのCNC3018Proを動かす為の切削アプリCandleはUSBで標準でついてきているので、動作も全く問題なく、実際の基板を削ることができました。ちなみにノートPCは居間での検索用として使っているため、常用はできません。CNC3018Proの組み立てと動作確認までは、ノートPCの役目です。実際は、GatewayのデスクトップPC(OS:Vista)にLINUX 18.04LTSを前に構築してあるので、これを使うことにしていました。なので、実際にCandleのソースをダウンロードしてきて、コンパイルまでをトライすることにしました。CandleはWindows,Linux,Macに対応しています。ここで、コンパイルまで行うためには、高級言語のソフトが必要です。このCandleアプリは、Qtにて作成されているということでしたので、早速最新のQtをダウンロードです。登録はどのアプリにもあるように、名前、メールアドレス他を入力で、フリー版をダウンロードしました。結構な時間はかかります。使うQtコンパイラーのバージョンの最新版1つで問題ないですが、最初わからず、ほとんどの過去バージョンにチェックを入れて全部のQtコンパイラーをダウンロードしてしまいました。Ḡ(ギガ)単位の容量なのでメモリーがない時は、最新版バージョンだけにしてのインストールが賢明です。
Qt Creatorのバージョンは4.12.0です。言い遅れましたが、プラットフォームはQt Creatorになります。
また、QtはいろいろなOS(Android,iOS,Linux,MacOS,Windowsの各オペレーティングシステム)の開発プラットフォームなのです。とにかく、すごいプラットフォームであることが、色々と調べて行くうちに、分ってきます。
ダウンロード後は、サンプルをクリックすると本当にたくさんあるので、どれか簡単なものということで、Analog Clock Window Exsampleをクリックして、コンパイルしてみます。中身は、C言語ですので、見たことのあるコードも見えます。あまり気にしないで、動作を楽しむだけです。コンパイルすると、きれいなフォームで時計が動作しました。コンパイルは、コーディングしないので、ボタンを押すだけで、操作は超簡単です。と、ここまでは、Qtをインストールして動作が問題ないかの確認です。
コンパイルでエラーも出ずに、時計のフォームが上手く表示されてますので、インストール環境はOKです。まずは、Candleのソースコードをダウンロードするのですが、その前に、久々のLinuxなので、コマンドライン用の端末の操作を思い出さなければなりません。当然よく使う、端末アプリは、メニューに貼り付けておきます。まずは、インストールの仕方は、基本Web情報のコピペですが、
$ aptitude show qt5-default などから直ぐに思い出せます。あとは、権限などの確認やコマンドでの操作、su ,chmod chown,ls,ls -l,clear,cd,mkdir,qmake,make,ldd,etcの確認を実際に色々と試して見ました。ここのページが確認するのには良かったです。https://www.server-world.info/query?p=command
Candleのダウンロードしたソースコードは階層の/home/※※※※/ダウンロード/ に保存されます。
※※※※は各自のフォルダ名です。階層を含めると次のように最新版がダウンロードされます。
/home/※※※※/ダウンロード/Candle_1.1.7.tar.gz 
これを解凍するのですが、解凍場所は、新たに /home/opt/Candle/src上に設定するのが良い階層のようですが私は、最初わからなかった為、/home/Candle/src のようにしてしまいましたので、そのまま実施しています。特に問題はありません。QtでCandleのソースコードコンパイルする為の読込先なので、記憶しておく必要があると思っていましたが、Qt Creatorプラットフォーム上に記録で残りますので、全然、気にしなくてもいいです。Candleのソースコードのダウンロードをして、Qt Creatorで読み込みします。プロジェクトファイルのcandle.pro を選択し、プロジェクトを開くで、candle[master]プロジェクトとして表示されます。
[master] - candle - Qt Creator_008
中身を見てみます。今回はコンパイルするだけなので、中身を見ることは特には必要ないです。がやはり確認します。
[master] - candle - Qt Creator_009
ヘッダーなどは、たくさんあるので、全部は開かず、主要なもののみを閲覧しました。
コンパイルのためには、ツール→オプションでkitsタグ上で、Qtのインストール
バージョンを確認します。また、Qtのインストールしたqmakeのパスも確認します。
このqmakeのパスは後で直接端末のコマンドでのコンパイル時に使います。
コンパイラータグでは、QtでのCandleコンパイル要件にあるMinGWのインストールが
あるかも確認します。このコンパイラは、別途インストールが必要なので忘れずに
インストールしておきます。
Candleのソースコードが読み込みましたので、時計のときと同じくビルドします。
ビルド(ハンマー)完了後、実行▷です。
コンパイルがされて、Candleのフォームが表示されます。

Candle_010
バックが黒で、しかも通信もNot connectedなので、Serviceで設定します。
Settings_011
connectionの接続は、私の場合は Port:ttyUSB0、Baud:11520 に
設定です。各PCの状況でPortは変わります。

Tool model のtype はFlat から Conicに変えました。それに合わせて
Angle:30.000,Diameter:3.000,Length:15.000 と私の好みでの設定です。

あとはColorsの Backgroundが黒色から白に変更とToolgが黒から黄色
に変更しています。これも好みです。
他は、オリジナルのままでOKで保存します。

以上で、Qt Creator上では問題なく動作することがわかりました。
しかし、このプラットフォーム上だけでしか動かせません。コンパイル後の
Candleファイルは共有ライブラリで、ワンクリックでは起動できません。
目的とするところは、実行ファイル形式のCandleファイルです。
そのため、続きとなります。

つづく ?





アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ