I am a middle aged adult with a non-English background and my English is proficient. I am unable to create the 'a' sound in words like bat or cat. My pronoucitation makes them sound like but and cut.
How can I learn to say them correctly?
I think that you should carefully listen to the pronunciation of the /æ/ sound and try to imitate it. If you follow these links, you will be able to listen to both UK and US pronunciations of these words(you can actually look up any word on that site and listen to its pronunciation):
https://dictionary.cambridge.org/dictionary/english/bat
https://dictionary.cambridge.org/dictionary/english/cat