This is an initial entry starting the build log. I need to determine which project or module to get started with. I am thinking between power swap and embedded.
This is an attempt to understand the relationship between different blocks/components. The components haven’t been selected but used as reference to see what type of voltages and power consumption may be required.
This will be revisited and revised.
Project goal: Turn on fan/motor when ambient temperature is greater than 25 C.
Concept:
Prototype
A shield with temperature sensor and motor driver can be used in conjunction with a development board to create an initial prototype.
At this point, faster development (fewer parts, surface mount assembly, easy programmability) are more important than accuracy, part life cycle, cost.
Temperature sensors: Several types of temperature sensors are available analog (LM335DT outputs voltage proportional to temperature 10 mV/K), digital with different interfaces (TMP144YFFR uses UART, TMP1075DSGR uses I2C).
Motors options will be looked at next. DC, Servo or Stepper motor. Neither high accuracy not high torque are important. Simplicity of hardware and software implementation are more important for this prototype.
brushed DC motors can be simple to start with for this application. Some of the drivers can be used for stepper motors as well.
| Column 1 | Column 2 | Column 3 | Column 4 | E | F |
|---|---|---|---|---|---|
| Manufacturer | P/N | Notes | Cost | Stock | Links |
| UWV | L9110S | Single H-Bridge | $0.09 | 22000 | Datasheet isn’t very descriptive L9110S | UMW(Youtai Semiconductor Co., Ltd.) | Stepper Motor Driver | JLCPCB https://www.digikey.com/en/products/detail/umw/L9110S/17635270 |
| TI | DRV8833CPWPR | Dual H-bridge | $0.62 | 117 | DRV8833CPWPR | Texas Instruments | Stepper Motor Driver | JLCPCB https://www.digikey.com/en/products/detail/texas-instruments/DRV8833CPWPR/4972147?s=N4IgTCBcDaICICUBqAOFBmdBhACgdRwRAF0BfIA |
| TI | DRV8870DDAR | Single H-Bridge | $0.26 | 28000 | Good datasheet with layout guidelines https://www.digikey.com/en/products/detail/texas-instruments/DRV8870DDAR/5428828?s=N4IgTCBcDaICICUBqAOFB2ADHOBBBIAugL5A |
| TI | DRV8837CDSGR | Package has no extending leads and could be difficult to re-solder | $0.07 | 4871 | DRV8837CDSGR | Texas Instruments | Brushed DC Motor Drivers | JLCPCB https://www.digikey.com/en/products/detail/texas-instruments/DRV8837DSGR/3471184 |
Parts selection
These Ti parts have symbol and footprint available, good parts availability, reasonable cost, and good datasheets with layout guidelines.
- Motor driver - DRV8870DDAR-
- Temperature sensor - TMP144YFFR
Selection of pins to attach peripherals
Following pins have been shortlisted …
… among the several different options for PWM outputs. Can timer 2 channels 1 and 2 be used to generate the drive signals?
I will appreciate review from the forum @ChrisGammell
Next step will be to generate schematic
I am adding a couple of options for driving the fan. Since most fans appear to be brushless DC motors, using a dedicated H-bridge motor driver seems overkill as I may only use one arm/control. I may choose to control with just one FET (still to be added).
I reviewed voltage compatibility for the power pins as well as digital control interface.
For 12 V driver and motor, I will need use a separate power supply.
I have made some small changes to the schematic (added another temp sensor that is easier to use with hand soldering), completed the layout and uploaded the project on github. I will appreciate a review. GitHub - iamgauravg/motor_temperature at master
- Have you considered the current handling requirements of the traces which power the motors?
- Would you find it helpful to label the wire terminal connectors with which pin is on which net? E.g. you only use 2 out of 3 connections on them so why not mark in silkscreen which connections are for which wires?
- Are the protruding tabs on the left side of the PCB useful in an Arduino Uno shield or are they intended for the Uno itself? They look like the areas where the USB and barrel connectors go, which aren’t part of your shield.
- It looks like the KiCad library footprint for the Uno shield might be flipped, so your connectors would end up sandwiched between your Uno and the shield, and inaccessible: why arduino footprints is mirror-like in the module.pretty. · Issue #864 · KiCad/kicad-footprints · GitHub
Great catch on the flipped connector, @smerrett79!
Thank you for your feedback @smerrett79 and @ChrisGammell
I have incorporated the suggestions GitHub - iamgauravg/motor_temperature at master
-
Flipped Arduino template for shield to correctly match the STM32 Dicovery board. Rerouted the circuit modules.
-
Labeled terminals
-
Removed unnecessary tabs
-
Added trace for Tachometer with 0 Ohm resistor
-
Resolved all DRC issues related to silkscreen and clearance
-
Generated Gerbers, drill files and BOM
Please review
Looks like the default drills underneath U1 (whomever made that footprint) might be too small for standard board manufacturing. They will bounce the files back, if so, but it might be a good idea to check and update your DRC to catch such a thing first. Though the vias you have employed also probably are set close to what JLC wants (guessing) so perhaps I am just off on scale. Either way, checking out the capabilities page of your chosen board house and comparing it against the DRC rules you have set is normally a good idea.
Simon’s previous comment about current in some of the traces had you and I discussing calculating expected current going through those lines. Did you end up calculating the temperature rise at the current trace thickness?
Thank you for all the reviews and feedback.
For current supported by 0.2 mm track width, 1 oz Cu and 10 C allowed temperature rise can support around 700 mA current. This could be acceptable for this application.
I have assembled the board (see pics below). I have confirmed that 5 V and 3.3 V are available on the shield. Next step is to apply 12 V externally and start to confirm individual modules are operating correctly.
















