ImuCalibration/Gyroscopes

From PaparazziUAV
Revision as of 17:23, 9 June 2012 by Audax (talk | contribs)
Jump to navigation Jump to search

Turntable Procedure

Hardware

Pictures

Components

  • audio-technica AT-LP120_USB Direct Drive Professional Turntable
  • Olimex LPC H2148
  • Omron rotary encoder
  • Lisa/L+IMU, Xbee 2.4Ghz modem set, fibreglass mounting plates and general wiring components

Wiring

Encoder to LPC

  • Black (common) to EXT2 GND
  • Red 5~12 VDC to EXT2 Vin(5v)
  • White OUTA to EXT1 PO.22

LPC to LPC

  • EXT2 3.3v to EXT1 PO.22 (pull up resistor)

Software

LPC Code Modifications

In case of USB 2.0 A-B cable operation, ~/conf/airframes/Poine/turntable.xml has to be amended, as follows, and saved as ~/turntable_dev_usb.xml:

File: conf/airframes/Poine/turntable_dev_usb.xml
 main.CFLAGS += -DUSE_USB_SERIAL
 main.srcs += $(SRC_ARCH)/usb_ser_hw.c
 main.srcs += $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbinit.c
 main.srcs += $(SRC_ARCH)/lpcusb/usbcontrol.c $(SRC_ARCH)/lpcusb/usbstdreq.c
 main.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=UsbS

 #main.CFLAGS += -DUSE_UART0 -DUART0_BAUD=B115200
 #main.srcs += mcu_periph/uart.c
 #main.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
 #main.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart0

 main.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c

 #main.CFLAGS += -DMB_TACHO
 #main.srcs += $(MB)/mb_tacho.c

   </makefile>

 </airframe>


A new turntable session has to be added to ~/conf/control_panel.xml:

File: conf/control_panel.xml
   <session name="Flight with USB-serial_TT modem">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyACM0"/>
        <arg flag="-nouplink" constant=""/>          
        <arg flag="-s" constant="115200"/> 
      </program>
      <program name="Server"/>
      <program name="GCS"/>
    </session>

Encoder Code Modifications

Line 43 in ~/sw/airborne/firmwares/motor_bench/main_turntable has to be amended to reflect the encoder's factory pulses per revolution (P/R) setting from default "#define NB_STEP 256". The encoder above has a factory resolution set at "300" (P/R).

File: sw/airborne/firmwares/motor_bench/main_turntable.xml
 #define NB_STEP 300