jump to navigation

agponic Tower — interface plates — 3 different templates needed November 12, 2013

Posted by rik94566 in agponics.com, aquaponic automation, aquaponics, aquaponics electronics, arduino, DIY aquaponics, Interface Plate, Internet-of-Farming, IoT aquaponics, sensor, Tower System.
Tags: , , , , ,
2 comments

To build the tower base with all the sensors a interface plate is needed to prevent water from reaching the inter core of the tower base.  As it turns out 3 different templates are needed to accomplish the  task.

plates

Here is what one looks like once it is completed  and ready to be installed into a tower base:

ready

BEST COMMENT OF THE YEAR — from “Internet of Farming” September 16, 2013

Posted by rik94566 in agponics.com, aquaponic automation, aquaponics, aquaponics electronics, arduino, CEA, Controlled Environment Agriculture, Internet-of-Farming, IoT aquaponics.
Tags: , , , , , , , ,
add a comment

alexandre freire

alexandre freire 11 hours ago

I am a aquatic live system specialist, built systems around the world all sizes and types!

and I just want to say that you did impress me a lot!

you are a genius! this whole entire thing is wow!

comment

INDOOR GARDEN SHOW – SF September 11, 2013

Posted by rik94566 in agponics.com, Air Pots, Crop, DIY aquaponics, indoor gardens, indoor growing, PRODUCTS.
Tags: , , , ,
add a comment

This past July I was able to attend the Indoor Garden Show in San Francisco.

Have always wanted to attend for the past 3 or 4 years, but was unable due to my personal vacation during the same time.

Well this year it worked out and got to spend a whole day there with a large number of others.

Found some very interesting new items that I will be able to put to work on some up coming projects. I will blog about them as I have time.

The one that was of most interest are Air Pots. This is a product that will have major impact for me going forward. I will be blogging about it and how I am using it in the next few posts. So stay tuned.

airpot

OSIoT – Meeting talked about TOWERS August 19, 2013

Posted by rik94566 in agponics.com, aquaponic automation, aquaponics, aquaponics electronics, DIY aquaponics, indoor aquaponics, Internet-of-Farming, IoT aquaponics.
Tags: , , , , , ,
4 comments

At the this months meeting of OSIoT in Mt. View, I was asked to bring my micro device and Tower system to the meeting and talk about how they work and the IoT aspect. Well here are pictures of the unit so far. Will be connecting things up in the next few weeks so will be blogging about my progress.

Tower-plants-side

tower-rightside-side

tower-backside-side

tower-base-side

Major Accomplishments Achieved August 6, 2013

Posted by rik94566 in 1-wire, agponics.com, arduino, Internet-of-Farming, IoT aquaponics.
Tags: , , , , , ,
4 comments

Well it has been a while since my last post.  For good reason.  I wanted to hold off posting for some big accomplishments to talk about and set up the direction I will be going with this blog into the future.

FIRST BIG ACHIEVEMENT:

This will be my 100th post.  When I started this blog it was more an effort to explore ideas and concepts related to one small aspect of aquaponics and has now grown into a world wide effort from a number of neat people.

SECOND ACHIEVEMENT:

Have had my highest ever number of views on the blog and daily traffic has hit all time highs.

blog stats-rik

THIRD ACHIEVEMENT:

Will go over 50K view of the Internet-of-Farming this week!

http://www.youtube.com/watch?v=X2wWTadsBDA

IoT- Farming stat

LAST MAJOR ACCOMPLISHMENT IS:

Finishing of my    agponicMD (micro device).  I now have a fully functional aquaponic device that will allow me to test any and all scenarios that I want to.  This is a major big deal for me.   This allows me to actually achieve IoT on a personal level and be one of the first to reach a practical application that will help interest others in this area of farming and agriculture.  Without this blog and the comments from all you I would not have been able to get this far or learned so much.

Front view of the IoT micro device – shows pump / air stones / pH probe / heater /temp probes / media probes / float switch

