絞り込み条件を変更する
検索条件を絞り込む

すべてのカテゴリ

14 件中 1 - 14 件表示
カバー画像

16bitパターンでLチカ

マイコン基板を作る際に、デバッグ用を兼ねて動作状態を示すLEDを設けることが多いのですが、このLEDの点滅パターンを変えてプログラムの動作モードを示したいと言った時に16bitパターンに従って点滅させたりします。マイコンのコードよりも分かり易いかと思い、Micro:bit で例を作りました。動作概要100msec毎に以下のビットパターンのLSBが1なら点灯0なら消灯を出力し、ビットパターンを右シフトします。シフト回数をカウントし、16回目の時にビットパターンに初期値を書き込み、シフトカウンターをリセットします。(0bで始まる以下のビットパターンは2進数表現です。)ビットパターン1 0b1000000000000000 (1.6秒周期で短く点灯)ビットパターン2 0b0111111111111111 (1.6秒周期で短く消灯)ビットパターン3 0b0101010101010101 (0.2秒周期で点滅)点滅パターン切り替えは、ビットパターンの初期値を書き換えるだけです。この例では、以下のボタン操作で点滅パターンを切り替えます。  ボタンA=ビットパターン1  ボタンB=ビットパターン2コードのブロック実際のブロックは以下のようなものです。変数は以下の4個です。  ledpd   LED点滅パターンの初期値  ledwk   ↑ のワーク(シフトレジスタ)  ledcnti  シフトカウンターの初期値  ledcnt   シフトカウンターledpd を書き換えると点滅パターンが変わります。PICマイコンで実現するにはMicro:bitの場合は上図のようにブロックを並べるのですが、P
0
カバー画像

PIC16F1827 使ってみました

16F1705(14pin)では、ご購入者様の仕様にピン数が足りず、出来るだけ小さいパッケージで実現したいと言うことでしたので16F1827(18pin)を使ってみました。よく使われるもののようでWeb上にも情報が多くて助かりました。タイマー割込みとA/Dコンバータ、GPIOを使いましたが、他にも一般的なペリフェラルが揃っていて使い易いと思います。消費電流を抑えるために内部クロック1MHzで実装し、未使用のペリフェラルをディスエーブルにしようとデータシートを見ましたが、Peripheral Module Disable (PMD) と言った記述を見つけられませんでした。それでも大分消費電流が小さいようなのでPMDは行わずに仕上げ、いつものようにブレッドボードに実現した確認用回路で動作確認を行い、トークルームで必要なオシロ画像や説明をお送りした上で納品しました。初めての16F1827でしたが、納品後の動作確認でも満足いただけたようで安心しました。お役に立てて嬉しいです。これで、総ピン数で言えば 8pin , 14pin , 18pin , 28pin , 40pin の実績が出来ました。 8pin   16F1831314pin   16F170518pin   16F182728pin   18F23K2240pin   18F46K22今後とも宜しくお願い致します。
0
カバー画像

オリジナル商品開発を支援します

ココナラに出品していると、稀に「オリジナル商品を開発しておられるのだろうな」と思われるご依頼を受けることがあります。タイトル画像はuPyC のオリジナル基板で依頼を受けた物ではありません。秘密保持契約を結んでいますので、ご依頼内容を他者に知らせることはありません。これまでにお受けしたご依頼は以下のような目的だろうと推察しています。1.個人または自社で使う回路提案及びファームウェア作成2.オリジナル商品の開発と思われる回路提案及びファームウェア作成3.担当者が退職された等の理由による既存ファームウェアの改修4.PICマイコンについて勉強中と思われる方からのご質問どのご依頼にも出来るだけ丁寧に対応し、喜んでいただけているようなので嬉しい限りです。その中でも1番と2番のご依頼を受けて対応可能と判断して提案し、ご購入いただいた時には特に楽しく取り組むことが出来ます。トークルームでは、ご依頼内容に従ってご希望の機能を実現することは勿論のこと、お節介と思われないよう注意しながら提案や、設計上の注意点をお知らせするようにしています。このような情報提供がご不要の場合は、その旨ご指示いただけるとありがたいです。オシロ観察による動作確認を行って、トークルームにオシロ画像付きでお知らするとともに、納品について合意を確認して「正式な納品」と行うように心掛けています。私のスキルの限界もあり、全てのご依頼にお応え出来るとは限りませんが、前述の目的に限らず、DM等で遠慮なくお問い合わせいただければ幸いです。今後とも宜しくお願い致します。
0
カバー画像

