1 / 21

Robo Car Upgrade

Robo Car Upgrade. Peter Busha 4/15/2014. Background. Limited Mobility Messy Connections No Auto Power Switch. Proposal Modify the wired R obo car to include:. Wireless Transceiver Custom circuit board Master Power Switch Three Sonic sensors. Motor Connections. Motor Driver .

shamus
Download Presentation

Robo Car Upgrade

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robo Car Upgrade Peter Busha 4/15/2014

  2. Background • Limited Mobility • Messy Connections • No Auto Power Switch

  3. ProposalModify the wired Robo car to include: • Wireless Transceiver • Custom circuit board • Master Power Switch • Three Sonic sensors Motor Connections Motor Driver Master Power Switch Wireless Transceiver

  4. Wireless Transceiver Sonic Sensor Two way data transmission Joystick 2.45m To wall MCU Wireless Transceiver LCD Screen

  5. Wired RoboCar Motor Driver Micro Controller Battery Sonic Sensor Joystick Control

  6. Robo Car Upgrade Wireless Transceiver Master Switch Micro Controller Sonic Sensor Sonic Sensor Sonic Sensor Battery Motor Driver

  7. KL25Z MCU Joystick SPI Communication nRF24L01+ Transmitter RF Communication nRF24L01+ Receiver SPI Communication KL25Z MCU Robo Car

  8. SPI Communication • Serial Peripheral Interface (SPI) • Four “Channels” • SCLK, CSN or SS, MOSI, and MISO • 8 bit packages

  9. nRF24L01+ • 126 selectable channels • 1.9 to 3.6V supply range • 26µA standby mode, 900 nA power down mode. • Four output powers 0, -6, -12, or -18dBm • 1 to 32 bytes payload length

  10. nRF24L01+ • Transmitter • Reads result of two A to D 16 bit left justified numbers • Breaks 16 bit numbers into bytes • Stores bytes in an array called “payload”. Four arrays, two for vertical and two for horizontal movements. • Transmits payload arrays

  11. Transmitter Setup /* 1 if we are the sender, 0 if we are the receiver */ #define IS_SENDER 1 #define PAYLOAD_SIZE 16 /* number of payload bytes, 0 to 32 bytes */ #define CHANNEL_NO 50 /* communication channel */

  12. 30 ms to transmit payloads 16 byte array. Only using first four bytes. Pulse on MISO receive end This is what a joystick movement looks like

  13. //getting two results from A to D, horizontal and Vert as 16 bit left justified Joystick_GetValue16(data); //breaking A to D to results into bytes payload [0] = (byte)(data[0] / 256); payload [1] = (byte)(data[0] & 255); payload [2] = (byte)(data[1] / 256); payload [3] = (byte)(data[1] & 255); RF_TxPayload(payload, sizeof(payload)); /* send data */

  14. nRF24L01+ • Receiver • Receives the payload arrays • Removes the contents of payload [0] as the vertical data and puts into variable Vert. • Then removes the contents of payload [2] and puts data into variable Horz.

  15. if (status&RF_STATUS_RX_DR){ /* data received interrupt */ RF_RxPayload(payload, sizeof(payload)); /* will reset RX_DR bit */ RF_ResetStatusIRQ(RF_STATUS_RX_DR|RF_STATUS_TX_DS|RF_STATUS_MAX_RT); /* make sure we reset all flags. Need to have the pipe number too */ //Put Payload Data here Vert = payload[0]; Horz = payload[2];

  16. if(((Vert>=115)&(Vert<=140))&((Horz>=115)&(Horz <= 140))) • {Move(0);}// in center zone car does not move • elseif(((Vert>=130)&(Horz >= 115))&((Horz<=140)))//To move forward • Move(20); • elseif(((Vert<=115)&(Horz>=115))&((Horz<=140))) //To move Backwards • Move(-20); • elseif(((Horz>=130)&(Vert>=115))&((Vert<=140))) //To move Left • TurnLeftFast(20); • elseif(((Horz<=115)&(Vert>= 115))&((Vert<=140)))//To move right • TurnRightFast(20);

  17. Thank you! Questions?

More Related