md - twist

md-back side2

BACKSIDE VIEW

DS18B20 — external power supply December 15, 2011

Posted by rik94566 in 1-wire, aquaponic automation, aquaponics, arduino, CEA, Controlled Environment Agriculture, DIY aquaponics, DS18B20, HEX code, indoor aquaponics, indoor gardens, indoor growing, One-wire, probe index, sensor, Sensor Hub, Stainless Steel Temp Probe, Temperature Probe.
Tags: , , , , , , , , , , , , , , , , ,
1 comment so far

Before I can connect everything up and work with my DS18B20 probes using external power supply I need to get one.  The one that I have selected is this one:

5V power supply

DS18B20 – on to external power December 7, 2011

Posted by rik94566 in 1-wire, aquaponic automation, aquaponics, arduino, CEA, Controlled Environment Agriculture, DIY aquaponics, DS18B20, HEX code, indoor aquaponics, indoor gardens, indoor growing, One-wire, probe index, sensor, Sensor Hub, Stainless Steel Temp Probe, Temperature Probe.
Tags: , , , , , , , , , , , , , , , , , , ,
2 comments

When you want to learn something new in electronics, you have to start at the bottom.  In my mind a circuit layout like this is the bottom for me and it is hard for me to follow.  I will be the first to admit that I am not an electrical engineer and don’t want to be one either.  I just want a simple way to hook things up and have them work when I need them too.  So this layout just gives me a general idea of where to start on hooking up a external power source for my probes.  I was at this same point when I started to learn about DS18B20’s and use with an arduino.   The good news is that I have a more clear understanding how the DS18B20 functions and how it operates than when I first started on this project.

WHY DO I NEED EXTERNAL POWER FOR MY DS18B20’S  ——-

Well that is a very good questions.  In most applications and small projects you do not need to know anything about this aspect of the DS18B20’s.  In my case as I have been working on this blog several questions have been posed as to power drains on arduino’s if you request to many sensors being driven by the unit and you have long runs to your sensors.  So I need to do some research as to how to use a external power source.  A lot of places on the internet talk about it, but I have yet to find any source that shows a person how to actually make this work.  As for the research here is the best I could find.  If you know of others please let me know and I will add it to my library and give you credit for it here.

HERE IS THE BIBLE ON THIS SUBJECT  —

http://www.arduino.cc/playground/Learning/OneWire

Normal (external supply) mode
With an external supply, three wires are required: the bus wire, ground, and power. The 4.7k pull-up resistor is still required on the bus wire. As the bus is free for data transfer, the microcontroller can continually poll the state of a device doing a conversion. This way, a conversion request can finish as soon as the device reports being done, as opposed to having to wait 750ms in “parasite” power mode.

Note on resistors: For larger networks, you can try something smaller. The ATmega328/168 datasheet indicates starting at 1k6 and a number of users have found smaller to work better on larger networks.

THAT IS ALL THERE IS — in this bible.  Not much of a help in my mind.

HERE IS THE OTHER THING I FOUND:

http://sheepdogguides.com/dst9parasitic.htm

Choosing your 1-Wire chip power mode

Many of the chips in the 1-Wire family from Dallas Semiconductor can be powered “parasitically”… that’s Dallas’s (apt) name for the system used.

The advantage of parasitic powering is that it means you can have a two wire MicroLan. (“MicroLan” is just Dallas’s trademarked name for a bunch of 1-Wire chips “playing nicely” with each other and a “master” device, e.g. a PC or simple microcontroller, e.g. Arduino, in charge of the network of 1-Wire sensors, actuators, storage units, etc.) If you don’t use parasitic powering, then you need to run three wires from chip to chip to chip. (An aside: You should be aware that MicroLans don’t like star topographies. If you need a star, you need a hub to split it into separate, non- star, legs.)

I’ve often used parasitic powering entirely successfully. However, if you have a lot of chips on the MicroLan, or high poll rates, the time may come when supplying the chips which can be powered parasitically makes sense. It isn’t difficult… especially if you provided for the possibility that you’d like to make the change when you first set up your MicroLan.


