ESP8266 DAQ: Difference between revisions
No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
===Microcontroller and LCD=== | ===Microcontroller and LCD=== | ||
[[File:ESP8266_DAQ_PCB | [[File:ESP8266_DAQ_PCB.png|thumb|right|The PCB layout (top: red, bottom: blue) for the ESP8266 DAQ.]] | ||
In the simplest case, a digital Geiger counter would need only two functions, to count the pulses from the Geiger tube and calculate a rate, and to display the rate on the LCD. This project simply adds a few extra features, all very simple to implement. | In the simplest case, a digital Geiger counter would need only two functions, to count the pulses from the Geiger tube and calculate a rate, and to display the rate on the LCD. This project simply adds a few extra features, all very simple to implement. | ||
First, the microcontroller needs to be able to count pulses from the Geiger tube over a certain time period. This is accomplished by running a timer divided down from a 24 MHz crystal. Pulses are detected by the microcontroller's hardware via a falling edge interrupt, which increments the ticks variable. The timer module produces an interrupt 50 times a second. Every second the microcontroller records how many pulses were detected since the last interrupt, and this value is added to an array of 32 values each 0.3s, which are averaged and displayed. | First, the microcontroller needs to be able to count pulses from the Geiger tube over a certain time period. This is accomplished by running a timer divided down from a 24 MHz crystal. Pulses are detected by the microcontroller's hardware via a falling edge interrupt, which increments the ticks variable. The timer module produces an interrupt 50 times a second. Every second the microcontroller records how many pulses were detected since the last interrupt, and this value is added to an array of 32 values each 0.3s, which are averaged and displayed. | ||
Line 24: | Line 24: | ||
====Revision 1.0==== | ====Revision 1.0==== | ||
This is the first revision of the | This is the first revision of the ESP8266 DAQ. | ||
'''Outstanding Issues:''' | '''Outstanding Issues:''' | ||
* | * ... | ||
====PCB Files==== | ====PCB Files==== | ||
Here is the Eagle schematic file for the ESP8266 DAQ: http://rev0.net/files/.sch | Here is the Eagle schematic file for the ESP8266 DAQ: http://rev0.net/files/wifi_ws_v10.sch | ||
Here is the Eagle board file for the ESP8266 DAQ: http://rev0.net/files/.brd | Here is the Eagle board file for the ESP8266 DAQ: http://rev0.net/files/wifi_ws_v10.brd | ||
==Enclosure== | ==Enclosure== | ||
The enclosure for the | The enclosure for the ESP8266 DAQ was created with Autodesk Inventor 3D CAD software, and is 3D printed (in this case using a Makerbot Replicator 2). The enclosure is made of 2 separate pieces, which are assembled by snapping them together. | ||
Here are the Autodesk Inventor files for the | Here are the Autodesk Inventor files for the enclosure: http://rev0proto.com/files/ESP8266_Enclosure.zip | ||
==Code== | ==Code== | ||
Full source code for the project can be found here: http://rev0proto.com/files/ | Full source code for the project can be found here: http://rev0proto.com/files/ESP8266_DAQ.zip | ||
==Photos== | ==Photos== | ||
<gallery widths=180px heights=120px perrow=4> | <gallery widths=180px heights=120px perrow=4> | ||
File: | File:ESP8266_DAQ_Top.jpg|... | ||
</gallery> | </gallery> | ||
Revision as of 22:49, 10 August 2015
This is a project to create a Wi-Fi enabled data collection unit supporting an 8-channel 12-bit ADC (MAX11629), DHT-11/22 temperature/humidity sensor, MQ-135 air quality sensor, supports 2 CPU fan or servo outputs, as well as a single SPI and UART interface, and is expandable to support a LiPo battery with on-board charging circuit. This project is based around an ESP-12E module, utilizing the ESP8266 Wi-Fi SOC which performs all Wi-Fi protocol processing and contains a general purpose MCU compatible with the Arduino IDE.
List of Features
- LED indicators
- Re-programmable and rechargable via micro-USB (FT-232RL IC)
- Support for LiPo battery with internal charging circuit
Electronics
Microcontroller and LCD
In the simplest case, a digital Geiger counter would need only two functions, to count the pulses from the Geiger tube and calculate a rate, and to display the rate on the LCD. This project simply adds a few extra features, all very simple to implement. First, the microcontroller needs to be able to count pulses from the Geiger tube over a certain time period. This is accomplished by running a timer divided down from a 24 MHz crystal. Pulses are detected by the microcontroller's hardware via a falling edge interrupt, which increments the ticks variable. The timer module produces an interrupt 50 times a second. Every second the microcontroller records how many pulses were detected since the last interrupt, and this value is added to an array of 32 values each 0.3s, which are averaged and displayed. Next, the microcontroller needs to display values and text to the screen. This is achieved by sending binary data over an SPI data interface. An LCD function library handles the low-level conversion between ASCII characters from strings or numbers in variables to characters to be displayed to the LCD. The microcontroller reads battery voltage and displays it as an 8-level bar graph. The microcontroller also optionally displays conversions in uSv/H and mR/H, and displays the corresponding accumulated dose (uSv in CPM mode). The microcontroller also maps the CPM value to a logarithmic bar graph, which is displayed in the middle of the screen.
Hardware Revisions
Revision 1.0
This is the first revision of the ESP8266 DAQ.
Outstanding Issues:
- ...
PCB Files
Here is the Eagle schematic file for the ESP8266 DAQ: http://rev0.net/files/wifi_ws_v10.sch Here is the Eagle board file for the ESP8266 DAQ: http://rev0.net/files/wifi_ws_v10.brd
Enclosure
The enclosure for the ESP8266 DAQ was created with Autodesk Inventor 3D CAD software, and is 3D printed (in this case using a Makerbot Replicator 2). The enclosure is made of 2 separate pieces, which are assembled by snapping them together.
Here are the Autodesk Inventor files for the enclosure: http://rev0proto.com/files/ESP8266_Enclosure.zip
Code
Full source code for the project can be found here: http://rev0proto.com/files/ESP8266_DAQ.zip
Photos
- ESP8266 DAQ Top.jpg
...
Total Project Cost
Component | Cost | Source |
ESP-12E Module | $3.33 | eBay |
PCB | $1.40 | DirtyPCBs |
FT-232-RL | $4.50 | Mouser |
MAX11629 | $3.93 | Mouser |
AP1117 | $0.27 | Mouser |
Passives/Misc. Components | $0.25 | Digi-Key |
Total Price | ~$13.68 |