Forum Replies Created
-
AuthorPosts
-
RayKeymasterI received updated scripts from Dan a couple of days ago, and I just checked it into the Github repository. Please update and see if this has fixed the issue.
RayKeymasterOdd/even days with interval schedules should be fairly straightforward to implement. I did consider this when I wrote the firmware, but eventually decided to not include it due to a rather technical reason to save program data structure size. Anyways, I will add this to my to-do list. Thanks for the suggestion.
RayKeymasterIn theory you can, but this is not implemented as a built-in feature. So if you want to do this you will need to modify the source code yourself. Here is a possible solution: for the salve controllers, you can modify the firmware to start the controller by default in ‘manual operation’ mode, this way you can use HTTP commands to open or close a valve individually.
For the master controller, you can change the firmware such that if a station to be opened or closed is on a slave controller, it sends an HTTP command to the slave controller accordingly. If you have some programming background, these shouldn’t be too difficult to do.
RayKeymasterAccording to the specification of the valves, it consumes 1.2A current @ 24VAC, so it’s a little bit beyond the capacity of one single channel on OpenSprinkler (rated at 800mA max). But I am pretty sure you can combine two channels in parallel to increase the current output. Specifically, one wire from the valve goes to the COMMON line as usual, the other wire will connect simultaneously to, say stations 1 and 2 (the best way is to use two separate short wires from stations 1 and 2, then solder them and join them with the valve wire). Next, it’s important to always schedule stations 1 and 2 together (you will have to turn ‘Sequential’ mode off so that stations 1 and 2 can be activated at the same time). This way, stations 1 and 2 will simultaneously open to share the current load.
Alternatively, you can replace the current triac with a beefier traic that is rated at 1.2A or above.
The last solution, which is safer (given that these valves are very expensive) is to use a relay. Specifically, OpenSprinkler will control a relay, which in turn opens or closes the valve. You can either use a single 24VAC power supply, in which case the relay should be a 24VAC relay; or you can use two separate power supplies (so that one power supply powers the controller, the other is 24VAC that powers the valve).
RayKeymasterThis isn’t in the plan yet, because network upgrade would require a network-based bootloader. Someone may have written one for avr chips, but I haven’t found one yet.
RayKeymasterNo it shouldn’t. The ATtiny is programmed to function as a USBtiny programmer. You don’t need it if you have an external ISP programmer to directly flash a program to ATmega328.
RayKeymasterCool, thanks for sharing. At the Maker Faire this year we used the same setup: OpenSprinkler with RPi to serve javascripts. There is no reliable Internet connection at the Maker Faire, so this worked out very nicely and I was able to demonstrate all the features of the firmware.
RayKeymasterThere is currently no way to re-order the programs, other than deleting them and adding them in the order you’d like. I agree this is less than ideal, but hopefully you don’t need to re-order too often.
RayKeymasterOK, I agree this is a useful feature and will keep it on my todo list.
RayKeymasterThe Wiki page is now fixed (it was due to a large amount of spam that consumed the sql database quota). Now it’s set to be editable with an account. Also, file upload has been disabled, but you can upload files to somewhere else (like Google docs or Dropbox) and share the link on the Wiki.
RayKeymasterOK, apparently the mysql database is full, probably due to spam (should have required logging in before editing). Anyways, I have to delete the database and recreate it later tonight.
RayKeymasterI will check that later tonight. But in the meantime, try to edit without creating an account — I think the wiki is set up to be editable without logging in.
RayKeymasterYes, it’s true that the master station can only be one of the first 8 stations. so please add this constraint to your app too. Thanks.
I am very impressed by the interface you designed. Now, I haven’t tried it yet, but I am a bit confused how to get it running. From your instructions, I am guessing that this is a front end that runs on a local server which talks to OpenSprinkler and outputs a mobile webpage, is this correct? I would like to give it a try and blog about it. Thanks!
RayKeymasterMy understanding is that the password is defined in a file. So you can simply open the file and edit the password.
RayKeymasterI believe the maximum length is 16 letters.
RayKeymasterBy the way, if you have a multimeter, you should also check the connections of the 8-pin ribbon cable: our most recent batch of the ribbon cable had a high failure rate (i.e. wires are not connected internally), and I won’t be surprised if this is the cause of the issue you have encountered. We will be sending out replacement cables to all recent orders that are likely affected.
RayKeymaster@salbahra: awesome. I like your post and pictures. Very neat. And the app interface is very clean. As soon as you have a version that you are satisfied with, let me know and I’d be happy to blog about it. Thanks!
RayKeymasterTo program a new mcu, you need to do the following:
1) program the fuse bits:
avrdude -c usbtiny -p m328p -B 250 -F -U lfuse:w:0xe2:m -U hfuse:w:0xd1:m -U efuse:w:0x06:m
(this sets various configurations, including setting the mcu to run with internal 8MHz clock. the -B 250 part is important because OpenSprinkler’s built-in usbtiny programmer is set to run at the highest speed, and a stock atmeg328 runs only at 1MHz so it cannot handle that speed. therefore you need to first use a slow programming speed to set the clock to run at 8MHz).2) flash the firmware:
avrdude -c usbtiny -p m328p -F -U flash:w:firmware1.8.3.hex
RayKeymasterwunderground is what a lot of people recommend. You do need to apply for an ID but you can get a free one if you don’t query it too frequently per day.
RayKeymaster1) the 8MHz crystal is optional, although I recommend you to solder it because if you happen to set the mcu’s fuse bits wrong, you can still re-program it (otherwise, if you set the mcu’s fuse bits to use external crystal and if that crystal is not present, it will not be able to start and hence you can’t program it). The spacing of the pins is much narrower than a standard 8MHz crystal, so try to pinch the pins together and fit them in. You actually don’t really need cx1 and cx2: those are there to stabilize the crystal but it usually works fine without cx1 and cx2.
2) RD+/- can be either 47ohm or 68ohm, but I would recommend 47ohm because that’s a standard value recommended by the V-USB design. That being said, 68ohm works just fine.
3) RN2 and RN3 can be either 220×4, or 330×4. RN1 can be almost any value: 220×4, 330×4, 1Kx4, 10Kx4 (basically it forms a voltage divider so the absolute value does not matter).
RayKeymasterAll assembled OpenSprinklers have been tested and should be able to connect. It’s possible that its DHCP doesn’t work with every router. You can try to disable DHCP and set a static IP. You can do so by entering setup options (press and hold button B3 while starting the controller), navigate to the ‘Use DHCP’ option, turn it off, then set the four fields of the IP address (make sure it’s unique and compatible with your router’s settings), and also the four fields of the router’s IP. Then press and hold B3 to save the options. See if this makes it work.
RayKeymasterThanks for pointing this out. To control sprinkler valves, what would be its hardware interface?
RayKeymaster@obrienj: if you have experience with programming in Arduino, you can easily use OpenSprinkler to achieve your plan. There are several available pins on OpenSprinkler to interface with sensors. You do need to customize the firmware to do what you need, but given the description it shouldn’t be difficult.
OpenSprinkler Pi would also work fine.
The choice depends on whether you are more familiar with Arduino programming, or python.
RayKeymasterDo you mean all zones turn on as soon as the operating system is up (i.e. before running any demo software), or does that happen when you run the demo software?
If it’s the former, that sounds like a hardware problem. You should check the rainbow cables and make sure all pins are plugged in correctly. Also check if the wires are inserted fully into the cable connectors: if a wire is left floating, it may cause the shift register to receive incorrect data.
If it’s the latter, it’s clearly a software problem. Try to run ospi_selftest and see if the problem still exists.
RayKeymasterThanks for the update, and glad to hear that it finally worked. Sorry that you had to go through the trouble. I also thought about the possibility of some parts being doa, but I don’t see any strong evidence. Before the SMT version became available, we have soldered and assembled 80+ DIY kits from the same batch of parts, and none of them had any issue. In many cases I’ve seen where the users report their build didn’t work, the soldering quality was a major issue. But from the pictures you’ve posted, your soldering seems to have good quality. So I am also curious what caused the problem in the first place.
-
AuthorPosts