0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
DFR0188

DFR0188

  • 厂商:

    DFROBOT

  • 封装:

    -

  • 描述:

    FLIGHT CONTROLLER W/10 DOF IMU

  • 数据手册
  • 价格&库存
DFR0188 数据手册
    Flymaple V1.1(SKU:DFR0188) Contents    1 Introduction 1.1 Applications 1.2 Specification 1.3 Windows System Driver 2 Diagram 3 Sample Code Introduction Flymaple is a Quadcopter controller board, based on the Maple Project. The FlyMaple embeds a STM32F103RET6 (ARM Cortex-M3) as it's main MCU. It integrates a 3-Axis accelerometer,a 3-Axis gyroscope,a 3-Axis compass and a barometric pressure sensor. By using the 10 dgrees of freedom IMUs and powerful 72MHz high-performation microcontroller, flymaple is powerful enough to handle a complex algorithm and manage a robot motion system at the same time. The design of flymaple is based on the maple, which is an arduino sytle ARM processor. The Maple IDE will make Processing/Arduino programmers feel right at home. If you're familiar with Arduino then you can get started with the Maple IDE quite easily. Flymaple is aimed to run on the balancing robots,mobile platform,helicopters and quadcopters which require IMUs and high performance real time controllers. It has an amazing scalability, because it's compatible with the Arduino shields. FlyMaple extends 6 PWM channels and 8 channels for GPIO for controlling ESC/Servo and capturing RC receiver input. Applications     Aircraft Balancing robots Indoor inertial navigation Altimeter Specification       Working Voltage: 5v 7~12v External Power supply from the 2p JST connector Output Voltage: 3.3v/5v or External input power Microcontroller: STM32F103 Running at 72Mhz with 32bit Arduino sytle ARM processor(Cortex-M3) Bootloader: Leaflabs Maple RET6 Edition  10 Degrees of Freedom on a single, flat board: ITG-3200 - triple-axis digital-output gyroscope ADXL345 - 13-bit resolution, ¡À16g, triple-axis accelerometer HMC5883L - triple-axis, digital magnetometer BMP085 - high-precision barometric pressure sensor     Programable through an Arduino-based development environment - Maple IDE Compatible with most of Arduino shields Extends 6 channels PWM pins for controlling ESC/Servo Extends 8 channels GPIO for capturing RC receiver output  3x 4p JST connectors: Serial port 1 GPS extension port I2C interface   Size: 50x50x12mm Weight: 15g Windows System Driver       Plug the Maple board into the computer Open Device Manager Switch Maple board into continuous Bootloader mode (hit reset until you get the fast blinks followed by slower blinks;and immediately hit and hold the boot button until it changes into slow blink mode,release). It should show some broken USB device in your Devices, not a com-port. Download the Maple IDE for windows(http://static.leaflabs.com/pub/leaflabs/maple-ide/maple-ide0.0.12-windowsxp32.zip),and extract somewhere. Select manually select the driver location, select Maple IDE directory "maple-ide-0.0.12windowsxp32/drivers/mapleDrv / dfu directory, to install the driver. Note:   It also supports WIN 7/8 64-bit. Note that while these instructions work on Windows XP, changes in Windows 7/8 mean that you won’t be able to install the IDE without disabling driver signing on your computer.  Download the binary libUSB package (http://sourceforge.net/projects/libusb-win32/files/), extract somewhere (we'll call it c:\LIBUSB) Run the libusb INF wizard (c:\LIBUSB\bin\inf-wizard.exe) Click through the dialogs, select maple,and the default values should be fine, or you can fill in some descriptive info. Save the INF and have it install. It'll produce a big red prompt about the driver being unsigned and problematic; however, it will still work. "Update" the MAPLE 003 device in your device manager and select the INF file you generated.     To load any program:   Run the Maple IDE, when you hit the Upload, hit your Reset button on your Maple Board. It should detect and load the data on it. If your compile takes too long, try hitting the reset later in the upload. I used an alternating interval blink to prove it was working to me instead of the straight blink code. The serial drivers that came with the Maple IDE package do work fine, so you can use those drivers for the COM port directly. Diagram Sample Code This sample code is a piece of the whole library code for the motor functions, you need to download the library to run the whole sketch which contains this motors code. #include #include "wirish.h" #include "i2c.h" extern uint16 MotorData[6]; //Motor control command extern volatile unsigned int chan1PPM; extern volatile unsigned int chan2PPM; extern volatile unsigned int chan3PPM; extern volatile unsigned int chan4PPM; //PPM command char str[512]; ///////////////////////////////////////////////////////////////////////////// /////// //Function: void setup() //Para: None //Return: None //Initialize function ///////////////////////////////////////////////////////////////////////////// ////// void setup() { motorInit(); //Init Motors capturePPMInit(); //捕获遥控器接收机PPM输入信号功能初始化 //configure I2C port 1 (pins 5, 9) with no special option flags (second arg ument) i2c_master_enable(I2C1, 0); //设置I2C1接口,主机模式 initAcc(); //初始化加速度计 initGyro(); //初始化陀螺仪 bmp085Calibration(); //初始化气压高度计 compassInit(false); //初始化罗盘 //compassCalibrate(1); //commpassSetMode(0); //校准一次罗盘,gain为1.3Ga //设置为连续测量模式 } ///////////////////////////////////////////////////////////////////////////// /////// //函数原型: void loop() //参数说明: 无 //返回值: 无 //说明: 主函数,程序主循环 ///////////////////////////////////////////////////////////////////////////// ////// void loop() { //***************ADXL345加速度读取测试例子***************************** int16 acc[3]; getAccelerometerData(acc); //读取加速度 SerialUSB.print("Xacc="); SerialUSB.print(acc[0]); SerialUSB.print(" "); SerialUSB.print("Yacc="); SerialUSB.print(acc[1]); SerialUSB.print(" "); SerialUSB.print("Zacc="); SerialUSB.print(acc[2]); SerialUSB.print(" "); //delay(100); //***********************************************************/ //***************ITG3205加速度读取测试例子***************************** int16 gyro[4]; getGyroscopeData(gyro); SerialUSB.print("Xg="); SerialUSB.print(gyro[0]); SerialUSB.print(" "); SerialUSB.print("Yg="); SerialUSB.print(gyro[1]); SerialUSB.print(" "); //读取陀螺仪 SerialUSB.print("Zg="); SerialUSB.print(gyro[2]); SerialUSB.print(" "); //SerialUSB.print("temperature="); //SerialUSB.print(gyro[3]); //SerialUSB.print(" "); //delay(100); //*********************************************************************/ //****************************BMP085 气压计测试例子****************** int16 temperature = 0; int32 pressure = 0; int32 centimeters = 0; temperature = bmp085GetTemperature(bmp085ReadUT()); pressure = bmp085GetPressure(bmp085ReadUP()); centimeters = bmp085GetAltitude(); //获得海拔高度,单位厘米 //SerialUSB.print("Temperature: "); SerialUSB.print(temperature, DEC); SerialUSB.print(" *0.1 deg C "); //SerialUSB.print("Pressure: "); SerialUSB.print(pressure, DEC); SerialUSB.print(" Pa "); SerialUSB.print("Altitude: "); SerialUSB.print(centimeters, DEC); SerialUSB.print(" cm "); //SerialUSB.println(" "); //delay(1000); //********************************************************************/ //******************************HMC5883罗盘测试**************************** float Heading; Heading = compassHeading(); //SerialUSB.print("commpass: "); SerialUSB.print(Heading, DEC); SerialUSB.println(" degree"); delay(100); //************************************************************************** */ /*************************电机驱动测试*************************************** ************************ MotorData[0] = 1; //首先将PWM设置为最低以开启电调 MotorData[1] = 1; MotorData[2] = 1; MotorData[3] = 1; MotorData[4] = 1; MotorData[5] = 1; motorCcontrol(); //计算各个电机控制量之差,将这个值用于定时器产生中断改变相应电机脉冲 高电平时间 delay(1000); MotorData[0] = 500; //控制6个电调使电机按照一半速度运行 MotorData[1] = 500; MotorData[2] = 500; MotorData[3] = 500; MotorData[4] = 500; MotorData[5] = 500; motorCcontrol(); //计算各个电机控制量之差,将这个值用于定时器产生中断改变相应电机脉冲 高电平时间 while(1); *************************************************************************** ******************************/ /********************无线遥控器RC 的 PPM 捕获测试****************************** ********************** SerialUSB.print("PPM Channel 1: "); SerialUSB.print(chan1PPM, DEC); SerialUSB.print(" "); SerialUSB.print("PPM Channel 2: "); SerialUSB.print(chan2PPM, DEC); SerialUSB.print(" "); SerialUSB.print("PPM Channel 3: "); SerialUSB.print(chan3PPM, DEC); SerialUSB.print(" "); SerialUSB.print("PPM Channel 4: "); SerialUSB.print(chan4PPM, DEC); SerialUSB.println(" "); delay(100); *************************************************************************** ************************/ }   Powered By DFRobot © 2008-2017
DFR0188 价格&库存

很抱歉,暂时无法提供与“DFR0188”相匹配的价格&库存,您可以联系我们找货

免费人工找货