PICマイコン入手難

タイトル画像は本日現在における秋月電子通商のPIC18F25K22ページの一部です。「在庫切れ」、「納期確認中」、「価格は変更となる場合があります。」との内容です。 仕事で装置を作る時にPIC18F23K22を多用してきましたが、秋月では23K22が姿を消してメモリー容量の多い25K22, 26K22は在庫切れです。 PIC18F23K22を初め良く使うCPUは幾つか手元に確保しているので今のところ仕事に対する影響は小さく抑えられています。 今般の事態を想定したわけではなく、開発工数を抑えるために以下のようにしてきたことが奏功したようです。 採用CPUを数種類に抑える装置用なので特殊な場合を除いて小ピンに拘ることなく、数種類のシリーズ品を選定して採用することでソフトウェア資産を使い回せるようにします。 装置用は8bitCPUが多く、以下のようなものを使っています。  PIC18F23K22  28PIN  PIC18F46K22  40PIN  PIC16F18318   8PIN (小ピン用途)  PIC16F1705   14PIN (8bit DAC内蔵)DIP品を使う出来るだけDIP品をソケットに挿して使い、基板改修時などには使い回しています。 オシロやテスターを当てやすいのでデバッグも楽になりますし、何より老眼に優しいのが魅力です。在庫を確保する装置用なので比較的少量ですが、急な製作要求に応じられるように手持ち在庫を確保しています。特に使用頻度が高い18F23K22は、今回の半導体不足に対応するために段階的に数十個の在庫を確保しました。 Raspbrry Pi も
0
カバー画像

Raspberry Pi Pico W に期待

PICマイコンを使うので、Raspberry Pi Pico を使う機会がありませんでした。現場で使うためには何らかのI/F基板を作る必要があり、基板を作るならCPUも一緒に実装した方がスッキリすると言う理由です。 Raspberry Pi Pico W であれば WiFi が使え、将来は BLE にも対応する予定と言うことですし、Micro Python で記述出来るようなので期待しています。 ESP32 が既に実現している機能で、私も ESP32 を Micro Python で使う機会があります。WiFiを手軽に使えるマイコンボードは IoT 分野で使い易くて助かります。 Micro:bit は WiFi は使えないながらも、BLE を手軽に使えて便利です。I/F基板への実装制御対象とのI/F基板にこれらのマイコンボードを実装する際には、直接半田付けするか、ピンヘッダーやコネクタで接続することになるかと思います。 とにかく小さくまとめたい場合は、ESP32を直接半田付けする方法が良いと思います。 Mciro:bit はカードエッジコネクタでI/F基板に接続するのが一般的だと思いますが、このコネクタの大きさと Micro:bit 自体の大きさから小さくまとめるには不利な選択になるかと思います。 一方で標準実装されたLED表示器、SW、センサー、無線機能を使う他、手軽に複数の装置に付け替えて使いたいと言った場合に向いていると思います。Raspbrry Pi Pico W は ESP32 に比べて外形寸法が大きい分だけ、小さくまとめるには前述2機種の中間的な存在になるのかな?
0
カバー画像

創造的な仕事は苦しいけど楽しい

タイトル画像はWeb上の「自動で迷路を作成するツール」で作成しました。ココナラで、職業=マイコン仕掛けサポーター としてサービスを提供しています。時々創造的な仕事の相談をお受けすることがあります。守秘義務があるので詳しく書くことは出来ませんが、PICマイコンに限らずハードウェア上の工夫や、アルゴリズムの工夫(開発)が必要な仕事です。動作確認のために模擬信号を作ってPICの入出力を評価するような場合もあります。(以下は私のブログ記事です。)単純に既存のセンサーや表示器、アクチュエーターを動かす仕事も楽しいのですが、独自の工夫が必要な創造的な仕事を完成させると特に嬉しいと感じます。時には複数のアイディアを試し比較検討して進める場面もあります。購入者様のご意向を確認しながら、提案と評価を繰り返して課題解決に向かう過程は苦しくもありますが、完成時の喜びは大きいものがあります。お急ぎの仕事はあまり得意ではないのですが、これからも創造的な仕事に挑戦して行きたいと思います。もしも、マイコン仕掛けで解決できるかもしれない(と思われる)問題や課題をお持ちの方がいらしたらお気軽にお声がけ下さい。全てを解決できるとは限りませんが、前向きに検討します。今後とも宜しくお願い致します。
0
カバー画像

Active High と Active Low

タイトル画像はLEDを駆動する回路です。PICに限らずマイコンのI/O出力電流の最大定格の範囲で直接LEDを駆動出来ない場合はトランジスタで駆動します。 LEDの場合、ほとんどのマイコンが直接駆動可能だと思いますが、LEDに直列に接続する電流制限抵抗の値を変えて最大定格の範囲で電流(∝ 輝度)を調整して使います。 タイトル画像のLEDと電流制限抵抗の位置は入れ替わっても同様に機能します。私はタイトル画像のように、LEDのアノードをVcc、またはLEDのカソードをGNDに接続して使っています。 動作中のLED端子電圧(Vf)を測定し易いと思うからです。Activeとは制御対象や目的によって変わりますが、ここではLEDが点灯している状態をActive(な状態)として説明します。 Active High と Active Low どちらを選択するべきかですが、目視確認用のLEDではどちらでも大丈夫です。 一方でソレノイドやモーターを駆動する場合は、電源リセット時など不安定期間に意図しない動作をさせないように工夫することがあります。Active High 出力(I/O端子)がHighの時にActiveになるようにした制御です。 出力(I/O端子)をHighにしてLEDに直接、またはNPNトランジスタのベースに電流を流し込むことでActiveな状態を作ります。Active Low 出力(I/O端子)がLowの時にActiveになるようにした制御です。 出力(I/O端子)をLowにしてLEDに直接、またはPNPトランジスタのベースからI/O端子に電流を引き込むことでActiveな状態を作り
0
カバー画像

大葉の花芽抑制(光中断)用LED制御

リビングルームの窓辺で大葉を水耕栽培しています。短日植物の大葉は夜の時間が長くなると花芽を付けるようです。室内の明かりがあるのである程度抑制できそうですが、Geminiに聞いてみたところ夜間に赤色LEDを照射すると花芽を抑制できるようです。赤色(630nm付近)、数ルクスから効果がありそう、夜間に数分間以上(余裕をみて2時間)と言うことでした。電気代を気にせず、乾電池駆動で花芽を抑制できるなら試してみようと思いました。電池駆動ならロールカーテンの裾や突っ張り棒に取り付けて配線要らずで使えそうです。時計要らずの時限タイマーにして気軽に試せるように試作します。動作は、点灯待機 → 点灯 → 終了待機と言う3つのモードです。操作手順は以下の通りです。1.電源を入れる(電池を入れる)2.押しボタンを押して点灯待機を開始する  この時、ボタン操作で点灯待機時間を  2,4,6,8,10時間から選択可能3.待機時間が終わるとLEDを所定の時間(1時間)点灯する4.点灯時間が終わると終了待機を開始しSLEEP状態になる  SLEEP中にもボタン操作を受け付けて2に戻るペットボトル2本に分けて栽培しているので、高輝度LEDを2個制御します。点灯時間中は2つのLED1とLED2を5秒間隔で交互に点灯させることにしました。また、ボタン操作の際に電源電圧を測定し、所定の電圧より低い時にLEDで警告するようにします。電源電圧測定にはPIC内蔵のコンパレータと基準電圧FVRを使いますが、コンパレータの消費電流が大きく、消費電流が83uA程になってしまいます。ボタン操作の時以外はコンパレータとFVRの動作
0
カバー画像

[提案] レジンで中空製品を作るツール

