カテゴリー: 電子工作

VisionFive2

StarFive VisionFive2 着弾

StarFive が夏に Kickstarter でクラウドファンディングしていた VisionFile2 が年末に突然届きました。

RISC-V は組み込み用途としては既にかなりの実績があるものの、計算能力を高めることを目指したものはあまりなく、物足りなさを感じていたところでした。

そこに現れたのが StarFive JH7110 を搭載した VisionFive2 です。Quad core 1.5GHz の CPU で GPU も搭載していて、Raspberry pi4 よりもちょっと落ちるもののそれに匹敵する性能と GPIO や I2C といった各種インターフェース、DDR4, PCIe, M.2 NVMe SSD 対応と色々遊べそうな構成になっています。また、Linux が動いて手軽に実環境でプログラムを実行することができるのも嬉しいです。

内容物

届いた中身はとてもシンプルです。外箱とプラスチックケースに収められた VisionFive2 が入っているだけです。ドキュメント類は外箱の裏に書かれた URL からアクセスします。

資料

資料は外箱裏に載っている

の二か所を参照します。メーカーが提供しているイメージのダウンロード URL は Getting Started の Flasing with Linux or Windows のページにあるのが最初ちょっと不安感を煽ります。笑。確かに、必要な資料を読み進めると必要な時に出てくるので良いのですが。

あと、2022年12 月末時点では VisionFive2 を動かすにはいくつかハマり所があり、それを @osakanataro2 さんが懇切丁寧に整理されているので、この記事も参考にします。

StarFive Vision Five 2の2022年12月出荷分を使うには面倒くさい手順が必要

ちなみに、最近の中国製のこういうプロダクトは”翻訳すれば読めるでしょ?”という感じで中国語で書かれていることが結構あり、実際に翻訳されたものを読むだけで十分なので突然中国語が出てきても Google 様の力で翻訳してもらって読み進めます。VisionFive2 はかなりの部分が英語で書かれていますが、フォーラムなんかは中国語が多いですね。

作業

基本は前述の @osakanataro2 さんの記事に全て書いてあります。ただ、sdcard.img の作り方だけはサラッと流されていたので、補足しておきます。→元記事では releases にあるものを使う想定だったようです。たしかにこちらを使えばわざわざビルドする必要無いです。

sdcard.img を作るのは starfive-tech/VisionFive2 に書いてる手順に沿って行えば良いです。ただ、私の環境では開発者用環境のチェックアウトまで行わないとビルドが通らなかったので、その作業も行いました。

$ cd buildroot && git checkout --track origin/JH7110_VisionFive2_devel && cd ..
$ cd u-boot && git checkout --track origin/JH7110_VisionFive2_devel && cd ..
$ cd linux && git checkout --track origin/JH7110_VisionFive2_devel && cd ..
$ cd opensbi && git checkout master && cd ..
$ cd soft_3rdpart && git checkout JH7110_VisionFive2_devel && cd ..

ビルドの際、リポジトリには pre-build.sh, build.sh, post-build.sh があってこれを叩けばいいのではないかと思ってしまうのですが、ここはドキュメント通り make を実行するだけで 良いようです。ビルドは結構時間がかかり、私はビルドをしていたら年が明けてしまいました。

ビルドができたら Additional command to config buildroot, uboot, linux, busybox の項目を実行し、最後に genimage.sh を実行すると work/sdcard.img が作られます。このあたりの手順は刻々と状況が変わっていくと思うので、その時々試行錯誤することになるかと思います。

sdcard.img ができたら SDカードにイメージを焼いて VisionFive2 を起動すると Linux が立ち上がります。

U-Boot SPL 2021.10 (Oct 31 2022 - 12:11:37 +0800)
DDR version: dc2e84f0.
Trying to boot from SPI

OpenSBI v1.0
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name             : StarFive VisionFive V2
Platform Features         : medeleg
Platform HART Count       : 5
Platform IPI Device       : aclint-mswi
Platform Timer Device     : aclint-mtimer @ 4000000Hz
Platform Console Device   : uart8250
Platform HSM Device       : ---
Platform Reboot Device    : ---
Platform Shutdown Device  : ---
Firmware Base             : 0x40000000
Firmware Size             : 360 KB
Runtime SBI Version       : 0.3

(中略)

Starting NFS statd: OK
Starting NFS services: OK
Starting NFS daemon: rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory).
Please try, as root, 'mount -t nfsd nfsd /proc/fs/nfsd' and then restart rpc.nfsd to correct the problem
FAIL
Starting NFS mountd: rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
OK
Starting isp_ctrl_daemon.sh: OK
Starting DHCP server: FAIL

