EEVblog Electronics Community Forum

Electronics => Projects, Designs, and Technical Stuff => Topic started by: Sral931 on August 26, 2024, 10:13:11 am

Title: Battery powered SelfHeatedMug v1
Post by: Sral931 on August 26, 2024, 10:13:11 am
This thread is about my battery driven self-heating-mug v1.
Main outlines:

I made a v0 proof-of-concept prototype some time ago:
(https://cdn.discordapp.com/attachments/910972192077021234/1194326421842182254/IMG_4146.jpg?ex=66cd5ee8&is=66cc0d68&hm=cff18901a76bd4f37d791e3feef881d95de2c07daa3513aa96a8ae54363a315f&)
Worked well enough, but had a few ... inadequacies. It was hard to handle and the DS18B20 temperature sensor network (3 sensors on a 1-wire bus) failed for some reason.

I started working on a v1, where the hardware was better contained, so I bought a couple of double walled steel mugs and cut the bottom off. A colleague designed a 3D printed housing to fit in between, this is the test-print for comparison, the final print will be with something a bit more temperature resistant. My colleague bought some PC or CPE+ iirc:
(https://cdn.discordapp.com/attachments/924775281477181470/1235556277736964166/IMG_5148.jpg?ex=66cd1234&is=66cbc0b4&hm=c122e8729d1569907c72aa812e6f7cebbc8b64869be88adf77653e09e99c57be&)

I'm currently botching together a PCB-design using EasyEDA to have it manufactured by JLCPCB ... no idea if the price will be to my liking, but my current thinking is that I have no infrastructure or experience to make PCBs or solder SMD components, so having up to 10 pieces completely manufactured might be OK compared to buying SMD solder equipment for just this project.

The circuit schematic and PCB is attached as PDF files ... not sure how this typically goes, it's simple enough so I will stick with the PDF for now. I can upload different files later if needed.
The PCB outline is currently just a guideline to how much space I have inside the mug (ID ~ 65mm)
Standard trace widths are:

Working principles:
Please let me know what I forgot ^^

I tried to follow general commons sense that I could extrapolate from my bits of electronics "knowledge" and some guidelines from watching 1 or 2 YoutubeVideos. I should probably have researched a bit more, so please let me know if you have a few sources that I should study or direct advice you would like to give me.

All help is appreciated and thanks a lot in advance ! Feel free to ask anything.
Title: Re: Battery powered SelfHeatedMug v1
Post by: Sral931 on August 26, 2024, 10:34:32 am
Updated a few infos that I missed in the first post ....
Title: Re: Battery powered SelfHeatedMug v1
Post by: Phil1977 on August 26, 2024, 10:47:11 am
The main question I have: Is it overengineered enough without RGB lighting, blockchain and an integrated magnet stirrer?  >:D

Beside that: I´d put some thermo-fuse or thermo-switch in series with the heating resistor. If you are really sure that your code is always working and GP0 is in a defined state you can of course do it without, but I mostly don't trust I/O pins of evaluation designs to be in a certain state. I´d insert a physical switch into the battery circuit for the same reason.

Beside that... You could connect a buzzer so that you have an automatically triggered tea timer. Or it could warn you if content is >80°C while moving it.
Title: Re: Battery powered SelfHeatedMug v1
Post by: Sral931 on August 26, 2024, 11:02:26 am
Well ...
I have a few LED's in there, i might make the PowerGood LED blue, is that RGB enough ?
Blockchain might be possible as well ... WiFi connection and I can make one Core mine Crypto during idle cycles.
Magnetic stirrer will be the inductive heating upgrade down the line ^^

Thermo-Switch is a great idea ... do you know a good IC for that ?
I might combine that somehow with the current, slap a comparator in there to ensure max current and max temperature by pulling the nMOSFET gate down.

The nMOSFET gate is pulled down by R8 regardless, if the user pulls the USB and disables the power button, that should deactivate the MOSFET if there's no short.

Buzzer is a good idea as well for emergency reasons. Need to see if i can get a small enough one to fit on the PCB near a free GPIO and whether that's even detectable through the housing.
Might make it play some Rad 8bit music as well  >:D
Title: Re: Battery powered SelfHeatedMug v1
Post by: Phil1977 on August 26, 2024, 11:34:58 am
Well ...
I have a few LED's in there, i might make the PowerGood LED blue, is that RGB enough ?
Blockchain might be possible as well ... WiFi connection and I can make one Core mine Crypto during idle cycles.
Magnetic stirrer will be the inductive heating upgrade down the line ^^

Thermo-Switch is a great idea ... do you know a good IC for that ?
I might combine that somehow with the current, slap a comparator in there to ensure max current and max temperature by pulling the nMOSFET gate down.
There are a lot of SOT23 chips like ADT6401 for this purpose. Or just something mechanical like http://electricprotector.com/2018/1-3-amd-thermal-protector.html (http://electricprotector.com/2018/1-3-amd-thermal-protector.html)


GP0 is pulled down by R8 regardless, if the user pulls the USB and disables the power button, that should deactivate the MOSFET if there's no short.
Are you sure GP0 is low during bootloader operations and what happens if the RP2040 freezes? Okay, probably you smell it overheating before anything really bad happens, but anyhow: I´d equip all heaters with a redundant limiter.
Title: Re: Battery powered SelfHeatedMug v1
Post by: Sral931 on August 26, 2024, 12:41:55 pm
Thanks a lot !
I'll have a look at fitting an ADT6401 or similar on the PCB, should be cheaper than a bimetal strip relay. It has about 100Ohm internal resistance on the open-drain though, so I might have to increase the gate resistance to make it work. The bimetal strip on the other hand has the added benefit of acting as a current limiter, if I'm not mistaken.

Good point on the boot(loader) state, I have thought about it, but not looked into that yet. Doing that now:
Reset state of all my used GPIO pins seems to be pull-down (~50k iirc), Boot sequence resets the controller before entering the BootRom, so I'm guessing that both on reset and entering Boot-mode GP0 will be pull-down.

The RP2040 has a Hardware Watchdog that can reset the MCU, I'll definitely use that. Another approach might be to additionally pull the EN/RUN pin low with the ADT (possibly over a capacitor to make it single fire, if that's possible without crossing current limits and comfortably reaching the hold time on the EN/RUN pi).
I'll give that some thought.