The incubator controller will be used to monitor and control a custom built egg incubator. The tilt of the eggs must be periodically changed. The temperature and humidity must be maintained within as specific range depending on the breed. A motor will be controlled to alter the tilt angle of the egg tray inside the incubator. A sensor that measures temperature and humidity will be placed inside the incubator to take regular measurements. If the temperature or humidity falls outside a nominated range a push notification will be sent to an iOS app. The iOS app will also support querying the current temperature and humidity readings. The iOS app may also be used to alter the period that the tray tilt is changed. The temperature and humidity measurements will be recorded for historical analysis. An LCD will be mounted locally to allow observation of temperature and humidity including the progress within tilting cycle.
Details
TBD
Files
DFR0063_v1.2_Schematic.pdf
DF Robot 2-line LCD display with I2C piggy back board schematic diagram
Adobe Portable Document Format -
42.63 kB -
01/26/2016 at 15:39
The egg tray must tilt every 4 hours. When the incubator controller is switched on it must determine the current position of the tray. If either motor switch sensors are activated it implies the tray is in the middle. As such it will activate the motor to the default position (LEFT) until the LEFT switch is activated and start the timer. If a switch is already active it will leave it in that position and start the timer. The following state diagram illustrates this logic.
The ESP8266 (ESP-12E), the core of the NodeMCU devkit, requires a 3.3V supply. The GPIO pins also supposedly operate at 3.3V logic levels. This can be confirmed with the NodeMCU DevKit official documentation:
The board shall not enter more than 5V supply voltage, nor will board GPIO directly connected to 5V level peripherals. If you need to connect Then, we need to level conversion circuit, or it may cause irreversible damage.
Ran some tests with both a desktop power supply (3V-12V@1.5A) and a power pack (12V@1A) with the motor shield. The noise generated by the small DC motor is significant across both supplies. Both supplies were fed into my own 12V to 5V regulator circuit shown below.
Connected small DC motor to test the Node MCU motor shield. The shield is based on the L293D quadruple high-current half-H drivers typically used to drive motors.
Established I2C link to TWI 2004 204 20x4 LCD module from the ESP8266. The ESP8266 port for Arduino thankfully includes an I2C implementing in the Wire library.
Very interesting Your fritzing circuit shows just a block for the level converter where your regular circuit shows actual components. With prices of say a 4 channel levelconverter being around 30 cts, I would advise anybody to just get the premade module. Same goes for the PCF8574, get a premade module that will slot right in the pins of your lcd. better yet, get an lcd that already has that module attached. (But I think you already advise that in your component list) I know many people use the LCD without levelshifter, I don't risk it though Your Fritzing circuit looks indeed very clear. I however found it very cumbersome to use. Only using it for PCB's using sPlan for circuits. Was wondering abt your eggturner. You have a 12 DC motor. most commercial eggturners I know use 110-220Volt. Judging from your pics you constructed one yourself? If so, I'd be most interested to see more details. As we are about a year down the line... did it work as you expected? anything you would change?
I am using a pre-made module for the level shifting but couldn't find the right part in Fritzing. Haven't gotten around to creating a custom one. I added the shifter to the parts list. Same the with the LCD - I'm definitely using an LCD with the 8574 already attached but didn't find the part in Fritzing. I don't mind Fritzing. I was using Eagle for a while.
The 12V DC motor is sufficient for this project. I have been busy with work for most of the year but have come back to this project to finish it. Will continue adding posts along the way.
I do like the schematic here. its ultra clear. Could you elaborate on how it's done (product, conventions), are the components reusable (eg. PCF8574 pinout)
Schematic was made using Fritzing (http://fritzing.org/home/). It has a reasonable sized library of components, not as extensive as Eagle. You an add custom parts to it. Its the first time I've used it. I used to use Eagle years ago. I may go back to that if Fritzing proves cumbersome.
Very interesting
Your fritzing circuit shows just a block for the level converter where your regular circuit shows actual components. With prices of say a 4 channel levelconverter being around 30 cts, I would advise anybody to just get the premade module. Same goes for the PCF8574, get a premade module that will slot right in the pins of your lcd. better yet, get an lcd that already has that module attached. (But I think you already advise that in your component list)
I know many people use the LCD without levelshifter, I don't risk it though
Your Fritzing circuit looks indeed very clear. I however found it very cumbersome to use. Only using it for PCB's using sPlan for circuits.
Was wondering abt your eggturner. You have a 12 DC motor. most commercial eggturners I know use 110-220Volt. Judging from your pics you constructed one yourself? If so, I'd be most interested to see more details.
As we are about a year down the line... did it work as you expected? anything you would change?