Starting My First Spinneret Project
G McMurry
Posts: 134
I am about to design a PCB that will host a Spinneret. I want to use the AUX IO Daughter board header differently. I would like the Spinneret to be the daughterboard. SO, I would like to remove the 12 pin connector and mount it on the back. Then mount the whole Spinneret as a daughterboard to my main board.
Any problem with that?
Also, are there mechanical specs posted anywhere of the size and placement of the Aux IO Connector with regards to the four mounting holes on the Spinneret PCB? I want to get started on my PCB design but Parallax is not shipping Spinneret now and I need the mechanicals to get me started with my own PCB design.
Greg
Any problem with that?
Also, are there mechanical specs posted anywhere of the size and placement of the Aux IO Connector with regards to the four mounting holes on the Spinneret PCB? I want to get started on my PCB design but Parallax is not shipping Spinneret now and I need the mechanicals to get me started with my own PCB design.
Greg
Comments
The Spinneret PDF should have this info for you on the Spinneret product page.
My next issue is the usage of the AUX I/O connector. I want to use the Web Server stuff that is available for the Spinneret (of course). My project needs considerable I/O. I am sure I have plenty of time available but I need to anticipate the use of the Auxilary I/O that I will need.
So far, it is clear that I have P24, P25, P26 and P27. It also looks like I have full time use of P30 and P31 after boot.
What about SDA and SDCL on the AUX I/O connector. Can I use those pins for I/O data and clock or will I run into problems with on board systems in the WS100 and the ROM using those pins?
Greg
I need a boat load of dip switches. Does anyone know if the 100k internal pullup on the PCA9554 and PCA9555 is suitable for use with a dip switch? I'd love to save the real estate and not add a bunch of resistor pullups.
I am also looking for a DIP packaged ADC with 8 channels, 3.3volt supply and I2C. So far I have had no luck. 8 or 12 bit, either will work for me. I found the MCP3208 but it is SPI. I will go with that if I can't find anything else.
Greg
I am making a PCB for my first project and it will be some time before I actually get into trying it out.
Greg
s35390a = $00
Please see the datasheets on the Spinneret product page as well as spinneret source code.
Here is what I have...
Spinneret with Expansion Port removed and soldered on the rear of the board.
Mounted on my own PCB that has the following:
Power Supply (Spinneret runs off of 5vdc thru J1) There are two power inputs but in the shown case, they are both on the same 12 vdc supply. One supply is for relays and external (off board) voltages, and the other is for the Spinneret and logic supply. First the 12 vdc goes through a 7805 which feeds the Spinneret (thru J1) and then the 3.3 volt regulator that takes care of the rest of the board.
4 ea PCA9554 8 bit IO ports connected to SDA and SCL on the Spinneret. The PCA9554s are under the Spinneret so not visible in the attached picture. The 4 ports are used as follows:
1. 8 bit dip switch (set IP address)
2. 2 X 4 bit Dip Switches (misc uses)
3. 4 relays and 4 Opto Isolated Inputs (I know it looks like two relays, but those are double relays)
4. 8 LEDs associated with each of the 8 12-bit Analog Inputs. Basically this is to show status of the Analog input.
1 ea MCP3208 8 input 12-bit A to D Converter. There are scaling resistors available on each input and a voltage source available to each input. I am using this to sense multiple states on a single wire (X8). When the input is terminated at the source with a 220 ohm resistor, the Analog input will be 6 vdc. When it is disconnected, it will read 12 vdc. When it is shorted it will read 0 vdc. There are two scaling resistors ( voltage divider) available to scale the input from ~12 vdc to ~3vdc (the maximum input I can use on the converter.
SO -- Here's my game...
I am designing a 7.5" railroad switching system. Each switch (turnout) will have one of these boards. Relays operate signal lights and the turnout motor (the actual switch operator) and the combination of the 8 Analog inputs and the 4 Opto Isolated inputs provide the rest of the system. All the switches will appear on a standard network. Each board will have its own IP address which is set by the 8-bit dip switch. 192.168.0.XXX for example -- 0 to 255 set by the dip switch. The other switches just set different modes.
I am using the ADC to look at various sensors around the switch that will show a train approaching the switch and then the switch will act upon the information provided. We have used this sort of 12v 6v 0v system before and it provides a simple tri-state signal. Basically the train shorts out the two rails when it crosses an isolated section. When the short is there, I see something like 0 vdc. When the train is not there I see approximately 6 vdc. When the wire is cut or damaged, I will probably see 12 vdc or a prolonged 0vdc. All of these are easy to determine after accessing the ADC.
The Opto Inputs ( I am only using one) will be what we call a "slap switch" that the engineer can hit as he approaches the switch to operate or toggle the switch (turnout).
I am just starting to use some SMD on this project. For now, just a few resistors and LEDs. I still like the idea of being able to plug replace suspicious components. Learning to attach those tiny SMD / SMT LEDs and Resistors was enough for me this time. If anyone is thinking of taking on surface mount devices, my advice is to BUY THE PROPER TOOLS. It makes all the difference in the world.
I forgot to specify Solder Mask and Silk Screen on my order at ExpressPCB. So, for the prototype, this board has none.
So, that's my project. Sounds fun doesn't it?
Greg
I am a member of the Baltimore Streetcar Museum which is a trolley museum and I have been working on a Nachod signal system myself. But my system will use RS-485 to talk back an forth between the signals and the visitor center that 1/2 a mile away.
BTW, I would love to see your ExpressPCB drawings for this board.
Here is the board...
Greg
BTW, do you have the ExpressPCB schematic for this board as well. Since, I like to see how you pulled it off.
Greg
I am knee deep in my version 2 PCB with many upgrades after considerable testing. The new board has much more functionality and uses much less power.
1. Relays have been removed. They take up too much room and power. I changed everything over to open collector outputs to drive the signals. All the new signals I expect to use are LED anyway and under 50ma each. So, the ULN2803 works fine and takes up much less room.
2. The Relay H bridge was also changed out for a 754410 motor controller. This also works great...
3. I added a connector to allow expansion of the I2C bus for a piggy back expansion board. Then, made one. It has a PCA94554 that operates another 754410 motor controller and 6 additional ULN2003 LED Driver. I am quickly running out of I2C addresses... But I think I have enough for everything I want to do.
4. More on I2C Bus I made a 4-wire connector on my board from a .1 center Molex connector. Ground, Data, clock and +3.3 are on the connector. I only use the 3.3V to operate the I2C expansion board PCA9554 chip. I made the address jumperable (is that a word?). I know I am pushing the electrical ability of the Spinneret I2C but it seems to work. I am depending on the resistors already on the Spinneret, the I2C then operates several PCA9554 devices on my main board, then it jumpers off the main board to my expansion board. I kept the jumper leads to about 4 inches. It all seems to work fine.
5. Using the SN754410 Motor controller has been interesting. It is absolutely essential to install ALL the external diodes that is suggested in various application notes I found. Running the motor controller, 5v logic, directly connected to the 3.3 volt PCA9554 device works fine. If you don't have those noise diodes in place, you can crash the PCA9554 and that's no fun. Now that I have properly used 4 schottky diodes on the motor driver outputs, along with a .1 cap across the motor leads, I no longer have noise problems. I am just running a 2 wire DC Permanent Magnet motor forward and reverse so I paralleled the 4 device outputs to give me two slightly stronger drivers. Heat in my application does not seem to be a problem, though I put plenty of ground plane around the SN754410 device on the PC Board. I am running the motor controller with two wires. Enable and Direction. I made an inverter with an NPN transistor so that I can have a 1 wire direction bit. Works great.
6. I have been using an 8 channel ADC for sensing trains in what we call blocks. Works well. Basically, I send out 12Vdc through a 470 ohm resistor and read the voltage on other side of the resistor. The line gets terminated at the destination with another 470 ohm resistor. I have to scale down the reading to 3 volts to read it on the MCP3208 using a simple voltage divider. With the circuit in normal I read about 6 volts across the first 470 ohm resistor. When a train is on the track, I read 0 volts. It one of the wires break or is not connected I read 12 volts. All this seems to work well.
That's about it... I will be following up with some pictures in the next few weeks. I jury-rigged the solid state devices on my first PCB and have tested all the mods that way. I am almost finished and about ready to order my V2 PCB where all the nice solid state devices will have a proper home.
We also are continuing on with software experiments. What fun!
Greg