For example…

Just as an example, let’s consider a MicroLan that is reading temperatures in various parts of a large greenhouse.

We’ll assume you’re using chips from the DS182x family, in a TO92 package, the little blob of plastic with three “legs”.

To use those chips parasitically, you just connect two of the legs to one another, and that leaves you with two connections which go to the two wires of the basic MicroLan.

Now… and this is what I meant about giving yourself options for the future… rather than doing that the “obvious” way, using either a small PCB, or simple discrete wires, connect each of the three pins to a separate track or wire, and THEN make your connections to the MicroLan. If later, you want to use non parasitic power, then all you have to do is change a link, or disconnect one of the wires, and you can then supply the chip with its independent V,cc easily, without disturbing what would be fiddly connections to the package’s pins.

Here are the details of which pin is which on the DS1820…

DS1820 pinout diagram

The DS1820’s middle leg goes to the 1-Wire data line.

The DS1820’s leg marked “See text” should be attached to the 5v, or, for parasitic power, connect this pin to ground (zero volts))

And the DS1820’s “1-Wire 0v” should be attached ground,i.e. to zero volts.

(If the above seems over-explained, please remember that this page may be accessed by people who want more than just an idea of what this “parasitic power” thing is all about.)

AND THE LAST ONE I FOUND:

http://forums.parallax.com/showthread.php?135523-ds18b20-sensor-fails-at-high-temperature

osts
117

Default Re: ds18b20 sensor fails at high temperature

I may have stumbled on a possible solution, but I am not sure how to code it. The snippet below is from the Maxim data sheet for the ds18b20. If I understand the second paragraph, correctly, I may need to Insert these commands:

Skip rom (cch)
Read power (b4h)
Then initiate a “read time slot”

I am not sure how or where to insert these commands in the one wire object.
I am using an external power supply with a 4.7k pullup

“The use of parasite power is not recommended for temperatures above +100°C since the DS18B20 may not be able to sustain communications due to the higher leakage currents that can exist at these temperatures. For applications in which such temperatures are likely, it is strongly recommended that the DS18B20 be powered by an external power supply.

In some situations the bus master may not know whether the DS18B20s on the bus are parasite powered or powered by external supplies. The master needs this information to determine if the strong bus pullup should be used during temperature conversions. To get this information, the master can issue a Skip ROM [CCh] command followed by a Read Power Supply [B4h] command followed by a “read time slot”. During the read time slot, parasite powered DS18B20s will pull the bus low, and externally powered DS18B20s will let the bus remain high. If the bus is pulled low, the master knows that it must supply the strong pullup on the 1-Wire bus during temperature conversions.

Not a lot to work with here, but I do have a lay out and now need to assemble the components I will need to pull this off.  Don’t you just love electronics and all the neat stuff you get to learn!!!!

DS18B20 — 10 probes – GOING FOR IT November 27, 2011

Posted by rik94566 in 1-wire, aquaponic automation, aquaponics, arduino, CEA, Controlled Environment Agriculture, DIY aquaponics, DS18B20, HEX code, indoor aquaponics, indoor gardens, indoor growing, One-wire, probe index, sensor, Sensor Hub, Stainless Steel Temp Probe, Temperature Probe.
Tags: , , , , , , , , , , , , , , , ,
4 comments

Well – I have the components assembled now so it  is the time to “GO FOR 10 PROBES’ connected up.  I will be using 4.7K ohm resistors with power supplied by my arduino.

HERE IS THE CONFIGURATION:

BUS AND 10 PROBES

HERE IS THE SKETCH USING 10 PROBES:

// This Arduino sketch reads DS18B20 “1-Wire” digital
// temperature sensors.
// Tutorial:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html
//Changed sketch to handle 10 individual temperature probes for testing out software and 2 hub
//configuration – each probe is plugged into a wiring harness using either a 4.7K or 2.2K resistor.
//will use this to test power source and resistor needed to read 10 temp probes.
//ver-1.01-R
// Rik Kretzinger
//    11/26/2011

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 3 on the Arduino
#define ONE_WIRE_BUS 8

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Assign the addresses of your 1-Wire temp sensors.
// See the tutorial on how to obtain these addresses:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

DeviceAddress Probe007 = { 0x28, 0x34, 0x6F, 0x22, 0x03, 0x00, 0x00, 0xC2 };
DeviceAddress Probe008 = { 0x28, 0x56, 0x52, 0x31, 0x03, 0x00, 0x00, 0xB7 };
DeviceAddress Probe009 = { 0x28, 0x2F, 0x5C, 0x31, 0x03, 0x00, 0x00, 0x1B };
DeviceAddress Probe010 = { 0x28, 0xD4, 0x81, 0x31, 0x03, 0x00, 0x00, 0x23 };
DeviceAddress Probe011 = { 0x28, 0xF4, 0x6B, 0x31, 0x03, 0x00, 0x00, 0xF2 };
DeviceAddress Probe012 = { 0x28, 0xD8, 0x79, 0x31, 0x03, 0x00, 0x00, 0xC6 };
DeviceAddress Probe013 = { 0x28, 0x43, 0x77, 0x22, 0x03, 0x00, 0x00, 0x9D };
DeviceAddress Probe014 = { 0x28, 0x30, 0x65, 0x31, 0x03, 0x00, 0x00, 0x13 };
DeviceAddress Probe015 = { 0x28, 0xDE, 0x9D, 0x31, 0x03, 0x00, 0x00, 0xB1 };
DeviceAddress Probe016 = { 0x28, 0x7E, 0x8A, 0x31, 0x03, 0x00, 0x00, 0xC0 };

void setup(void)
{
// start serial port
Serial.begin(9600);
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(Probe007, 10);
sensors.setResolution(Probe008, 10);
sensors.setResolution(Probe009, 10);
sensors.setResolution(Probe010, 10);
sensors.setResolution(Probe011, 10);
sensors.setResolution(Probe012, 10);
sensors.setResolution(Probe013, 10);
sensors.setResolution(Probe014, 10);
sensors.setResolution(Probe015, 10);
sensors.setResolution(Probe016, 10);
}

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
Serial.print(“Error getting temperature”);
} else {
Serial.print(“C: “);
Serial.print(tempC);
Serial.print(” F: “);
Serial.print(DallasTemperature::toFahrenheit(tempC));
}
}

void loop(void)
{
delay(2000);
Serial.println();
Serial.println();
Serial.print(“Getting temperatures…\n\r”);
sensors.requestTemperatures();

Serial.print(“Probe 007 temperature is: “);
printTemperature(Probe007);
Serial.print(“\n\r”);
Serial.print(“Probe 008 temperature is: “);
printTemperature(Probe008);
Serial.print(“\n\r”);
Serial.print(“Probe 009 temperature is: “);
printTemperature(Probe009);
Serial.print(“\n\r”);
Serial.print(“Probe 010 temperature is: “);
printTemperature(Probe010);
Serial.print(“\n\r”);
Serial.print(“Probe 011 temperature is: “);
printTemperature(Probe011);
Serial.print(“\n\r”);
Serial.print(“Probe 012 temperature is: “);
printTemperature(Probe012);
Serial.print(“\n\r”);
Serial.print(“Probe 013 temperature is: “);
printTemperature(Probe013);
Serial.print(“\n\r”);
Serial.print(“Probe 014 temperature is: “);
printTemperature(Probe014);
Serial.print(“\n\r”);
Serial.print(“Probe 015 temperature is: “);
printTemperature(Probe015);
Serial.print(“\n\r”);
Serial.print(“Probe 016 temperature is: “);
printTemperature(Probe016);
Serial.print(“\n\r”);

}

HERE ARE THE RESULTS:

DS18B20 HEX code – 5 probes Hooked-UP November 20, 2011

Posted by rik94566 in 1-wire, aquaponic automation, aquaponics, arduino, CEA, Controlled Environment Agriculture, DIY aquaponics, DS18B20, HEX code, indoor aquaponics, One-wire, probe index, sensor, Sensor Hub, Stainless Steel Temp Probe, Temperature Probe.
Tags: , , , , , , , , , , , , , , , , ,
2 comments

I am now ready to try 5 probes using HEX code:

5 probes 4.7 resistor

Here is the setup using my 4.7 ohm resistor harness setup.  I also build a 5 connector ground setup to make much easier to control the ground connections.

Here is the sketch that I used with the 5 probe configuration.  You will need to determine your HEX code for each DA18B20 and replace in the sketch for your situation.

// This Arduino sketch reads DS18B20 “1-Wire” digital
// temperature sensors.
// Tutorial:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html
//Changed sketch to handle individual temperature probes for testing out software and hub
//each probe is plugged into a wiring harness using either a 4.7K or 2.2K resistor configuration.
//will use this to test power soruce and resistor needed to read 5 temp probes.
//ver-1.01-R
// Rik Kretzinger
//    08/17/2011

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 3 on the Arduino
#define ONE_WIRE_BUS 8

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Assign the addresses of your 1-Wire temp sensors.
// See the tutorial on how to obtain these addresses:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

DeviceAddress Probe007 = { 0x28, 0x34, 0x6F, 0x22, 0x03, 0x00, 0x00, 0xC2 };
DeviceAddress Probe008 = { 0x28, 0x56, 0x52, 0x31, 0x03, 0x00, 0x00, 0xB7 };
DeviceAddress Probe009 = { 0x28, 0x2F, 0x5C, 0x31, 0x03, 0x00, 0x00, 0x1B };
DeviceAddress Probe010 = { 0x28, 0xD4, 0x81, 0x31, 0x03, 0x00, 0x00, 0x23 };
DeviceAddress Probe011 = { 0x28, 0xF4, 0x6B, 0x31, 0x03, 0x00, 0x00, 0xF2 };

void setup(void)
{
// start serial port
Serial.begin(9600);
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(Probe007, 10);
sensors.setResolution(Probe008, 10);
sensors.setResolution(Probe009, 10);
sensors.setResolution(Probe010, 10);
sensors.setResolution(Probe011, 10);
}

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
Serial.print(“Error getting temperature”);
} else {
Serial.print(“C: “);
Serial.print(tempC);
Serial.print(” F: “);
Serial.print(DallasTemperature::toFahrenheit(tempC));
}
}

void loop(void)
{
delay(2000);
Serial.print(“Getting temperatures…\n\r”);
sensors.requestTemperatures();

Serial.print(“Probe 007 temperature is: “);
printTemperature(Probe007);
Serial.print(“\n\r”);
Serial.print(“Probe 008 temperature is: “);
printTemperature(Probe008);
Serial.print(“\n\r”);
Serial.print(“Probe 009 temperature is: “);
printTemperature(Probe009);
Serial.print(“\n\r”);
Serial.print(“Probe 010 temperature is: “);
printTemperature(Probe010);
Serial.print(“\n\r”);
Serial.print(“Probe 011 temperature is: “);
printTemperature(Probe011);
Serial.print(“\n\r”);

}

5 PROBES WORKING:

DS18B20 – – 2 temp probe — CORRECTIONS MADE November 16, 2011

Posted by rik94566 in 1-wire, aquaponic automation, aquaponics, arduino, CEA, Controlled Environment Agriculture, DIY aquaponics, DS18B20, HEX code, indoor aquaponics, indoor gardens, One-wire, sensor, Sensor Hub, Stainless Steel Temp Probe, Temperature Probe.
Tags: , , , , , , , , , , , , , , , ,
add a comment

The corrections to the HEX code have now been made and the sketch works great.  Here are the results: