eecs 192 mechatronics design lab
play

EECS 192: Mechatronics Design Lab Discussion 1: Introduction GSI: - PowerPoint PPT Presentation

EECS 192: Mechatronics Design Lab Discussion 1: Introduction GSI: Justin Yim 23 Jan 2019 (Week 1) 1 Administrivia 2 BeagleBone Blue Intro 3 Soldering Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 1 / 22 Administrivia Getting


  1. EECS 192: Mechatronics Design Lab Discussion 1: Introduction GSI: Justin Yim 23 Jan 2019 (Week 1) 1 Administrivia 2 BeagleBone Blue Intro 3 Soldering Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 1 / 22

  2. Administrivia Getting Started... Welcome Welcome to EE192! Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 2 / 22

  3. Administrivia Getting Started... Project ◮ Project: build an autonomous track-following racecar given a stock chassis and microcontroller dev kit ◮ Teams should be 3 students ◮ Combined skillset should include mechanical design / fabrication, electronics, programming ◮ Controls experience helpful ◮ Teams formed by checkoff Friday ◮ Read the competition rules ◮ NATCAR Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 3 / 22

  4. Administrivia Getting Started... Checkoffs ◮ One-hour time slot on Friday TBD to demonstrate that your project is where it should be ◮ At least one team member needs to show up to run your hardware ◮ These are graded, half credit if late Get your cars! ◮ First checkoff this Friday ◮ Form project teams and check out cars ◮ Checks4Cars program: trade a $ 300 deposit check for a car ◮ Get private course GitHub repository ◮ Details on website Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 4 / 22

  5. Administrivia Getting Started... Git Refresher ◮ Git: distributed version control software ◮ Each commit: like complete snapshot ◮ Branches: separate chains of commits ◮ eventually merged back to its parent ◮ Distributed: everyone has compete copy git logo, by Jason Long, CC BY 3.0 ◮ Most operations local, periodically sync ◮ Best Practices ◮ Small, logical, often commits Learn git here: ◮ Write good commit messages try.github.io ◮ Develop in branches: keep master clean Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 5 / 22

  6. BeagleBone Blue Intro Hardware Hardware ◮ FRDM-K64F Development Board Beaglebone Blue (BBBL) ◮ Octavo Systems OSD3358 Processor ◮ 120 MHz M4 1 GHz ARM Cortex-A8 ◮ 1024 KB 4 GB 8-bit eMMC flash storage ◮ 256 KB 512 MB RAM ◮ Program over network via USB or Wifi Beaglebone Blue Board ◮ I/O connectors including image from BeagleBoard.org ◮ GPIO ◮ 12-bit SAR ADC ◮ USB2.0, I 2 C, SPI, and UART ◮ PWM, Servos, Encoders, H-bridges ◮ LEDs, Buttons, 9-axis IMU, Barometer Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 6 / 22

  7. BeagleBone Blue Intro Board Refresher IO Refresher ◮ GPIO (general purpose input/output) pins (strawsondesign.com GPIO link) ◮ Output: sets pin voltage from software: either GND (0) or Vdd (1) ◮ Input: samples pin voltage: 0 (low) or 1 (high) ◮ PWM (pulse-width modulation) module Beaglebone Blue pinout (strawsondesign.com PWM link) ◮ Every period , the pin is high based on the duty cycle , then low for the remainder ◮ Can digitally approximate analog outputs ◮ Analog Inputs (ADC) (strawsondesign.com ADC link) ◮ Converts a continuous analog voltage (0-1.8v) to a 12-bit (0-4095) quantity Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 7 / 22

  8. BeagleBone Blue Intro librobotcontrol Robot Control Library ◮ C library hardware interface for Beaglebone Blue ◮ Examples and testing programs available ◮ Documentation: http://strawsondesign.com/docs/ librobotcontrol/index.html Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 8 / 22

  9. BeagleBone Blue Intro librobotcontrol “Hello, World!” Code #include <stdio.h> #include <robotcontrol .h> int main () { if( rc_kill_existing_process (2.0) <-2) return -1; if( rc_enable_signal_handler ()== -1){ fprintf(stderr ,"ERROR�...�\n"); return -1; } rc_make_pid_file (); printf("Hello�World !\n"); rc_set_state (RUNNING); rc_led_set (RC_LED_GREEN , 1); int toggle = 1; while( rc_get_state ()!= EXITING){ toggle = !toggle; rc_led_set (RC_LED_GREEN , toggle); rc_usleep (100000); } rc_led_set (RC_LED_GREEN , 0); rc_led_cleanup (); rc_remove_pid_file (); return 0; } Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 9 / 22

  10. BeagleBone Blue Intro connecting Using the Beaglebone Blue ◮ Accepts power over USB or 9-18V barrel connector ◮ ALWAYS shut down by either: ◮ sudo poweroff from SSH ◮ ”POW” button on board ◮ Beware short circuits and Electrostatic Discharge (ESD) ◮ We can only provide you with one replacement board if yours dies Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 10 / 22

  11. BeagleBone Blue Intro connecting Electrostatic Discharge ◮ You build up static charge on your body ◮ ... just by walking, especially when it’s dry ◮ ... and up to several kV ◮ but under ∼ 2kV is imperceptible ◮ Chips are sensitive to high voltages: may cause permanent damage Don’t let this happen ◮ read: board stops working “for no reason” to you ◮ Remember to ground (discharge) yourself before handling sensitive electronics ◮ Touch the grounded lab bench surface ◮ Use a ESD wriststrap ◮ Avoid touching traces on boards Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 11 / 22

  12. BeagleBone Blue Intro connecting Connecting to Beaglebone Blue ◮ Connect to USB and wait for boot ◮ Lab desktops with Windows: ◮ Start Virtualbox ◮ Pass Beaglebone USB to Ubuntu ◮ ssh ubuntu@192.168.7.2 ◮ Passphrase: temppwd Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 12 / 22

  13. BeagleBone Blue Intro connecting Hello, World! Demo Live Demo! Connect to Beaglebone Blue, Print ”Hello World” Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 13 / 22

  14. Soldering Theory Overview ◮ Soldering: joining (electrically and Example solder joints: mechanically) metals using a separate fillter metal “ solder ” ◮ Electronics: bonding component pins/leads to circuit board through-holes or pads ◮ Solder is usually a tin/lead alloy (e.g. 63/37) or lead-free tin-silver-copper alloy Through-hole (e.g. SAC305) ◮ This tutorial focuses on introductory through-hole soldering ◮ Note: most production boards today are Surface-mount surface-mount to save space Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 14 / 22

  15. Soldering Theory Safety Precautions ◮ Soldering melts metal - IT’S HOT ◮ Tips typically set at 700 ° F (371 ° C) ◮ Irons cool slowly after turning off ◮ Touching a hot tip is NOT fun ◮ Leaded solder contains ... lead ◮ ... which is known to the state of California to cause cancer and reproductive harm ... ◮ WASH YOUR HANDS AFTERWARDS ◮ Solder vaporizes flux, producing fumes ◮ Regular exposure linked to asthma ◮ DON’T BREATHE THIS ◮ May also cause solder splatter: eyewear required (regular glasses ok) Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 15 / 22

  16. Soldering Theory Oxidation ◮ Soldering depends on good thermal transfer from tip to solder / component / board ◮ Metals oxidize, forming an oxide layer ◮ Oxides impede thermal transfer ◮ Reactions faster at higher temperatures Solder cross-section ◮ Flux provides chemical cleaning showing flux core ◮ Rosin flux is corrosive when heated ◮ ... and is present in solder wire spools ◮ ... but is “burned” upon use ◮ Just keep this in mind... Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 16 / 22

  17. Soldering Theory Equipment Overview Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 17 / 22

  18. Soldering Procedure Tip Maintenence ◮ The tip is what heats things up ◮ Want to maximize thermal transfer! ◮ Keep the tip “tinned” with solder ◮ Provides better thermal transfer ◮ Sacrificial layer preventing tip oxidation, which destroys the tip ◮ Must be occasionally refreshed ◮ The solder oxidizes, accelerated by heat ◮ Cleaning: wipe on brass or wet sponge ◮ Immediately re-tin (apply solder layer) Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 18 / 22

  19. Soldering Procedure Procedure ◮ Beginner’s tip: use iron to heat up component and board, not solder ◮ Feed solder in through the other side ◮ Solder only melts when component and board sufficiently hot ◮ Maximizing heat transfer ◮ Point tips: solder using “side” of tip, not point ◮ Chisel tips: use the broad flat end Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 19 / 22

  20. Soldering Procedure Joint Inspection Optimal joint shape is a “solder volcano” Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 20 / 22

  21. Soldering Lab Fin For checkpoints 1 and 2, you need to build 2 LED blink circuits- the first using an IC and the second using PWM from the Beaglebone Blue. Choose the resistor such that ∼ 1.6mA goes through the LED The BBBL supply voltage is 3.3v (yes, I know those red LEDs suck) Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 21 / 22

  22. Soldering Lab Links ◮ Chassis: http://os.3racing.hk/carkits_web.php?carkits_web_key=61 ◮ Github: https://github.com ◮ Beaglebone Blue: https://beagleboard.org/blue ◮ Robotic Control Library: http: //strawsondesign.com/docs/librobotcontrol/index.html Ducky (UCB EECS) Mechatronics Design Lab 23 Jan 2019 (Week 1) 22 / 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend