dukeduck1984 / ureflowoven-esp32-micropython Goto Github PK
View Code? Open in Web Editor NEWμReflow Oven controller based on ESP32 with MicroPython & LVGL
μReflow Oven controller based on ESP32 with MicroPython & LVGL
能搜索到WIFI信号但是无法连接,温度检测显示X_GND,拔掉K型热电偶显示NC,另外蜂鸣器会有微弱的“哒哒哒哒”声响。
程序是通过ampy一个个文件上传的。
启动过程中有“Emergency off”报错
以下是我的接线方式
TFT-3.2 | ESP-32 |
---|---|
T_IRO | 35 |
T_DO | 5 |
T_DIN | 18 |
T_CS | 25 |
T_CLK | 19 |
MISO | 5 |
LED | 15 |
SCK | 19 |
MOSI | 18 |
DC | 12 |
RST | 4 |
CS | 13 |
GND | GND |
VCC | 14 |
BUZZ | ESP-32 |
---|---|
GND | GND |
I/O | 22 |
VCC | VCC |
MAX31855 | ESP-32 |
---|---|
GND | GND |
VCC | VCC |
DO | 33 |
CS | 27 |
CLK | 32 |
SSR | ESP-32 | AC220V |
---|---|---|
1 | * | 负极 |
2 | * | 负极 |
3 | GND | * |
4 | 21 | * |
File "main.py", line 5, in
ImportError: no module named 'lvgl'
First of all thanks for sharing all this (there aren't many people like that, or at least I don't know them)
I have been searching a lot on the internet and there are very cool projects but with screens of 60 euros (which used to be 25...) and others with more normal screens type controleo3 which I decided to do and after buying everything on aliexpress the samd21j18 is missing from the stores... and now I have material which I don't want to waste.... and there is good in these questions.
The project is still alive? if so, is it possible to use a 4" screen with the ILI9488 and use a max31865?
I have bought the esp (https://es.aliexpress.com/item/32855652152.html?gatewayAdapt=glo2esp) that indicates to carry out the project.
With this python thing I get lost... what versions should I have installed for it to work?
Thank you so much for everything!! All the best.
I tested the new code (with your PID adjustments). It's not working well on my hardware.
The actual temperature lacks behind the profile and it switches stages much too late. On my first run, it was still in pre-heat stage when it should already have reached the reflow peak, then it froze and didn't react anymore (I had to turn off the power and restart). On the second test run, it stayed in pre-heat for too long and the temperature actually dropped again. Much later it started heating again and reached soak only when reflow was supposed to be over.
Obviously the PIDs need to be changed, but I am wondering whether it is correct that the machine doesn't change the stages when the time is reached. It seems that it's waiting for the specified temperature. Maybe it should switch stages when the time of the stage has elapsed?
Could you
add a servo to open the door for cooling.
file : servo-- define pin(pwm)@ 50HZ.
closed @ 5%,
SLOWLY OPEN to 90% cooling
Can add servo to piece of angle with servo on back of oven with rod to push door open enough to assist with cooling : FAN ON
add language for a micro-switch
(N.O) when closed
(N.C) when not closed
NOT EMERGENCY STOP while cooling.
to keep the oven from heating while door is not closed completely
file: switch -- define pin (in) pin low: door closed. (All is good) pin high: door open: heaters off, cycle stop, buzzer intermittent if not in cooling stage.
Download Gerber file: uReflowOven_Gerber_2020-08-25.zip
As can be seen in screenshots (e.g. this one, heaters are a bit slow and the actual temperature curve lags behind the intended profile.
In the current implementation this leads to a soak phase which is too short. In the Lead217 profile, the specified soak stage is from 90s to 180s with the temperature raising from 150C to 175C, i.e. a 25C increase over 90s. The actual (measured) temperature reaches 150C only with a delay, yet the device soon heats more to transition to the reflow phase. It's not soaking long enough, and the temperature rises too quickly, which is not good for the components.
As a simple remedy, I suggest syncing the actual curve with the profile up to a specified temperature, for example 90C. That means that during the pre-heat stage, whenever the temperature is measured, the profile is shifted on the time-axis so that the actual temperature matches the temperature specified in the profile. For example, when the heater is slower, the profile will be shifted right in the screenshot, until reaching 90C. At 90C both curves are crossing. From there on, the behavior would be just as before.
@pastaclub The touch pins are connected. The hardware buttons are optional, if you use a display without touch function.
BOM List:
Value | Case | |
---|---|---|
C1, C2, C3, C4, C6 | 100nF | SMD-0805 |
C5 | 47uF 25V | SMD-D 7343 |
D1, D2, D3, D4, D5 | MBR120VLSFT1G | SOD-123FL |
J1 | DC-005 | DC Power Jack 5.5x2.1mm barrel type |
R1, R2, R3, R4 | 1K2 Resistor | SMD-0805 |
R5, R6, R7 | 10K Resistor | SMD-0805 (optional) |
T1, T2, T3, T4 | MMBT2222A NPN | SOT-23 |
X1 | KF301-4P | Terminal Red 5,08mm |
X2 | KF301-8P | Terminal Blue 5,08mm |
_Originally posted by @Bibbbi in #12 (comment)
C5 7343这个尺寸是真不好买。
My most recent changes to the code are reflected in beta
branch, and I haven't merged them into the master
Below is your changing list.
1. Emergency off: whenever the temperature sensor reports a failure, shortcut or missing thermocouple, the heater is now automatically turned off immediately to prevent destruction of the PCB or fire.
2. Support for MAX6675 sensor (my MAX31855 is really dead, the dump above actually documents the moment it passed away. I still had one MAX6675 lying around, so I wrote code to use that one instead. You can now configure in config.json which one you wish to use.
3. GUI now displays thermocouple errors (e.g. “NC” for “not connected”). This should be very useful for debugging while people build this project.
4. Fixed temperature caching (the concept was smart, but it didn’t work properly. oven_control never used cache values and always read new ones via SPI). Now you can also configure the max. temperature caching time seperately from the update interval of the temperature display.
5. WiFi SSID can now be configured in config.json
6. FTP can be turned on or off in config.json
7. Touch sensor is now only instantiated in one single place (instead of two if-branches).
8. More efficient parsing of the config file shrinks main.py by 40% to 109 lines
9. Application title can now be configured
My two cents:
4. Fixed temperature caching
of which care shall be taken, as I just made some changes in oven_control.py
.machine.Signal
class in main.py
, and the option has been added accordingly in config.json
.Pls let me know how you want to do the merge.
Thanks,
Kaiyuan
I occasionally get the problem that the machine freezes and doesn't react anymore. This happened in the past when the machine had been on for a while, but now it happens everytime during the reflow process.
I suspect that ESP32 runs out of memory, since mine was almost full before, and now with the code improvements even more memory is used up. Needs to be examined further.
I also suspect that continuosly adding elements to the list temp_points
as it's currently done, could lead to memory fragmentation. Would it be possible to replace this by an array of fixed size (and still be compatible with the chart drawing)?
我想问一下,您推荐的继电器是ac控制ac 70-280v控制24-480V那个吗?
Just a few thoughts, no concrete timeline now. No guarantee, it may not happen at all.
Timer
& _thread
with uasyncio
.A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.