EcoRenovator

EcoRenovator (https://ecorenovator.org/forum/index.php)
-   Appliances & Gadgets (https://ecorenovator.org/forum/forumdisplay.php?f=21)
-   -   Daox's diy arduino thermal differential controller (https://ecorenovator.org/forum/showthread.php?t=1503)

Daox 03-29-11 09:54 PM

Daox's diy arduino thermal differential controller
 
1 Attachment(s)
We have a great thread that contains lots of info on thermal differential controllers here. However, I wanted to start a thread dedicated to my own development of a thermal differential controller that I'll be using for my attic heat reclamation project.

Tonight I setup a simple circuit that tested the operation of the differential controller and it worked great. Its very simple and adding features later on won't be a big deal at all. I am using the arduino since I know how to use it, its cheap, and it can do everything I'd ever want to be able to do with a thermal differential controller. The temperature sensors are LM35 sensors. They cost a bit more than the thermistors ($1.70 vs $.20) I had planned on using on the controller before, but they are much easier to use while programming and will probably give a better signal over long wire runs. The 120V relay I'm planning on using is a solid state relay (SSR) that the arduino can power directly. The 5V power supply is an old cell phone charger.

As for the operation of the controller, for now its a very simple setup. When the temperature of the attic gets 3C/5.4F higher than the house, the relay kicks on whatever is connected to it. In my case right now, that is two bathroom vent fans. Once the temperature of the attic drops down below the temperature of the house, the relay powers down the fans. There is also a 30 second minimum on time just in case to prevent any odd start/stop situations.

I'm also thinking about adding a LED that indicates that the fans are on, but I'm not sure if that'll be needed as you'll probably hear the air rushing out of the vent.


*** CURRENT BUILD INFO ***

Schematic:

http://ecorenovator.org/forum/attach...1&d=1301452457


Parts List:

Here is a parts list of what you'll need. I've linked to a few places where I've bought things from before.


The total for these items comes to ~$40 plus shipping which shouldn't be too bad. It can definitely be done cheaper if you go with a cheaper arduino or find parts to use.


Arduino program code

Code:

/* Thermal Differential Controller

  The program monitors two temperature sensors and
  activates a relay when one sensor is warmer than
  the other.
*/

int SsensorPin = 4;  // the pin to input attic temperature
int TsensorPin = 5;  // the pin to input kitchen temperature
int RelayPin = 2;  // the pin to operate the relay
int ledPin = 13;  // led pin (verify fan on condition)

int Ssensor = 0;  // variable to store the value of the attic temperature
int SensorDiff = 0;  // variable to store the Ssensor value plus differential (Diff)
int Tsensor = 0;  // variable to store the value of the kitchen temperature
int Diff = 3.0;  // temperature difference that must exist between attic and kitchen before relay enables (degrees C)


void setup() {
  pinMode(SsensorPin, INPUT);
  pinMode(TsensorPin, INPUT);
  pinMode(RelayPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
 
  // Serial.begin(9600);
 
  digitalWrite(RelayPin, LOW);
 
}

void loop() {
 
  // read sensor inputs and assign to variables
  Ssensor = analogRead(SsensorPin) / 2;
  Tsensor = analogRead(TsensorPin) / 2;
 
  // add temperature difference to Ssensor value
  SensorDiff = Ssensor - Diff;

  // send temperature signals back to computer
  /*
  Serial.print(Ssensor);
  Serial.print(", ");
  Serial.print(Tsensor);
  Serial.print(", ");
  Serial.println(SensorDiff);
  delay(1000);
  */

  // if attic is warmer than kitchen sensor, enable relay
  if (SensorDiff > Tsensor  && Tsensor < 27) {
      digitalWrite(RelayPin, HIGH);
      digitalWrite(ledPin, HIGH);
      delay(1000);
    }
 
  // if attic sensor is cooler than kitchen sensor, disable relay
  if (Ssensor < Tsensor || Tsensor > 27 ) {
    digitalWrite(RelayPin, LOW);
    digitalWrite(ledPin, LOW);
    delay(1000);
  }
}


Daox 03-30-11 08:12 AM

One feature I am thinking of adding is a way to keep track of how long the fans are on. This will allow me to see how well it is working, and get an idea of what kind of weather it takes to get heat out of the attic. Ideally, this would be from an LCD, but I don't know how to program one yet. :)

Perhaps for now, I'll just keep the laptop connected to it for the first couple days and it can log the on time directly with the serial connection.

AC_Hacker 03-30-11 02:45 PM

1 Attachment(s)
Quote:

Originally Posted by Daox (Post 12725)
One feature I am thinking of adding is a way to keep track of how long the fans are on.

How about this?


-AC_Hacker

Daox 03-30-11 10:33 PM

Yes, that is exactly the type of thing I was thinking about. Perhaps I'll pick one up. I searched on the electronics sites I go to and all their time meters were much more expensive.

Edit: And now I see why its so cheap, item located in China. :) Not sure I want to wait that long.

A friend of mine suggested I use a few LEDs and output the time (perhaps in 1/2 hr segments) in binary. Doable, and easy enough, but not so easy to read at a glance, haha. I do have a couple LCD screens laying around. Perhaps its time to learn to use them.

Daox 03-31-11 08:15 AM

Last night I picked up the next thing I need for the controller, wire! It seems simple enough. I needed something with 3 conductors (wires) for the temperature sensor at least 25 ft long to make the run from the attic to the kitchen, and I wasn't exactly sure what I was going to use when a friend suggested network cable. That had way more wires than needed, so I found myself a 50ft length of telephone wire with 4 conductors. I even found it in a color that'll somewhat match the color of the chimney brick. :)

strider3700 03-31-11 08:57 AM

that's what I used for all of my wire runs. 25' should be no problem.

Daox 04-02-11 09:48 AM

1 Attachment(s)
Here is a bit of an updated schematic specific to the attic heat project.

http://ecorenovator.org/forum/attach...1&d=1301755660


In addition to this, I'm considering adding an outdoor temperature sensor. This will allow me to program logic that will see the outdoor temperature, and if its warmer than the kitchen to not kick in the fans. At some point I'll want to stop heating the kitchen, and it would be nice if it was automatic to squeeze a bit more heat out of things when the temperatures are swinging to and fro.

Piwoslaw 04-02-11 01:32 PM

An outdoor temp sensor is a good idea. It will let you program the Arduino to pull warm air from the kitchen in the summer when it starts to cool in the evening. Can the fans work in reverse, or maybe they can be seasonally turned around?

Daox 04-02-11 01:56 PM

That would be a great idea. However, I would have to find a way to reverse the fans. They only blow in one direction.

Piwoslaw 04-02-11 02:38 PM

Quote:

Originally Posted by Daox (Post 12818)
That would be a great idea. However, I would have to find a way to reverse the fans. They only blow in one direction.

I think you could conjure up some summertime adaptors for the ductwork. Something that will allow the fans to be laid on their sides, pulling air from (instead of pushing it into) the chimney.

Daox 04-06-11 08:58 AM

1 Attachment(s)
Still doing a little refining on the circuit. I added a pull down resistor as I had some issues with my SSR activating when it shouldn't. I also added a supression diode in case you're actually using a relay versus SSR. Here is the updated schematic.

http://ecorenovator.org/forum/attach...1&d=1302098203

AC_Hacker 04-14-11 01:37 PM

Source Code?
 
Quote:

Originally Posted by Daox (Post 12874)
Still doing a little refining on the circuit. I added a pull down resistor as I had some issues with my SSR activating when it shouldn't. I also added a supression diode in case you're actually using a relay versus SSR. Here is the updated schematic.

This looks great. Good that you are addressing both SSR and electro-mechanical relays, as they each have their own advantages, no arcing and longer life for the SSR, higher efficiency and lower cost for the electro-mechanical.

I was looking at your 'attic heat' thread, and it looks like you have the code working.

Will you be posting the source code for your differential controller here?

I am asking because there is a modified form of the differential controller, such as you have here that incorporates change/time. This type is used for controlling radiant slabs. With this type of controller, indoor temperature is monitored as well as outdoor, and when a change in outdoor temp exceeds a certain rate of change, the heat to the slab is increased or decreased, thus minimizing the 'time-lag' that usually accompanies a thermal mass. So, in a way it is a PID controller.

Am I explaining this in a clear way?

Regards,

-AC_Hacker

Daox 04-14-11 03:04 PM

Yep, I gotcha. As I mentioned earlier, I was thinking of adding an outdoor sensor.

I will definitely post code once I have everything working.

Daox 04-17-11 12:19 PM

1 Attachment(s)
So, I think its finally ready to go. I made some final tweaks and everything appears to be working perfectly. I had to add a capacitor to the signal line on the kitchen sensor because I was getting noise on the line. I pulled a 10uF capacitor off some circuit board I had laying around and it seems to work great. It wouldn't hurt to put one on the attic temp sensor too, but it didn't jump around much at all, so I just left it. Also, I've removed the 10K pull down resistor on my setup. It seems to be working fine without it.

Anyway, here is the new schematic.

http://ecorenovator.org/forum/attach...1&d=1303060150


Here is the code. I added another check in the program. If the kitchen temperature gets up to 80F/27C, the relay will turn off and stay off. Also, if you uncomment the serial parts of the code, you can very easily log the temperatures.

Code:

/* Thermal Differential Controller

  The program monitors two temperature sensors and
  activates a relay when one sensor is warmer than
  the other.
*/

int SsensorPin = 4;  // the pin to input attic temperature
int TsensorPin = 5;  // the pin to input kitchen temperature
int RelayPin = 2;  // the pin to operate the relay
int ledPin = 13;  // led pin (verify fan on condition)

int Ssensor = 0;  // variable to store the value of the attic temperature
int SensorDiff = 0;  // variable to store the Ssensor value plus differential (Diff)
int Tsensor = 0;  // variable to store the value of the kitchen temperature
int Diff = 3.0;  // temperature difference that must exist between attic and kitchen before relay enables (degrees C)


void setup() {
  pinMode(SsensorPin, INPUT);
  pinMode(TsensorPin, INPUT);
  pinMode(RelayPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
 
  // Serial.begin(9600);
 
  digitalWrite(RelayPin, LOW);
 
}

void loop() {
 
  // read sensor inputs and assign to variables
  Ssensor = analogRead(SsensorPin) / 2;
  Tsensor = analogRead(TsensorPin) / 2;
 
  // add temperature difference to Ssensor value
  SensorDiff = Ssensor - Diff;

  // send temperature signals back to computer
  /*
  Serial.print(Ssensor);
  Serial.print(", ");
  Serial.print(Tsensor);
  Serial.print(", ");
  Serial.println(SensorDiff);
  delay(1000);
  */

  // if attic is warmer than kitchen sensor, enable relay
  if (SensorDiff > Tsensor  && Tsensor < 27) {
      digitalWrite(RelayPin, HIGH);
      digitalWrite(ledPin, HIGH);
      delay(1000);
    }
 
  // if attic sensor is cooler than kitchen sensor, disable relay
  if (Ssensor < Tsensor || Tsensor > 27 ) {
    digitalWrite(RelayPin, LOW);
    digitalWrite(ledPin, LOW);
    delay(1000);
  }
}


Daox 04-21-11 08:58 AM

I suppose its time to make a parts list in case anyone would like to replicate the controller (easily). I'll work on that soon and post it up.

I just got my break out board that'll allow me to datalog with the RBBB (really bare bones board) arduino since it has no onboard USB converter. The code is already there, its just commented out, so no real changes will be needed except setting up a delay so it only datalogs every 5 minutes or so.

I'm also thinking an LCD display would be really nice, add a few buttons and you can cycle through data, manually set the differential temperature, even turn the unit on and off all from a 'control panel'. Unfortunately, I've never used an LCD before. But, it'll be another learning experience. :)

strider3700 04-21-11 10:46 AM

do some research on the LCD's and get one that only uses a few pins. The one that came in my package seems easy enough to use but it takes 10 or 12 pins if I remember correctly. there are others out there that need closer to 4.

I ordered a kit with my ardunio mega with the intention of doing similar. A remote display with a button to cycle through some of the data. It's sitting there waiting for me to have some time.

Daox 04-21-11 10:58 AM

I have the book Practical Arduino which is a collection of arduino projects and it steps through the design and explains everything. In it is a DIY water meter tutorial with a LCD and a couple buttons for resetting the display. I'll have to re-read that, but I'm pretty sure there are 3 ways to wire the LCDs up. One method uses tons of pins, 12 wires sounds about right, the other uses 8 or so, and the last uses 5 or 6 I think. I'll look it up and report back.

Thankfully, this project doesn't require many pins, so if I did need 10 pins it wouldn't be a problem.

Daox 04-22-11 12:43 PM

Here is a quick parts list of what you'll need. I've linked to a few places where I've bought things from before.
  • Arduino - your choice in what one to use, there are many
  • 5V power supply (cell phone charger) - probably have one of these laying around
  • AC solid state relay - can use other forms of relay, solid state relays just work well/easy with the Arduino and doesn't require the diode in the schematic
  • (2) LM35 Temperature sensors
  • 10uF capacitor - could probably get away with a smaller capacitor and probably a bit larger one too, easy to salvage out of any old electronics.
  • telephone wire - make sure to get enough to put both temperature sensors where you need them


The total for these items comes to ~$40 plus shipping which shouldn't be too bad. It can definitely be done cheaper if you go with a cheaper arduino or find parts to use.

skyl4rk 04-22-11 04:51 PM

Looks good, this system should be usable on any solar heated box of air.

Daox 02-10-12 04:29 PM

I think its time for an upgrade here. The current version of the thermal differential controller has been working great for over a year in my attic. However, I am planning on putting together a solar hot water setup this spring and I'll need another controller for it. I'd like to enhance the current functionality and add some additional features.

New features:
1) LCD display
2) adjustable on/off temperature differential via the LCD display (instead of having to edit the program)
3) maximum tank temperature adjustment via the LCD
4) control a heat dump load for if the tank and panels get too warm to prevent coolant degredation


