バイオメタルをmoxaで動かすために0V~3V程度を出せる回路とプログラムを作った。
色々試した結果、最終的にPCからシリアル通信でmoxaのanalogWrite(PWM出力)を制御できるようにして、analogWriteをトランジスタ(2SC1815)に突っ込む。トランジスタは三端子レギュレータ7805から得た5Vを出すが、トランジスタを通る事で3.7V程度に落ちて、バイオメタルにちょうど良い電圧になった。
バイオメタルは「3Vで駆動」と書いてあったけど3.7Vでも大丈夫だった。5Vそのまま入れると変な臭いがしてきてヤバイ(すぐ止めました)
AVRマイコンのGPIO出力は3Vだけど40mAと電流が足りなかった。
バイオメタルを動かすには200mA程度必要で、秋月の3.3Vの三端子レギュレータを使っても動いたけどマイコンから制御するためにトランジスタをかますと2V程度に落ちてしまうので5V電源でやったらちょうど良くなった。アクチュエータ系は試行錯誤が必要だなー
パソコンでアナログ値を制御している動画
回路。基盤で隠れて見えないけど、moxaの左下のGNDはブレッドボードのGNDと接続されている
今回のtalkticコード
xtel technical information > learning> Analog Read & Writeを参考にした
serialInit(9600);
pinMode(1,true);
pinMode(0,true);
power = 0.0;
function onSerialReceive(){ // シリアル受信イベント
while(serialAvailable()){ // 受信データがある時
var recvData = serialRead(); // 読み出し
power = recvData*0.01;
analogWrite(0, power);
analogWrite(1, power)
serialSend(recvData); // 受信した文字列をそのままエコーする
}
}
while(true){
}