オリジナル OnStep基板

2018-04-30 解説図修正
2018-04-25 基板頒布終了しました
2018-04-22 Teensy microUSB(シリアル)使用のための修正
2018-04-16 エラー個所一部修正

基板概要


表面

Teensy3.2, DRV8825 など主要部品が載る側です。
1か所シルク印刷ミスでST-4モジュラの囲み線が裏側に描かれていますが間違いです。

裏面

BluetoothモジュールのRN-42が載ります。
RN-42を使用しない場合は実装しなくても大丈夫です。
ただし、実装しない場合は、USB-シリアルコンバータなど別途PC等のデバイスと接続する方法を用意してください。


回路図




パーツ表


部品備考
Teensy 3.21
DRV8825モジュール2ソケット用丸ピンにするので、足は付いていないものが良い。
RN-42 Bluetoothモジュール1使用しない場合は不要。(※1)。
秋月 Bluetoothモジュール RN42-I/RM
USBシリアルモジュール
Wifiシリアルモジュール
-必要な場合のみ (※1)。例えば下記のようなもの。
秋月 FT232RQ USBシリアル変換キット
3端子レギュレータ
TA4805S 5V/1A(コンデンサ付き)
セラコン0.1μF, 電解コン47μF
1秋月 5V1A TA4805S
他の5Vレギュレータでも可
レギュレータ用放熱板1適当なもの。下記は配置OK
秋月 放熱器(ヒートシンク)15x25x11mm
もっと小さくてもいいと思います。無いと不安ですが。 
電解コンデンサ 100μF2C1, C2 耐圧25V以上あればとりあえず。
抵抗 1KΩ1R2 (※1)
抵抗 2.2KΩ1R3 (※1) (※4)
抵抗 3.3KΩ1R4 (※1) (※4)
抵抗 330Ω1R1 LED用
LED1D1
MINI-DIN4P コネクタ2秋月 ミニDINソケット4P (※2)
RJ12 6極6芯モジュラ1秋月 6極6芯モジュラ (※2)
DCINジャック1秋月 2.1mm標準DCジャック
ヘッダピン2P2J7, J8
ヘッダピン4P1J3
ジャンパピン3
丸ピンソケット 8P4DRV8825用 (※3)
丸ピンIC連結ソケット8P4DRV8825用 (※3)
丸ピンIC連結ソケット14P2Teensy用
細ヘッダピン7P2Teensy裏面パッド引き出し用(後述)
L字でも可
Raspberry Pi ケース1お好みのもの。私が使用したのは
aitendo RaspberryPiケース
MINI-DIN4P プラグ2モーターへの配線用プラグ
(※1) RN-42とその他モジュールはどちらか選択してください。排他仕様なので同時に使うことはできません。(切り替えは可能)RN-42を実装しない場合、R2は不要です。
(※2) 他メーカーのものだとピン位置が異なる場合があります。
(※3) 実験中に焼いてしまうのはDRV8825あるあるなので、ピンソケットで取り換えられるようにした方がいいです。
(※4) R3, R4の抵抗は不要です。R3をジャンパ線でショート、R4をオープンにしてください。


部品調達先


秋月電子通商 いつもお世話になっています。
スイッチサイエンス モジュール系強し。PCB製造サービスやってます。
共立エレショップ 関西ならここ。学生時代に入り浸ってました。
マルツオンライン 部品点数の多さならここ。特殊部品も見つかったりします。
aitendo 液晶が豊富。モジュール系が充実。
朱雀技研工房ストア ロボット系部材、モータードライバなど扱いあり。
ストロベリー・リナックス 電源系のモジュール探すならここ。
ロボショップ ロボット系のパーツが豊富。Teensy, DRV8825の扱いあり。
Amazon 中華系ショップは海外発送だったりするので注意。コピー品が送られてくることがあるので品質は期待してはいけない。


実装


パーツを載せていけば基本的に完成です。
モーターを付ける前にDRV8825の電流調整を忘れずに行っておきましょう。
基板には電源スイッチが付いていません。DCINで即動作を開始します。

電源周り

マイコン用の電源レギュレータの方向は右図の通り。レギュレータを寝かせて放熱板を付けてください。

DCINジャックはセンタープラスの12V入力を想定していますが、ここの電圧がそのままDRV8825に入ってます。例えば9V駆動のモーターを使用するなら、DCIN9VでOKです。
ただし、8V以下はDRV8825の定格外になるので動作の保証はできません。

J8はジャンパピンを入れて通常ショートさせて使用します。オープンだと電源ラインがカットされます。
ここに電源スイッチを入れたり、ヒューズなど保護回路を挟んだり、GNDを引き出して別途DRV8825への変圧回路を入れても構いません。


