So-net無料ブログ作成
検索選択
前の5件 | -

ESP8266(ESP-WROOM-02)とFET(モータードライバ)でコアレスモーターを駆動してみた [Arduino]

ESP-WROOM-02 で、FET(モータードライバ)を使ってコアレスモーターを駆動をしてみました。手元にTPC8407というFETがあったので、それで試してみました。


TPC8407 データシート http://akizukidenshi.com/download/ds/toshiba/TPC8407_datasheet_ja_20140107.pdf


回路は下記のように組んでみました。本来は電源を3.3Vにレベルダウンする必要がありますが、動作確認なので端折ってしまっています。ESP-WROOM-02 は3.7V入力しても結構耐えてくれますね。


driving coreless motor.png


FETを保護するためのダイオード、コンデンサも手元になかったので省いてしまっています。実際に組むときは考えないといけませんね。

組み上がった回路がこちらです。


DSC04441.JPG


FETは恥ずかしながら空中配線です。(^^;


DSC04443.JPG


それでは動かしてみましょう。スケッチは前回と同じものを使っています。





ポートから駆動するよりもはるかに力強く回ってくれています。これなら飛びそうかなぁ。
σ(^. ^)















噂のESP3212 (ESP-WROOM-32) を入手! [Arduino]

今日は会社の同僚から嬉しいプレゼントをいただきました!なんと ESP-WROOM-32 をまとめて入手したので、一台評価してみる?と貸してもらっちゃいました!eBay から入手したそうです。


DSC04446.JPG


このブレイクアウトボードはUSB端子もついていて、PCにつなげてすぐ使えるようになっています。WiFiだけでなくBLEも内蔵しているので楽しみです。おいおい評価レポートを上げたいと思います。
(´∀`)ノ





waves ESP8266 WiFiモジュール(技適取得済み) ESP-WROOM-02 キット 赤基盤

waves ESP8266 WiFiモジュール(技適取得済み) ESP-WROOM-02 キット 赤基盤

  • 出版社/メーカー: waves(ウェイブス)
  • メディア: おもちゃ&ホビー



ArduinoとESP8266ではじめる IoTプログラミング

ArduinoとESP8266ではじめる IoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/04/22
  • メディア: Kindle版



ESP8266 Weather Station: Getting Started Guide (English Edition)

ESP8266 Weather Station: Getting Started Guide (English Edition)

  • 出版社/メーカー: Daniel Eichhorn
  • 発売日: 2016/09/01
  • メディア: Kindle版




ESP8266(ESP-WROOM-02)でコアレスモーターを直接駆動してみた [Arduino]

ESP-WROOM-02 のPWMでコアレスモーターを直接つないで試しに動かしてみることにしました。


DSC04439.JPG


モータードライバーがないと回らないだろうなぁと思いつつ、下記のようなスケッチを試してみました。


static unsigned int motor = 13;
static unsigned int led   = 12;

void OTA_setup()
{
  analogWriteFreq(2000);
  analogWriteRange(1000);
}

unsigned int duty=0;
bool inc = true;
void OTA_loop()
{
  analogWrite(motor, duty);
  analogWrite(led, duty);
  if (inc) {
    if (duty++ == 1000) inc = false; 
  } else {
    if (duty-- == 0) inc = true;
  }
  delay(1);
}



OTA_setup()、OTA_loop() はなんぞやという方はこちらの記事を参照ください。

さて、意外や意外の結果はこちら。





なんと、GPIO でコアレスモーター動かせちゃいました。

ただモーターが発生させる逆起電力がIOにダメージを与えそうで怖いですし、四つのモーターを動かすドライブ能力はないので、ドローン用回路ではモータードライバーを追加します。

しかし、このモーターの音、近未来的でかっこいい。
・:*:・( ̄∀ ̄ )。・:*:・





ESP-WROOM-02ピッチ変換済みモジュール《フル版》

ESP-WROOM-02ピッチ変換済みモジュール《フル版》

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス






PXYNANOプロペラセット(8枚入)

PXYNANOプロペラセット(8枚入)

  • 出版社/メーカー: G-FORCE(ジーフォース)
  • メディア: おもちゃ&ホビー





ESP8266のPWMを試してみる [Arduino]

今回はモーターコントロールをするためのESP8266のPWM機能を試してみます。


DSC04434.JPG


ESP8266でPWMを使うには、他のArduinoボードと同じように analogWrite を用います。その他に、ESP8266独自のAPIとして、PWMの周波数を設定する analogWriteFreq()、 制御のレンジを決める analogWriteRange() Iが用意されています。


下記のようなスケッチをOTAで書き込んでみました。OTA_setup()、OTA_loop() なんぞやという方は、こちらの記事を参照してください。


static unsigned int led = 13;

void OTA_setup()
{
  Serial.begin(115200);
  analogWriteFreq(2000);
  analogWriteRange(1000);
}

unsigned int duty=0;
bool inc = true;
void OTA_loop()
{
  analogWrite(led, duty);
  if (inc) {
    if (duty++ == 1000) inc = false; 
  } else {
    if (duty-- == 0) inc = true;
  }
  delay(1);
}



実際に動かしてみました。




しかし、下の記事によると、ESP8266のPWMは実はソフトPWMなので多少の誤差がある上に、Duty比も90%までという制約があるようです。


ESP8266 PWM revisited (and reimplemented
https://lurchi.wordpress.com/2016/06/29/esp8266-pwm-revisited-and-reimplemented/


その対策もこちらの記事にあったので試してみたのですが、どうもうまく動かないんだよなぁ。
σ( ̄ε  ̄;)





HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

  • 出版社/メーカー: HiLetgo
  • メディア: エレクトロニクス






ArduinoとESP8266ではじめる IoTプログラミング

ArduinoとESP8266ではじめる IoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/04/22
  • メディア: Kindle版




今更ながら ESP8266 (ESP-WROOM-02) のOTAを試す [Arduino]

世の中はESP8266からESP3212へ移行しつつありますが、今更ながらESP8266のOTAを試してみました。


DSC04428.JPG


ドローンのマイコンにESP-WROOM-02を考えているのですが、ソフトウェアアップデートをOTAで出来れば便利かなと思った次第です。

OTAを行うには、OTA用のスケッチを書き込む必要があります。「スケッチの例」から「BasicOTA」を選択します。

BasicOTA.png

BasicOTAの"ssid" と"password" を変更します。


BasicOTA2.png


BasicOTAをESP-WROOM-02へ書き込み、ブートモードで起動します。ここで、コンソールにIPアドレスが出てくれば準備完了です。


BasicOTAConsole.png


ここで、一度 Arduino IDE を閉じて再起動します。(←ここ重要)

すると、メニューのシリアルポートにネットワークポートが追加されています。

BasicOTAPort.png


このポートで、ソフトをアップデートをしますが、OTAをするソフトウェアは常にBasicOTAのルーチンが必要になります。省いてしまうと、一度OTAをしたら二度目からOTAが出来なくなります。(ここも重要)

BasicOTAの中に処理を追加するのは見通しが悪いので、BasicOTAにAPIを追加します。追加するのは、OTA_setup()、OTA_loop() の二つです。

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

const char* ssid = "your ssid";
const char* password = "your password";

void setup() {
  Serial.begin(115200);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  // ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword((const char *)"123");

  ArduinoOTA.onStart([]() {
    Serial.println("Start");
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  OTA_setup(); // ←追加
}

void loop() {
  ArduinoOTA.handle();
  OTA_loop(); // ←追加
}


新規にタブ「MainOTA」を追加し、処理を記述します。試しにボードに書き込んでみました。


BasicOTANewTab.png


WiFiで動作していることを確認するためにバッテリーで駆動してみます。


DSC04434.JPG


動画でアップロードの様子を映してみました。最初は BasicOTA の状態なのでLED点灯はありません。LEDを1秒間隔で点灯するソフトをOTAし、その後、0.5秒間隔の点灯のソフトに変更してみました。





これは便利ですね。どんどん活用していきたいと思います!
(^_^)/~





HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

  • 出版社/メーカー: HiLetgo
  • メディア: エレクトロニクス



ESPr Developer(ESP-WROOM-02開発ボード)

ESPr Developer(ESP-WROOM-02開発ボード)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ESP8266ではじめるIoTプログラミング

ESP8266ではじめるIoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/06/05
  • メディア: Kindle版




前の5件 | -