With the controller board complete, I really want to start my programming endeavors with the controller, as compared to the Propeller BOE that I was using. In order to do this efficiently, I really need to start getting things in order, so I worked on designing my user interface today. Over the last week, I have really been thinking more modular. Instead of tying all of my hard work to one machine, I would like the controller and user interface to be detachable, so that I can use it on other machines. This is especially true, since my power supply is already modular. As mentioned earlier, I have a NEMA 1 enclosure which will house the Propeller controller, the user interface, and all the necessary stepper drives. As with my wire bending CNC machine, I will bring the 48VDC necessary for the stepper drives to the back of the NEMA 1 enclosure, and connections will be made with the aid of binding posts. Since it is not readily apparent from the illustration provided below, the cover for the enclosure will face back, and all of the stepper drives will be attached to the enclosure cover, for easy access upon cover removal.
In the Illustration below, you will see the general outline of the user interface on the NEMA 1 enclosure. The enclosure is originally 4" X 4" X 24", but it will be cut down to 4" X 4" X 16-1/8". It may not turn out exactly as shown, because of some connection problems of the Propeller Memory Card and the programming USB port, however this will be the layout that I will be shooting for, and I think I can achieve it. In the illustration, going from left to right, you will see a microSD slot, a mini USB programming port, a power button, a stop button, six program buttons, two multi-color LEDs, and an LCD screen. Here are some key points of the layout and how they apply to the Proto Board controller:
On the back of the enclosure, there will be a DC power jack for accepting power from an adapter. On the inside of the enclosure there will be a patch cord going from the jack to the POWER switch and then down to the Proto Board.
The STOP button will be terminated to one of the two pin headers for E-Stop and over-travel, which goes to IO pin P3 of the Proto Board.
The microSD slot is an extension of the Propeller Memory Card microSD slot, which is controlled by IO pins P8-P15.
The ninety degree programming header for the Proto Board will be replaced with a straight header and a Prop Plug will be attached vertically, as opposed to the original horizontal orientation. A patch cord will be run from the Prop Plug to a PCB with a USB connector. Another USB connector will shoot out the front of the enclosure for easy access programming.
The six program buttons and two LEDs will be controlled by the MCP23008 via the ten pin header, which is I2C.
The Serial LCD will be controlled by the three pin header located at the servo port area of the Proto Board, which is connected to IO pin P4.
Looking at the illustration, you will notice a lot of unused space to the left of the microSD card slot and programming port. This area of the enclosure will be dedicated to housing the Propeller Proto Board controller. As previously mentioned, the heatsinks for the MOSFETs are dangerously close to making contact with other MOSFETs, and we don't want this to happen, so we want to put it in a safe spot. Additionally, there will be a lot of cables coming off of the Proto Board and we don't want to disrupt any of those connections either.
EDIT: Considering that the controller could possibly receive instructions from a PC during runtime, I have decided to move the USB connection to the rear of the enclosure, on the enclosure cover. This will help prevent accidental dislodging during runtime. In addition to changing the location, I will also be changing the port type from a mini USB to a standard USB port.
Refering to the illustration of Post #152 and the user interface, but more particularly the STOP button of the user interface. As mentioned in Post #152...
The STOP button will be terminated to one of the two pin headers for E-Stop and over-travel, which goes to IO pin P3 of the Proto Board.
When I wrote that, I had no idea that tact switches were 99.99% normally open, except for a few hard to find SMDs. Needless to say, it really through me for a loop, because I really wanted the 8 tact switches for the user interface and I wanted the E-Stop to be one of them, and with no pins left, except 30 and 31, I was struggling for a solution, to say the least. I had a concept of what I wanted to do, but I could not figure out how to do it. Basically, I wanted to combine the circuitry of the normally closed limit switches, with the circuitry necessary for a normally open E-Stop (tact switch), which in fact should be a closed switch, according to my board layout.
To make a long story short, Peter Jakacki figured out the circuitry for me (THANK YOU PETER). I have provided two illustrations below. In one illustration, the circuitry that I will be changing is outlined in red. The other illustration contains a schematic of the solution circuitry that Peter so kindly provided.
Please be aware that this change is only necessary if you are using a normally open tact switch for an E-Stop.
I will be exposing and etching two new boards tomorrow, one for the user interface and the other for the power supply switcher.
It took me a while to get motivated today, so there is no way I will finish both boards today. However, in addition to cutting my raw PCB material to size, I also made a positive film and an exposure plate for the power supply switcher, so it is now ready to expose, develop, and etch. I will be using the same process as outlined in Post #146.
In a later post, I stated that I would not do a specific process again, but I changed my mind, because the end result was actually quite nice. This new process actually takes a considerable more amount of time than my old process, but I was much happier with the developing results of the board. As mentioned:
You know you have it just right when you pull it out of the developer and all you see is highly defined traces, pads, and holes.
I will let you know how it turns out. Last time, I said 15 minutes, but this time I will guess 30-45 minutes and I should have a nice board, ready for drilling and soldering.
Just a quick note to say that I was not happy with how the board turned out after developing. I will have to try again. I don't think the positive film was dark enough for the copper pours.
I was having problems with making my circuit boards, because I did not mix the developer correctly. One minor oversight and you can chuck several hours and board materials into the old toilet Anyhow, I am back on track now.
I have included a photo of the power supply switcher. It has not been drilled yet, because I will most likely wait to tin plate it.
As for today, I will be making the PCB for the user interface. This board will be double-sided and nearly four times the size of the power supply switcher. It will take me a while, because I still need to make both the top and bottom films, cut my board to size, and make a matching exposure plate. Making the exposure plate is the most difficult, because it must fit the board size and positve films very tightly, otherwise the drill holes will not align from top to bottom.
Once the user interface board is complete, I can then tin plate the boards, drill them out, and start soldering components, and once all the soldering is complete, then I really get to play, because then I can start using the Proto Board Controller with the main peripherals, such as the Propeller Memory Card, the Adafruit ADC breakout board, the user interface, and the high output daughterboard
Hi
How do you accomplish alignment between the top and bottom side of your circuit boards?
In a past life, I had relatively good success by drilling 2 reference holes in the copper clad.
I have not done this in 15 years or so, but I have interest.
On one of my current projects, I feel the need to get a handle on EagleCad. So far we have not got along well.
My thought is, with a double sided board, a board house like OshPark would serve my purposes.
Good luck, and I'm hoping your double sided circuit board adventure will work.
I'll keep watching for your updates.
I make an exposure frame for everything, and everything fits snuggly inside that frame, the board, the films, and another piece of glass. The frame is basically a rectangular or square perimeter glued to glass. Thicker pads help with minor alignment error.
Good luck, and I'm hoping your double sided circuit board adventure will work.
Well thanks, but this morning I found an error on the single sided board I just made, so I must redo it. The surface mount pads for the barrel jack needed to be mirrored, so I made a new film this morning, but never got around to the board because of too many distractions.
In previous illustrations, the MCP23008 expander chip was wired incorrectly. I have attached a corrected illustration, which also includes the alterations discussed in Posts #154 and #155.
Please be advised that the controller board outlined within this thread, will be undergoing some major changes. I have come to the conclusion that I now definitely want to use two Propeller chips instead of one, and it has been determined that the Propeller Memory Board is of little use to me on this controller. So the Propeller Memory Board will be removed and the left over pins will now be utilized to accommodate additional limit and homing switches.
Comments
With the controller board complete, I really want to start my programming endeavors with the controller, as compared to the Propeller BOE that I was using. In order to do this efficiently, I really need to start getting things in order, so I worked on designing my user interface today. Over the last week, I have really been thinking more modular. Instead of tying all of my hard work to one machine, I would like the controller and user interface to be detachable, so that I can use it on other machines. This is especially true, since my power supply is already modular. As mentioned earlier, I have a NEMA 1 enclosure which will house the Propeller controller, the user interface, and all the necessary stepper drives. As with my wire bending CNC machine, I will bring the 48VDC necessary for the stepper drives to the back of the NEMA 1 enclosure, and connections will be made with the aid of binding posts. Since it is not readily apparent from the illustration provided below, the cover for the enclosure will face back, and all of the stepper drives will be attached to the enclosure cover, for easy access upon cover removal.
In the Illustration below, you will see the general outline of the user interface on the NEMA 1 enclosure. The enclosure is originally 4" X 4" X 24", but it will be cut down to 4" X 4" X 16-1/8". It may not turn out exactly as shown, because of some connection problems of the Propeller Memory Card and the programming USB port, however this will be the layout that I will be shooting for, and I think I can achieve it. In the illustration, going from left to right, you will see a microSD slot, a mini USB programming port, a power button, a stop button, six program buttons, two multi-color LEDs, and an LCD screen. Here are some key points of the layout and how they apply to the Proto Board controller:
- On the back of the enclosure, there will be a DC power jack for accepting power from an adapter. On the inside of the enclosure there will be a patch cord going from the jack to the POWER switch and then down to the Proto Board.
- The STOP button will be terminated to one of the two pin headers for E-Stop and over-travel, which goes to IO pin P3 of the Proto Board.
- The microSD slot is an extension of the Propeller Memory Card microSD slot, which is controlled by IO pins P8-P15.
- The ninety degree programming header for the Proto Board will be replaced with a straight header and a Prop Plug will be attached vertically, as opposed to the original horizontal orientation. A patch cord will be run from the Prop Plug to a PCB with a USB connector. Another USB connector will shoot out the front of the enclosure for easy access programming.
- The six program buttons and two LEDs will be controlled by the MCP23008 via the ten pin header, which is I2C.
- The Serial LCD will be controlled by the three pin header located at the servo port area of the Proto Board, which is connected to IO pin P4.
Looking at the illustration, you will notice a lot of unused space to the left of the microSD card slot and programming port. This area of the enclosure will be dedicated to housing the Propeller Proto Board controller. As previously mentioned, the heatsinks for the MOSFETs are dangerously close to making contact with other MOSFETs, and we don't want this to happen, so we want to put it in a safe spot. Additionally, there will be a lot of cables coming off of the Proto Board and we don't want to disrupt any of those connections either.EDIT: Considering that the controller could possibly receive instructions from a PC during runtime, I have decided to move the USB connection to the rear of the enclosure, on the enclosure cover. This will help prevent accidental dislodging during runtime. In addition to changing the location, I will also be changing the port type from a mini USB to a standard USB port.
I finally got around to taking some photos of the Propeller Proto Board controller. To be perfectly honest, these photos do not do this board justice.
When I wrote that, I had no idea that tact switches were 99.99% normally open, except for a few hard to find SMDs. Needless to say, it really through me for a loop, because I really wanted the 8 tact switches for the user interface and I wanted the E-Stop to be one of them, and with no pins left, except 30 and 31, I was struggling for a solution, to say the least. I had a concept of what I wanted to do, but I could not figure out how to do it. Basically, I wanted to combine the circuitry of the normally closed limit switches, with the circuitry necessary for a normally open E-Stop (tact switch), which in fact should be a closed switch, according to my board layout.
To make a long story short, Peter Jakacki figured out the circuitry for me (THANK YOU PETER). I have provided two illustrations below. In one illustration, the circuitry that I will be changing is outlined in red. The other illustration contains a schematic of the solution circuitry that Peter so kindly provided.
Please be aware that this change is only necessary if you are using a normally open tact switch for an E-Stop.
It took me a while to get motivated today, so there is no way I will finish both boards today. However, in addition to cutting my raw PCB material to size, I also made a positive film and an exposure plate for the power supply switcher, so it is now ready to expose, develop, and etch. I will be using the same process as outlined in Post #146.
In a later post, I stated that I would not do a specific process again, but I changed my mind, because the end result was actually quite nice. This new process actually takes a considerable more amount of time than my old process, but I was much happier with the developing results of the board. As mentioned:
I will let you know how it turns out. Last time, I said 15 minutes, but this time I will guess 30-45 minutes and I should have a nice board, ready for drilling and soldering.
I was having problems with making my circuit boards, because I did not mix the developer correctly. One minor oversight and you can chuck several hours and board materials into the old toilet Anyhow, I am back on track now.
I have included a photo of the power supply switcher. It has not been drilled yet, because I will most likely wait to tin plate it.
As for today, I will be making the PCB for the user interface. This board will be double-sided and nearly four times the size of the power supply switcher. It will take me a while, because I still need to make both the top and bottom films, cut my board to size, and make a matching exposure plate. Making the exposure plate is the most difficult, because it must fit the board size and positve films very tightly, otherwise the drill holes will not align from top to bottom.
Once the user interface board is complete, I can then tin plate the boards, drill them out, and start soldering components, and once all the soldering is complete, then I really get to play, because then I can start using the Proto Board Controller with the main peripherals, such as the Propeller Memory Card, the Adafruit ADC breakout board, the user interface, and the high output daughterboard
How do you accomplish alignment between the top and bottom side of your circuit boards?
In a past life, I had relatively good success by drilling 2 reference holes in the copper clad.
I have not done this in 15 years or so, but I have interest.
On one of my current projects, I feel the need to get a handle on EagleCad. So far we have not got along well.
My thought is, with a double sided board, a board house like OshPark would serve my purposes.
Good luck, and I'm hoping your double sided circuit board adventure will work.
I'll keep watching for your updates.
I make an exposure frame for everything, and everything fits snuggly inside that frame, the board, the films, and another piece of glass. The frame is basically a rectangular or square perimeter glued to glass. Thicker pads help with minor alignment error.
Well thanks, but this morning I found an error on the single sided board I just made, so I must redo it. The surface mount pads for the barrel jack needed to be mirrored, so I made a new film this morning, but never got around to the board because of too many distractions.
To concentrate my effort into one location, ongoing discussion pertaining to this board, will now be located at this thread: http://forums.parallax.com/showthread.php/160739-New-Attempt-3D-Printer-Controller-And-Firmware