We can’t help without details: what has changed (updates to your system, changes to the wifi access point, etc). Have you verified that wifi works with other devices or using a USB dongle with the problem system?
You can use the -b N option of journalctl to compare wifi entries between a boot where wifi works and one where it fails, For starters sudo journalctl -b N -g wifi where N=0 is the most recent boot and also the value of N for a boot where wifi works.
From years of experience, wifi cannot be trusted, so it is a good idea to have a USB wifi dongle.
I have also found that there are often times where such a disconnect may be fixed by simply power-cycling the AP/router box. The AP is also electronic (a form of computer) and sometimes it needs a reboot just like your PC.
If this not helps you can configure your wifi on the router too. Normally it comes with automatic configurations, means if in your neighborhood are a lot of devices there can be that some chanels are overloaded. With simply scan the wifi network and see what the majority is connected too, you could find channels where are not so crowded and use them, setting them manually. If you do so, just keep an eye on it from time to time.
This is just a template that needs to be modified for your situatioin. Your are meant to read and understand man journalctl. N is a placeholder for the number of the boot. You can use this to compare a old boot that worked with the latest boot. You may also need to experiment with the -g search term. The -p priority option may also help. Journalctl has lots of details, but to maximize chances that someone who knows a solution will recognize your issue you need to minimize extraneous journalctl output.