There was an error in the last plot of the previous log. This was correctly pointed out by rana's pointing out that the broadening from air should be independent of the CO2 concentration, so nominally both curves should coincide with each other. Nevertheless, this doesn't affect the earlier conclusions -->
The PMC loss by background, pressure broadened absorption lines at 2049.9 nm by CO2 is < 1 ppm.
The results posted here are reflected in the latest notebook commit here.
I've been having a look at the transfer functions for the translation and pitch of both masses. I'm attaching the plot of all input-to-output transfer functions of interest so far. Here I've identified the pitch resonances of the two masses (one each) as well as the two pendulum modes. I need to now investigate if they occur in the correct places. I have confirmed the DC response by directly solving the statics problem on paper.
I've checked the validity of my state space model in a couple of ways so that we have confidence in the results that it gives. I've checked the DC gain of the transfer functions where it is non-zero. I did this by solving the static balance of forces problem in the extended body model by hand to get the DC CoM position as well as the pitch angle of both masses. In the previous ELOG entry I didn't quite do this for all transfer functions so here I completed the check. My values agree with the model's values to within 10% at the worst end and to within 0.1% at the best end. I performed a second check to see if the frequencies occur in the correct places by considering the case of very low coupling between the different resonant modes. It's difficult to check this in the case where the modes are strongly coupled (for example length-pitch is strong or the two pitch modes are close together) but if I sufficiently separate them, I get very good agreement between my analytic approximation and the state space model.
The model can easily be converted from one that gives motion in X and RY into one that gives motion in Y and RX. Running the model for both directions gives the following list of resonances (note pendulum modes in X and Y direction are identical):
Given that I think the model seems to give sensible values, I've pushed the updated model to the GitLab repository. It is now possible to quickly change the parameters of the suspension and very quickly see the corresponding shift in the resonances. To change the parameters, open the plain text file called 'params' and change the values to the new ones. Afterwards, run the file 'ss_extended.py', which will solve the state space model, save the resulting ABCD matrices to a folder and print out the values of the resonances to terminal.
Does this work? Is this insane?
Today we looked at possible locations for where we will be setting up Mariner Suspension and Cryo chamber. The first option was the far left table in the CAML lab but it seems that there is going to be an issue with height clearance, so we have come up with another solution which takes a table from Koji's lab which is 3'x4' ft and moving it into CAML lab in the back right of the lab. To move the table we may need to call facilities to help us because we will most likely need to take the table apart to get it out of the lab. The aisle space in Koji's lab is about 43 inches, but the doorway, which is the tightest space, is 35 inches.
After we have set up the table in CAML we are planning on moving the Chamber in DOPO-lab to CAML. We plan to use skyhook with has a load limit of 500lbs/227kg this should be more than enough to move the chamber. We still need to get the wheeled base for skyhook we are in the works in doing so.
Also, We want to remove the previous setup from the chamber and leave it at DOPO-lab. Stephen is going to figure out how to keep it clean (sort of). Besides these transportation logistics, I am also working on the electronics as an immediate task and the electrical arrangement in the chamber.
to do list
- Check the table height
- Check the chamber height (base/cap)
- Check how much the chamber cap needs to be lifted (so that we can remove it)
- Is the weight capacity sufficient?
- B246/QIL Skyhook
- OMC Lab
Table moving effort in the OMC lab: See https://nodus.ligo.caltech.edu:8081/OMC_Lab/412
I've managed to cut and crimp wires for the power board for coil driver. I will begin adding components to the coil driver board.
- Add Components to Coil Driver board
- Replace some Sat Amp Componetns
- Still working on moving optical table to CAML
- Unsure if cryochamber has been cleaned and moved
I've completed one coil driver board.
Hopefully next week I can finish the other 2 boards and make the modifications to the sat amp baords.
Update of my current work I have finished one coil driver board and started on the last two that I need here is the progress and Ideally, I'll finish by tomorrow.
Almost done with coil driver boards
For our optical contacting, Jennifer and I are starting out with glass (microscope slides), with the setup in the EE shop next to the drill press (photos from Jennifer to follow).
Some interesting links:
All three coil driver boards are complete and have been tested. Modification for all 4 sat amp have been completed. Ideally, I would like to finish all the chassis on Monday I have one just about done.
This was performed last Friday (7/8).
I secured a thermocouple perpendicular against the hotplate and recorded the maximum temperature the hotplate reached at Low, Medium, and High. It took about 5 minutes to reach a stable temperature, where stable means that the temperature stayed within +/- 0.5°C for a minute. The hotplate maintains a certain temperature by turning itself on and off, so the temperature would drop slightly (at most, a few °C) while the hotplate was off. The maximums were:
At the max temperature, I moved the perpendicular thermocouple around to roughly find the variation in tempearture at different locations on the hotplate. Facing the nob, the top right quadrant is about 10-20°C cooler than the other quadrants, which are within 5°C of eachother. Excluding the cooler quandrant, the center and the outer edge are within 5°C of eachother. The temperature increases as one approaches half the radius, with it being about 20-40°C greater than the center and outer edge. The highest recorded temparture was 289°C at half the radius in the bottom left quandrant. This was only meant to be a rough test to see how even the heating is.
Note that the slides have "GLOBE" printed on one side. I always bond the opposite using the opposite side without the text.
On Monday (7/11), I began experimenting with bonding, starting with "air-bonding," which is trying to make dry, gently cleaned slides stick. I achieved my first succesful optical contact with what I call "acidental water-assisted direct bonding" or "water-bonding," where I accidentally clasped two wet slides together while washing my dirty finger prints off them. After the accidental discovery, I repeated it by running water over the slides while there were clasped together and achieved the same result. After a few hours, I attempted partially sliding apart the second water-bonded sample. I could slowly push them apart by pressing my thumbs against the long edge, but it took quite a bit of force. I decided to let 4 samples sit overnight: 1 air-bonded, 1 air-bonded with the brass hunk on top of it, and 2 water-bonded. Neither time nor pressure improved the air-bonded samples as they still slid apart very easily. The first water-bonded sample slid apart easier, but one part remained stubornly attached until I began shaking it violently. The second water-bonded sample was much harder to slide apart than the last time I tested it. With all the force of my fingers, I could barely make it budge.
Finished all 3 Coil Drover chassis and power lines still need to install the rear cables will do that after I finish Sat Amp chassis tomorrow.
I have finished all coil driver and sat amp chassis they all seem to be functioning properly.
Note that I am just testing out different techniques, so I have not set up the thermocouples to precisely measure the temperatue.
On Tuesday, I developed a new method of putting water, isopropanol, or methanol on one slide then squishing the other slide on top of it to fill the gap with the afformentioned liquid. The slides are slippery at first, but as they dried, which took about 15 minutes, the bond forms. The bonds were strong enough that I could just barely push the slides appart by applying pressure to the side using my thumbs. I prepared 4 samples this way, 2 with iso and 2 with meth. I took one of each and heated them on Medium for 30 minutes under the brass hunk with the aluminum square on the bottom and copper foil on both sides of the samples. Earlier in the day, I tried heating them without the weight on top, but the heat just broke the bond. I took the remain two and set them aside as controls.
On Thursday, I returned to check the bonds. The heated samples had broken. I intented to check on Wednesday, but I was sick from food poisoning, so I do not know whether the bonds broke immediately after heating or due to sitting for an extra day. For the control samples, one also had a broken bond, but the other had become even stronger.
I noticed that, when the slides are successfully bonded, the shape and appearance of the Newton's rings change, which can be seen in the pictures. I speculate that the circles on the unbroken control are the bonded regions. Ideally, we want to see no Newton's rings.
I've been running the HR coating optimization for mariner TMs. Relative to the specifications found here we now are aiming for
Both the PSL and AUX cavity finesses range the few couple of thousands, and the goal is not to optimize the coating stack for noise, but more importantly for the transmission values and tolerances. This way we ensure the average finesse and differential finesse requirements are met. Anyways, Attachment #1-2 shows the transmission plots for the optimized coating stacks (so far). Attachments #3-4 show the dielectric stacks. The code still lives in this repository.
I'm on the process of assessing the tolerance of this design stacks against perturbations in the layer thicknesses; to be posted in a follow-up elog.
Here are some corner plots to analyze the sensitivity of the designs in the previous elog to a 1% gaussian distributed perturbation using MCMC.
Attachment #1 shows the ETM corner plot
Attachment #2 shows the ITM corner plot.
I let the indices of both high and low index materials vary, as well as the physical thicknesses and project their covariances to the transmission for PSL and AUX wavelengths.
The result shows that for our designs it is better to undershoot in the optimization stage rather than meet the exact number. Nevertheless, 1% level perturbations in the optical thickness of the stack result in 30% deviations in our target transmission specifications. It would be nice to have a better constraint on how much each parameter is actually varying by, e.g. I don't believe we can't fix the index of refraction to better than 1%., but exactly what its value is I don't know, and what are the layer deposition tolerances? These numbers will make our perturbation analysis more precise.
Just a general update of what I have been up to deriving Lagrange for double pendulum system and also been looking at code that koji gave to me I've add comment to some of the code also working on my report.
we have 23 OSEMS they look all full built and I will try and test them this week and or next week.
I have found that, after cleaning the glass with methanol (or even sometimes with just a dry lense-cleaning cloth), I can get glass slides to bond by rappidly rubbing them together until something sticks. This was inspired by watching "Wizard of Vaz" perform bonds on YoutTube. While cleaning, I now use enough strength to make the glass squeak, as advised by him.
Upon heating, I encountered the same issue as when I bonded them by putting a liquid (water, methanol, etc.) in the gap, which leads me to now believe that the broken bond is not due to the expansion of a liquid. Further, even at the low temperature of 60°C, placing the liquid-less sample on the hotplate breaks the bond in seconds, which I caught on video. In the attached video*, you can see that, before the heat, the bond is strong enough that I cannot push it appart with my fingers, but after the heat, it slides easily. Note that, outside of taking the video, I always lay the entire slide on the center of the metal so the sample is evenly heated.
*This is my first time attaching a video. If it didn't attach properly, I'll add it on to a later log. I also want to record myself performing the rubbing bonding technique.
Sat amp seems to be working just fine. There does seem to be a saturation issue with one of the outputs we may need to change a resistor on the board.
Yesterday, I did two rounds of slowly heating 4 samples to the maximum hot plate temperature. This was to formally test if my success with a single sample earlier in the week was a fluke. Note that the hot plate takes about 10-15 minutes to reach a stable temperature when it is turned up one notch.
I bonded 4 samples by putting methanol in the gap between the glass slides and letting it dry to create a gap.
Starting at room temperature, I heated the slides on each setting for roughly 15 minutes, then let them cool down naturally over the course of an hour. 3 broke broke at medium heat, and 1 survived the whole process. I belive these broke because the bonds were weaker and I heated them slightly too quickly. In previous tests, I would manually switch the hot plate on and off, but I wanted to see if the hot plate could heat up slow enough on its own.
I bonded 4 samples by scrubbing the slides with methanol, using a compressed air duster to blow off the fibers, rubbing them together with the pressure of my fingers, and repeating this whole procedure until they stuck (it took 2-4 repeats).
Starting at room temperature, I heated the slides on each setting for exactly 20 minutes, then let them cool down naturally over the course of an hour. All of them survived to the maximum temperature (the pictures show them at the start and end of the heating, note the temperature). I credit this to the stronger bonding proceedure and the extra 5 minutes for them to adjust to the temperature. I did not turn the hot plate on or off at any point, I just let it heat up at its own rate.
I cannot tell if the bonds are stronger. The size and shape of the Newtons rings did not change.
In the following test, a single Sat Amp chassis that holds Sat Amp Board S1106078 and S1106077
Verification of Sat Amp
First, as the test of the LED driver circuits in the chassis, 8 of various color LEDs were inserted to the appropriate output pins of the chassis. This resulted in all the LED lit and the LED mon TP was confirmed to have voltage outputs of 5V. (See my previous ELOG)
Connected OSEMs to the sat amp to test the OSEM LED/PD pairs. With the first test, the PD out gave us 15V. We wondered if this was just the problem of the OSEM or circuit, or just there are too much light for the transimpedance gain of 121K Ohm.
By blocking the OSEM light by a random heat shrink tube found on the table, we saw the number got reduced. This indicates that the OSEM/Satamp outputs are working and there are just too much light.
We decided to reduce the gain: The transimpedance gain R18 was reduced to 16k, which gave us a voltage range from 5V~7V with some outlier OSEMS at 1V (See the attached table)
There are 24 total OSEMs:
(These numbers given after the change of R18 to 16k Ohm)
Note: We originally aimed for 8~9V. However, from a previous study of OSEM at cryogenic temperature, we learned that there was about an about 30% increase in the response.
Therefore, we decided to leave a sufficient margin from 10V considering this expected increase in the response.
- Changes to sat amp 15.8 k ohm resistors instead of 16k The change has been made on Sat Amp - S1103733 & S1103732 ONLY Channel 4 and 2 have been changed on both boards.
- I developed a test bed for our OSEM to measure force
I will attach images of the setup and some of the results from 3 different OSEMs.
- For the current test bed, we are using a clear plastic bin although not ideal it manages to get the job done and works for now there could be a better solution for this,
- Next step for OSEM we want to use 40 m single pendulum to test OSEM and measure the transfer function.
A couple of coating stacks with better tolerance (transmission +- 10%). Attachments #1-2 show the spectral reflectivities for ETM/ITM respectively, while Attachments #3-4 show the corner plots. I think the tolerances are inflated by the fact that all the stack indices and thicknesses are varying, while in reality these two effects are degenerate because what matters is the optical thickness. I will try to reflect this in the MCMC code next. Finally, attachments # 5-6 are the hdf5 files with the optimization results.
We succeeded in setting up an apparatus for quantifiying the razor blade test. After mounting the glass slides such that the razor edge rested against the gap, we slowly turned the knob to push the blade into the gap. We started with the knob at 0.111, and at 0.757, the bond between the glass slides failed. As we approached 0.757, the interference pattern in the glass shifted, foreshadowing the break.
(Edit by Koji. This 0.757 is 0.0757 I suppose...? And the unit is in inch)
Instead of varying individual layer thicknesses using the MC sampler, I made sure both the thickness and index of refractions are varied as a global systematic error to estimate the design sensitivity. The results for ITM/ETM respectively, with 1e5 samples this time, are in Attachments 1-2 below.
Here I describe the current radiative cooldown model for a Mariner test mass, using parameters from the most recent CAD model. A diagram of all conductive and radiative links can be seen in Attachment 1. Below are some distilled key points:
All parameters have been taken from CAD, with the exception of:
Attachment 2 contains the cooldown curves for the system components. With the above assumptions, the test mass takes ~59hrs to reach 123K, and the final steady-state temperature is 96K. (*This was edited - found a bug in previous iteration of code that underestimated the TM cooldown time constant and incorrectly concluded ~36hrs to reach 123K. The figures have been updated accordingly.)
Attachment 3-6 are power budgets for major components: TM, IS, Cage, OS (can produce for UM if there's interest). For each, the top plot shows the total heating and cooling power delivered to the component, and the bottom plot separates the heating into individual heat loads. I'll discuss these below:
The next post will describe optimization of the snout length/radius for cooldown.
Here is a more detailed analysis of varying the length and radius of the snout.
Attachment 1 plots the heat load (W) from the snout opening as a function of temperature, for different combinations of snout length and radius. The model using the CAD snout parameters (length=0.67m end-to-end; radius=5.08cm) results in ~0.3W of heat load at steady state. The plot shows that the largest marginal reduction in heat load is achieved by doubling the length of the snout (green curve), which cuts the heat load by over a factor of 2/3. This validates the choice in snout length used in the previous ELOG entry analysis. The bottom line is that the end-to-end snout length should be on the order of 1 meter, if physically possible.
The next marginal improvement comes from reducing the radius of the snout. Attachment 1 considers reducing the radius by a half in addition to doubling the length (red curve). A snout radius of an inch is quite small and might not be feasible within system constraints, but it would reduce the snout heat load to only 25mW at steady state (along with length doubling).
The cooldown model resulting from optimizing parameters of the snout (length=1.33m, radius=2.54cm) is shown in Attachment 2. The test mass reaches 123K in ~57hrs - only 2 hours faster than the case where only the snout length is doubled (see previous ELOG entry) - and the test mass reaches steady state at 92K - only 6K colder than in the previous case. This could discourage efforts to reduce the radius of the snout at all, since increasing the length provides the most marginal gains.
The attached plot (upper) compares the heat load delivered to the test mass from various snout lengths (end to end), as a function of test mass temperature. (At steady state, our point of interest is 123K.) Note that these curves use the original CAD snout radius of 5.08cm (2").
The greatest marginal reduction in heat load comes from increasing the end-to-end snout length to 1m, as concluded in the prevous ELOG. This drops the heat load from just under 0.5W (from snout length 0.5m) to 0.15W. Further increase in snout length to 1.5m drops the heat load to well under 0.1W. After this point, we get diminishing marginal benefit for increase in snout length.
The effect on the TM cooldown curve can be seen in the lower plot. A snout length of 1m drops the steady-state TM temperature to under 100K. Then, like above, increasing the length to 1.5m makes the next non-negligible impact.
Pictures of the razor test apparatus before and after disassembly, to make future reassembly easier.
While finalizing my work plan for the quarter, I decided to look at the Thor Lab slides. This was instructive because they highlighted the troubles I will have with working with silicone. They are fragile and their small, thin sizes makes cleaning and manipulating them (without contamination) much more difficult compared to the glass sides from before.
I tried cleaning and bonding them the same way as the larger slides. Rubbing them together did not work like with the larger sides, but that may also be a function of being more careful, as not to break them. Once I cleaned them, it only took a tap from my finger to get the center to bond, but the bonded surface area still did not spread out like it did in the YouTube videos (http://youtu.be/se3K_MWR488?t=80). By pressing down around the bonded area, I could expand it slighty. Note that I did crack one slide in the process of doing this, as shown in the pictures.
Because the slides are so thin, I think they will benefit greatly from being left under a heavy object, although it may be difficult to put the weight on the slides without them breaking.
Continuining with my casual exploration of the Thor Lab slides, I heated them from off --> low --> med --> high, with 10 minutes on each setting. The only pressure I applied was 3 larger glass slides, and that was only to flatten out the copper that the smaller, bonded slides sat on top of (so the contact with the heating plate was even).
The heat made the bonded area smaller, but it did not break. As the slides cooled, the bond area increased slightly but not back to the original size. Next I will try this with slower heating and additional pressure.
Given that these glass slides are much thinner than the ones I worked with prior, I suspected they would be more receptive to pressure. I decided to replicate the tests I performed with the larger slides: I prepared 8 samples, 4 by smushing the slides together with methanol in the middle and another 4 by cleaning the slides with methanol before pressing them together with my fingers. I put 2 of each type under the cylindrical weight, and 2 of each type under the rectangular weight with the addition of heating. The heating consisted of switching the temperature from off --> low --> med --> high with 15 minutes on each setting.
I will check the results in the morning. I need to wait until the rectangular weight is completely cooled, otherwise I cannot remove it from the hot plate in manner that does not risk cracking the glass.
The first sample picture shows the pressed slides on the top and the smushed slides on the bottom. For the second picture, this is reveresed. Correction: the order is the same for both samples.
These are the results from the previous log.
At long last, there was an improvement with pressure and heat! Pressure without heat and pressure with heat both showed a small improvement. Although the improvement was not major, it does show that pursuing this method of adding weight and heat are viable. Since this was a test, I put less weight on and heated it fast than intended, but now I feel confident to add more weight and slower/greater amounts of heat.
Before jumping to conclusions based on my previous results, I wanted to check that it was indeed heat and pressure, not time, that led to the bonds improving.
I prepared 4 samples, all with my standard pressing technique (which still leaves room for improvement). 2 samples will simply be left to sit undisturbed, and the other 2 will be left under both (rectangular and cylindrical) weights. I will check these in roughly 24 hours, just like the last test.
The 2 slides on the right are the ones under the weights.
I was unable to check the samples because I could not get access to Bridge, so they will be checked tomorrow and the results will be added as an edit to this log.
Given that I was unable to do work in the lab, I instead began a second attempt at writing code for the Arduino to use PWM to control the hot plate temperature.
As expected, the suface area of the bond only increased for the samples under the weights. I did notice something worrying: one of the non-weighted samples actually had its surface area decrease. It is unclear if this is a one-time thing or if all of the bonds deteriorate with time. Unrelated, but I also noticed that the bonded areas always have small dots that refuse to bond. It's unclear if that is due to imperfections or contamination (I suspect the latter).
I left all 4 samples under both weights out of curiosity to see if the bonded surface area would increase further (or possibly decrese further).
I wrote a program to control the heating rate of the hot plate using Pulse Width Modulation (PWM), and it was a great success!
For roughly 6 minutes, the hot plate was power cycled with a rate of 100 ms on followed by 900 ms off. Based on my calculations, this should correspond to a 0.08°C/sec temperature increase. In other terms, we expect a 24°C increase in the span of 5 minutes. For comparision, without PWM, the hot plate heats up roughly 100°C in that same timespan. I recorded the temperature by filming a thermometer and transcribing that video into a text file, which could be analyzed and graphed. I only transcribed the first 5 minutes of the 17 minute video (I also filmed part of the cool down) because 5 minutes was enough to show clear results.
At t=0, the hot plate was 21.4°C, and at t=300, the hot plate was 49.7°C. That is a 28.3°C increase in the span of 5 minutes, only 4.3°C higher than the predicted value. The rate, 0.094°C/sec, is only slightly faster than the desired 0.08°C/sec. Further, as shown in the graph, the temperature increase was almost perfectly linear, which is ideal. Overall, using an Arduino to PWM the hot plate is looking very promising.
I repeated the first test, but let the hot plate run longer. It revealed that the linearity for the lower temperatures completely falls apart at the higher temperatures. I think it should be fairly straightforward to modify the code to accommodate this.
The previous test was cycled with 0.3s on follwed by 0.7s off*. This test was 0.7s on followed by 0.3s off. I intended to let it run longer, but I accidetly knocked the thermocouple over while trying to move the cable father from the hot plate so the plastic would not risk melting.
Like before, we see that it starts out relatively linear. I noticed the heating light kind of fluttering around 200°C which appeared in the data as a small decrease around 450s on the graph. I do not know the source of this issue, but I fear it may be the hot plate overriding my cycling with its own built-in cycle; something left for future testing. This is the last data I will gather using v1 of my Arduino code, as am I now working on implementing what I have learned in a smarter v2 of the code. I included v1 of the code, and the txt files for the first three tests.
*I think. Could have been 0.1 on, 0.9 off. Note to self: double check this.
I had a little set back regarding the non-linear portion of the heating. After about 150°C, if the heating rate is kept constant, the heating graph transitions from linear to logarithmic. I was able to show graphically that, yes, it is indeed logarithmic, but I could not think of an algorithmic way to translate this logarithmic curve into the increase in heating rate to maintain a linear heating rate. I do have some ideas which I will test tomorrow.
I had some trouble with the code not working as intended (partially because it has been I while since I coded in C++). However, I was able to run two tests with the new code, although I ran out of time to type up the data for the 2nd. Graphing the 1st test's data, it appears that my improved code is an improvement, but the heating is still slowing down as it approaches 200°C. I need to re-run this test, but with v1 of the code, for better comparison.
The hot plate was supposed to increase 180°C in 10 minutes (so that I would reach 200°C), but due to an inscrutable bug, it did not exit the while loop, so it continued past 10 minutes.
For the following two graphs, I ram four tests: two using the the v1 of the PWM code and two using v2 of the PWM code. The graphs show the heating rate I was aiming for and the actual results. It turns out, my v2 does not work better than my v1. Before 150°C (which is where I believed that (assuming the rate is kept constantly) the heating rate shifted from linear to logarithmic), v1 is an overshoot and v2 is slightly less of an overshoot. The goal of v2 was to increase the rate after 150°C to compensate for this drop off, but it does not appear to have worked.
While I would still like to refine my code, I think it will be good enough to try using it to actually heat the samples.
Before trying the PWM on actual samples, I wanted to make one final attempt at improving my code (labled as v2.1). This change appears to have 1) broken the code regulating the basic heat cycling process 2) caused the hot plate to heat up far, far too quick. Since the thermometer strangely turned off halfway through, I only have two pictures as evidence that this test existed: a screenshot of the Arduino program telling me that the max cycle rate had been reached (which should have not happened) and a frame from the video filming the thermometer showing the peak temperature (which is 100°C high than expected). Somehow the hot plate reached over 300°C, which I thought was impossible because the hot plate's built-in heat cycle should have kicked in around 260°C. Unrelated, but I am performing this test in my dorm room because I was quarentined due to COVID exposure, and I like using my personal fan and the house's freezer to cool down the hot plate quicker.
I made some adjustments (labled as v2.2), and I had the same failure as v2.1, except I managed to capture it on camera.
Finally, with v2.3, I managed to fix all the issues. I ran out time today to transcribe the temperatures for graphing, but this itteration of the code managed to reach 200°C in 10 and 7 minutes for test #1 and #2, respectively. I also managed to fix the problem of the hot plate not turning off after the desired heating time. The real test will be trying a slower heating time, like 20 minutes, but I am glad I postponed using actual samples because this fix has given me code that appears to work exactly as I hoped.
Here are the graphed results from yesterday's tests, both by themselves and overlayed with the previous tests. I am satisfied with my code; it has given me the (roughly) linear heat increase that I desired. The only last thing I would like to test is heating over a signficantly slower time.
I tried increasing the temperature by 180°C over 20 minutes. As suspected, it did not quite reach the target temperature because the temperature started to drop off around 100°C instead of 150°C, as the program expected. This should be an easy adjustment, since it is just a matter of increasing the duration of the cycle at an earlier time.