I've already started programming the LCD display and interface for adjusting the temperature differentials and max temperature. I just need to figure out how I want to deal with the heat dump load.

mag7mm308 03-03-12 03:39 PM

Using the controller for cooling house?
 
How about using your idea to pull hot air in winter but instead of connecting a fan to attic connect to a duct vent in floor and pull cool air from basement for free air conditioning? Also for using your controller for solar hot water pump could you either make a small 5 volt solar panel to run adruino and 12 volt panel for pump then change switch to 12 volt? Or even use 12 volt panel and reduce 12 to 5 volt going to adruino so you only need one panel, If solar hot water panel is warm enough to heat water you will have plenty of sun to power solar panel and you would have a system that would heat in case of poer outage. Just ideas I have been working on for myself, really like your controller also thanks

MN Renovator 03-03-12 09:29 PM

I did that until the basement was 76 degrees and I realized that it wasn't exactly free and the cool basement wasn't cool anymore. Works for a little while, maybe in the swing season for longer but no longer than a week. Neat backup plan for when the power goes out and your generator is 120v and can't power the a/c.

Paul_L 09-06-12 05:07 PM

how are you progressing with the upgrade for this microprocessor-based controller? I am trying to get started with a similar design, but somewhat more complicated, for my geothermal heating system. Anything you've learned would be appreciated greatly.