Welcome to Buildroot
buildroot login: [   38.976567] mipi_0p9: disabling
root
Password: [  174.736301] random: crng init done
[  174.739759] random: 7 urandom warning(s) missed due to ratelimiting

# uname -a
Linux buildroot 5.15.0 #1 SMP Sat Dec 31 23:18:30 JST 2022 riscv64 GNU/Linux
#

sdcard.img を使った Linux 環境が立ち上がったので、あとは @osakanataro2 さんの記事に沿って作業を進めればよいです。

ちょっと長くなったので今回はここまで。

電子工作

Wio Lite RISC-V の Wifi をつなげてみる

L チカができたので、続いて Wifi 接続を試してみます。ネットワークに繋ぐことができると可能性がググッと広がるのでテンションが上がります。

基本的には”Wio_Lite_RISC-VボードでWiFiを動かす“を見ながら進めれば Web 経由での LED オンオフまでできます。ただ、私の環境では pins_arduino.h が足りないと言われてエラーになってしまいました。

C:\Users\chiyama\.platformio\packages\framework-arduino-gd32v\cores\arduino\Arduino.h:36:10: fatal error: pins_arduino.h: No such file or directory

検索したところ、”Blink with a Wio Lite RISC-V with ESP8266” では二つの解決策が紹介されていて、そのうちの正統派と思われる足りないファイルを他から持ってくる方法をおこないます。

  1. ~/.platformio/packages/framework-arduino-gd32v/variants/wio_lite_risc-v ディレクトリが無ければ作成
  2. GitHub の sipeed/Longduino リポジトリから pins_arduino.h と pins_arduino.c を作成したディレクトリにコピー

これでビルドが成功するようになりました。ビルドが通ったらファイルを Wio Lite に転送して実行します。

シリアル経由で起動が確認できたら
ブラウザからアクセスして on を Submit すると
LEDが光った!!

これで、Wifi経由でのネットワークへの接続、Wio Lite 上で動いている Web サーバへのアクセス、ブラウザからの Wio Lite の LED 制御ができるようになりました。

電子工作

Wio Lite RISC-V をためす

秋月電子で 500 円という格安で Wifi つき RISC-V ボードが売っていたので確保してみました。

ググると先人が試した形跡が結構あるので、それを参考に作業を進めると比較的サクサクと進めることができます。ただ、当時からちょっと状況が変わっているのか私の手元では動かない部分もあったので、そのあたりは適宜勘を働かせながら進めていきます。

まずは、

などを参考に環境構築と一番簡単な L チカから始めます。

ドライバインストール

過去のドキュメントで紹介されているリンクが死んでしまっているようで、探すのに苦労しました。結局、ドライバはGigaDevice のページから取得できるものを見つけ、書き込みツールは GitHub の Seeed Document のリポジトリから見つけました。

GD32DfuDrivers_V3.6.6.6167.rar を展開したら、x64 ないしは x86 フォルダ内にある GD32DfuDrivers.exe を実行してドライバをインストールします。

GD32_MCU_Dfu_Tool_V3.8.1.5784_1.rar はボードにプログラムを書き込む際に使用するので、展開して置いておきます。

PlatformIOのインストール

Wio Lite RISC-V は PlatformIO に対応しているようなので、PlatformIO をインストールします。VSCode の EXTENSIONS で PlatformIO を探してインストールします。

プロジェクト作成

PlatformIO の画面から New Project でプロジェクトを作成します。Board で “Wio Lite RISC-V(SeedStudio)”、Framework で GigaDevice GD32V SDK を選びます。

プログラム作成

“Wio Lite RISC-V で Lチカ” に書かれている手順をベースにしています。

Project Example から longan-nano-blink を選択してLongan Nano 用Lチカのサンプルを入れます。

続いて、Wio Lite RISC-V の仕様に合わせて値を変更します。

#define LED_PIN GPIO_PIN_13
#define LED_GPIO_PORT GPIOC
#define LED_GPIO_CLK RCU_GPIOC

#define LED_PIN GPIO_PIN_8
#define LED_GPIO_PORT GPIOA
#define LED_GPIO_CLK RCU_GPIOA

とします。

以上です。全体像は以下の通りです。

include/systick.h

#ifndef SYS_TICK_H
#define SYS_TICK_H

#include <stdint.h>

void delay_1ms(uint32_t count);

#endif /* SYS_TICK_H */

