2019年11月4日月曜日

ブレーキを使うのが苦手なのでe-Powerのワンペダルを実現してみたい その2

土曜日。
毎度のごとく屋上へ。
一日ツーリングで走った物の…
ツーリングカーってこんなだっけ感。
マシンがおかしいのかな?と同じ車種を使ってるNさんに使ってみてもらう物のよく知ってる4xだという事。
なんだろう?全然全くおもしろくもなんともない。
ただ走ってる感じ。

う~ん…

それはさておき。
ワンペダルドライブ。
先日作った太陽光のアレで余ってたarduino nanoで試作。

赤LEDついてるのがarduino本体

とりあえず現時点でのプログラムの内容は…

  • 動作するのは基本スロットルを緩めた時のみ。それ以外は操作内容をそのまま出力。
  • モーターのセンサーコードから回転数取得。
  • アンプで必要なニュートラル・前進最大・後進最大の設定(手動)に加えて操作量に応じたRPMを設定する(自動)
  • 操作量に応じた回転数をマージン以上に上回る時、差分量に応じてブレーキ。
ざっくりこんな内容。
最初は液晶乗せようかと思ってたけど液晶の描が重いのでやめ。LEDのみ。

モーターの回転数に付いてどうやって取得するのがいいのか散々悩んだ物の、パルス幅を取得するとローターの位置に寄ってパルスが立ち上がったままの状態で静止して0にならない事が頻発する上、低速時にパルスの上下が遅すぎて処理が回らなくなるので結局割り込み回数を数える事に。
けどミリ秒単位で割り込み数数えたところで
 10000rpm/60秒/1000ミリ秒≒0.17回転/ミリ秒
と、そもそも精度が出ないので時間を稼ぐ為に多重で数えてみたり。

他にも色々問題があったものの…
試行錯誤しながら作ってみたのがコレ。

受信機とアンプの間に挟む形式
必要な配線は受信機とアンプの間に挟む為のコード2本と回転数取得するためにセンサーコードから一本拝借する為の端子の3つ。
ボタンはそれぞれ受信機の信号設定用と回転数設定用。
LEDはブレーキ割り込みが入った時にわかりやすくする為のもの。


とりあえず息継ぎも無くなりきちんとブレーキの割り込みも入る様になった。
無負荷でしか試してないけど実走はどんなもんか…

後でよくよく考えたらバッテリーの電圧低下のこと考えてなかったんだよね…
1Vも下がらないとは言え、ブレーキの基準がブラシレスの回転数な以上、バッテリーの容量が減るにつれてブレーキが甘くなるステキ仕様。
電圧を取得すればKV計算出来る物の。
とりあえず来週実走からかな。

0 件のコメント:

コメントを投稿