Paul_L

Daox 09-06-12 07:52 PM

I really haven't done anything with it since my last update. The original setup is still working great with my attic fan.

My plans haven't changed to upgrade it when I install my solar hot water. I just haven't gotten that far with the solar hot water setup yet. I'm hoping to get it up and running this fall so I have solar heat this winter.

What features were you hoping to add? I always like throwing around ideas that'll help improve a design.

wadevcamp 10-20-13 03:47 PM

attic fan differential controller questions
 
I know this thread is old, but I'm wondering if I, having no electronics training, could make a similar controller for my attic fan using the same approach. Any suggestions on how to go about this (or detailed instructions or plans!) would be much appreciated.

My fan currently has a control on it that turns it on when the temp. reaches a certain (hot) threshold, i.e., for summer time. However, I want to prevent ice dams in the winter, so am thinking that if I could make the fan turn on when a) the attic temp is above freezing, and b) outside temp is below freezing.

Daox 10-20-13 04:21 PM

Welcome to the site wadevcamp.

The best way to prevent ice damning is really to air seal your heated space from your attic and add more insulation if necessary. This has the byproduct of lessening your heating bills too.

You could use this differential controller in that manner though. Having no electronics experience would make it a bit more difficult, but if you asked questions here I'm sure you could stumble through it.

