【技術】PWM制御でLEDの輝度操作(グラデーション)

2023年11月09日

マイコンでLEDをグラデーション動作させるソフトウェア(アルゴリズム)の開発をしました。


マイコン(RENESAS:RX220)とLEDドライバIC(PCA9635)をI2Cバスで接続してLEDを光らせています。

光らせ方をグラデーションにするには輝度は直線だがPWM値は曲線になるため計算式を導き出すのが最大の壁で
した。(図1)


LEDの輝度はループ計算により求める方法では途中の輝度から始めることができないので、何ms後に輝度をどうすれば良いかを前処理計算して逐次計算と組み合わせることで実現できました。(図2)
フルカラーLEDのRGB(赤、緑、青)を個別に計算しています。


【技術】画像表示アプリ

2023年04月06日

外部から受信されたデータにより表示内容を変更するアプリを作成しました。
外部との接続はUDP通信。受信時の内容は、JSONコードになります。

1.開発環境・開発言語

 C#
 Visual Studio2017

2.開発期間

 3週間

3.開発時に注意した点

1, 受信データの時間の変更による視認者の状態変化を正確に把握する為、
画像表示時間に正確性を要求されていました。
人間が判断できる最小時間を10msと設定し、
表示時間の誤差をそれ以内に納まるようにプログラムしました。

処理方法は、SystemTimersTimerで画像を表示させるタイミングを
作るようにしました。
実測方法は、プログラムにStopwatchを組み込んでログで確認し、
±10ms以内で実現していることを確認しました。

2, 画面拡張で接続し、サブモニターに画像を表示させたいとの依頼に対応しました。
サブモニターに何を使用するかは、
プロジェクター使用の可能性など複数候補があり、解像度が分からなかった為、
まずディスプレイ(サブモニター)の解像度を取得し、
解像度に合う画像サイズに変更してから表示させる処理を行うとうまく表示できました。
  
サブモニターが上下、左右どこに搭載されるのか不明であったので
どこに搭載されても良いようにプログラムしました。
処理としては、アクティブディスプレイを指定して表示させると
どこに拡張しても正しく表示することができました。

【技術】KEYENCEユニットとかいろいろ

2023年02月27日

1.部品

シーケンサ KV-7500 ※1
アナログ入力ユニット KV-AD40V
アナログ出力ユニット KV-DA40V
拡張入力ユニット KV-NC32EX
拡張出力ユニット KV-NC32ET
10型タッチパネル VT5-X10
イーサネット通信ユニット KV-XLE02 ※2
安全コントローラ GC-1000 ※3
EtherNet/IPT対応通信ユニット KV-EP02


※1 KV-8000にKV-7500を入れ込み可能
※2 KV-XLE02の設定可能
※3 ソフト設計可能

2.使用ツール

KV STUDIO Ver.11G
VT STUDIO Ver.7G
GC Configurator

3. 実施内容

タッチパネル画面作成
ラダー作成
回路設計
BOX設計
ケーブル作成

4.BOXにいれて配線

安全コントローラ、シーケンサ、アナログ入力ユニット、アナログ出力ユニット、EtherNet/IPT対応通信ユニット、拡張入力ユニット2つ、拡張出力ユニット

LANケーブル作成、配線ケーブル作成

5.タッチパネルの画像

VT STUDIOを使用して、タッチパネルのデザインを行いました。
お見せできませんが…。

6.ラダープログラム

KV STUDIOを使用してラダープログラムを作成しました。
お見せできませんが…。

7.BOXの作成

(横)900 × (高さ)700 ×(奥行) 400
部品配置図、CAD制作、組立てを行いました。
大きいと大変です。