It's just looking to the future type of thing. Why waste a whole slave channel with dedicated addresses when I could have a couple of dual slave channels available. I'm looking for more along the lines of having racks of mines that I would want to fire at the same time all the time. Mines look cooler when they're done in groups and spread out. I'm not saying I'm going to add this in for sure, but I may put a header in to add additional driver boards for this in the future. Do you remember our current limit of slaves we talked about?· I'm going to get 20 of the slave boards printed so I have room to expand and have spares for during the show if a slave dies for some reason, I can quickly swap it out for another one.
Ok, got the prop plug, loaded mctrivias boot loader on to the prop (i think) copied the code.bin to the sd card. Connected the master board to one of the driver boards. Powered everything up and I don't get any of the enable led's lighting up going to the drivers. Is there something I'm doing wrong, or don't the enables come on long enough to see them on the LED's? I haven't connected the test slave yet, I would like to make sure I know I"m good up to the drivers at least.
This is all I'm working on tonight, so let me know any time.
can one of you upload the combokeyboard.spin for me. The one I downloaded gives me errors.
OMG this post is so long I have to down arrow to see the last page.
Combo Keyboard is attached. Got home a couple of hours ago and started to work on replacing keyboard with switches. Should be done before the weekend is over.
FYI, you need to press enter on the keyboard to start and pause the program. Pressing esc when paused will reset it so that it starts from the beginning when enter is pressed.
No, you are not supposed to have a keyboard attached to your master. Earlier in the post you were going to be using the prop protoboard which does have a keyboard, mouse, and video connector as an option. Since that is what I am using to write the software I plugged in a keyboard rather than assemble and wire switches. Didn't take that into account when I sent you a copy.
I have now wired two switches to P26 and P27 with the 10K pullup and 100 ohm series resistors as shown on the protoboard schematic. As soon as I finish writing and testing the software for the switches I will post it. In the meantime can you please verify that we are still using P26 and P27 for the switch inputs.
we can use those. I'll have to add in the pullup and series resistors. but I do have points to solder to on the master to add those in. Just let me know when it's ready and I'll assemble the switches. do they need to be 100 ohm? we've been using 1k for the series for everything else.
Let me make sure·I know·the function of the switches.· P26 & 27 are in a normally high state because of the pull up resistor, when the switch is activated, it takes it to a low state (ground)· the pause button keeps it in a low state until it is released at which time it goes high again and lets the program continue.· Is the reset/run the same way or is it a momentary switch?
You do not need the series resisters. They should be very small if Included.
The purpose of them is to protect if for some reason switch input voltage is outside 0-3.3v
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
Both switches ate momentary contact push buttons. The series resistors should be small to make sure the voltage on the pins is pulled down close to ground. 1K will probably be ok if thats all you have but 100 - 270 ohms would be preferable.
BTW if you have 2 unused pins with pullups and series resistor available I can use them instead. Very minor change.
Ok, I do have a bunch of others sizes below 1k, I think there are some 200's in there somewhere. The only pins I have with pullup's are coming off the 3rd 74hc595 chip. I can easily make a small control board. I had planned on using a dpdt switch for the play/pause so I could have one side of it hooked to a master relay for the ignition power source and the other side to pause it. I can just add a push button into the dead mans box to pause it and then hit it again to continue when I flip the power switch back on. Not a big deal.
chaosgk, you can use the dpdt switch if you want. I can easily make that change to the software. Just let me know what you prefer.
My hard drive crashed yesterday evening and I lost everything I have done since last Sunday. I am limping along on a smaller USB HDD and minimal software install until I get a new HDD on Monday. I will give your software top priority in the meantime.
I would prefer a momentary switch for the reset and the dpdt for the play/pause. I'm not sure how you want to work it, but basically when I flip the toggle switch to one position, it puts it into play mode, when it flips to the other position, it goes to pause mode. Should be able to reset it when in pause mode. for the time being, it can be a momentary switch if the play/pause can be changed in the software later, just so I can get this board tested and then sent of to the printers.
Yeah, I figured it would need to be in the pause position which is fine away. Is there any way you can use another spare pin to show a status led. Blinking for running, solid for paused? If not, no big deal, but would be nice to have some sort of indicator directly on the board that the program is running or safe.
One of the 3 '595's we added to the master for slave addressing is used as a status indicator. So far I am only using 3 of the 8 possible outputs to indicate Reset, Run, and Pause. Since pause is controlled by the same DPDT switch as ignitor power it is actually the Pause/Safe indicator.
PS - I think I can have the master power up in the reset mode so it is not running the firing program regardless of what state the run/pause switch is in. In this case if the switch is in the run position you would have to switch to pause and back to run to start. Do you want this?
Absoultely, that way, I have to at least cycle the start/pause before anything will be active, that's a great option if you can add it in.
when we get the software working I'll change the master design to match all of the current changes for status led's and start/pause/reset pins.· I'm planning on getting 5 copies of the master printed and 20 slaves printed.· It should just fall under my budget for the hardware with what we made in donations.· Then when they come in, I can send you a copy of the master and a slave and the same with mctrivia.·
Another question i've been looking at is how to impliment a backup of the master. Here's the situation I see, extreme, but should be considered.
We start the show after all checks have been in place, for some reason the master gets damaged/shorts/whatever while running, say an aerial shell fails to lift and explodes on the master (extreme).· I will have a second master as a backup·in the field, Do you see any convenient way of getting the master up and running and back into the show without having to start the program from the beginning?· I was thinking of starting both master and the backup master at the same time with the same programming. I would have to purchase another propmod from mctrivia for this to work and I would probably manually wire in the start/pause/reset switches into the backup box and start them at the same time. If something were to happen to the master I could swap out the connections to the slaves and be close to the same place in the program, any other way of doing this, is it possible to run multiple "tracks"· on the program kind of like a CD.·
We wouldn't need it in this version of the boombox control, just looking at possible problems down the road.
Also looking at the same type of setup for the slaves.· If for some reason, a slave quits, I can easily run out, power it down and swap it for another slave and bring it back online with the new one without losing many of the shots.
you can wire the button pins in parallel and both master and spare master would stay in perfect sync(+-3.4ns/m of wire)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
I'll look at using something like an xlr Jack or something that is a good quick connect option for those and just have an in/out port on each master so I can link them.
Should we start a Relay Board2 post so we don't have to go through 22 pages.
not unless you want to make a sinopsis of everything to date with link to this thread.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
Ok, I may look at making a new thread and putting all of our notes in there and updates so people don't need to read through 22 pages to get the idea of what is going on.
Starting a new master where the old one left off is a bit tricky. Mctrivia's idea may work, but I am not sure. Ideally we need to give the new master a "time index" to tell it where to start the music and igniter program.
Not going to happen in version 1, but I will think about it. Any suggestions are welcome.
I was kind of leaning towards mctrivias idea as well, I didn't at all expect it in this version, just something to keep in mind.· I can't see any reason why if I reset both slaves at the same time and have both linked to the same run/pause switch that the programs wouldn't start at close to the same time.· I'm not looking to be perfectly in sync, just within a minute or a few seconds so if it happens that I have to swap out the master 10 minutes into the show, we don't have to sit for 10 minutes for the new master to catch up with where the old one died.·
I think if I build each master with an in and out port, I should be able to jack into the primary, and run a simple mic cable from the out port to the in port on the other one.· The slaves don't talk back to the master at all, and the drivers are going to broadcast regardless of a receiver picking up the data anyway so do you see any problems with it.· I think as long as my grounds are linked between the masters, the pulldowns should work coming across the link.
What will happen to the program if my dead mans switch comes unplugged.· The show should continue shouldn't it. It's only when the switch goes low that it pauses, right?· so if I need to swap the dead mans switch to the other master, I shouldn't be risking a reset or start should I... Except when the switch gets disconnected, it will go high and start again..· I'll have to put a manual override on the masters to keep them low while I'm moving the cables.·
(this is all a "what if" senario anyway). ·
That sounds like a workable approach. All you should really need is a 3 wire connection to get the signals from the two switches to the backup master.
If the interconnecting cable comes off the backup should continue to run the program.
How soon before you have a slave board I can borrow for testing? I can get by without a master since I have a prop protoboard and a board with 3 '595's to simulate the slave select/status circuitry. The slave does not even need to have the relays on it. Just the TPICS and leds would be a great help.
Oh, I was waiting to get the latest version of boombox that has the options for the switches instead of the keyboard so I could do a quick test on mine and make sure my connection traces and everything work as expected so I can see the master talk to everything. If you can get that posted, I will test it tonight and get the slaves sent off to the PCB company then it will be two weeks. I can't seem to get my CNC to track perfectly enough to do a full slave with all of the holes in the correct places. I have my original test slave with two tpics and 16 relays that I was using to test the ignitors with, but it hasn't actually been connected to the master yet.
Here is a test program for the master. It should step through and select each slave for 1 second and display 3 status bits any time one of the switches change state.
Put both files in a folder and use the prop tool to compile and load them.
PS Sorry for the delay. My short calibration yesterday turned into a long repair followed by a short calibration. Would be so nice if customers called to let you know they had developed problems as well.
Uploaded test program for slaves. It should activate the first slave and sequentially enable each relay on the slave for 0.5 seconds, then do the same for slaves 2-15.
chaosgk, what is the shortest time you expect to have between igniting 2 sets of charges.
ie If you just fired one or more shells at some point what would be the shortest delay before the next firing of more shells.
The shorter the time the faster I will have to send the data from the master to the slaves so only make it as short as really needed. If 0.5 seconds is fast enough then no problem. If you need faster I will need a higher data rate.
I could actually see faster than .5 seconds on some of the sets.· I could get by with .25 or even better .2 seconds.· The resolution on the firetick is .1 seconds, but I can get that changed to .2·
Riddle me this.... will the time resolution be based on the .5 seconds and everything will be fired at .5 second incriments or is that just the time delay between shots.
Say I fire at 350 (3.5 seconds)· can I fire again at 430 (4.3 seconds)· or will it have to wait till 450 to fire again?·· I can probably get away with .5 if it's going to be a lot of trouble.· Most of my aerial shells are accurate down to .3 seconds on the delay fuses and ground effects are instant.·
What pins do we have assigned to said status LED's again?
PS. No worries on the delay of getting this done. I know exactly what you mean about customers not actually telling you there are other problems, that is my life as a tech. ·
"Riddle me this.... will the time resolution be based on the .5 seconds and everything will be fired at .5 second incriments or is that just the time delay between shots."
The time resolution of the timer is 0.001 seconds ( 1 mSec ). The problem is that worst case you have to send 56 bits (slave data) x 15 slaves (840 bits) + 24 bits (slave select and status) out in the time between when one group is fired and the time until the next one has to be fired. This is the worst case scenario, and hopefully will not occur, or at least not often. The slave select/status is on the same board so we can run that much faster (64Kb/s). I am looking at 8Kbits/second or possibly 16Kbits/second for the slave data.
Spin is too slow to do that so I am going to PASM. I can push the bits out fast enough in PASM to do the worst case scenario in 0.125 seconds if I run at 8Kbits/second. My concern is if the data will go the distance at that speed.
"Say I fire at 350 (3.5 seconds) can I fire again at 430 (4.3 seconds) or will it have to wait till 450 to fire again? I can probably get away with .5 if it's going to be a lot of trouble. Most of my aerial shells are accurate down to .3 seconds on the delay fuses and ground effects are instant."
Depends on how many slaves you have to upload info to and the data rate we can manage. Lets say that after you fire at 350 you want to fire one or more shells on slave 2.
At 8Kb/s it would take about 7.375 mS to send the data to slave 2 so you could fire it as early as 3.508 seconds. If however you had to upload data to fire a shell from each slave it would take 0.105 seconds or 3.605 seconds, still within that time frame.
At 1Kb/s those times would be 3.56 seconds for one slave and 4.340 seconds for all 15.
Comments
Post Edited (chaosgk) : 7/10/2009 2:20:53 PM GMT
This is all I'm working on tonight, so let me know any time.
can one of you upload the combokeyboard.spin for me. The one I downloaded gives me errors.
Post Edited (chaosgk) : 7/11/2009 1:38:28 AM GMT
Combo Keyboard is attached. Got home a couple of hours ago and started to work on replacing keyboard with switches. Should be done before the weekend is over.
FYI, you need to press enter on the keyboard to start and pause the program. Pressing esc when paused will reset it so that it starts from the beginning when enter is pressed.
I have now wired two switches to P26 and P27 with the 10K pullup and 100 ohm series resistors as shown on the protoboard schematic. As soon as I finish writing and testing the software for the switches I will post it. In the meantime can you please verify that we are still using P26 and P27 for the switch inputs.
Let me make sure·I know·the function of the switches.· P26 & 27 are in a normally high state because of the pull up resistor, when the switch is activated, it takes it to a low state (ground)· the pause button keeps it in a low state until it is released at which time it goes high again and lets the program continue.· Is the reset/run the same way or is it a momentary switch?
Post Edited (chaosgk) : 7/11/2009 6:23:09 PM GMT
You do not need the series resisters. They should be very small if Included.
The purpose of them is to protect if for some reason switch input voltage is outside 0-3.3v
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
Obex.propmodule.com has an example
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
BTW if you have 2 unused pins with pullups and series resistor available I can use them instead. Very minor change.
My hard drive crashed yesterday evening and I lost everything I have done since last Sunday. I am limping along on a smaller USB HDD and minimal software install until I get a new HDD on Monday. I will give your software top priority in the meantime.
I will code it for the DPDT pause/run switch contact on P26 and the momentary push button for reset on P27. Reset will only be possible when paused.
Will do my best to have it ready by end of today.
You do realize that you will have to have the switch in the pause position when you power up the master or the program will start running right away.
Post Edited (kwinn) : 7/12/2009 11:45:08 PM GMT
PS - I think I can have the master power up in the reset mode so it is not running the firing program regardless of what state the run/pause switch is in. In this case if the switch is in the run position you would have to switch to pause and back to run to start. Do you want this?
Post Edited (kwinn) : 7/13/2009 3:34:41 PM GMT
when we get the software working I'll change the master design to match all of the current changes for status led's and start/pause/reset pins.· I'm planning on getting 5 copies of the master printed and 20 slaves printed.· It should just fall under my budget for the hardware with what we made in donations.· Then when they come in, I can send you a copy of the master and a slave and the same with mctrivia.·
Another question i've been looking at is how to impliment a backup of the master. Here's the situation I see, extreme, but should be considered.
We start the show after all checks have been in place, for some reason the master gets damaged/shorts/whatever while running, say an aerial shell fails to lift and explodes on the master (extreme).· I will have a second master as a backup·in the field, Do you see any convenient way of getting the master up and running and back into the show without having to start the program from the beginning?· I was thinking of starting both master and the backup master at the same time with the same programming. I would have to purchase another propmod from mctrivia for this to work and I would probably manually wire in the start/pause/reset switches into the backup box and start them at the same time. If something were to happen to the master I could swap out the connections to the slaves and be close to the same place in the program, any other way of doing this, is it possible to run multiple "tracks"· on the program kind of like a CD.·
We wouldn't need it in this version of the boombox control, just looking at possible problems down the road.
Also looking at the same type of setup for the slaves.· If for some reason, a slave quits, I can easily run out, power it down and swap it for another slave and bring it back online with the new one without losing many of the shots.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
Post Edited (mctrivia) : 7/13/2009 4:43:27 PM GMT
Should we start a Relay Board2 post so we don't have to go through 22 pages.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
Not going to happen in version 1, but I will think about it. Any suggestions are welcome.
I think if I build each master with an in and out port, I should be able to jack into the primary, and run a simple mic cable from the out port to the in port on the other one.· The slaves don't talk back to the master at all, and the drivers are going to broadcast regardless of a receiver picking up the data anyway so do you see any problems with it.· I think as long as my grounds are linked between the masters, the pulldowns should work coming across the link.
What will happen to the program if my dead mans switch comes unplugged.· The show should continue shouldn't it. It's only when the switch goes low that it pauses, right?· so if I need to swap the dead mans switch to the other master, I shouldn't be risking a reset or start should I... Except when the switch gets disconnected, it will go high and start again..· I'll have to put a manual override on the masters to keep them low while I'm moving the cables.·
(this is all a "what if" senario anyway).
·
If the interconnecting cable comes off the backup should continue to run the program.
How soon before you have a slave board I can borrow for testing? I can get by without a master since I have a prop protoboard and a board with 3 '595's to simulate the slave select/status circuitry. The slave does not even need to have the relays on it. Just the TPICS and leds would be a great help.
Post Edited (kwinn) : 7/15/2009 3:57:44 AM GMT
Put both files in a folder and use the prop tool to compile and load them.
PS Sorry for the delay. My short calibration yesterday turned into a long repair followed by a short calibration. Would be so nice if customers called to let you know they had developed problems as well.
Uploaded test program for slaves. It should activate the first slave and sequentially enable each relay on the slave for 0.5 seconds, then do the same for slaves 2-15.
BTW, both programs need ElapsedTimer
Post Edited (kwinn) : 7/16/2009 6:18:11 PM GMT
ie If you just fired one or more shells at some point what would be the shortest delay before the next firing of more shells.
The shorter the time the faster I will have to send the data from the master to the slaves so only make it as short as really needed. If 0.5 seconds is fast enough then no problem. If you need faster I will need a higher data rate.
Riddle me this.... will the time resolution be based on the .5 seconds and everything will be fired at .5 second incriments or is that just the time delay between shots.
Say I fire at 350 (3.5 seconds)· can I fire again at 430 (4.3 seconds)· or will it have to wait till 450 to fire again?·· I can probably get away with .5 if it's going to be a lot of trouble.· Most of my aerial shells are accurate down to .3 seconds on the delay fuses and ground effects are instant.·
What pins do we have assigned to said status LED's again?
PS. No worries on the delay of getting this done. I know exactly what you mean about customers not actually telling you there are other problems, that is my life as a tech.
·
The time resolution of the timer is 0.001 seconds ( 1 mSec ). The problem is that worst case you have to send 56 bits (slave data) x 15 slaves (840 bits) + 24 bits (slave select and status) out in the time between when one group is fired and the time until the next one has to be fired. This is the worst case scenario, and hopefully will not occur, or at least not often. The slave select/status is on the same board so we can run that much faster (64Kb/s). I am looking at 8Kbits/second or possibly 16Kbits/second for the slave data.
Spin is too slow to do that so I am going to PASM. I can push the bits out fast enough in PASM to do the worst case scenario in 0.125 seconds if I run at 8Kbits/second. My concern is if the data will go the distance at that speed.
"Say I fire at 350 (3.5 seconds) can I fire again at 430 (4.3 seconds) or will it have to wait till 450 to fire again? I can probably get away with .5 if it's going to be a lot of trouble. Most of my aerial shells are accurate down to .3 seconds on the delay fuses and ground effects are instant."
Depends on how many slaves you have to upload info to and the data rate we can manage. Lets say that after you fire at 350 you want to fire one or more shells on slave 2.
At 8Kb/s it would take about 7.375 mS to send the data to slave 2 so you could fire it as early as 3.508 seconds. If however you had to upload data to fire a shell from each slave it would take 0.105 seconds or 3.605 seconds, still within that time frame.
At 1Kb/s those times would be 3.56 seconds for one slave and 4.340 seconds for all 15.
Post Edited (kwinn) : 7/17/2009 3:32:57 AM GMT