-
SurvBot - Remote Controller - START PART2
10/02/2024 at 22:06 • 0 comments- Push buttons will connect to GPIOs
- Joysticks are 2 axis potentiometers, will connect via ADC-I2C
- Screen could use I2C to keep it simple, will only be receiving data, might use SPI
- **UART used to program ESP32
- Modules:
- Power supply
- Motion control
- uC & Bluetooth
- Mode change
- CH340 USB to UART
- will be attached to the underside of the PCB
- USB - bottom layer
- UART - bottom layer ->via -> top layer
- Other stuff:
- On-of switch
- Indicator LEDs (power, BT connected, data Tx, data Rx)
- Emergency stop?
- How to you implement a remote E-stop
- Battery holder and terminals
- Voltage levels, 3.3V for everything, maybe 5V - leaning towards the former
- Should be able to connect to external
-
SurvBot - Remote Controller - START PART1
10/02/2024 at 21:51 • 0 comments- Requirements:
- Send/receive messages over Bluetooth - ESP32
- Control robot's velocity and direction - Joystick most likely
- Place robot in different modes and itself in different modes - push-buttons
- Display relevant information, can choose what it displayed and how it is displayed - screen and push buttons
- Battery powered - BT takes a lot of power
- Programmable via USB - use a USB to UART converter
- Simple to use IDE - Arduino
- Will take inspiration from game controllers and RC controllers
- https://www.amazon.ca/FLYSKY-Transmitter-Controller-Receiver-Upgrade/dp/B07Z8VCB45/ref=asc_df_B07Z8VCB45/?tag=googleshopc0c-20&linkCode=df0&hvadid=706841688476&hvpos=&hvnetw=g&hvrand=1694029161074720460&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9001024&hvtargid=pla-1088447909254&psc=1&mcid=c9f926f34897300eaa7c25e74dbb2f04&gad_source=1
- https://www.amazon.ca/DJI-FPV-Remote-Controller-Compatibility/dp/B0CS6JCX2W/ref=asc_df_B0CS6JCX2W/?tag=googleshopc0c-20&linkCode=df0&hvadid=706724959887&hvpos=&hvnetw=g&hvrand=1694029161074720460&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9001024&hvtargid=pla-2489520640472&psc=1&mcid=f32a5bfd8b8c3bf7bbd4d2b5bef1abd8&gad_source=1
- https://www.google.com/search?sca_esv=5de61c6dbcae3990&rlz=1C1CHBF_enCA862CA864&sxsrf=ADLYWIJSQK7JbUN--RXnojvIJRHf0_mpcA:1727902305618&q=ps2+controller&udm=2&fbs=AEQNm0CrHVBV9axs7YmgJiq-TjYc7RgyMjmhctvLCnk5YpVfOzTk9UgrCkq1LL6wECoQ_WGpuh2-yvh4a1uIS1ER30dB5AWZ8RxNjUsmzFd4N_UT1oUNZfs4C3G8xLBj8dMjxnxwyU-UJN99U7fNsRI-pWnVE5KFVJFgLI_Oh0CZhjHwc1W0HeIrcIvNwyjxFJw-UaUn9lCRGxP3O_xa89hyqWrDJSrVcw&sa=X&ved=2ahUKEwis84fZyfCIAxUQmIkEHc_SLPsQtKgLegQIEhAB&biw=1920&bih=919&dpr=1#vhid=Lb2cas9fS-k0YM&vssid=mosaic
- Requirements:
-
SurvBot RCU Altium Designer
09/18/2024 at 20:50 • 0 comments- Finished Schematic and PCB in Altium Designer
- Made custom symbols and footprints
-
SurvBot PCB
09/04/2024 at 22:06 • 0 comments- Finished SurvBot PCB in KiCad
- Used JLC7628 stackup
-
Current draw of motors
08/10/2024 at 21:10 • 0 comments- Tested Motor Under no load at 6V, experimentally determined that:
- Max speed < 180 rpm
- Max current draw < 400mA
- Stalled Current (held motor in place while it tried to rotated at max speed)
- < 1.5 A
- ***May have damaged motor, no longer rotated perfectly along axis
- Tested Motor Under no load at 6V, experimentally determined that:
-
External Memory
08/10/2024 at 21:03 • 0 comments- Requirements:
- store at least 1MB, don't need more than 10MB
- SPI interface
- Vdd = 3.3V
- Recording temperature, orientation/tilt, light, current, commands
- Temperature, humidity and light: 1 sample/second
- Orientation, current, commands and speed: 10 samples/second
- Temperature and humidity from SHT30-DIS & light from ADPDS are each 2 bytes
- 6 bytes * 1 sample/second = 6 bytes/second
- 360 bytes/minute
- 21600 bytes/hour
- ADC is 12-bit, will store as 2 bytes each for left motor and right motor -> 4 bytes
- Orientation sensor: roll pitch and yaw - 2 bytes each -> 6 bytes
- Commands: speed and direction - 2 bytes each -> 4 bytes
- 14 bytes * 10 samples/s = 140 bytes/second
- 8400 bytes/min
- 504 000 bytes/hour
- Total: 525600 bytes/hour, stored raw this is about half a MB per hour
- Couldn't find an EEPROM
- Using NOR flash IC SST26VF032BT-104I/SM: 32Mbit
- Requirements:
-
Motor Drive Unit Power
08/04/2024 at 16:07 • 0 comments- Planning on powering entire device from 9V battery (unregulated supply), motor drive unit needs a 6V regulator
- Encoder operating voltage is 4.5 to 7.5V
- ***Even though STM32G0B1CE has 5V tolerant pins that are used for encoder input, the output voltage of the encoder will likely match the operating voltage
- Will either use level shifters IC's or voltage dividers resistors, leaning towards the latter
- Since motor is rated for 6V and that is within encoder operating voltage, will use the same IC to power both
- LM2576S-Adj, I_MAX = 3A
- Has tips on picking out all the external circuitry and lays out a design procedure as well
-
Power Budget and Power Circuitry
08/04/2024 at 15:37 • 0 comments- Made a "worst case scenario" power budget, this was made on July 29th,
Absolute max current draw by microcontroller is 100mA, but typical supply current is under 10mA, and adding peripherals only adds a 10s of uA
This is important because the efficiency of the buck converter under different current loads is dependent on the Inductor value, large loads -> small inductor, small loads -> large inductor
Therefore, want to figure out "typical" current draw before deciding on inductor values for regulators
- Made a "worst case scenario" power budget, this was made on July 29th,
-
Power From USB
08/04/2024 at 15:17 • 0 comments- Can be quite noisy, use a pi filter to filter out noise
- Set up CC pins on USB_C receptacle to get 500mA from source
- ***** If inductor has no DC resistance, circuity will essentially be a resonator -> give sharp peak at corner frequency instead of trailing off
- With ESR = 0.15 ohm, the corner frequency is 1MHz, don't want to dampen below that because ICs sometime need high-frequency currents
-
USB Application Notes TA0357 & AN4875
08/04/2024 at 15:11 • 0 comments- TA0357: Overview of USB Type C and Power Deliver Tech.
- 2 Configuration channels (CC) for the discovery, configuration and management of USB Type C Power delivery features
- A sink must assert Rd pull-down resistors on both CC pins
- USB 2.0: Nominal voltage of 5V, max current of 500mA
- AN4878: Introduction to USB hardware and PCB Guidelines for STM32
- Protection against ESD and EMI:
- The "HBM" require that USB pins of component device be tolerant p to 2kV of discharge
- Low Price: USBLC6-2SC6 (+ ESDA7P60-1U1M for VBUS)
- Low Area: USBLC6-2P6 ((+ ESDA7P60-1U1M for VBUS)
- VBUS Sensing:
- A USB device must have VBUS sensing detection based on the USB specification
- When the device detects the host's presence it connects its pull-up resistor to either a D+ or D- data signal line, this allows the host to detect the device presence on the bus
- 1) If the USB device is bus powered, USB sensing isn't mandatory (USB is always connected with device is powered)
- 2) Device is self powered - VBUS sensing is mandatory
- ************* Not all STM32 microcontrollers that have USB peripherals have dedicated sensing pins
- If they do, it is usually - PA9 additional functions: OTG_FS_VBUS
- ************* The embedded pull up resistor on D+ pin in STM32G0B1CE is used for USB device detection
- Protection against ESD and EMI:
- TA0357: Overview of USB Type C and Power Deliver Tech.