Fukuoka Ruby Award   Synchro Sitone∼          AC電源周波数ウォッチソーシャルWeb                      近畿大学!                     山崎重一郎!
Fukuoka Ruby Award  昨年の夏休みの発明品   
Fukuoka Ruby Award                     AC電源周波数                     検知アンテナ  電源コンセントの周波数を測定できます。                        50Hz...
Fukuoka Ruby Award                電力の需要と供給需要が増えると   発電機のトルクが増える                                             おもいなあ	        ...
Fukuoka Ruby Award                電力の需要と供給需要が増えると   発電機のトルクが増える            mortar	           電力需要	           発電所	      周波数...
Fukuoka Ruby Award    BeagleBoneでやってみた     arduinoみたいなオープンソースハードウェア     Linuxが動く      Ruby1.9.3でフィジカルコンピューティング!
Fukuoka Ruby Award   九州電力の主要送電系統図                                        新小倉                                   福岡         ...
Fukuoka Ruby Award                     実際に設置してみた                                         新小倉                              ...
Fukuoka Ruby Award    山崎の自宅(福岡)の設置風景                     設置方法
Fukuoka Ruby Award                     SynchroSitone   
Fukuoka Ruby Award                     SynchroSitone              すっごくシンクロしている   
Fukuoka Ruby Award        Rubyで実装した! はっきり言ってむいていない! でも、mrubyの方向性では「あり」!    それを実証するの目的!
0!        500!               1000!                       1500!                               2000!                        ...
Fukuoka Ruby Award     FFT              高速フーリエ変換ってやつ
Fukuoka Ruby Award                 時系列データを               周波数成分に分解する 25! 20! 15! 10!  5!  0!          1!       59.93       ...
Fukuoka Ruby Award                 Rubyならfft=->a{n=a.size!                 FFTは2行  (n==1 ? a : fft[(0...n/2).map{|i|a[i]+a...
Fukuoka Ruby Award                     Rubyなら
                     FFTは2行
                      (拡大版)fft=->a{n=a.size(n==1...
Fukuoka Ruby Award                 3行にすると
              ちょっと見やすいかも?fft=->a{n=a.size	 	 b=a[0...(n/2)].map	 	 (n==1?a:fft[b...
Fukuoka Ruby Award   Rubyの記述力!   でもまあ、このコードはちょっと変態かも
Fukuoka Ruby Award  Rubyでがんばった事  !   正確な時間間隔でサンプリング!    • 1/60秒=16.7ミリ秒、その倍の速度が必要!    • 5ミリ秒周期で正確にサンプリング!   収集途中でGCが入っては...
Fukuoka Ruby Award                     正確な時間間隔で                      サンプリング   リアクタパターンを利用!          event machineで実装
Fukuoka Ruby Award                      rubygemsの                     event machine                      ユーザ定義のイベント	      ...
Fukuoka Ruby Award                      rubygemsの                     event machine                      ユーザ定義のイベント	      ...
Fukuoka Ruby Award 5ミリ秒ごとに駆動されるプログラム    (実際は微調整が必要!)      require	 eventmachine      	 	       EM.run	 {n=0      	 	 	 	 E...
Fukuoka Ruby Award                     サンプリング中に                      GCを入れない  RubyのFiberでバッファ(ウィンドウ)   への書き込み処理をコルーチンにする!...
Fukuoka Ruby Award                     Fiberで資源を節約window=Fiber.new{i=0  !	 	 	 	 buf=Array.new(SIZE)	 	 	 	 	 loop{r=Fiber...
Fukuoka Ruby Award             Rubyのクロージャで               窓関数をメモ化   2回目からは計算しない!  hamming=->i{m={}   m[i]||=(0.54-0.46*cos...
Fukuoka Ruby Award  びっくりするくらい正確になった   
Fukuoka Ruby Award                      電力事業者の                     3つのサービス   電力卸売り市場で取引される対象!        •    電力供給!        • ...
Fukuoka Ruby Award  周波数調整力の市場価値    アメリカの水道事業者!        揚水ポンプをインバー        ター型にして周波数調整        力を周波数制御卸売り市        場取引に参入!    ...
Fukuoka Ruby Award                     電力需用者側による                     周波数調整サービス    ネガワット(需用者側の節電=発電)!    家庭用の蓄電池、スマート家電、ス...
Fukuoka Ruby Award  SynchroSitone 2.0   赤外線LEDぴかぴか追加バージョン                     赤外線LED
Fukuoka Ruby Award   九州中のエアコンの出力を    瞬時にシンクロさせる10分以内に九州中のオフィスのエアコンが一斉に反応できれば電源周波数調整力として市場価値がうまれる!                         ...
Fukuoka Ruby Award   本当にビジネスになるかも オフィスのエアコンの前に設置するだけで、だれでも   電力事業者の立場になれる!! 周波数調整能力は500W出力の160万円の蓄電池にまけ   ないかも?(出力アップ側の制御も...
Fukuoka Ruby Award                     成果 MakersのためのRuby!     •  オープンソースハードウェアで        Makerになれるよ!!     •  Rubyでフィジカルコンピュ...
Fukuoka Ruby Award                     これから   電気マネー!        •    周波数調整力を原資とするソーシャルマネー?!   節電劇場!        •  ソーシャルゲーム!     ...
Fukuoka Ruby Award                     mrubyへの期待  event_macnineは標準装備してほしい!       •    誤差補正機能もほしい!  Fiberも貧弱なマシンにすごく有効   ...
Upcoming SlideShare
Loading in …5
×

Syncro sitone~

2,952 views

Published on

AC電源周波数調整を目的にした Ruby で開発したガジェットです。mruby でMakerになる人の参考になれば

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
2,952
On SlideShare
0
From Embeds
0
Number of Embeds
59
Actions
Shares
0
Downloads
3
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Syncro sitone~

  1. 1. Fukuoka Ruby Award Synchro Sitone∼ AC電源周波数ウォッチソーシャルWeb 近畿大学! 山崎重一郎!
  2. 2. Fukuoka Ruby Award 昨年の夏休みの発明品  
  3. 3. Fukuoka Ruby Award AC電源周波数 検知アンテナ 電源コンセントの周波数を測定できます。 50Hz 東日本 60Hz 西日本
  4. 4. Fukuoka Ruby Award 電力の需要と供給需要が増えると   発電機のトルクが増える おもいなあ モーター 手回し発電機 電球 LED
  5. 5. Fukuoka Ruby Award 電力の需要と供給需要が増えると   発電機のトルクが増える mortar 電力需要 発電所 周波数変動で瞬時に需給関係がわかる!
  6. 6. Fukuoka Ruby Award BeagleBoneでやってみた arduinoみたいなオープンソースハードウェア Linuxが動く  Ruby1.9.3でフィジカルコンピューティング!
  7. 7. Fukuoka Ruby Award 九州電力の主要送電系統図 新小倉 福岡 北九州 苅田 玄海 唐津 豊前 飯塚 松浦   二日市 大分 大分 相浦 日田 天山 久留米 新大分 熊本 長崎 大平 苓北 (小丸川) 川内 宮崎 川内 鹿児島
  8. 8. Fukuoka Ruby Award 実際に設置してみた 新小倉   福岡 北九州 苅田福岡 玄海 唐津 豊前 飯塚 飯塚 松浦 大分 二日市 大分 相浦 日田 天山 久留米 新大分唐津 長崎 熊本 大分 大平 苓北 (小丸川)二日市 川内 宮崎 久留米 川内 鹿児島長崎
  9. 9. Fukuoka Ruby Award   山崎の自宅(福岡)の設置風景 設置方法
  10. 10. Fukuoka Ruby Award SynchroSitone  
  11. 11. Fukuoka Ruby Award SynchroSitone すっごくシンクロしている  
  12. 12. Fukuoka Ruby Award Rubyで実装した! はっきり言ってむいていない! でも、mrubyの方向性では「あり」! それを実証するの目的!
  13. 13. 0! 500! 1000! 1500! 2000! 2500! 3000! 3500! 4000! 4500! 1! 5! 9! 13! 17! 21! Fukuoka Ruby Award 25! 29! 33! 37! 41! 45! 49! 53! 57! 61! 65! 69! 73! 77! 81! 85! 89! 93! 97!101!105!109!113!117!121!125!129!133!137!141!145!149!153!157!161!165!169!173!177!181!185!189!193!197!201!205!209!213!217!221!225!229!233! ノイズだらけだけど、60Hzあたりの成分も見える237!241!245!249! アンテナからの生データ アナログポートに刺した253! 系列1!
  14. 14. Fukuoka Ruby Award FFT  高速フーリエ変換ってやつ
  15. 15. Fukuoka Ruby Award 時系列データを 周波数成分に分解する 25! 20! 15! 10! 5! 0! 1! 59.93 2! 59.94 3! 59.96 4! 59.97 59.98 5! 6! 59.99 7! 60.00 8! 60.01 9! 60.02
  16. 16. Fukuoka Ruby Award Rubyならfft=->a{n=a.size! FFTは2行 (n==1 ? a : fft[(0...n/2).map{|i|a[i]+a[i+n/2]}].zip(fft[(0...n/2).map{|i|(a[i]-a[i+n/2])*((Complex.polar(1,-2*PI/n))**i)}]).flatten)}
  17. 17. Fukuoka Ruby Award Rubyなら
 FFTは2行
 (拡大版)fft=->a{n=a.size(n==1?a: fft[(0...n/2).map{|i|a[i]+a[i+n/2]}].zip(fft[(0...n/2).map{|i|(a[i]-a[i+n/2])*((Complex.polar(1,-2*PI/n))**i)}]).flatten)}
  18. 18. Fukuoka Ruby Award 3行にすると
 ちょっと見やすいかも?fft=->a{n=a.size b=a[0...(n/2)].map (n==1?a:fft[b.with_index{|x,i|x+a[i+(n/2)]}].zip(fft[b.with_index{|y,i|(y-a[i+(n/2)])*(Complex.polar(1,-2*PI/n)**i)}]).flatten)}
  19. 19. Fukuoka Ruby Award Rubyの記述力! でもまあ、このコードはちょっと変態かも
  20. 20. Fukuoka Ruby Award Rubyでがんばった事 !  正確な時間間隔でサンプリング! • 1/60秒=16.7ミリ秒、その倍の速度が必要! • 5ミリ秒周期で正確にサンプリング!  収集途中でGCが入ってはだめ!!  ずっと安定して動き続けないとだめ!
  21. 21. Fukuoka Ruby Award 正確な時間間隔で サンプリング  リアクタパターンを利用! event machineで実装
  22. 22. Fukuoka Ruby Award rubygemsの event machine ユーザ定義のイベント IOやイベント駆動 リアクタ プログラム
  23. 23. Fukuoka Ruby Award rubygemsの event machine ユーザ定義のイベント 定期発生イベント リアクタ プログラム
  24. 24. Fukuoka Ruby Award 5ミリ秒ごとに駆動されるプログラム (実際は微調整が必要!) require eventmachine EM.run {n=0 EM.add_periodic_timer(0.005){ (時刻を調べて補正) サンプリング実行 n+=1 EM.stop if n==N } }
  25. 25. Fukuoka Ruby Award サンプリング中に GCを入れない  RubyのFiberでバッファ(ウィンドウ) への書き込み処理をコルーチンにする!  継続で、配列オブジェクトを再利用!
  26. 26. Fukuoka Ruby Award Fiberで資源を節約window=Fiber.new{i=0  ! buf=Array.new(SIZE) loop{r=Fiber.yield(buf) if r==0 then i=0 else buf[i]= サンプリング値*窓関数 i+=1 end } }
  27. 27. Fukuoka Ruby Award Rubyのクロージャで 窓関数をメモ化   2回目からは計算しない! hamming=->i{m={} m[i]||=(0.54-0.46*cos(2*PI*i/N-1))}
  28. 28. Fukuoka Ruby Award びっくりするくらい正確になった  
  29. 29. Fukuoka Ruby Award 電力事業者の 3つのサービス  電力卸売り市場で取引される対象! •  電力供給! •  電力余力供給! •  周波数調整(アンシラリーサービス)! ! 九州電力の電力供給と電力余力
  30. 30. Fukuoka Ruby Award 周波数調整力の市場価値   アメリカの水道事業者! 揚水ポンプをインバー ター型にして周波数調整 力を周波数制御卸売り市 場取引に参入! ! PJM市場での周波数調整 力取引でポンプの電力料 金を2~3%削減!
  31. 31. Fukuoka Ruby Award 電力需用者側による 周波数調整サービス   ネガワット(需用者側の節電=発電)!   家庭用の蓄電池、スマート家電、スマートメータ!  デマンド・レスポンス!
  32. 32. Fukuoka Ruby Award SynchroSitone 2.0  赤外線LEDぴかぴか追加バージョン 赤外線LED
  33. 33. Fukuoka Ruby Award 九州中のエアコンの出力を 瞬時にシンクロさせる10分以内に九州中のオフィスのエアコンが一斉に反応できれば電源周波数調整力として市場価値がうまれる! 赤外線LED ぴかぴか エアコン 数万台規模
  34. 34. Fukuoka Ruby Award 本当にビジネスになるかも オフィスのエアコンの前に設置するだけで、だれでも 電力事業者の立場になれる!! 周波数調整能力は500W出力の160万円の蓄電池にまけ ないかも?(出力アップ側の制御も可能)!! ! + ラズベリーパイ! (35ドル)! 赤外線LED! 温度センサー! 4000円くらい  7円 100円
  35. 35. Fukuoka Ruby Award 成果 MakersのためのRuby! •  オープンソースハードウェアで Makerになれるよ!! •  Rubyでフィジカルコンピューティ ングすると楽しいことが実証できた
  36. 36. Fukuoka Ruby Award これから  電気マネー! •  周波数調整力を原資とするソーシャルマネー?!  節電劇場! •  ソーシャルゲーム! •  ギリシャの円形劇場+ギリシャ悲劇は!  社会や人生の問題を共有し理解する装置
  37. 37. Fukuoka Ruby Award mrubyへの期待  event_macnineは標準装備してほしい! •  誤差補正機能もほしい!  Fiberも貧弱なマシンにすごく有効 ! (初期のMacintoshみたいいに)!  GC.disable / GC.enable! •  GCのタイミングを意識して使いたい!

×