2021年1月13日水曜日

受託開発事例:24桁 7セグメントLED表示基板

クラウドワークス案件です。提案が4人の方とコンペになりましたが、短納期と提案内容が要望にフィットしていたことと、スイッチサイエンス様などで製品を販売している実績をご評価くださった、とのことです。実際契約は12月25日、年末年始を挟んで、先方への到着は1月8日でしたから丁度2週間です。

クリスマス?正月?なにそれ。

1.ご相談内容

Arduino nano + DIPのMAX7219 x 3個で24桁の7セグメントを駆動する基板を作って欲しい。

2.提案・契約内容

ブレッドボードで回路の検証をした上で基板を設計・発注し、1枚をサンプルとして実装して動作確認した上で、動作確認基板1枚と生基板5枚を納品する。24桁のLEDは等間隔で並び、ネジ穴は50mmピッチ。1Uラックマウントのため高さ40 x 幅410mm。Arduino unoとMAX7219は裏面にいずれもソケットを介して実装。

要求仕様にはなかったのですが、DCジャックを追加できるパターンを基板上に追加しておきました(過去の経験からUSB経由だと電源足りなくなることがあるので)。

納期は発注から4週間、納品で動作確認できたら検収、その後メッセージで2ヶ月程度のサポート期間を設ける、という条件でご契約いただきました。

費用は、えーと、ホテル一泊分ぐらいでしょうか(GoToなしで)。

3.設計

まずブレッドボードで動作確認です。3個直列にしたMAX7219でも信号波形などに乱れがないことなどを確認します。

でかいので右側省略

設計は例によってEagleです。1辺の長さ410mmというのは私としては過去最長です。回路設計ができたところで顧客に送って確認してもらいます。その間にアートワークです。

DIPですし実装密度も低いので、電源をドーンと引いてから高速の信号線を貼り、それ以外は自動配線で調整しました。銅箔勿体ないので裏表GNDベタ貼りでベタが入らないところはVIAでコツコツと潰していきます。配線数少ないのですが、Eagleの自動配線って面積に比例するんですね……最適化=HIGHだと、開始してから食事に出てもまだ終わっていなくてびっくりしました。そしていつも思うけどネジ穴邪魔だわ。倉橋屋では顧客からいらないと言われない限りネジ穴を開けるのですが……部品と比べてデカいんですよね。

でかいので略

できあがったところでPCBWayに発注。今回他の案件とまとめたので送料が少しは安くなったのですが、それでも基板10枚と送料で約8000円でした。それでも24時間で出荷されるから大したもんです。DHLで深圳から5日で到着。ちなみに同じ日にDigiKeyにも注文を出したのですがアメリカから3日で届いて現代文明とても怖い。

4.実装確認

届いた基板、でかくて重いです。銅箔35μ両面ってこんなに重いんですね……。はんだ付けして動作確認します。当然一発動作。各所の信号をシンクロで確認して十分な動作マージンがあることを確認します。


それにしてもデカイ。でかいけど、これだけ並ぶとかっこいいですわ。

5.納品と動作確認

納品したものをクロネコヤマトで発送して動作確認していただき、検収となりました。

中身がでかいと箱もでかい。手元にたまたま丁度良いヨドバシの箱があったのですが……これが80サイズを1センチ越えてしまって……泣きながら送料を払ったのは良い思い出です ^ ^

冒頭に書きましたように、12月25日にご契約いただき、1月8日に先方に到着しました。

以上です。

以上、技術的な難易度は何もありませんし、MAX7219とLEDを組み合わせた基板はaitendoなどでも安く売っているのですが、左右に耳がついていて密着できなかったりで制約があります。

こういう技術的には難しくないけども、市販にないサイズ・形態のものが欲しい、という場合は比較的低価格で提供可能ですのでぜひご相談ください。

ココナラは手数料が高い(25%)のでクラウドワークス(20%)またはTwitter @TareObjects へご相談いただけると嬉しいです。

ココナラ    :倉橋のプロフィール / 製作相談

クラウドワークス:倉橋のプロフィール

--

この他に、「電子工作のキットなどをきちんとはんだ付けして組み立てます」っていうサービスも提供しているのですが、何故か現在故障修理品の依頼が多いです……私ら電子工作勢の家にはハンダゴテがゴロゴロしていますけども、普通のおうちにはないですもんね。折れた端子をちょこっとはんだ付けして送り返すだけなら、メーカーのサービス窓口よりも安く直せると思いますので、ご相談ください。

「ラズパイで使いたいけど拡張基板のピンヘッドだけはんだ付けして欲しい」なんてのも大歓迎です。慣れないと、はんだ付けが悪くて動かないのかソフトに問題があって動かないのか切り分けに苦労しちゃいますけども……少なくともうちでははんだ付け不良ゼロで組み立てますので、ソフト技術者の方はソフト開発に集中していただけます。

自動噴霧器:費用感からの案件相談→設計製造受託

【追記2021年3月1日】

おかげさまで、ココナラ プラチナランクを獲得しました。