以前、試作のために3D造形部品をレジンで多数複製した経験があります。とても面白い経験でしたが、その後はレジンを使う機会がありません。シリコン型で中空の製品を作っている方もいらっしゃるようです。硬化時間の短いレジンやUV硬化型のレジンを使い、手で型を回しながら硬化を待つようです。レジンではありませんが、大型のものでは中空のオーシャンカヤックも型を回して作るようです。タイトル画像は簡単な仕掛けで中空の製品を再現性良く作れないかと考えたものです。構造直方体のシリコン型を球形のケースに入れています。半透明で描きました。これを3つのローラーの上に載せています。青色と緑色のローラーはステッピングモーターで駆動します。灰色のローラーは外力で回るだけです。青と緑のローラーの回転速度を調整すれば、球形のケースが様々な方向にムラなく回転し続けると期待しています。真上から見たローラーの配置は下図のようなものを想定しています。駆動用のローラーは摩擦を増すような工夫が必要そうです。載せているだけなので球形ケースの重心はあまり偏らないようにした方が良さそうです。球形のケースは「プラスチックBOX球体」と言った検索をすると幾つか見つかります。ステッピングモーターの制御はタイマーICとモータードライバICを使い、半固定抵抗で回転速度を調整する仕組みにすると比較的容易に実現出来そうです。球形ケースの中に加速度センサーを入れてマイコン制御を行えば、部位によって異なる肉厚を狙うことも(ある程度)出来そうな気がします。ニーズが不明最初に書いたように、私自身はレジンを使った製作を行っておらず、ニーズやツール入手に許容出
0
カバー画像

大葉の花芽摘芯(光中断効果限定的?)

以前の記事で花芽抑制用のLEDを作って使用していました。8月28日に使い始めて4か月弱の間、電池交換を促す動作が見られませんでした。もう少し電流を増やしても良いように思います。順調に見えていましたが、先日花芽を見つけてしまいました。花芽は1cm未満の内に摘心したのですが、写真を撮り忘れてしまいました。大葉の花芽は初めて見るので間違っているかも知れませんが、左右に広がらずに出来ていました。 比較用にLED光を当てない株で見つけ、数日後にはLED照射している株でも複数の花芽?を発見しました。今回作ったLED照射だけでは花芽を抑えることが出来なかったことになります。大葉はタイトル画像の様に葉が縮れ気味で、成長が遅くなり、下の葉が少しずつ茶色くなって落ちるようになりました。それでも水が減ることと小さな新しい葉が出ているので、このまま冬を超えられることを祈っています。今シーズンは見つけ次第に花芽を摘みながら様子を見ます。来シーズン以降はソフトウェアの時間定数を変えて試してみる予定です。まずは同じ光量でトータルの照射時間を変えずに実験を予定します。それでも駄目ならLEDの電流を増やして光量を上げてみようと思います。急ぐ実験ではないので1台の試作機で気長に進めます。今後とも宜しくお願いします。
0
カバー画像

割込みレイテンシ(オーバーヘッド)

タイトル画像は内蔵クロック32MHzで動作させているPIC16F18313にPWMで50kHz Duty50%の波形(黄色)を出力させ、波形の先頭で割込みを発生させて周期2倍の波形(水色)を出力したものです。黄色の立ち上がりに対して水色のエッジが1.8usec程遅延しています。この時間が割込みレイテンシ(オーバーヘッド)と思われます。4/foscの14~15cycle分に相当します。この時間は割込み処理を始める前と抜けた後に各々発生すると考えられます。割込みサービスルーチンが極短いものだとしても、割込み周期が4usec未満になると割込み処理の途中で新たな割込みが発生し、新たな割込み処理が遅延して同期が外れることになるようです。遅延が許されない場合には注意が必要ですね。たまたま同期外れが許されない課題に遭遇して苦労しました。今後とも宜しくお願い致します。
0
カバー画像

OLED SSD1306 を使ってみました

