K-Scale CANdaddy

From Humanoid Robots Wiki
Revision as of 07:34, 28 May 2024 by Vedant (talk | contribs)
Jump to: navigation, search

Features

  1. USB-C + Battery compatibility
  2. Able

Voltage

  • Load sharing between USB and battery

Central Components

MCU

STM32

Used:

STM32F407VET6 Justification: 512 kB of flash memory, unit price at $3, powerful enough to run heavy programs


Buttons + Debouncer

  • Button Debouncer
    • TODO: Add the IC name

LCD

PCF2518

  • How do we connect I2C chip to the LCD screen?

Battery Charger

MCP 2515

CAN Communication

MCP2515

  • How to get supply-side VCC without having it on the bus (from supply-side GND)?
  • What do we do if supply-side GND is missing?



Other

Questions

  1. How does the switching regulator mechanism work?
  2. Do digital logic levels depend on source voltage? For example, let's say that a 3.3V powered device is sending signals to a 5V power device. From my understanding of the datasheet, a direct connection between the signals should not be allowed. However, why is this? What are the internal mechanisms of the pins that make it so that the logic levels need to be based off of the source voltage?
  3. I understand that there is a way to both use the battery as a source as well as to charge it using the USB. However, wouldn't this mean not being able to put a diode within the circuit directing current in one direction? Isn't this a hazard, destroying the circuit the moment a bit of noise comes through?
  4. Power Ground in the context of a switching regulator for our circuit to amplify 3.7 V battery to 5 V source. Do we just connect Power Ground to Battery Ground?


Notes

  • Need to figure out the interface for the SPI lines using MCP2515
    • Pros if successful:
      • Reduces amount of wiring for STM32, requires just one SPI bus with a bunch of easily programmable chip selects
    • Cons: Need to understand the interface for the MCP2515. Need to confirm how interrupts and timing works.