Must-haves for EASY DIY controller?

ok yeah the vias would suck....


btw im looking at the ENC28J60 datasheet and it states that the RBIAS should have a 2.32K , in the sheet youve designed its got a 22K , did I read something wrong ?

img talking about this pic

hydra032310.gif
 
Nobody did consider to use wireless ethernet ? I did found the ZG2100M module from Microchip ... looks pretty cool and cheap too
 
Well I finally got everything together and got mine working, after sorting out a weird voltage drop problem with my power supply for 2 hours. :thumbdown:

success.jpg

board.jpg



A pic of the relay strip so everyone knows what's in it:
relaystrip2.jpg

relaystrip1.jpg



I also decided to make a layout diagram for the pin locations and values in case anyone else is going to use this:
relaystripschematic.jpg



Do you guys have different sketches you are using? Like the relay and ph probe code?
 
WOOHOO! Congrats.

Look for terahz's posts a few pages back, I think he posted a link to the code he's using "live" to run his tank right now. If not, PM him. I don't have any presentable code - just sketches I've used to test bits and pieces.

Speaking of, any chance you could load a test sketch for the Ethernet circuit and see if it works? Check nuelectronics or any of the vendors that sell shields based on that chip for example sketches.
 
hey guys I was wondering how many adresses can the SDA on this board handle ? Im thinking of getting the 16 bit verson of the MCP23008 just to be sure im set. always nice to have some extras.

I see you guys like to use the single AC pole type relays. Im a bit scared of 220v stuff going bad I like to cut both poles in the relay. im doing this the double pole DIN style relays and mount it up in a DIN style box and a DIN style fuse.

maybe im just too scared of being electricuted heh... we are dealing with salt water after all.

and Im going to scratch the DIY pcb board. Ill just do as you guys and have it done for 40 bucks.
 
good job dustinb ... looking good :) Very professional looking ... Where did you got the enclosure for the relay strip ?

I have to disagree with der_wille_zur_macht about the touch screen. My controller is using that and I am using only 4 analog input of my uprocessor to drive the touchscreen part. I just check about every 200ms this 4 input to know if u press the touchscreen or not and where you put your finger. Very easy to do and doesn't take a lot of memory space at all.
 
There apperas to be no flyback protection on those relay boards. You may want to pull the board and do a bit of modification by soldering a diode (any 1nxxx type will do).
 
TeraHz: Can you post a pic of your setup? I was looking at the code you posted and noticed you had an IR remote. I picked up a receiver yesterday and was looking at doing the same thing. Which remote are you using.

DWZM: I got a chance to test the ethernet circuit and was unsuccessful. Everything I tested appears to get the right readings on my meter, but I don't have a scope to test further. I don't even get any lights at all on the RJ45. I spent a couple hours comparing the circuit with known working ones and from what I can see, everything appears correct. I have some extra parts so I'm going to try and breadboard the nuelectronics circuit when I get home. I was testing the ping sketch.

I don't know how to find the MAC address of the ENC chip so I wasn't able to set that, but I did assign a free ip in range of my router. I don't know if we're supposed to be seeing the LEDs light up at all even without the MAC and IP set. Starting to wonder if maybe the indicator LED circuit for the RJ45 is reversed as I do get a voltage reading.
 
hey guys I was wondering how many adresses can the SDA on this board handle ?

Not sure if I understand your question? The AVR acting as a master should be able to handle a "full" I2C bus - 7 bits minus the reserved addresses, and minus the addresses of the onboard I2C ICs, so you've got maybe 110 empty spots.

and Im going to scratch the DIY pcb board. Ill just do as you guys and have it done for 40 bucks.

If you're in a hurry that's the best way at this point, I'm completely out of the prototype run of PCBs. Once we figure out the problem with the Ethernet circuit I'll probably make another batch of prototypes, so if you can wait that long (weeks? months? who knows) I'll mail you a board.

I have to disagree with der_wille_zur_macht about the touch screen. My controller is using that and I am using only 4 analog input of my uprocessor to drive the touchscreen part. I just check about every 200ms this 4 input to know if u press the touchscreen or not and where you put your finger. Very easy to do and doesn't take a lot of memory space at all.

I'm curious to know what LCD you're using? I'm basing my comments on some implementations I've seen that used specific LCDs. If there are "easier" LCDs out there, it might be worth exploring. Still, we don't have 4 analog input pins free on the main AVR, so one would either have to use the daughter chip or use an external IC for A/D conversion.

DWZM: I got a chance to test the ethernet circuit and was unsuccessful. Everything I tested appears to get the right readings on my meter, but I don't have a scope to test further. I don't even get any lights at all on the RJ45. I spent a couple hours comparing the circuit with known working ones and from what I can see, everything appears correct. I have some extra parts so I'm going to try and breadboard the nuelectronics circuit when I get home. I was testing the ping sketch.

I don't know how to find the MAC address of the ENC chip so I wasn't able to set that, but I did assign a free ip in range of my router. I don't know if we're supposed to be seeing the LEDs light up at all even without the MAC and IP set. Starting to wonder if maybe the indicator LED circuit for the RJ45 is reversed as I do get a voltage reading.

So that's the same result I had, more or less. Regardless of your breadboard experiment working or not working, I'm wondering if it's time for someone to just drop $20 or whatever and buy a commercial ENC-based Ethernet interface board, and test it with the Hydra (minus the Ethernet components of course). I'm wondering if the real problem is elsewhere in our circuit, i.e. the reset circuit is implemented differently, or something like that.

PS - you can set the MAC address of the ENC to anything you want via the code at the beginning of the sketch - the physical chip doesn't have a MAC address. It just has to be a valid address that doesn't conflict with other MAC addresses on your network.
 
Well I would really love to get it working on-board the hydra to keep everything consolidated if possible. I''ll do some more testing and see if I can figure something out. It really bugs me that the LEDs won't even light up. It has to be something simple we are overlooking. I'll fit the bill on an ethernet shield to test with if it comes to that. Who sells one like the hydra circuit for $20?

Good to know on the MAC address part, I was under the impression that microchip loaded the MAC address on the chip.
 
"Not sure if I understand your question? The AVR acting as a master should be able to handle a "full" I2C bus - 7 bits minus the reserved addresses, and minus the addresses of the onboard I2C ICs, so you've got maybe 110 empty spots."

Thanks for the info , yeah I was looking at terhz makeshift breakout board for his relays, I saw he was using the chip with 8 outputs ill go for one with 16 just to be sure , 110 is more than enough yeah :)

Cool , I'll wait for another batch, would be nice to get the ethernet shield issue fixed too first. Would be really nice to have that onboard.
 
Im thinking we should change the 8bit port expander with a 16 bit , then rouet the ones for the LCD as it is with the current design , and add another row of breakout headers on the top of the board ( to the right of the GND row) and connect the rest of the outputs. theres plenty of space for traces to go on the botom side , and if we move the R on the top of the Eth there should be place for the breakouts

this is if we decide to do some changes to the board
 
Well I would really love to get it working on-board the hydra to keep everything consolidated if possible. I''ll do some more testing and see if I can figure something out. It really bugs me that the LEDs won't even light up. It has to be something simple we are overlooking. I'll fit the bill on an ethernet shield to test with if it comes to that. Who sells one like the hydra circuit for $20?

Good to know on the MAC address part, I was under the impression that microchip loaded the MAC address on the chip.

Yeah, my comment about getting the shield was purely for testing/comparison purposes, not as a permanent solution. When something doesn't work and I can't figure out why, I like to compare it to something similar that I know works.

Here are the commercial products I know of:

Jeelab's board is neat, but a pretty different approach. No onboard level shifting and some other component differences:
http://jeelabs.com/products/ether-card

nuelectronic's design, which was sort of the reference for the Hydra:
http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=4

seeedstudio USED to sell one, but I can't find it now. I actually used their Eagle files to make the Hydra circuit, it's basically a direct copy of the nu shield. They have the PCB but it's sold out:
http://www.seeedstudio.com/depot/ethernet-shield-pcb-p-179.html?cPath=77

iteadstudio is a new kid on the block and looks like a seeedstudio knockoff (ha! a knockoff of a knockoff. How "China" is that):
http://iteadstudio.com/store/index.php?main_page=product_info&cPath=18&products_id=224

Thanks for the info , yeah I was looking at terhz makeshift breakout board for his relays, I saw he was using the chip with 8 outputs ill go for one with 16 just to be sure , 110 is more than enough yeah :)

There are restrictions on what address you can assign to certain chips. I2C chips come in one of three varieties, generally:

1) For chips that you'd typically only need one of on your bus (i.e. an RTC), the address is hard-coded. It MUST use that address, and you can't use that address for anything else.
2) For simple chips you might need a few of (i.e. the MCP23008), the address is partially hard coded (a "family" code) and partially set by hardware, by wiring certain pins on the chip high or low. This way, you can have a few on the same bus, provided to set the address pins correctly. But, you're stuck with the general range of addresses, and can't really use anything that has an overlapping range.
3) For more complex chips, i.e. microprocessors, the address is usually set in code. This is the case with the AVRs used as processors on the Hydra.

So, for instance, you can't put 110 MCP23008's on the same bus. But you can probably put more than you'll need. And if you still need more, you can use a different I2C port expander with a different default address range.

Cool , I'll wait for another batch, would be nice to get the ethernet shield issue fixed too first. Would be really nice to have that onboard.

It might be a while! We'll see. :)
 
PS - you can set the MAC address of the ENC to anything you want via the code at the beginning of the sketch - the physical chip doesn't have a MAC address. It just has to be a valid address that doesn't conflict with other MAC addresses on your network.

Yup... none of the companys that are selling Enet chips, PHYS or similar boards with the glue chips and magnetics are going to have MACs assigned. It simply costs a small fortune to purchase the rights to assign MACs, so you must do it from software when you initialize the chip.

Ben Zijlstra has done a lot of work with the ENC chips (most of it in BASCOM) but his step by step explanations are applicable to C as well.
http://members.home.nl/bzijlstra/index.htm
 
hm the eth leds can actually help solve this mistury. the way they are connected actually has some impact. I read the section in the datasheet. I wont summarize it you can go ahead and read it. but before you try to use the enc for eth purposes ( which can be a little more tricky ) just try to blink the leds to see if you can even communicate with it.

you do that by setting the PHLCON registers.

check out this code and try it. whats your findings ?
im guessing if this works its not hardware at the least...and vice versa since its so basic.



http://www.micro-examples.com/public/microex-navig/doc/094-ep2-ethernet ( scroll to the bottom )
 
Back
Top