以前にOLED SSD1306を使ったプログラム作成のご相談があったのですが、経験が無いので納期等ご迷惑をお掛けしてはいけないと感じて辞退したことがあります。その後、秋月で購入していたので試してみることにしました。PIC16F1705で数字を表示するだけのものですが、ビットマップフォントデータはWebページを参考にして、5x7ピクセル(データサイズ6x8ビット)の英数字と12x16ピクセルの数字だけ記述しています。表示している文字は大中小の3サイズで、以下のものです。・小 6x8(5x7)・中 12x16・大 24x32 (中を縦横2倍に拡大したので、その分ジャギーです)中と大は文字の周囲に空白があるので、リバース表示しても使えると思います。フォントデータはconstを付けて記述しているのでプログラムメモリーにあって、RAMの消費は抑えられています。この時のMPLAB X ダッシュボードの様子は下図のようになっています。文字の表示位置は横方向はピクセル単位ですが、縦方向はページ単位で8ピクセルの整数倍(0~7倍)で8行のいずれかになります。縦方向もピクセル単位にするためには、PICのメモリーに表示空間(128x64bit = 1024byte)のワークが必要になると思います。16F1705では容量不足なので、16F18326(RAM:2k)や16F18857(RAM:4k)と言ったPICが必要そうです。SSD1306はモノクロですが、カラー表示のグラフィックディスプレイではどうなるのでしょうか?機会があったら挑戦してみようと思います。今後とも宜しくお願い致します。
0
カバー画像

格安ロジックアナライザーを使ってみました

ココナラで受注したものは2CHのオシロ観察で動作確認して、オシロ画像を添えて説明して来ました。最近お引き受けしたものは同時に7CHの観察が必要で、2CHオシロの画像で正常動作を説明するのは困難と考えていました。ロジックアナライザーがあれば良いのですが、滅多に使わない機材に多額の出費は痛いので、安価なものは無いものか探してみると、随分以前から24MHz 8CHの格安ロジックアナライザーが知られているようでした。PCにUSB接続し、オープンソースのアプリケーション(Zadig PulseView)で使うようです。信号電圧3.3V, 5Vでは問題なさそうです。24Mサンプリング/secは無理なようですが8Mサンプリング/sec程度までは使えるようでしたので、早速Amazonで購入しました。miniUSBケーブルと両端メス、およびオスーメスの測定用ケーブル、ICクリップが付属していました。(付属品は購入先ごとに異なるようです。)ブレッドボードでの測定なのでオスーメスのケーブルが有難いと感じました。今回は1Mサンプリング/sec で測定し、問題なく使えました。税込み\1699で目的を達成できたので大満足です。UART, SPI, I2C と言ったシリアル通信のデコードも可能なようです。入力バッファが無いようで、MUX(TC4051)の端子を測定すると回路の出力インピーダンスが大きいためか、信号電圧が大きく変化して正しい測定結果を得られませんでした。オシロを併用して確認すると大きく波形が歪んでいます。コンパレータ(LM339 2.2kΩプルアップ)を通した後の波形は問題なく測定出来ました。
0
カバー画像

大葉の花芽抑制(光中断)用LED試作

前回の記事「大葉の花芽抑制(光中断)用LED制御」https://coconala.com/blogs/2433234/622299で作成したプログラムを使って実験を行うための試作をしました。ペットボトルのキャップを加工してロールカーテンの裾に取り付けられるようにしました。フレーム?はペットボトルの一部です。 電子部品はLEDx2、単4電池x2、PICマイコン(16F18313)、タクトスイッチと幾つかの抵抗、コンデンサです。上から見るとこんな感じです。こんな風に取り付けます。(手作り感たっぷりです)レンズ付きのLEDなので、大葉から離して照射します。大葉の草丈が30cm程度ですから、50~60cm離しています。 ロールカーテンなので自在に調整できると思います。 弱い光でも花芽を抑制できそうな情報があったので、暫く実験してみたいと思います。 産業用であれば、光の強さや照射時間に余裕を持たせて確実に花芽を抑制するのだろうと思いますが、趣味なので配線要らずの電池駆動に拘りたいと思います。 もしも花芽が出来るようでした照射時間などを調整してみます。今後とも宜しくお願い致します。
0
14 件中 1 - 14