src/systick.c

#include "gd32vf103.h"
#include "systick.h"

/*!
    \brief      delay a time in milliseconds
    \param[in]  count: count in milliseconds
    \param[out] none
    \retval     none
*/
void delay_1ms(uint32_t count)
{
    uint64_t start_mtime, delta_mtime;

    // Don't start measuruing until we see an mtime tick
    uint64_t tmp = get_timer_value();
    do {
    start_mtime = get_timer_value();
    } while (start_mtime == tmp);

    do {
    delta_mtime = get_timer_value() - start_mtime;
    }while(delta_mtime <(SystemCoreClock/4000.0 *count ));
}

src/main.c

#include "gd32vf103.h"
#include "systick.h"
#include <stdio.h>

/* BUILTIN LED OF LONGAN BOARDS IS PIN PC13 */
#define LED_PIN GPIO_PIN_8
#define LED_GPIO_PORT GPIOA
#define LED_GPIO_CLK RCU_GPIOA

void longan_led_init()
{
    /* enable the led clock */
    rcu_periph_clock_enable(LED_GPIO_CLK);
    /* configure led GPIO port */ 
    gpio_init(LED_GPIO_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LED_PIN);

    GPIO_BC(LED_GPIO_PORT) = LED_PIN;
}

void longan_led_on()
{
    /*
     * LED is hardwired with 3.3V on the anode, we control the cathode
     * (negative side) so we need to use reversed logic: bit clear is on.
     */
    GPIO_BC(LED_GPIO_PORT) = LED_PIN;
}

void longan_led_off()
{
    GPIO_BOP(LED_GPIO_PORT) = LED_PIN;
}
/*!
    \brief      main function
    \param[in]  none
    \param[out] none
    \retval     none
*/
int main(void)
{
    longan_led_init();

    while(1){
        /* turn on builtin led */
        longan_led_on();
        delay_1ms(1000);
        /* turn off uiltin led */
        longan_led_off();
        delay_1ms(1000);
    }
}

プログラムができたら、ウィンドウ左下のビルドボタンでビルドします。

作成したプログラムの書き込み

ビルドに成功したら、作成したプログラムをボードに書き込みます。PlatformIO 経由でできるという記述があったものの、私の環境ではうまくいかなかったので先ほどダウンロードした GD32 MCU Dfu Tool を使用します。

ボード上のスイッチを USB コネクタ側に切り替えると書き換えモードに切り替わるので、リセットボタンを押します。
GD32 MCU Dfu Tool を立ち上げます。正常に認識されていると、DFU Device にデバイスが表示されます。

DL App file name で、(プロジェクト名)\.pio\build\wio_lite_risc-v\firmware.hex を選択し、OKボタンを押すとファイルが転送されます。

Download succesfully! と言われたら成功です。スイッチを元に戻してリセットボタンを押すと、1秒毎にLEDが点滅を繰り返します。



電子工作

冬休みの自由研究:基板の自作(11) 組み立てと動作テスト

基板ができたので、部品を実装して動作する成果物を作っていきます。

まずは、基板にピンバイスで穴を空けます。ナニゲに、微妙に老眼が入ってくるこの歳ではこういう細かい作業が辛いです;;

無事に必要な穴を空けることができました。拡大してよく見ると、ちょっと中心からずれてますね、、、

続いてパーツをはんだ付けしていきます。はんだ付けをしてみると、思っていた以上に回路が細かいことを痛感します。あと、普段慣れているプリント基板と感じが違うので、熱の加え方などの感覚がわかりづらいです。

