BadGoldEagle Posted July 24, 2020 Author Report Share Posted July 24, 2020 I have finished the calibration part and have updated the code and the schematic. I'd like to let it run today for an hour or so to check if the MOSFET heats up. It shouldn't but better be safe than sorry. Next step, real hardware testing with the ATTiny85. Quote Link to post Share on other sites
BadGoldEagle Posted July 24, 2020 Author Report Share Posted July 24, 2020 (edited) Endurance test is still going... Currently simulating a hot thermistor (LED is on). And the MOSFET stays cool to the touch so that's nice... no heatsinks needed. Please note that the piece of kitchen towel is there to dampen the PWM vibrations. The glass table is definitely not helping. I didn't bother changing the frequency on the Arduino so it's currently set to 976Hz. It will be set to 31kHz on the ATtiny. Also, I think I either have a dodgy pot or a bad mapping (just for the lower end of this pot) as it jumps around a bit... This needs investigating but I'd bet on the former. I got my potentiometers on amazon for less than €1 a pop. Edit: Yup, the pot was bad. Great! The trimmer I have selected is made by Bourns and will be of higher quality. I'm also pretty happy to have found a thermistor with a built-in cable: https://www.arrow.com/en/products/b57500m103a5/epcos-tdk Edited July 24, 2020 by BadGoldEagle Quote Link to post Share on other sites
BadGoldEagle Posted July 27, 2020 Author Report Share Posted July 27, 2020 (edited) I was finally able to make my code work on the ATtiny. Turns out it's really picky about pin names... and that PB2 (pin 7) somehow corresponds to A2 and not A1 as it should!!! Latest microcode: // QuadrATX fan speed controller // // The Apple Chronicles // // v0.4 // // NOTES: // set board to 8MHz!!! // configure Arduino as ISP // variables declaration int SensorPin = A1; // pin 7 int PWMPin = PB0; // pin 5 int PotPin = A2; // pin 3 int LEDPin = PB1; // pin 6 int SensorVal; // "temperature" from NTC int PWMVal; // fan PWM output "speed" int PotVal; // real potentiometer value, to define the cold/normal operation fan speed. int PotValmapped; // lowest position shall correspond to the absolute minimum speed (see below) and not OFF, new potentiometer value int MinSpeed=64; // absolute minimum speed, 0=0% and 255=100%, currently set to 25%, corresponds to lowest pot value // Calibration variables int NTCcold=512; // corresponds to ambient temperature, 10K for a 10k NTC @25°C int NTChot=110; // corresponds to highest temperature before LED lights up, about 1.3K for a 10k NTC @80°C int PotMin=0; // corresponds to lowest position on potentiometer int PotMax=1023; // corresponds to highest position on potentiometer // setup code, to run once void setup() { //set PWM frequency of PB0 (Pin 5, ATTiny85, fan output) to 31,250 Hz. TCCR0B = TCCR0B & 0b11111000 | 0b001; // define pin modes ATTiny85 pinMode(SensorPin, INPUT); pinMode(PotPin, INPUT); pinMode(PWMPin, OUTPUT); pinMode(LEDPin, OUTPUT); // Set fan to full speed for one second at startup (prevents stall) analogWrite(PWMPin, 255); delay(1200); } // main code, to run repeatedly void loop() { //read NTC sensor value SensorVal = analogRead(SensorPin); if( (SensorVal > NTCcold) && (SensorVal < 1000) ){ // in case ambient temperature is lower than 25°C SensorVal = NTCcold;} if( (SensorVal > NTCcold) && (SensorVal > 1000) ){ // NTC failure (open circuit) SensorVal = NTChot-1;} //read pot value PotVal = analogRead(PotPin); // map and assign pot/pwm values. 0 to 255 corresponds to 0 to 100% PotValmapped = map(PotVal, PotMin, PotMax, MinSpeed, 254); // change potentiometer characteristic, lowest position corresponds to absolute minimum speed PWMVal = map(SensorVal, NTCcold, NTChot, PotValmapped, 255); // linear fan curve from ambient to LED lighting up. PotValmapped is the minimum fan speed set by the potentiometer // Overheating indicator if (SensorVal<NTChot){ PWMVal=255; // full speed digitalWrite(LEDPin, HIGH); // LED ON } else { digitalWrite(LEDPin, LOW); // LED OFF } //write the PWM value to the pwm output pin analogWrite(PWMPin, PWMVal); delay(1000); // updates every second } I'll double check both boards with a professional next Saturday and I guess the next step is to send them to production ? Yay! Edited July 27, 2020 by BadGoldEagle Quote Link to post Share on other sites
Renegade Posted July 27, 2020 Report Share Posted July 27, 2020 Great. Looking forward ! Quote Link to post Share on other sites
ktkm Posted July 28, 2020 Report Share Posted July 28, 2020 I’m so close getting a Q950 right now -- this going to be indispensable! Quote Link to post Share on other sites
BadGoldEagle Posted August 15, 2020 Author Report Share Posted August 15, 2020 2000th post! Now I need to get a Radius Accelerator 16/25 in order to fit in this new 020 group! Before I write another 2000 and get the 040 status, let's take care and finish this Quadra project. The boards are done. Unless someone makes another suggestion... Changes since last post: new snubber circuit for the MOSFET (per techknight's recommendation). The values for the resistor and filter cap will have to be determined experimentally and will depend on the load (ie fan used). I need to get myself an oscilloscope in order to determine the switching frequency. I'll try to find the optimal values for the original Sanyo and for the Noctua PPC. Depending on the results (and required air flow, pressure etc) I'll do other fans as well. new bypass capacitor (tantalum) for the ATtiny, to have a smoother current consumption. Hopefully it'll also allow us to have more reliable thermistor readings. Not that this was necessarily a problem before but it can only help. diodes for all relays (DC and AC). Speaking of relays, someone told me to only switch off and on the hot side (and not neutral), but I think it's actually a pretty bad idea to do that on a "universal" 120V/240V system. You see, nearly all power strips here have DPST switches, and for a reason. Some plugs in Europe are not polarized (CEE 7/3 type F), and although CEE 7/3 type E sockets should be earthed (and polarized), some really old ones still aren't and nothing stops you from plugging a device that needs a connection to earth into an unearthed socket (that's what I used to do back in the day, not my proudest moment, but the building was old and that was tolerated back then). The issue with unpolarized plugs is that you can plug your device either way. You've got a 50% chance of switching live and neutral around. It shouldn't be a problem since you basically have RCD (GFCI) on every plug in case the device has a problem. But if you're using a SPST relay, you may only be switching off and on the neutral side and not the hot side. And that's not great. Since the connections on the monitor plug depend on the input plug, a "wrong" connection on the input side will be spread to the monitor. The ATX PSU will tolerate but I'm not sure a 30 year old monitor will (and leaving it connected to live 24/7 is not recommended). So DPST it is. FYI, the Delta unit only had a SPST relay... Pictures! DC Board v0.97 Close up (PCBnew view of the fan controller circuit) AC Board v0.9 I'll check the pad sizes once more before I send them to production. Quote Link to post Share on other sites
Compgeke Posted August 30, 2020 Report Share Posted August 30, 2020 Relevant to the thread, so I'll crosspost it here 8 hours ago, Compgeke said: Looks good! The only thing I want to confirm is those hard drive powers connectors are for you to plug in from the ATX PSU side, and then you use the 4 pin minifit to run to internal drives? Other than that, everything's looking good! Glad to see a fuse and antitracking slot on the AC board . Quote Link to post Share on other sites
BadGoldEagle Posted August 30, 2020 Author Report Share Posted August 30, 2020 Thanks Compgeke! 8 hours ago, Compgeke said: those hard drive powers connectors are for you to plug in from the ATX PSU side, and then you use the 4 pin minifit to run to internal drives? And yes you are correct! On that note I think I'll just go ahead and order those boards. I've done enough quadrUPLE checks Quote Link to post Share on other sites
archer174 Posted August 30, 2020 Report Share Posted August 30, 2020 Looking forward to this! Quote Link to post Share on other sites
BadGoldEagle Posted September 8, 2020 Author Report Share Posted September 8, 2020 Look what arrived today! Initial multimeter tests show that there are no shorts, great! I kinda regret not using a different footprint for the Softpower transistor...oh well it's just going to be a tad more complicated to solder. Dimensions and screw holes look all right too! All the crimping and soldering will happen next Saturday. More to follow... Quote Link to post Share on other sites
ktkm Posted September 8, 2020 Report Share Posted September 8, 2020 (edited) Looking excellent! Can’t wait to see it installed and ready Edited September 8, 2020 by ktkm Quote Link to post Share on other sites
GeekDot Posted September 8, 2020 Report Share Posted September 8, 2020 Like! Quote Link to post Share on other sites
Renegade Posted September 8, 2020 Report Share Posted September 8, 2020 Moi aussi, j'ai hâte de voir le résultat ! Oops, wrong language. I, too, am looking forward to seeing the result ! Quote Link to post Share on other sites
BadGoldEagle Posted September 15, 2020 Author Report Share Posted September 15, 2020 UPDATE: The DC board is ready! There are two small issues with it: 1/ The footprint for the Softpower transistor is a PITA. Thank Kicad for this. I should have used the 'universal' wide NPN footprint instead of the built in BC547 one... Unless you have pro equipment (which I don't), you'll bridge all three legs in a jiffy. It was nearly impossible to get the solder and the BJT out. I eventually did but RIPped one pad in the process. I was able to salvage board #000 by installing the transistor on the top and by bypassing the traces. Not the prettiest job I'll admit but at least it works. I will install the NPN myself before shipping the boards by routing the legs through the holes and underneath so that it won't be visible once everything is installed. 2/ The holes for the cable harness (J1) are slightly too small. They're big enough to let you install the 16 and 18AWG cables but it's a tight fit. The whole harness job is quite tedious and my fingers are still a bit sore from all that crimping. I am now thinking about getting one of these: https://www.corsair.com/us/en/Categories/Products/Accessories-|-Parts/PC-Components/Power-Supplies/Individually-Sleeved-24pin-ATX-Cable-Type-3-(Generation-2)%2C-BLACK/p/CP-8920053#tab-overview. It's not an extension cable, it's for a Corsair type 3 modular PSU: it goes from receptacle to receptacle, it's not a plug. It should be directly compatible (straight). Soldering the main 24 pin header to the board was rather easy so soldering another one in place of the harness should be a breeze. It would look less original, but black wires never look out of place. I haven't tested much as I couldn't get the cables out of the original 24 pin plug, therefore I have ordered a new one and will keep the original cable as some sort of trophy... but at least the PSU starts up when I short the blue and the white wires together (Key position:ON) and all the voltages are in the right place. It's a small victory in itself. While I wait for the plug to arrive, I'll test the fan circuitry and will solder the components onto the AC board. Also, I have been trying to calculate the LB power consumption... I'll probably create a new thread about this but here's where I'm at: QUADRA 900/950 Expansion cards According to Developer note -> 2x 25W + 3x15W (for 12V, -12V and 5V) According to Designing Cards and Drivers for the Macintosh Family 12V -> 0.175A and -12V -> 0.150A, beefed-up 5V power for Q900/950 unknown (2A per slot normally) => 20W (for 5 slots) for 12V/-12V total nubus=95W (2x25W + 3x15W) -> leaves 75W for 5V => 3A (5V, Q900/950) per slot => 15A total Hard drives 1A 5V x5 -> 5A total Motherboard estimation OG -> 33A-20A-> leaves 13A for the motherboard 25A ATX -> 25A-20A-> 5A motherboard (same as LC475 PSU for whole machine, apparently LC 020 and 030 machines have weaker PSUs) (*) QUADRA 700 (example) Expansion cards According to Developer note -> 3x15W (let's assume that PDS power consumption is similar) 13.9W (actual) per nubus slot -> rounded up to 15W in the documentation 3 (slots) x 2 (Amps, not high power unlike 900/950) =6A for 5V Hard drives 1A 5V x1 -> 1A total Motherboard estimation 15A PSU from PM7100 -> 15A-7A -> leaves 8A for the motherboard OG 12A PSU -> 12A-7A -> leaves 5A for the motherboard (same as QuadrATX 25A estimation above!!) In conclusion, since the Q700 was designed with the weaker PSU in mind, then the board may only get 5 of those 12A. Since a completely overloaded Q900/950 (*) is not something you see every day, and since its LB could still draw the same amount of power as a reasonably configured Q700 (much more common), then I would say that 'weaker' (25A 5V) ATX PSUs are probably just fine. The LC475/Q605s get less than 5A for the whole system! Of course I'll measure the actual LB consumption under heavy load without any HD/Nubus cards with an amp meter clamp once I get it up and running. temporary QuadrATX PSU LIST Best: Bicker BEA 630, 635 and 640 (5V@35A). Beware: H versions are weak! Seasonic RS650 (5V@35A) Good candidates: Seasonic industrial SS500ES 24A SS500ET/600ET 24A Seasonic consumer Eco Plus 600 24A S12II 520 (and up) 24A M12II EVO 620 24A X-650 25A Corsair RM550x (and up) 25A CX550M (and up) 25A TX650M (and up) 25A CX750M 25A VS550 (and up) 24A CS650M 25A VS600 24A CS750M 25A RM550 25A EVGA 650 GQ 24A 550 B5 24A Be Quiet! Dark Power Pro 10 650W 24A STRAIGHT POWER 11 550W 24A POWER ZONE 650W (and up) 25A Silverstone ST75F-P 25A ST70F-ESG 25A Bicker BEA 560 25A Quote Link to post Share on other sites
BadGoldEagle Posted September 16, 2020 Author Report Share Posted September 16, 2020 And here's a picture of the AC board. Almost finished, I have unfortunately ordered the wrong header for the monitor out plug... I'll have to solder that later. As far as the DC board is concerned, I'll test the fan controller this evening and I've already updated the footprint for the Softpower transistor. Quote Link to post Share on other sites
ktkm Posted September 16, 2020 Report Share Posted September 16, 2020 Really nice! What type of fuse are you using? Fast or slow? And also what is the value? Quote Link to post Share on other sites
BadGoldEagle Posted September 16, 2020 Author Report Share Posted September 16, 2020 (edited) I'm not a fuse expert, so I went with a 5A 250V 5x20 fast fuse. What do you think? https://www.arrow.com/en/products/bk-s500-5-r/eaton Edited September 16, 2020 by BadGoldEagle Quote Link to post Share on other sites
ktkm Posted September 16, 2020 Report Share Posted September 16, 2020 Sounds safe. I have an unrelated Issue with a refurbished IIsi PSU -- the fast 3.15A 250V fuse I switched to keeps failing. I was thinking of switching to a slow one just to rule things out. Quote Link to post Share on other sites
BadGoldEagle Posted September 17, 2020 Author Report Share Posted September 17, 2020 Small update: - Fan controller works. - The diode on the AC board should be reversed. The relay didn't work at first until I removed it. Not a big deal though. It's only silkscreen. Just place it backwards... Quote Link to post Share on other sites
BadGoldEagle Posted September 22, 2020 Author Report Share Posted September 22, 2020 (edited) Sorry for the lack of updates, the last puzzle piece (the 24 pin plug) is taking A WHILE to arrive. But I should have a functioning 950 by the end of the week! Edit: Also, I just bought my first vintage LCD monitor, a Fujitsu-Siemens X17-2 from 2003. Should work with the 950's internal video quite well. Edited September 22, 2020 by BadGoldEagle Quote Link to post Share on other sites
BadGoldEagle Posted September 27, 2020 Author Report Share Posted September 27, 2020 IT LIVES After months of hibernation, an elusive Quadra 950 emerges from its sleep. But there's still a small problem... Since most modern ATX PSUs regulate themselves based on what they see on the 12V rail, it is important to get it right. - Without the load resistors, the 12V rail was too high (12.5V). The PSU was clearly having issues with that rail and the ATX fan was on at full blast. - With some load resistors (2x 24Ohm 7W), the 12V rail sits at 12.25V (much better) and the fan is running at the lowest RPM setting BUT some smoke was coming out of the resistors… Not good! Turns out that was caused by a miscalculation on my part. It’s only by doing mistakes that you learn! Basically, I wanted to use two resistors in parallel and forgot to adjust the resistance. Explaination: The current draw depends on the resistance. A 24 Ohm resistor placed on the 12V rail will consume 0.5A (that’s what I aimed for as it’s the minimum load for the 12V rail according to the Bicker’s spec sheet). Power-wise this equals to 6W of dissipated heat. I chose a 7W (max capacity before blowing up or rating) resistor but the safety factor was too close to 1 (hence the smoking). Furthermore, I placed two side by side, thus drawing 12W or 1A. So I was drawing too much and the safety factor was too low. What I should have done: Since the resistors are in parallel, in order to draw the same power as one single resistor, you need to "double" the resistance rating (make the value larger ie decreasing the overall resistance of the resistor). So instead of 24 Ohm resistors, I went with some 47 Ohms. Each resistor will draw 0.25A (or thereabouts), two resistors (in parallel, which can be considered as two independent loads) will therefore draw about 0.5A. 250mA on a 12V rail corresponds to 3W (per resistor). So a 10W package should be able to dissipate that heat without too many issues. The display has arrived but I can’t do anything until I get the new resistors. I should get them in a couple of days. So testing will have to be delayed until next week. Quote Link to post Share on other sites
ktkm Posted September 27, 2020 Report Share Posted September 27, 2020 I can only imagine the satisfaction when you heard that first boot chime. I have my bicker 630 ordered now, can’t wait to put it good use. Good work! Quote Link to post Share on other sites
BadGoldEagle Posted September 27, 2020 Author Report Share Posted September 27, 2020 Indeed! I was pretty stoked to hear it wasn't dead after that last PSU explosion. And thankfully, nothing bad happened this time! 13 hours ago, ktkm said: I have my bicker 630 ordered now Nice! I still need to test the AC part (will do last, after the stress/endurance tests) but I might have bought enough to do a second set of AC cables (QuadrATX AC to PSU). Because we'll be using the same power supply, the cables will be identical. So I'll send you a set along with your boards if I have enough material to make them. Quote Link to post Share on other sites
ktkm Posted September 28, 2020 Report Share Posted September 28, 2020 21 hours ago, BadGoldEagle said: Nice! I still need to test the AC part (will do last, after the stress/endurance tests) but I might have bought enough to do a second set of AC cables (QuadrATX AC to PSU). Because we'll be using the same power supply, the cables will be identical. So I'll send you a set along with your boards if I have enough material to make them. Sounds super! Quote Link to post Share on other sites
BadGoldEagle Posted October 3, 2020 Author Report Share Posted October 3, 2020 Update: Load resistors installed and booting for the first time since the explosion. I used Mpegdec (https://macintoshgarden.org/apps/mpegdec) to benchmark the system: 040s weren't really meant for decoding mp3s... Loading the Apple System Profiler caused it to hang for a second. That being said, the CPU doesn't seem to consume that much more power and seems stable for the time being. Also, I think my homemade harness can definitely be replaced by one of those ATX extension cables. They're a bit smaller (30cm max) but that should be plenty enough. No crimping required! The microcode for the fan controller also needs to be updated as the fan fails to start sometimes. A 500ms delay before the initialization should fix that. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.