Low Level

From Elcano Project Wiki
Revision as of 06:02, 23 May 2019 by JosephBreithaupt (talk | contribs) (Functionality:)
Jump to navigation Jump to search


!! LowLevel v2.1 PCB

This Document contains:



Functionality:

  • The LowLevel Board (LLB) a daughter board (shield) for an Arduino Mega microcontroller. It interprets messages from higher-level autonomous systems or manual controls (RC, joystick). It directly manages the state of the actuators; the hub motor, the turning servo, and the brakes.
  • The first version of the LLB was called MegaShieldDB. It had similar functionality, but different connectors.
  • Depending on the current firmware or operating mode, motion directives are received on one of three interfaces;
  • LLB v2.x has the following low-level interfaces:
    • X2 Cruise (DB-25F) - ElcanoSerial messages from High Level.
    • X3 Motor ( DB-15M): Analog voltage (0,4v) output hub motor.
    • X1/X5 Turn Sensors (RJ45): SPI wheel angle sensor digital inputs. (These are not used. They are provided if the turn sensor is digitized to reduce noise. Present turn sensors are analog.)
    • X4 (ODO): Cyclometer (reed switch) input jack. Board layout was incorrect. This signal should connect to Arduino pin D2, but it does not.
    • JP9 (8 pin): Joystick analog input signals. (not currently used)
    • JP12 (3 pin): Pulse output signal to steer. (Need signal and ground. 5V is not used since both the steer servo and low-level board produce 5V)
    • JP11 (3 pin): Pulse output signal to apply main brakes. (No longer used)
    • JP5 (4 pin): Left wheel angle sensor analog input. (Little used since it covers 360 degrees and is less accurate)
    • JP6 (4 pin): Right wheel angle sensor analog input. (Trike prefer this, since it is +/- 30 degrees, and more accurate)
  • LLB v3.x makes significant wiring changes:
    • Removes the ElcanoSerial connection and the DB-25F.
    • Removes JP9, joystick analog inputs.
    • Removes headers currently used to interface the RC receiver.
    • Adds one CANbus interface on a DE-9F socket. For legacy compatibility ElcanoSerial may be available on this interface as well.
  • The LowLevel runs on 5V power, which it provides to sensors and servos on JP9, JP12, JP11, JP5 and JP6. A 9.6V battery supplies Vin to the Arduino, which regulates it to 5V and 3.3V. The RJ45 connectors send Vin, which must be regulated on the other end to 5V. Our trike uses a 36V battery to drive the hub motor and a 12V battery to drive the steering and brake servos. Each of these three actuators has a separate electronic subsystem, which generates 5V, but are not used by LowLevel. The 5V supply from the motor is used as an indication of whether 36V power is switched on.

Board Schematic for LLB v2:

  • Refer to connections spreadsheet for pin mapping (still in progress)


<img src="%PUBURLPATH%/%WEB%/%TOPIC%/Board-LowLevel.png" alt="Board-LowLevel.png" width="1228" height="959" />


Assembly Guide for LLB v2:

  • Step by step instructions for building your own LowLevel board, complete with pictures and schematics.
  • Download: LowLevel_v2.docx