gspike 10-24-13 10:07 AM

A makeup air controller may be an cheap easy mechanical switch to preform the same task.

commonly used in commercial hvac setups its a adjustable temp and humidity switch that is usualy used to open a damper(but could control a fan) connecting outside air to the return of hvac. Sometimes used to allow air into a tight building for combustion(or generally make up for building air losses), sometimes just to improve HVAC eficiency. The idea is that sometimes outside air is more temperate than the return, so why not use it and save some btus?

Its been a while since i looked at one, but if i recall the cheap ones only did hot or cold settings on but not both. Some did comparative temp reads of outside and return air temps, and some had a single rheostat setpoint and some may output 24VAC for HVAC dampers and controls. But as i recall the cheap ones cost about fifty bucks wholesale.

Just remembered its called an economizer when used to temper with outside air, did a quick search and could not find the cheap mechanical ones, only the expensive microelectronic.

Google the air-2 controller to get a general idea. Its sort of a retail evolution of the thing.

Servicetech 11-09-13 08:03 AM

You need an enthalpy control for the economizer operation.

Daox 04-22-14 03:45 PM

Lately, I've been having some issues with my thermal differential controller. The fans will turn on and off a LOT unless it is really hot up in the attic. What I believe is happening is there is noise on the long sensor wire run to the kitchen which makes the temperature signal bounce around. I originally had this problem, so I put a small capacitor on the wire and it seemed to work... for a while.

