Dragonizer
|
|
March 22, 2017, 10:38:27 AM |
|
Cheers mate that was EXACTLY what i was looking for, can't find my pic programmer yet, pretty sure i only used to program chips for the rapid fire/extra 2 buttons on the Xbox...lol
|
|
|
|
sidehack (OP)
Legendary
Offline
Activity: 3402
Merit: 1865
Curmudgeonly hardware guy
|
|
March 22, 2017, 12:38:59 PM |
|
You know, the first few paragraphs of the first post in this thread told you the PIC part number, as well as what the PIC does in the circuit and what to look for to diagnose a dead one. Except for explicitly stating what ISP programmer to use, it answered basically all of your questions from the last few days.
|
|
|
|
Dragonizer
|
|
March 22, 2017, 04:12:44 PM Last edit: March 22, 2017, 04:31:30 PM by Dragonizer |
|
You know, the first few paragraphs of the first post in this thread told you the PIC part number, as well as what the PIC does in the circuit and what to look for to diagnose a dead one. Except for explicitly stating what ISP programmer to use, it answered basically all of your questions from the last few days.
I have read that post and have noted the 2 pin header is ground and the 6 pin is connected to the pic, but what i can not find is which pin on the 6 in header i need to measure voltage on or do i do it between the 8pin pic and GND and or between one of the 6 pin headers and ground. http://ww1.microchip.com/downloads/en/DeviceDoc/40001723D.pdfYou mention it is a PIC12F1572, I have googled the hell out of , trying to learn,'ve evn had a USN scope on the pic i presume it is, but i can get no info off it. From what i think i correct the 2 header GND are labelled P2, the 6 pin header that connects to an 8 pin PICip12F1572 is labeled P1. I'm sill learning but if his is the chip it looks VERY simple to replace....BUT i can not find any info at what points between GND and/or the the PIC or 6 pin header http://imgur.com/a/TMHhKI am SORRY if i am frustrating people BUT i am still learning as a newbie, i hope you can take this into consideration, even the mention of the PIC12F1572 had me googing the board fo it, searching forum for hours and even using a USB scope to see if i could find it lablelled 'PIC12F1572' Do i simply need to measure between VSS and VDD or VSS and GND pin. Cheers
|
|
|
|
sidehack (OP)
Legendary
Offline
Activity: 3402
Merit: 1865
Curmudgeonly hardware guy
|
|
March 22, 2017, 04:29:49 PM |
|
Remember when I mentioned you should do some research on how buck regulators work?
Note also the explanation in the first post. The PIC sends a signal to the digital potentiometer tied to the buck regulator, and that adjusts the voltage. Remember how NotFuzzyWarm told you to measure your voltage at the big inductor?
Note how in this thread there's talk of using a PIC programmer on the 6-pin header. That's because the 6-pin header is ONLY USED TO PROGRAM THE PIC. There is no measuring of voltage going on there. The voltage people are referring to (~9V for a dead PIC, >10V for a working one) are measured at the buck regulator output. That's been stated multiple times in this thread and the potentiometer fix thread.
Also note that the 8-pin SOIC I told you to look at says "1572" on it. That's the PIC12F1572.
So what you do is exactly what's been told to you so far. You fire up the board (make sure it's got 12V power and is plugged to the IO board by the 18-pin cable) and measure the main buck regulator output voltage (at the inductor). If it's around 9.3 volts, your PIC isn't setting the voltage probably because it's dead. Buy a new one, flash it with the firmware given in this thread (aaron6 linked you to it) and then power up the board again, see if the voltage is better.
If you power up the board and it's reading over 10 volts, this is not the fix you need.
|
|
|
|
Dragonizer
|
|
March 22, 2017, 04:51:28 PM |
|
Remember when I mentioned you should do some research on how buck regulators work?
Note also the explanation in the first post. The PIC sends a signal to the digital potentiometer tied to the buck regulator, and that adjusts the voltage. Remember how NotFuzzyWarm told you to measure your voltage at the big inductor?
Note how in this thread there's talk of using a PIC programmer on the 6-pin header. That's because the 6-pin header is ONLY USED TO PROGRAM THE PIC. There is no measuring of voltage going on there. The voltage people are referring to (~9V for a dead PIC, >10V for a working one) are measured at the buck regulator output. That's been stated multiple times in this thread and the potentiometer fix thread.
Also note that the 8-pin SOIC I told you to look at says "1572" on it. That's the PIC12F1572.
So what you do is exactly what's been told to you so far. You fire up the board (make sure it's got 12V power and is plugged to the IO board by the 18-pin cable) and measure the main buck regulator output voltage (at the inductor). If it's around 9.3 volts, your PIC isn't setting the voltage probably because it's dead. Buy a new one, flash it with the firmware given in this thread (aaron6 linked you to it) and then power up the board again, see if the voltage is better.
If you power up the board and it's reading over 10 volts, this is not the fix you need.
I have red up on buck regulators, ant that the PIC is just a digital pot, and people are just replacing it with a standard screw pot. What i don't know is where the 'BIG Inductor' is even after reading his thread ? When i have replaced pics in the past i have always programed them via my PIC Programmer, just plug it into the correct slot/position on programming board and 'flash it' with the FW aaro6 linked me. I tried to find a pic with '1572, but not ecen my usb scope could pick it up, why not just state it is labelled U3 on pcb, and the 6 in header linked to the pic is P1 and the GND P2 ? I am still reading the threads and looking on how to 'measure the main buck regulator output voltage (at the inductor)' Why does a blank i need to flashed via the 6 pin header? Never seen tha done beore always used a PIC prgrammer board and relevent program.... Cheers
|
|
|
|
sidehack (OP)
Legendary
Offline
Activity: 3402
Merit: 1865
Curmudgeonly hardware guy
|
|
March 22, 2017, 05:12:58 PM |
|
what is the large coil like thing ?
You might also want to do some research on how buck regulators work. The coil-like thing is a coil.
Well for a start, what is the voltage into and out of the big power inductor?
The regulator's voltage is set by a digital potentiometer ... The default value is right in the middle, which is why some "dead" S7 will start to 9.3V ... the value gets updated by a little microcontroller (PIC12F1572), which pushes out a fresh value from memory as soon as it kicks on.
Why are you using a USB scope to look for 1572? It's something you look for with your eyes. It's written on top of the chip. Without a board in front of me I have no idea what the silkscreen label is, but I do know it's the 8-pin SOIC device with PIC12F1572 written on it. Which is all information you had. But anyways, first thing you need to do is measure the voltage at the place you've been told to measure the voltage (I'm pretty sure there are even clearly labeled pictures in the potentiometer fix thread). If it's not in the range you've been told to look for to see if the PIC is dead, you don't need to worry about all the other information you were given because it's not the fix you need - which is also information you were given. Sorry if my criticality comes across as dickish. I'm well aware I tend to expect more out of people than they're used to and am frequently disappointed, but I don't intend to change. It either makes people leave me alone or work to be better, which in the long run are both winning outcomes.
|
|
|
|
NotFuzzyWarm
Legendary
Online
Activity: 3822
Merit: 2706
Evil beware: We have waffles!
|
|
March 22, 2017, 05:14:05 PM Last edit: March 22, 2017, 05:24:15 PM by NotFuzzyWarm |
|
Remember when I mentioned you should do some research on how buck regulators work?
Note also the explanation in the first post. The PIC sends a signal to the digital potentiometer tied to the buck regulator, and that adjusts the voltage. Remember how NotFuzzyWarm told you to measure your voltage at the big inductor?
Note how in this thread there's talk of using a PIC programmer on the 6-pin header. That's because the 6-pin header is ONLY USED TO PROGRAM THE PIC. There is no measuring of voltage going on there. The voltage people are referring to (~9V for a dead PIC, >10V for a working one) are measured at the buck regulator output. That's been stated multiple times in this thread and the potentiometer fix thread.
Also note that the 8-pin SOIC I told you to look at says "1572" on it. That's the PIC12F1572.
So what you do is exactly what's been told to you so far. You fire up the board (make sure it's got 12V power and is plugged to the IO board by the 18-pin cable) and measure the main buck regulator output voltage (at the inductor). If it's around 9.3 volts, your PIC isn't setting the voltage probably because it's dead. Buy a new one, flash it with the firmware given in this thread (aaron6 linked you to it) and then power up the board again, see if the voltage is better.
If you power up the board and it's reading over 10 volts, this is not the fix you need.
I have red up on buck regulators, ant that the PIC is just a digital pot, and people are just replacing it with a standard screw pot. What i don't know is where the 'BIG Inductor' is even after reading his thread ? When i have replaced pics in the past i have always programed them via my PIC Programmer, just plug it into the correct slot/position on programming board and 'flash it' with the FW aaro6 linked me. I tried to find a pic with '1572, but not ecen my usb scope could pick it up, why not just state it is labelled U3 on pcb, and the 6 in header linked to the pic is P1 and the GND P2 ? I am still reading the threads and looking on how to 'measure the main buck regulator output voltage (at the inductor)'
Why does a blank i need to flashed via the 6 pin header? Never seen tha done beore always used a PIC prgrammer board and relevent program.... Cheers I think you have one of the very early batch number s7's... They have no Vcore regulator, the ASICs are directly fed from the PSU. I think we kit a key point about the s7's - and s9's: What batch number is it? With the s7 batches 1-5 with 54 chips per board have NO Vcore voltage control. ergo no DPOT, no regulator chip, no inductor, etc. and I think no PIC. Only the later batches with 45 chips have the Vcore regulator goodies... All the chips are in 1 big series string with Vcore set by how many chips in the string divided into the PSU supply voltage. As with any string topology, any break in the string from a bad chip or bypass cap and the whole board dies. A decent read on buck regulators, https://en.wikipedia.org/wiki/Buck_converter
|
|
|
|
Dragonizer
|
|
March 22, 2017, 05:27:51 PM |
|
what is the large coil like thing ?
You might also want to do some research on how buck regulators work. The coil-like thing is a coil.
Well for a start, what is the voltage into and out of the big power inductor?
The regulator's voltage is set by a digital potentiometer ... The default value is right in the middle, which is why some "dead" S7 will start to 9.3V ... the value gets updated by a little microcontroller (PIC12F1572), which pushes out a fresh value from memory as soon as it kicks on.
Why are you using a USB scope to look for 1572? It's something you look for with your eyes. It's written on top of the chip. Without a board in front of me I have no idea what the silkscreen label is, but I do know it's the 8-pin SOIC device with PIC12F1572 written on it. Which is all information you had. But anyways, first thing you need to do is measure the voltage at the place you've been told to measure the voltage (I'm pretty sure there are even clearly labeled pictures in the potentiometer fix thread). If it's not in the range you've been told to look for to see if the PIC is dead, you don't need to worry about all the other information you were given because it's not the fix you need - which is also information you were given. Sorry if my criticality comes across as dickish. I'm well aware I tend to expect more out of people than they're used to and am frequently disappointed, but I don't intend to change. It either makes people leave me alone or work to be better, which in the long run are both winning outcomes. I understand your frustration, if you was to ask me about certain isolations, EICR tests, permits, earth loop impedance, remote I/O, Ifix, Calculating motor size/torque/Rpm /Wattage etc i would be the same.....lol I wish your first answer to ' what is the coil thing' i presumed it was some form of inductor BUT on Youtube some nutter ( i will find it and and post it, i will make you even angrier as i think he is checking the main caps with ONLY a Mulimeter..lol ) If you has said it was the inductor i would have been testing this ages ago... Anyway thanks again for 'putting up with' 'I will be back'....lol
|
|
|
|
NotFuzzyWarm
Legendary
Online
Activity: 3822
Merit: 2706
Evil beware: We have waffles!
|
|
March 22, 2017, 05:58:54 PM Last edit: March 22, 2017, 08:56:16 PM by NotFuzzyWarm |
|
I do hope you caught https://bitcointalk.org/index.php?topic=1504228.msg18293399#msg18293399 right after Sidehack's reply... Your s7 does not have the regulator talked about in this thread nor the 'Cheap and simple repair of S7 hash board' thread... No big honking power inductor (and 54 chips) = no Vcore regulation.
|
|
|
|
Frank-White
Newbie
Offline
Activity: 6
Merit: 0
|
|
March 25, 2017, 06:33:20 PM |
|
|
|
|
|
Dibblah
Newbie
Offline
Activity: 56
Merit: 0
|
|
March 25, 2017, 07:15:33 PM |
|
Ugh. I would strongly suspect that the sense line shorted to ground (given the not quite precise soldering) and therefore put 12v or so across the chain, which would be 'only' 0.8v if averaged. But the chips don't level out well at high voltages, so it's likely to have blown a group of ASICs. Not bad value if that's the only fault on the board.
|
|
|
|
blissz
|
|
October 29, 2017, 04:24:40 PM |
|
Any chance that this could work on an antminer d3? Or is the code on the microcontroller very specific for each type of asic? I really would like have the ability to undervolt the d3 boards (without too much underclocking) and see how much it can be undervolted before it gives any errors.
|
|
|
|
NotFuzzyWarm
Legendary
Online
Activity: 3822
Merit: 2706
Evil beware: We have waffles!
|
|
October 29, 2017, 04:44:54 PM |
|
Any chance that this could work on an antminer d3? Or is the code on the microcontroller very specific for each type of asic? I really would like have the ability to undervolt the d3 boards (without too much underclocking) and see how much it can be undervolted before it gives any errors.
a. While related to BTC via the s7 connection, this really belongs in altcoins - and AFAIK Sidehack could care less about alts. b. Does that altcoin miner use autotune? Since it uses 16nm node chips I suspect it does. If so - forget it as autotune miners cannot be changed. c. As far as code being the same, you would need to see what PIC they use. If it is the same as the one in s7 yes you can talk to it but autotune will override what you program in.
|
|
|
|
sidehack (OP)
Legendary
Offline
Activity: 3402
Merit: 1865
Curmudgeonly hardware guy
|
|
October 29, 2017, 05:39:14 PM |
|
Whether or not autotune miners can be changed depends on how the controller code would react to failing to set the board-level voltage. Failing to get any response out of the PIC at all.
Honestly I have no idea about the D3. I've never seen one, and I'm certainly not going to buy one just to mess with. I know this S7 hack doesn't work on the S9, as its regulator control system is completely different.
|
|
|
|
blissz
|
|
October 29, 2017, 09:54:19 PM Last edit: October 29, 2017, 10:05:56 PM by blissz |
|
Whether or not autotune miners can be changed depends on how the controller code would react to failing to set the board-level voltage. Failing to get any response out of the PIC at all.
Honestly I have no idea about the D3. I've never seen one, and I'm certainly not going to buy one just to mess with. I know this S7 hack doesn't work on the S9, as its regulator control system is completely different.
thanks for the answer on the s9. I am aware this topic is for the bitcoin miner, but as it's made by the same brand, you probably can help us a bit forward. The miner allows for manual settings the frequency of the asics, but I really don;t like the power usage vs hashrate graph. I.e. 500mhz = 1200watt, 250 = 600 watts etc... I am pretty sure there is quite some room for undervolting. Here is a clear pic of the circuit power circuit on the hashing board. It differs from the s7 unfortunately. I really want to know what that "ADP BDY +" chip is for, as that's probably driving the mosfet switching power supply circuit isn't it? My goal is to lower the voltage and power usage a bit to get better efficiency. Not sure if it makes sense, but here are some things I consider to tame the beast a bit: - Try to mess a bit with the resistors near the "ADP BDY +" chip and see if it affects the output voltage - capture the serial data to the hashing boards, to see if it makes any sense... - somehow lower the 12v rail voltage by hacking the power supply. (hopefully the circuit won't compensates for that)
|
|
|
|
sidehack (OP)
Legendary
Offline
Activity: 3402
Merit: 1865
Curmudgeonly hardware guy
|
|
October 29, 2017, 10:20:27 PM |
|
Changing your 12V won't do anything, until you get your 12V rail below the output voltage of the main regulator. At that point it'll either start to freak out, shut down, or best case hit 100% duty cycle and push your rail straight through. But it's very likely you don't have a power supply both that adjustable and that powerful.
The circuit looks more like what's on an S9, which I haven't spent enough time around to know how to mess with. By merit of they're still effing expensive. If I had a chip-dead donor board with a good regulator I could at least try to play with it, but I'd also have to have time. In addition to manufacturing and my own miner R&D and other projects I just got volunteered to help a friend build a custom 3D printer for his lab work, so free hours are scarce.
It's likely possible to hack the PIC and make the thing volt-adjustable like an S7, but the circuit's not the same and the mechanism won't be the same either.
|
|
|
|
|
jbonifacio
Newbie
Offline
Activity: 39
Merit: 0
|
|
January 15, 2018, 11:36:09 PM |
|
Here's an updated script that tries to keep temps consistent. What I added was the ability to view/fetch the logs though http. #!/bin/sh # # Installation instructions: # - Place in /config/hashcheck.sh # - Set execute flag on file (chmod 0744) # - Create log file: touch /config/log.txt # - Create link to view from http: ln -s /config/log.txt /www/pages/. # - Run with: /config/hashcheck.sh & # # How to obtain log from http # - http://[ip of miner]/log.txt # # ADJUST THESE VARS ONLY -------------------------------------- # restart=14400 #hours in seconds #minhash=290000 #min hash rate 2900.00 ghs without the decimal minhash=100000 #min hash rate 2900.00 ghs without the decimal minfan=12 #min fan speed maxfan=34 #max fan speed mintemp=60 #min avg temp maxtemp=65 #max avg temp pwm=20 #starting pwm speed maxloglines=70 #max log lines to save in file # #--------------------------------------------------------------
resetcgminer () { restartcount=$((restartcount+1)) restarthash=$(cgminer-api | grep 'GHS 5s] => ' | cut -c 16-) elapsedtime=$E
if [ "$1" = "1" ]; then logger "| applying new fan speed" sed -i "/bitmain-fan-pwm/c\"bitmain-fan-pwm\" : \"$pwm\"," /config/cgminer.conf fi
logger "| restarting cgminer" /etc/init.d/cgminer.sh stop > /dev/null sleep 5 /etc/init.d/cgminer.sh start > /dev/null
logger "| miner restarted: $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), up at $restarttime for $elapsedtime seconds" tailit sleep 60 }
getstats () { S=$(cgminer-api | grep 'GHS 5s] => ' | cut -c 16- | tr -d '.') E=$(cgminer-api summary | grep 'Elapsed]' | cut -c 17-) T=$(cgminer-api stats | grep 'temp_avg] =>' | cut -c 18-) T1=$(cgminer-api stats | grep 'temp1] =>' | cut -c 15-) T2=$(cgminer-api stats | grep 'temp2] =>' | cut -c 15-) T3=$(cgminer-api stats | grep 'temp3] =>' | cut -c 15-) HASH=$(cgminer-api | grep 'GHS 5s] => ' | cut -c 16-) }
logger () { echo $(date +%Y-%m-%d:%H:%M:%S) "$1 " >> /config/log.txt }
tailit () { tail -$maxloglines /config/log.txt > /config/log2.txt && cp /config/log2.txt /config/log.txt }
rm /config/log.txt touch /config/log.txt
logger "| hashcheck monitor started. reboot every $restart seconds or if hash lower than $minhash Ghs" logger "| tempcheck monitor started"
restartcount=0 T=0 T1=0 T2=0 T3=0 PCT="%"
resetcgminer 1
sleep 60
while true do getstats
if [ $T1 -gt "75" ] || [ $T2 -gt "75" ] || [ $T3 -gt "75" ] && [ $pwm -lt "100" ]; then pwm=100 logger "| failed too hot: setting fan to 100$PCT, $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" resetcgminer 1 continue fi
if [ $E -gt $restart ]; then logger "| miner scheduled restart: $restarthash GH/s, $T1 $T2 $T3 deg ($T AVG), up for $elapsedtime seconds" resetcgminer 0 continue fi
if [ -z "S$" ] || [ $S -eq "0" ]; then logger "| failed low hash: $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" resetcgminer 0 continue fi
if [ $S -lt $minhash ] && [ $E -gt "120" ]; then logger "| rechecking in 120s low hash: $HASH $T1 $T2 $T3 deg, $restartcount restarts"
sleep 120
getstats
if [ $S -lt $minhash ]; then logger "| failed low hash: $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" resetcgminer 0 continue else logger "| recovered: $HASH MH/s, $E seconds, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" fi fi
if [ $T -lt $mintemp ] && [ $pwm -gt $minfan ] && [ $E -gt "120" ]; then logger "| rechecking in 120s low temp: $HASH GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts"
sleep 120
getstats
if [ $S -lt $minhash ]; then logger "| failed low hash: $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" resetcgminer 0 continue else if [ $T -lt $mintemp ] && [ $pwm -gt $minfan ]; then pwm=$((pwm-2)) logger "| failed too cold: setting fan to $pwm$PCT, $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" resetcgminer 1 continue else logger "| recovered: $HASH GH/s, $E seconds, $T1 $T2 $T3 deg ($T avg)" fi fi fi
if [ $T -gt $maxtemp ] && [ $pwm -lt $maxfan ] && [ $E -gt "120" ]; then pwm=$((pwm+2)) logger "| failed too hot: setting fan to $pwm$PCT, $restarthash GH/s, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" resetcgminer 1 continue else logger "| normal operation: fan at $pwm$PCT, $HASH GH/s, $E seconds, $T1 $T2 $T3 deg ($T avg), $restartcount restarts" fi
tailit
sleep 60 done
|
|
|
|
surferdudemi
Jr. Member
Offline
Activity: 75
Merit: 1
|
|
January 31, 2018, 10:00:28 PM |
|
Early on, a post mentioned the temp sensor. Has anyone figured out which chip it is? The PIC looks like it's at the air inlet side of the board, so I don't think it's just reading an internal sensor. Most of the chips I see around the board are voltage regulators with SMT discretes around them. I've got one board that reads zero and one that reads low and intermittently shows what I think is the correct value.
Thanks
|
|
|
|
fanatic26
|
|
January 31, 2018, 10:28:41 PM |
|
The temp sensor of the s7 is baked into the chip. From what I recall it pulls the temp data from the very last chip in the string (chip 45 closest to the regulator)
|
Stop buying industrial miners, running them at home, and then complaining about the noise.
|
|
|
|