I thought about using a 555 timer but thinking about the quality of the RC components, drift and temperature, I looked for a different approach. This circuit may be more accurate than the 555 timer. All you need is do to adjust the time is to fine adjust the programmed numbers. I think it is simpler that the 555 timer, no relays and its all solid state. You can use either 12 volts or 24, depending on the coil voltage of your secondary. For your setup you will need to connect the black and white wires together and to your one minute output, loosing the self correction feature. The green wire is the 12 or 24 volts wire and the magnet is energized by taking either (or both) A or B, depending on the secondary's time, to ground.
I have also developed some micro MPU masters that use the NTP time servers for accuracy if you are interested. These will run the secondary with the self correction.
Joe
As of 7/2020
Introducing Trinket Trinket 5V, 8Mhz $6.95 ea
https://www.amazon.com/MP1584EN-DC-DC-Converter-Adjustable-Module/dp/B01MQGMOKI/ref=sr_1_16 6/$9.99 Amazon ($1.66 ea.)
https://www.amazon.com/WeiMeet-RFP30N06LE-N-Channel-Mosfet-Arduino/dp/B07CTF1JVD/ref=pd_sbs_60_1/135-8599131- 5 Volt logic version 10/$8.00 ($0.80 ea)
These parts total $9.41 plus misc parts like a small prototyping board and terminals will bring it up to about $15.00.
Here is the software:
It is the Blink example from the free Arduino IDE program. I only changed the ON time to 600 mS (milliseconds) and the OFF time to 60000 mS . Simple!
Please note: I have highlighted the comments and “programming comment syntax”, in Red. The Black is the actual syntax and code that is compiled and loaded.(Well the colors didn't work, sorry.)
/*
Blink
Turns ON an LED for 0.6 second, then OFF for 60 seconds, repeatedly.
This example code is in the public domain.
To upload to your Gemma or Trinket:
1) Select the proper board from the Tools->Board Menu
2) Select USBtinyISP from the Tools->Programmer
3) Plug in the Gemma/Trinket, make sure you see the green LED lit
4) For windows, install the USBtiny drivers
5) Press the button on the Gemma/Trinket - verify you see
the red LED pulse. This means it is ready to receive data
6) Click the upload button above within 10 seconds
*/
int led = 1; // blink 'digital' pin 1 - AKA the built in red LED
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);
delay(600);
digitalWrite(led, LOW);
delay(60000);
}
.