Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
So today while doing the thoroughly mentally stimulating task of watering trees at work all day I had an epiphany. I am building a Digital Storage Oscilloscope ie. I can have 2 programs that run and have them mutually exclusive. A capture program that reads the state of the ADC(s) and pushes them to a more stable memory location(seperate section of RAM, Main HDD[my be a section of flash memory on board] or Dedicated section of Flash memory). The pseudo-code for this would be along the lines of:
Reset counter
While Stop = False do
Move state_of_ADC to register0
Move register0 to Permanent_Location[counter]
counter = counter +1
EndWhile

This would give a sampling rate that can be calculated fairly easily. The instructions are fairly basic so they should each only take 1 cycle to execute. Therefore 5 cycles are required to monitor the state. Therefore we just divide the clockspeed of the CPU by 5 to give us the sampling frequency(assuming CPU at 1GHz):
1GHz/5=200MHz
That's a 200MHz sampling rate. The only problem with this method is that the only real way to change the sample rate is to change the CPU's clock speed... But if I'm going to build a radio from scratch then I dare say I'll get used to adjusting frequencies with a voltage...

The other program would be a GUI that allows the "settings" to be adjusted and a graph to be displayed. The "settings" would only effect the display. Unless I decide to implement software controllable attenuation or something useful like that. The attenuation would be done before the ADC and would be instructed to attenuate through the communication bus from the ADC which is activated for reverse transmission by sending a pin to say -5V which shouldn't happen in any other situation.

Anyway is anyone finds this helpful/instructive/wrong don't hesitate to leave a comment, more comments inspires me to write more :)

p.s. If anyone sees the HTML tags wrong or wants me to go through the tags I used here let me know any I'll put something up. Write comment (0 Comments)
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
I just wired up a test harness to see what voltage the smoke machine would cut off current to the heating coil when I stopped(pretty unusual) and thought(don't know where this came from...) I should probably test it without anything connected to the PCB just to see what happens. So I did and lo and behold, it thought it was up to temperature... Check the voltage accross the pins... 2.5-3V there... Resistance of the temperature probe? 3 ohms... Hmmm... might not be a thermocouple... time for some more tests...

Attach the probe to PCB... heater turns on... remove it heater turns off... I can hear the relay ticking so that's not what caused it to overheat... some more research needed methinks... Wikipedia here I come... Write comment (0 Comments)
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
Rather than just getting a high resistance to drop the voltage I realized that a higher current would also. By putting a resistor in parallel with the potentiometer I can increase the current flowing through the first resistor and use a smaller, more available resistor there to drop the same voltage.
This is the schematic I did up in KTechLab to test my theory. the 1M resistor represents the smoke machine input. the max. voltage possible with this arrangement is about 30mV(50mV with a 5V supply). This means I should be able to supply the required 25mV for my max. temperature.
Write comment (0 Comments)
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
Looking at the Wikipedia page on thermocouples I found this table:
TypeTemperature range °C (continuous)Temperature range °C (short term)Tolerance class one (°C)Tolerance class two (°C)IEC Color codeBS Color codeANSI Color code
K0 to +1100−180 to +1300±1.5 between −40 °C and 375 °C
±0.004×T between 375 °C and 1000 °C
±2.5 between −40 °C and 333 °C
±0.0075×T between 333 °C and 1200 °C
IEC Type K Thermocouple.svg
BS Type K Thermocouple.svg
MC 96.1 K Thermocouple Grade Color Code.svg
J0 to +750−180 to +800±1.5 between −40 °C and 375 °C
±0.004×T between 375 °C and 750 °C
±2.5 between −40 °C and 333 °C
±0.0075×T between 333 °C and 750 °C
IEC Type J Thermocouple.svg
BS Type J Thermocouple.svg
MC 96.1 J Thermocouple Grade Color Code.svg
N0 to +1100−270 to +1300±1.5 between −40 °C and 375 °C
±0.004×T between 375 °C and 1000 °C
±2.5 between −40 °C and 333 °C
±0.0075×T between 333 °C and 1200 °C
IEC Type N Thermocouple.svg
BS Type N Thermocouple.svg
MC 96.1 N Thermocouple Grade Color Code.svg
R0 to +1600−50 to +1700±1.0 between 0 °C and 1100 °C
±[1 + 0.003×(T − 1100)] between 1100 °C and 1600 °C
±1.5 between 0 °C and 600 °C
±0.0025×T between 600 °C and 1600 °C
BS Type N Thermocouple.svg
BS Type R Thermocouple.svg
Not defined.
S0 to 1600−50 to +1750±1.0 between 0 °C and 1100 °C
±[1 + 0.003×(T − 1100)] between 1100 °C and 1600 °C
±1.5 between 0 °C and 600 °C
±0.0025×T between 600 °C and 1600 °C
BS Type R Thermocouple.svg
Not defined.
B+200 to +17000 to +1820Not Available±0.0025×T between 600 °C and 1700 °CNo standard use copper wireNo standard use copper wireNot defined.
T−185 to +300−250 to +400±0.5 between −40 °C and 125 °C
±0.004×T between 125 °C and 350 °C
±1.0 between −40 °C and 133 °C
±0.0075×T between 133 °C and 350 °C
IEC Type T Thermocouple.svg
BS Type T Thermocouple.svg
MC 96.1 T Thermocouple Grade Color Code.svg
E0 to +800−40 to +900±1.5 between −40 °C and 375 °C
±0.004×T between 375 °C and 800 °C
±2.5 between −40 °C and 333 °C
±0.0075×T between 333 °C and 900 °C
IEC Type E Thermocouple.svg
BS Type E Thermocouple.svg
MC 96.1 E Thermocouple Grade Color Code.svg
Chromel/AuFe−272 to +300n/aReproducibility 0.2% of the voltage; each sensor needs individual calibration.
Write comment (0 Comments)
Today2310
Yesterday1788
This week11865
This month2310
Total1201078

Visitor Info

  • IP: 18.191.139.245
  • Browser: Unknown
  • Browser Version:
  • Operating System: Unknown

Who Is Online

2
Online

2024-11-01