そんなこんなで実装完了です。子供を膝に乗せながらはんだ付けをするなんて言う激ムズなシチュエーションだったので、はんだ付けの品質は悲しくなるくらい酷くなってしまいました(言い訳。

表側はこんな感じ。真ん中の輪っかになっている端子が電源用です。

さて、ドキドキワクワクの動作確認です。天に祈りを捧げながら電源を入れて、スイッチオン!!

ぴかーーーーん!!つきましたよッ!!

ものすごく簡単な例ではあるものの、DSPCBを使用した回路設計、基板のアートワーク、基板の製作、そして実際の組み立てまでの流れを経験することができました。これで当初目的は全て達成することができました。これで今回の冬休みの自由研究は終了です。

電子工作

冬休みの自由研究:基板の自作(10) 廃液処理

エッチングに使用した液体には銅が溶け込んでいるため、そのまま排水に流してしまうことは厳禁です。アルミホイルを投入して銅を析出させます。

アルミホイルを投入すると泡と熱が出るので、一気にたくさん入れるのではなく、少しづつ様子を見ながら投入します。

半日ほどアルミホイルの投入を続けると下図のような状態になります。

セメントで固める

数日間アルミホイルを投入し続けると液体が透明になります。こうなれば無毒なので、セメントで固めて燃えないゴミに出します。

セメントはいいものだと投入後30分くらいで固まるものもあるようですが、固まればいいので一番安いものを買いました。セメントを投入して混ぜると、ドロドロの液体になります。このまま一晩放置します。

一晩待つとカッチカチです。これでエッチング液の処理も完了です。

 

電子工作

冬休みの自由研究:基板の自作(9) 基板のエッチング・リベンジ

前回はマスクの転写が上手くいかなかったり、エッチングのやりすぎで回路が痩せてしまったとイマイチな結果に終わってしまったのでやり方を変えて再度チャレンジします。

マスクの転写

重しを乗せて転写する方法では基板へのトナーの乗りが良くなく、すぐにはがれてしまったので今回はアイロンを使って熱転写をする方法と、転写液をかけてから指で押さえる方法の二種類を試します。

アイロンを使った転写

アイロンを使う場合は光沢紙に印刷した方が良いようですが、今回は既に印刷した普通紙のものを使用します。基板に印刷したパターンを重ねてアイロンで抑えるとトナーが溶けて基板と紙がくっつきます。その上に布をかけ、霧吹きで水を吹いた後にアイロンがけの要領で熱を加えます。

これを水につけて紙をふやかし、トナーを残して紙を除去します。

指で押さえる

基板とパターンを転写液でくっつけた後、指の腹で基板全体をまんべんなく押さえます。しばらくすると転写液が乾くので、同様に水につけて紙を除去します。

結果

どちらの方法も紙を除去している段階でトナーが剥がれてしまい、うまくいきませんでした。左がアイロン、右が指で押さえたものです。どれくらいトナーが定着しているか確認したかったので、かなりゴリゴリと紙を除去しています。それでもこれだけ残っているので、前回のものよりはかなり良い結果です。

アイロンを使った方は全体に満遍なくに定着しているものの、全体的に薄くなってしまっています。それに対し、指で押さえた方はかなりしっかりと定着している部分とそうでない部分でムラができてしまっています。

指で押さえる方法は結構コツがいるようで、全体を安定して定着させるのは難しそうだなと感じました。それに対して、アイロンを使用する方法では加熱の時間をきちんと取れば指の感覚や経験といったものに頼らなくても安定して品質を出せそうな感じがします。

以上のことから、アイロンを使った転写を再度試みることにしました。

アイロンを使った転写(2)とエッチング

最初に紙と基板に霧を吹いて張り付けてから布をかけ、更に霧を吹いてから45秒ほど動かさないままアイロンで押さえつけ、その後通常のアイロンがけの要領で更に45秒ほど加熱をしました。

水につけて紙を除去する際、強くこすり過ぎるとトナーが剥がれてしまいそうだったため、紙の薄皮一枚程度は残し、紙を完全に除去することはやめてみました。多少紙が残っていてもエッチングが上手くいくことがわかると、転写作業がとても楽になります。

紙を最後まで取り除かないことで、かなり奇麗にパターンを残すことができました。これをエッチングしていきます。ちょっと不安なのは、場所によって完全に紙を除去できたところと薄皮一枚残っているところがあることです。このせいで結果にムラが出なければいいのですが。

エッチングを開始してしばらくたつと泡が出てきます。完全に紙が除去できているところの方が、気持ち泡の出が良いようです。また、銅箔が無くなるのもやはり早いです。また、今回はポツポツと丸く銅箔が残っているのが少し気になります。

昨日の反省を元に、周囲に少しだけ銅箔が残っているタイミングで少し早めに引き上げました。おかげで回路もかなりハッキリ残っています。比較すると、昨日のものはかなり浸食が進んでいたんだなということがわかります。

拡大してみると、エッチングが甘くて繋がって欲しくないところが繋がってしまっているところがあります。紙が残っていたところはやはりちょっと反応が遅いようです。こういうのはカッターナイフで削ります。

今回は、あと3~5分くらい処理をすればいい感じになったかなという気がします。ただ、そうすると回路の浸食も進むので悩ましいところです。個人的には回路が切れてしまうよりも繋がってしまっているものを削る方が簡単なので、少し足りないくらいで処理を終わらせるのがいいかなとおもいます。

回路のチェック

余分な部分を削りながら、テスターで回路をチェックします。繋がっていて欲しいところがきちんと繋がっていて、繋がっていて欲しくないところが繋がっていないことが確認できたら基板の完成です。

今回作った基板は、きちんとチェックをパスすることができました。これで基板ができたので、次はパーツの実装に進みます。

電子工作

冬休みの自由研究:基板の自作(8) 基板のエッチング

遂に冬休みの自由研究の山場、基板のエッチングの時が来ました。全てはこの時のための準備ですからね。気合を入れていきます。今回の内容は「【アイロン不要】プリント基板を自作してみよう【生基板】」をほとんどそのまま実践しています。元記事を書かれた @wak_tech さん、ありがとうございます。

トナー転写液を作る

まず、コンビニで印刷してきたパターンを基板に転写するために使うトナー転写液を作ります。「【アイロン不要】プリント基板を自作してみよう【生基板】」によると、アセトン・エタノール = 6:4くらいのバランスで混ぜると良いとのことなので、アセトンをちょっと多めに混ぜます。転写液はそんなにたくさん使わないので、作り過ぎないように気をつけます(結局作り過ぎた)。また、アセトンはプラスチックを溶かすので、転写液はガラス瓶に入れます。

生基板を用意する

ここからは、手の脂が基板につかないようにゴム手袋をして作業を進めます。工作系で手の脂は結構鬼門なので、細心の注意を払います。

エッチングする基板を用意します。必要なサイズよりも一回り大きめに切り出しておきます。今回は初めての作業なので、失敗してもよいように二枚用意しました。

汚れを取るためにアルコールで拭き、更にスチールウールで磨きます。下図の右側が磨いた後です。ちょっと光沢が出ていますね。

スチールウールで磨く際、スチールウールのカスが結構出ます。こういう細かい金属がPCの中に入り込むと、思わぬトラブルを招くので気を付けてください。

パターンの転写

印刷した面と基板の銅箔の面を合わせるようにして置き、空気が入らないように気をつけながら上から転写液をかけます。私は箸を使って少しづつ濡らしていきました。それほど焦る必要は無いですが、時間をかけると転写液が蒸発してしまうので手早く作業します。

基板と紙がピッタリ貼り着いたら、スポンジ→本の順で上にのせ、十分ほど待ちます。

エッチング液の用意

転写待ちの間にエッチング液を用意します。エッチング液はオキシドールにクエン酸を飽和する程度溶かし、更にクエン酸の1/4程度の塩を溶かします。

転写した紙を剥がす

エッチング液を用意していると、転写液が乾いて転写が完了します。

そのままではエッチングができないので、紙の部分を水でふやかして除去します。

最初はゴム手袋をつけたまま指の腹でこすりながら除去していたのですが、強くこすり過ぎたようでパターンまで剥がれてしまいました。

思った以上にデリケートなようで、二枚目はゴム手袋を外し、既にほぐれた紙の繊維に巻き取っていく感じで慎重に進めました。また、細かいところは使い古しの歯ブラシを使って、数本の毛だけで優しく繊維をほぐしていく感じで進めました。この作業が結構大変だったので、もう一度やりたいかと言われるとちょっと微妙です。笑。色んな方法を調べた感じでは、レーザーカッターを使ってマスクを切るのが一番簡単で精度が高いのかなという印象でした。

そんなこんなで頑張って、二枚目はある程度奇麗に紙が除去できました。

一部パターンも剥がれてしまっていますが、機能的には問題ない部分なのでこのまま進めることにします。

エッチングをする

先ほど作成したエッチング液に基板を浸します。紙の除去に失敗した基板だとどうなるか興味があったので、二枚とも処理してみました。

結論から言うと、手前の失敗したものは他の部分の紙がしっかり残っていたため、そこからパターンも巻き込んで剥がれてしまい、ちゃんとエッチングできなかったです。紙はある程度しっかり除去する必要があるようです。

処理が進むと基板から泡が出て、液が青色になってきます。たまに基盤をゆすってやりながら待ちます。

一時間ほどで銅箔が除去できたので、軽く拭いてから水洗いします。

この時点では、手前のものはいい感じにできているように見えます。これは期待できるかも・・・・!?奥のものは残った紙に巻き込まれてパターンまで剥がれてしまったせいでボロボロです。

マスクの除去

アセトンを使って、残っているマスクを取り除きます。ドキドキ。布にちょっと多めにしみこませて拭うと、結構サクサクと取り除くことができるようです。マスクを取り除いた後は銅箔が酸化しないようにフラックスを塗布して作業は終了です。

その結果はこんな感じ。

ちょっとエッチング時間が長すぎたのか、パターンまで浸食されてしまっています。もしくは、転写時にもうちょっとしっかり重しを乗せたほうが良かったのかもしれません。がんばれば使えなくも無いけど、もうちょっと奇麗なものが欲しいですね。

 

電子工作

冬休みの自由研究:基板の自作(7) 回路の試作

回路の設計ができたので、ブレッドボードを使用して回路を試作します。

と、ここで問題が発覚。300Ωの抵抗の在庫が手元にありません。仕方ないので、在庫が豊富にあった820Ωの抵抗を使用するように変更します。820Ωを使用するとすると、820(Ω)×10mA=8.2V、LEDと合わせて電源電圧を10.2Vにする必要があります。実用的にはどうなの???という感じですが、今回は基板の完成を優先します。

これで必要なパーツも揃ったので、回路を組み上げます。

無事に、スイッチオンオフでLEDが点滅することが確認できました。やったね!!

電子工作

冬休みの自由研究:基板の自作(6) オリジナル回路設計

DSPCB を使用した回路設計の準備ができたので、オリジナル回路を設計していきます。今回は自分で基板を作成することが主目的なので、あまり複雑なことをしないで、最小限の構成で済ませることにします。

電子工作で最小限の構成と言えばそう、Lチカですね。今回はスイッチオンオフでLEDを光らせるだけの回路にします。つまり、こんな感じです。

こんなの、DSPCBとか使わなくてもいいじゃんかーと思うかもしれませんが、まあそこは練習なので。久しぶりに回路を考えると、細かいところをいろいろと忘れています。抵抗ってLEDのどっち側に入れるんだっけ?とか、スイッチの端子はどっち向きだっけ?とか。

LEDは、どこのご家庭にでも転がっているLEDの房から収穫します。

ただ、残念なことに我が家にあったのは野生のLEDなので、肝心の特性がわかりません。ここはとりあえず順方向電圧2.0V、制限電流20mAとして扱うことにします。電源電圧を5Vにすると抵抗にかかるのが3V、流れる電流を制限電流の半分の10mAとすると抵抗は300Ωになります。

これを DSPCB 上で回路図にします。

 

 

なんかそれっぽいですね。抵抗の計算とか回路図とか、何かおかしなところがあったらコッソリ教えてください;;。

更に、レイアウトをします。回路図上で +5V と GND を追加しても基板のパターンとして出なかったのでピンジャックを使用するようにしています。ココは、普通はどうやってやるものなんでしょうね?

 

ここまでできると、3D表示で回路の様子を確認することができます。いや~、便利ですねぇ~

 

作成する基板のデータが準備できたので、コンビニで印刷してきます。印刷は普通紙で良いとのことです。そのようにして印刷したものが下図になります。

失敗することも考えて、多めに詰め込みました。

電子工作

冬休みの自由研究:基板の自作(5) DSPCB入門

とりあえずDSPCBの使い方がわからないと何もできないので、基本的な使い方を勉強します。公式サイトにチュートリアルが色々あるので、ここをザッとさらえば何となく使えるようになる気がするので、やってみます。ただ、チュートリアルは最新のDSPCBに完全に追従しているわけではないようで、一部 GUI が異なることもあるようです。この辺りは適宜読み替えて進める必要があります。

ざっくり進めたところで私がちょっと困ったところは以下の通りです。

まず、クイックスタートガイド2でパーツを追加する際、Add Component のプルダウンで最初に User が選ばれているため、パーツがリストアップされないです。ここで [All Libraries] を選べば、登録されているパーツがリストアップされます。

また、コンポーネントの管理方法が変わっている(?)ようで、チュートリアルで示されているような discrete.cml といった名前では管理されていないようです。あわせて、部品名も C や R といった名前ではなく、Capacitor や Resistor といった正式名称になっています。

そんなこんなで「DesignSpark PCB: クイックスタートガイド2 [回路図作成編]」を実践した結果、下図のような回路図ができました。

この回路を「DesignSpark PCB: クイックスタートガイド3 [基板設計編]」に従ってあれやこれやしたのが下図です(まだエラーが残っていますが、、、)。この辺りはちゃんと目的をもって回路設計と配置をやらないと、どこがキモなのかわかりづらいので今のところは雰囲気だけ掴むようにしておきます。

よくわからないことはまだまだいろいろあるものの、とりあえず回路と基板の設計ができるようになりました。