Teensy 3.2 の取り付け

Teensyの裏面パッドも使用しているので、ピンで引き出す必要があります。
写真のようにピンヘッダをL字に曲げ、パッドへ足を半田付けします。半田位置の枠がTeensyにシルク印刷されているので参考に。
基板短辺のピンは使用してません。

micro USB コネクタ裏面のパターンを1カ所カットします。
micro USB シリアル接続を使用する時に、USB端子からの5Vを入力しないようにVUSBラインをカットしておきます。


カットするとDCINを接続しないとTeensyが起動しません。ファームの書き換え時などご注意ください。


RN-42またはUART I/O


J3およびJ7を使用して切り替えを行います。
RN-42を使用する場合、J3のRX1, TX1を J7のTX, RX へそれぞれジャンパピンでショートさせます。I/Oレベルは3.3Vです。

USBシリアルやWifiシリアルモジュール(ESP8266)を使用する場合はJ3のみを使用します。TeensyからのUART I/Oピンと、5VとGNDが出ているので各々モジュールに配線します。3.3Vが必要な場合はTeensyの右図ピンから出ていますので配線してください(Max 250mA)

例は秋月で扱っているモジュールの接続例です。
モジュール側のCTSとRTSはショートさせます。
各モジュールは基板表面の空いている場所へ適当に配置してください。

RN-42は表面実装です。ピン間隔も狭いので難関ですが半田付けの腕の見せ所。
フラックスをサッと引いて、キレイに付けましょう(^^)



コネクタ類

RJ12
6極6芯モジュラはST-4互換インターフェイスです。
ピンアサインはポート正面から見て図のとおりです。

MINI-DIN4P
コネクタ正面から見て、DRV8825ピンへの接続は図のとおりです。
モーターのラインへ接続してください。


OnStepの書き込み

TeensyにOnStepを書き込まないと話になりません。
OnStepのGitから最新のBeta版をダウンロードして、Arduino統合環境でTeensyに書き込みます。
この時、使用する回路とモーター、ギヤ比に合わせて Config を設定し直します。

Config


基板回路種類によって Configが分かれています。
この基板はTeensyを使用した一番単純な Config.Classic.h を使用します。
使いたい Config.****.h の先頭にある、defineスイッチをONにします。
#define Classic_ON   //  <- Turn _ON to use this configuration

オプションで私が追加したのは次の通りです。

#define POWER_SUPPLY_PINS_ON
Pins.hで定義される、Axis15vPin, Axis25vPin をHigh(5V)にします。
DRV8825のRESET, SLEEPの制御で使用しています。

#define STATUS_LED_PINS_ON
ステータスLEDを点灯させます。LEDが点滅するとトラッキング状態です。

#define AUTOSTART_TRACKING_ON
隠しオプションのようですが、電源オンで即トラッキングを開始します。
簡易赤道儀として使う場合はこれができないと不便です。

#define ST4_PULLUP
ST-4ポートを内部プルアップします。実装部品を減らすための便利オプションです。

#define REVERSE_AXIS1_OFF            // RA/Azm axis
#define REVERSE_AXIS2_ON            // Dec/Alt axis
配線の関係でモーター回転方向が逆になってしまった場合、このフラグで反転させます。
私の場合DEC側が反対だったので反転させています。

MaxRate, StepsPerDegreeAxis?, StepsPerWormRotationAxis1 など
モーターやギヤ比に応じて設定するパラメータです。
OnStepのサイトに計算用のExcelシートがあるので、内容をよく読んで実際の機材の値を入れるとパラメータが計算されます。その値を転記しておきます。


その他


  • ステータスLEDはRaspberry Pi ケースのAudioジャック位置になります。
  • Raspberry Pi ケースによっては一部加工が必要です。また、DCINジャックの穴を加工してください。
  • PCとの接続はTeensy の microUSBポートでの接続か、RN-42等のモジュール経由での接続ができます。
    Linux環境においてTeensyのmicroUSB経由で接続する場合、シリアルポート初期化が上手くいかない場合があります。原因は複数考えられますが、Linux環境の modem Manager が接続の邪魔をしている可能性があります。


オリジナル 基板頒布

オープンソースの架台制御ソフト、OnStepのハードウェア実装基板などの話題です。


頒布状況 2024/3/16
○ OnStep基板 Rev2.1
○ OnStep基板 Rev3.0
○ GBC-SHC 基板 Rev1.0
頒布ご希望の方はこちら、基板頒布のお知らせ をご覧ください。

このブログを検索

Blog Archive

QooQ