ラジオ少年の楽しい電子工作、その他

AVRを使った簡単な回路の実験、そして日々のちょっとした出来事を書きます。

倒立振り子作り直し(14)

2015年04月26日 | 日記

PIDの各ポッテンショメータを調整して動きがなるべく小さくなる様にしました。でも、この辺が限界です。

動画を投稿しました。(断崖絶壁?)

https://www.youtube.com/watch?v=-9MdpM6jM24&feature=youtu.be

動画はかなりピンボケですね、元の動画はもっとはっきりしているのですが。

 

充電後に1時間は倒立を維持していますね、それ以上は(ひっくり返っていませんので)どのくらい続くのかは確認していません。

電池の電圧が下がってくるといきなりひっくり返ります。電池電圧はオシロで見ていますと4V以下に下がる状態が動きに連動して頻繁に出ています。この電圧降下が更に大きくなるとモータのトルクが下がり倒立維持は難しくなります。

I2CLCDのコンパイルもOKになったし、、、組み立てキット、、、、で作って見ようかな?  なーんちゃって!。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Arduino IDE(2)

2015年04月25日 | 日記

Arduino IDEでのコンパイル エラーが解決しました。原因はinit()関数が存在しないLiquidCrystal_I2C.cpp、LiquidCrystal_I2C.hを使った事によります。

http://www.dfrobot.com/image/data/DFR0154/LiquidCrystal_I2Cv1-1.rar

上記からDLしたライブラリにはinit()があります。これを使って万事OKになりました。

 

I2C LCDを持っていませんのでHello, world!と表示されるかどうかは、、、、、です。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Arduino IDE

2015年04月22日 | 日記

Arduino で下記スケッチをコンパイルしてみると何とエラーが出ます。オイ オイ m(_ _)

 

#include

#include

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x20 for a 16 chars and 2 line display

void setup()
{
 lcd.init();                      // initialize the lcd
 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
}

 

Arduino: 1.6.3 (Windows 7), ボード:"Arduino Uno"

sketch_apr22a.ino: In function 'void setup()':

sketch_apr22a.ino:9:6: error: 'class LiquidCrystal_I2C' has no member named 'init'

コンパイル時にエラーが発生しました。

  This report would have more information with
  "コンパイル中の詳細な出力を表示する"
  ファイル > 設定 で有効にする

 

Arduino: 1.6.3 (Windows 7), ボード:"Arduino Uno"

ビルドオプションが変更されました。全体をリビルドしています。

Using library IRTemp in folder: I:\Program Files\Arduino\libraries\IRTemp (legacy)

Using library Wire in folder: I:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire

I:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -II:\Program Files\Arduino\hardware\arduino\avr\cores\arduino -II:\Program Files\Arduino\hardware\arduino\avr\variants\standard -II:\Program Files\Arduino\libraries\IRTemp -II:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire I:\Temp\build421903940105168060.tmp\sketch_apr22a.cpp -o I:\Temp\build421903940105168060.tmp\sketch_apr22a.cpp.o

sketch_apr22a.ino: In function 'void setup()':

sketch_apr22a.ino:9:6: error: 'class LiquidCrystal_I2C' has no member named 'init'

コンパイル時にエラーが発生しました。


2015/4/23(Thu)

どうも”LiquidCrystal_I2C.h”に何か問題が有りそう?  でもそれは何処なのか?

コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

倒立振り子作り直し(13)

2015年04月17日 | 日記

またまた、倒立ロボです。ボチボチ、、、、全く、、本当にボチボチです。それしか出来ません。赤外線リモコンを使うコントロールをやっているのですが、問題ありが分かりました。

今の倒立ロボはPDIの定数を苦労の末、決めたのです。この結果、倒立ロボは何とか倒立を継続することが出来るようになりました。

しかし、この動きが結構過渡現象の波形のようで同じ位置は確保しているのですが頻繁に前後に行ったり来たりしています。この状態で例えば前方向(どっちが前だか分かりませんが)に動かすと(プログラムがまずい可能性は大)動き始めにさらにゆらゆら動いて転倒してしまうのです。

倒立状態をもっと滑らかな前後動か停止状態にしておかないと、前後への走行は難しいそうです。最初は単にモータの回転をあげて走行することを考えたのですが、どうも思わしくありません。そこで角度に強制的にオフセットを与えて動かすことを考えて見ました。

其の前に、倒立維持運動をもっと滑らかにしないと駄目そうです。

 

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

パワーアンプ

2015年04月11日 | 日記

LM3886搭載のジャンク基板を有効利用、オーディオ パワー アンプを作りました。元々はモノアンプ、ウーハーとツーイーターを2個のLM3886で駆動する仕様です。

回路変更、定数変更でステレオ用にしました。Gain=20dBです。

今回も有り合わせの木材を使いお世辞にも良い出来とは云えないシロモノです。電圧は±30V、整流後、10000uFのコンデンサで平滑しLM3886に供給します。最近は低い電圧しか扱っていません、30Vは其れなりに高圧?です。何とか無事に電圧が出ることを確認後、基板をつなぎ音だしをして見ました。

しかし、片側chのレベルが低いのです。基板上の回路をチェックして見ますと余計な抵抗が残っていました。これをはずして目出度く同じレベルになりました。

簡単なF特を調べると10Hz~30KHzくらいまではフラットです。更に上の周波数もフラット模様。ですが発振器が怪しいので信用できません。ノイズも特に問題ありません。オッシロで見ても異常発振はしていません。

  

スピーカ端子はスペースの関係で上につけました。右の画像の黒い部分はヒートシンクです。

パワーはどのくらい出るのか分かりませんが、十分な音量が出ています。

前面に真鋳の針金でト音記号を作り貼り付けました、接着剤が乾いてなく一部白く見えてます。

 

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする