PDA

View Full Version : Another controller thread


AndyL
09-24-2013, 03:00 PM
Well the little guy gone and did it to me... Luckily standard heaters, set to 85f so his tweaks to the control panel trying to dial in 168f - just got the LCD backlight flashing an out of range condition - not an actual temperature...

Started eyeballing my options to re-jig the arduino based unit... only a few hundred bytes of code left to make the current controller talk different... And I've got to take away the local controls (no buttons/lcd to avoid little fishkeepers pressing buttons)

Not a fan of most of the commercial units (and again, most are arduino based, there's just not that much room for programs). They're also very specific... I'm wanting a bit more versatile (i have salt and fresh tanks to control)

So... Headed a different direction...

The basic plan:

Teensy 3.0 powered - https://solarbotics.com/product/52060/

Specifications

MK20DX128 32 bit ARM Cortex-M4 48 MHz
128K Flash Memory
16K RAM Memory
2K EEPROM Memory
I/O - 34, 3.3 Volt (REALLY?!? 34 I/O lines? Wow...)
12 Analog inputs
10 PWM outputs
8 Timers (isolated from the PWM)
USB with dedicated DMA memory transfer
3 UART serial ports,
1 I2C
1 SPI
1 I2S
1 IR modulator
Real Time Clock (add your own 32.768MHz crystal & battery)
4 general purpose DMA channels separate from USB DMA
Touch sensor inputs

Did I mention there's a way to program it from the arduino development environment? So existing code can pretty easily be ported? :)

Had a friend help me rejig the pH probe op-amp circuit (note this boards 3.3v IO rather than the arduino's 5v) Going to use OPA2349's - bit of a smaller chip to solder, but - they're cheap (2.69$ each), and they're meant for the more modern logic voltages. Benefit - it'll be solely driven off 3.3v and 5v - no extra wall warts/batteries just for the pH circuit. I'm targeting a full pH range - not the minimal range most are using; pH from 4-9, should leave us a pH resolution of .015 accuracy. Might bring an ADC in yet to improve that, but largely - I'm thinking that's as accurate as it needs to be.

Now the fun part - Control... Like I said - I need to take away the buttons/lcd from the kidlets reach. He can't unlock my phone, open the browser, then open the aquarium tab (yet anyway). This works better :)

How I'm doing that - is a fully different matter... I'm not going to deal with the fun of integrating a web server into the base controller. I want them separate anyway.

http://www.pjrc.com/teensy/sd_adaptor.html
http://dx.com/p/sd-to-microsd-transflash-card-converter-module-27001

http://hackaday.com/2013/08/12/hacking-transcend-wifi-sd-cards/

So, as far as my controller side - it's just saving data to a SD card. Easy to implement. But that SD card is in itself its very own webserver. These cards are <35$ - believe there's a fairly easy way to handle some minimal control back and forth across the SD interface (ie if there's something I really want to change - I can drop an updated config file from the webserver onto the cards fat32 volume, the teensy sees it - takes it and assimilates it from there).


Going to hammer out the op-amp circuit tonight, most parts should be rolling in over the next 2 weeks. Should still be able to have lcd and keypad control via i2c for those that want.

And yes, open source for the win :)