今後ともどうぞよろしくお願いいたします。

【追記ここまで】

 私こと倉橋屋では、ココナラ / クラウドワークスを使って電子デバイスの製作相談を受け付けています。

なにか装置が必要な場合に、それが1万円でできるのか、それとも100万円かかってしまうのか、まったく見当がつかないと業者さんにお話をするのにも不安です。

そこで、ココナラでは実現可能性も含めておおよその実現方法と費用感、あと簡単な仕様書をお作りするサービスを行っています。仕様書を作成してから、実際の製造につながることも多いです。先日完了した案件を例にご紹介させてください。

1.可能かどうかの相談

まずこちらのページの「見積・カスタマイズの相談をする」から、どういうことをやりたいか、おおよそのお予算感をご相談ください。

マイコン応用製品の開発相談受け付けます

この段階では、実現可能性についてお答えします。この段階で技術的・あるいは予算的に難しい案件については、ここでの無料相談のみで終わりとなります。無料なのでどうぞお気軽に。

可能性のある案件についてはサービスをご購入ください。5000円です。

■実例:相談■

Arduinoを使って一定の時間ごとに噴霧する装置を作りたい。ソフトはある程度わかる。回路設計と基板製作とソフトをお願いするにはいくらぐらいかかるでしょう?

■回答■

市販の電池式噴霧器を改造するのが良いと思います。数万円、1ヶ月程度で対応可能です。

2.相談サービスご購入

電源の供給方法、噴霧の方法(頻度、噴射時間、最大回数など)、表示方法(LEDの点滅で待機中・噴霧中・噴霧回数超過などを表示)、最大回数などの設定方法をメッセージでやりとりしながら決めていきます。

最終的に提示した設計書がこちらです。


自動噴霧デバイス外見仕様書

作成者:Koichi Kurahashi(倉橋浩一)

作成日:2020年11月19日 v1.0

定義:

本装置は市販の電池式噴霧器を駆動して自動的に消毒液を噴霧する。装置全体を自動噴霧器と呼び、制御部分を制御基板と呼ぶ。装置全体=電池式噴霧器+制御基板+モバイルバッテリ+配線にて構成される。噴霧には電池式噴霧器に改造を加えたものを使用し、本装置から約5V 1A程度の電流を一定時間供給することで噴霧器に内蔵されたモーターを駆動する。人感センサーを搭載し、人を検知しているときには噴霧しない。

納品成果物:

  • 自動噴霧デバイス外見仕様書(本書)
  • プログラムソースコード
  • 制御基板ハードウェア回路図、同プリント基板設計図、同部品表(Autodesk Eagleを使用)
  • プリント基板10枚、うち1枚は実装し動作確認済
  • サンプルバッテリー1個
  • 上記の部品調達、組み立て、プログラムを修正するためのアドバイス
  • 納品物には電池式噴霧器は含まれません。

納期・保証期間

  • 受注確定後6週間以内に試作品と基板を納入
  • ただし想定外の仕様や調達上の問題により遅れが生じそうな場合には双方協議の上対応する
  • 故障等
    • 納入後3ヶ月間の開発側の問題による破損はセンドバックによる無償修理。
    • 納入後3ヶ月間の利用側の問題による破損は基板1枚を送り返してもらい3000円で1台製造して返送。
    • 原則として修理ではなく新品を1個製造する形で対応します
    • 納入後3ヶ月経過後は「製造依頼」として別途お見積りとさせていただきます。
    • 物品送付における送料は双方元払い
  • サポート
    • 納入後3ヶ月間はココナラのメッセージにて対応します。

担当外

  • 電池式噴霧器の調達、選定および改造はご自身でお願いします。
    • あまり大型のものはモバイルバッテリの性能を越えてしまうので単3電池4本タイプをお勧めします。

外部との接続

  • モバイルバッテリ:USB - DCプラグ内径2.1mmケーブル
  • 噴霧器:ターミナルアダプタ2P(+とー)の導線を接続
  • 人感センサー:ピンヘッダ3P(5V, GND, 信号)にセンサーを直接または約0.7mm単芯導線にてセンサーを接続。
  • 状態表示LED:ピンヘッダ2P(+とー)にLEDを直接または約0.7mm単芯導線にてLEDを接続

基板上の要素

  • ・マイコンモジュール(Arduino Nano互換品を使用)
    • USBレセプタクルとUSBシリアル回路と保護回路
    • PCとUSBを接続してプログラム書き換えが可能
    • 自動噴霧器としての動作中はUSBでモバイルバッテリを接続して電源供給する
  • 改定前・噴霧時間設定スイッチ
    • ロータリーDIPスイッチにより設定する。
  • 改定後・噴霧時間・強度スイッチ:
    • ロータリーDIPスイッチにより設定する。
    • 1-5 : 2秒で強度1-5、6-0 : 4秒で強度1-5】
  • 噴霧間隔設定スイッチ:ロータリーDIPスイッチにより設定する。
  • 追記・噴霧回数設定スイッチ:ロータリーDIPスイッチにより設定する。
  • 噴霧器駆動回路と保護回路と接続端子
  • 人感センサー駆動回路と接続端子
  • 改定前
    • 補充ボタン
      • リセットボタン兼用・押すと再起動して噴霧回数をリセットする
  • 改定後
    • リセットボタン……注記:補充は動作確認ボタンの長押しにて実施】
  • 動作確認ボタン(押すと即座に噴霧する)
  • LED駆動回路(電池切れ / 噴霧回数超過警告ランプ)

制御要素

  • 電源接続で自動的に動作を開始する。噴霧回数を読み取り保持する。噴霧1回ごとにカウントする。
  • 動作中のLED表示は以下の通り
    • 噴霧回数に余裕がある場合:3秒ごとに0.1秒間LEDを点灯させる。
    • 噴霧回数が設定を越えた場合:1秒ごとに0.1秒間LEDを点灯させる。
    • なお噴霧回数が設定を越えても噴霧動作は通常通り続ける。
  • 噴霧間隔スイッチから時間間隔を読み取り一定時間ごとに噴霧を開始する。
    • 動作中に変更した場合には常時スイッチを読み取り、設定秒数がその時点での噴霧間隔を下回ったら随時噴霧する。
    • 噴霧を開始時刻になったら人感センサーを読み取り、もし反応があれば開始を遅らせる。
  • 噴霧開始時には噴霧時間設定スイッチから秒数設定を読み込み、その秒数だけ噴霧器への電源供給を行う。
  • 動作確認ボタンを押すと人感センサーを無視して噴霧する。
    • ちょい押し - 設定秒数だけ噴霧モーターを駆動する
    • 長押し - 押している間だけ噴霧モーターを駆動する【加筆:同時に噴霧回数カウンターをリセットする】

以上、簡単なものですが、一応、他の業者さんに依頼しても作れるような仕様書を作成しますが、本件はそのまま私のところにご依頼いただけることになりました。なお、加筆箇所は仕様合意後に発生した不明点のすり合わせの結果、変更された仕様です。

3.実際の製作依頼

再び マイコン応用製品の開発相談受け付けます の「見積・カスタマイズの相談をする」から案件名とお送りした仕様書ファイルを添付していただきます。

ここで改めて納期と金額をこちらからご提案させていただき、合意いただいたらサービスをご購入いただきます。今回は、お見積金額から上の相談料5,000円を差し引いた金額でご契約しました。契約額は、えーと、ホテル一泊分くらいでしょうか ^ ^

ココナラは手数料が高い(約27%)ので、お客様側で購入可能なものは購入して送っていただくこともできますし、こちらで揃えることもできます(その場合は手数料が加算されます)。また、完成後の製品については、着払いで発送させていただいております。

さて、あとは進捗報告や不明な点を確認しながら設計を進めます。今回はお客様自身が実装されるとのことなので比較的大きな部品を中心にしました。基板はEagleを使って設計し、今回は中国深圳のPCBWay社に依頼しました。シルクもきれいで出図から24時間以内出荷なので最近愛用しています。私みたいな週末メイカーだと土日に設計して次の土日に物が届いているのはとてもありがたいです。

動作確認用に届いた基板に実装します。ここで使っているArduino nanoはmicro USBのついた中国製互換品です。


噴霧時間、強度と間隔、最大噴霧回数などはロータリースイッチから設定します。リセットスイッチはArduinoのリセット、テストスイッチは押している間だけ噴霧して、例えば噴霧強度を設定することができます。モータードライバに短絡保護などが内蔵されており、バリスタで逆起電力を吸収していますが、モーターの加減速はPWMでスロープ制御にしています。手前のLEDは動作表示、PIRは人が近くにいるときには噴霧しないようにするためです。プログラム的には状態遷移を1個のモードフラグで制御し、10mSecのループでタイミングを制御しています。インタラプト / インターバルは使っていません。

現在何回噴霧したかはEEPROMに記録していますので、電源を切った後でもカウントが失われることはありません。

鉛フリーはんだを使用して手ハンダ実装です。動作テストはこんな感じで。一応USBからも給電できますが、200/500mAしか取れないのでモーターには不向きです。ACアダプタから7-12Vの電源を供給することもできます。

ああっ 写真にも抜け毛がっ

4.納品

動画で動作を確認していただいた後、この完成基板と未実装基板10枚をセットにして発送しました。またファイルとしてEagleのschとbrd、PCBWay向けのガーバー一式、プログラムのソースを添付ファイルとしてココナラ経由で納品。到着後1ヶ月のサポート期間中に組み立てや変更に関する質疑応答を承ります。

こんな感じです。マイコンでちょっと制御したいものがある方、どうぞお気軽にご相談ください。

上の装置は1台のモーターを一定間隔で自動的に動かすのに手頃で便利かと思います。噴霧器以外の用途に使いたいという方はココナラ(倉橋のプロフィール)もしくはクラウドワークス(倉橋のプロフィール)もしくはTwitter @TareObjects まで、お気軽にご相談ください。