Now, I am going about doing it the right way. I am reprogramming the controller to filter out the noise on the lines. This will be a completely free fix and require no new hardware, no soldering, no physical changes at all. The fix is pretty simple. I take a bunch of sensor readings and average them. This isn't a super precision thing, so it'll work just fine.

I did some quick and dirty reprogramming last night where I took 5 temperature readings and did some very poor 'averaging' just as a quick test and it made it 90% better than before. The fans kicked in and stayed on until it got close to the differential set point. Then, it started to turn on and off a bit. Not much, but a little better programming should virtually eliminate it all. This also means that I'll be able to get more heat out of the system because the fans will be running full tilt versus on and off.

Anyway, I am finishing up the programming soon and I'll post the new code when I find that it works good. I'm thinking 10 temperature readings should work out great, and get a true average of them. This also will eliminate the need for the capacitor shown in the schematic making wiring a little easier.

where2 04-22-14 07:30 PM

Yeah, I learned to do that with input readings back when I was in my teens. My dad had rigged up our Apple ][+ PC with a potentiometer on the railing of the floating dock behind our house (with a little mechanical linkage to amplify the rotation angle). The 200' 22awg wire between the PC and the dock was buried in conduit in a trench along with an 110V AC power cable. The potentiometer readings were quite unstable unless you used mathematical smoothing. After employing mathematical smoothing, we were able to write a BASIC program to predict upcoming tides.

Daox 04-23-14 07:54 AM

Haha, thats very cool!

I tried out the new code last night. It worked better than the quick and dirty version, but there was still some switching on and off. So, I'm looking from suggestions from programmers with more experience than myself.

Right now, I'm taking 10 sensor readings at 100 millisecond intervals. After I take the 10 sensor readings I average them. I also threw some delays in there so if it turns on, its on for at least 30 seconds. Is there a better way? It seems like that should take out any spikes, but toward the evening, it was still turning on and off a little.

Piwoslaw 04-23-14 11:13 PM

When averaging more than ~5 readings, first discard the highest and the lowest, then average the rest. This gets rid of any anomalies, making the average truer.

Have you tried logging the raw readings to see if there is a pattern?

Daox 04-23-14 11:26 PM

That sounds like a good idea. I'll have to give it a try.

Sadly no. I don't have a laptop available to me anymore, and no USB cord is long enough to reach up into the attic. I'd like to though. Perhaps I'll borrow one.

AC_Hacker 04-24-14 03:52 PM

Quote:

Originally Posted by Daox (Post 37946)
Right now, I'm taking 10 sensor readings at 100 millisecond intervals. After I take the 10 sensor readings I average them. I also threw some delays in there so if it turns on, its on for at least 30 seconds. Is there a better way? It seems like that should take out any spikes, but toward the evening, it was still turning on and off a little.

Since it all just numbers, why don't you try reading every 10 seconds, and average, and run for 10 minutes?

-AC

stevehull 04-24-14 06:03 PM

Daox,

You need to put in hysteresis. This is essentially a "dead zone" where the controller is off. No matter how precise the controller, without a dead zone, you will get cycling.

An alternative is to "forward load" the system to negate an immediate response and to wait for some period of time to check to see if an output is really needed. If in two minutes, the system still calls for blower, then it will cycle, but not on the first try.

Both are examples of hysteresis in a control system.

Does this make sense?

Steve

Piwoslaw 04-24-14 11:19 PM

^^ They're right: Turn the fan on/off only when three consecutive readings (~every minute) call for it.

Quote:

Originally Posted by Daox (Post 37963)
Sadly no. I don't have a laptop available to me anymore, and no USB cord is long enough to reach up into the attic. I'd like to though. Perhaps I'll borrow one.

I thought you had an SD card logger add-on?

Daox 04-25-14 07:31 AM

There is a hysteresis programmed in already. Right now I have it set to turn on at 4C degrees above kitchen temperature and turn off when it gets down to 2C above kitchen temperature. The noise in the lines must be fairly easily overriding this though. I also added additional on time delays to the latest version that I'm running. When it turns on, it turns on for 30 seconds no matter what. This can probably be extended so its a few minutes as AC Hacker suggested. I've kept the off time delay short in case a spike happens it can kick back on relatively quickly. I think its set to ~5 seconds right now.

I do not have an SD card logger. It would come in quite handy though! Right now I just have some serial printing in the code to show some things.

AC_Hacker 04-25-14 02:54 PM

1 Attachment(s)
Quote:

Originally Posted by Daox (Post 37980)
...The noise in the lines must be fairly easily overriding this though.

One of the great things about 1-wire is that if a spike occurs during a packet transmission, instead of an erroneous data being acted upon, the affected packet is viewed as corrupt, so it is rejected.

Quote:

Originally Posted by Daox (Post 37980)
I also added additional on time delays to the latest version that I'm running. When it turns on, it turns on for 30 seconds no matter what. This can probably be extended so its a few minutes as AC Hacker suggested. I've kept the off time delay short in case a spike happens it can kick back on relatively quickly. I think its set to ~5 seconds right now.

By "spike" do you mean a thermal spike?

It occurs to me that your sensors might be mounted sub-optimally. If you have them exposed, the slightest stirring of the air would create erratic behavior.


When I mounted the outdoor sensor for my whole house temperature logging project, I knew that wind & rain would have a disturbing effect on my data, so I enclosed the sensor inside a plastic plumbing pipe assembly, with the sensor at the top, but held away from any plastic. The assembly has small holes that will allow air flow but not bug flow.

I had a similar problem with the sensor in my Freezerator. I had to shield it from the environment enough so that it was not affected by short term events (drips of condensation) but still able to detect changes of temperature.

So I guess that it is mechanical hysterisis, rather than software hysterisis.

Quote:

Originally Posted by Daox (Post 37980)
I do not have an SD card logger. It would come in quite handy though! Right now I just have some serial printing in the code to show some things.


This little jewel has an SD card ability, and also a serial port for remote logging, AND it is open source with source code (that will work in the Arduino IDE) available for customization.

(Did I mention it has a header ready to accept a string of 1-wire sensors (70 sensors have been tested to work, maybe more... Travis ran out of 1-wire sensors to test).

You could even build a small trickle-charged battery that would keep it going in case of a power loss.

-AC

Daox 04-25-14 02:59 PM

I was talking about electrical spike. I wouldn't imagine that there is that much breeze up in the attic. I suppose putting the sensor in a blob of silicon or something would be a good idea though. That would give it some thermal mass to even anything out if there was. The one in the kitchen I don't think would have any real breeze on it at all, and that is the one I think is having issues with electrical spiking.

All good ideas, thanks guys!

jeff5may 04-25-14 03:11 PM

The easiest way to accomplish your goal is to just widen your window a bit. You stated you have a 2 degF window now. I would double or triple that 2 degree window. So instead of turning on at ambient + 4 degrees and off at ambient + 2 degrees, it would wait until ambient + 6 degrees or ambient + 8 degrees to turn on. This would definitely stop your short cycling.


All times are GMT -5. The time now is 11:28 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Ad Management by RedTyger