So I wanted to learn more about microcontrollers and programming as well as circuit layout and figure the best ways to learn is to do. To this end I wanted to take something simple and make it.... Not I suppose. When I purchased an old Leeds & Northrop decade box on eBay to have as something of a workable museum piece, I thought of my idea to have a steampunk style electronics bench with most things looking steam punkish while being functional. The simplistic beauty of the brass contacts wooden case and bakalite face plate and dials appeals to some fantasy geek in me obsessed with things like rigid airships.
While a healthy fantasy is one thing (the ride loathes my clutter now and I doubt she would respond favorably to a steam punk theme in her house she sustains things that are not real, no imagination that one) reality and part of that being a lack of space made me think this could be a great project. I have since searched many different schematics of decade boxes for inspiration when this one caught my good friend liquibyte's attention.
https://www.eevblog.com/forum/projects/digital-decade-resistance-box-25684/It did this because I wanted mine to be modular and this one posted by kzenos is. His schematic uses an extensive logic system instead of a microcontroller for a few reasons he stated and after contacting him he sent over all of what he had and I of course promised that credit would be given. With that bit of business done I looked into how I could go about doing this and I will be ordering parts including an i2c i/o expander as well as a component to work as a switch. My idea is to minimize moving parts and reduce part numbers to bare minimum for size concerns. I am hoping of the possibly of designing a tiny surface mount version but that will need to wait.
Parts
Main components for the project will be...
Main control board and dock:
Amtel microcontroller
Vacuum tube display
Keypad
Decade cards:
Pcf8574a - 8 bit w/o expander
2 - assr-1520 - 1a solid state relay 0-60v
Resistors/capacitors/inductors varied
This list is by no means comprehensive as this is what I believe I will need to prove the digital switching system with the microcontroller. If I can get one to function then I will add a second to prove it will work before a scale up to individual breadboard to mimic the expansion system. I don't forsee many problems with the circuit, my biggest learning curves will be the programming and learning to address i2c properly and figuring a way for the microcontroller to detect at least on boot what boards are detected. For Instance in the beginning it will need to know that the ones ohm board is connected as well as the tens ohm board and so on so it can properly set resistance. I would also like to have capacitance and possibly inductance boards as well, possibly with separate outputs that are programmable to each type. This way if you needed 333ohms and 75uf you would put in the 1,10, and 100 ohm boards as well as the 1 and 10uf boards. The issue is the microcontroller needs to be able to know intuitively what type of board is installed and what ranges and values (i.e. pf, uf, ohm, k-ohm, m-ohm, as well as ones tens etc. This is important so it doesn't always read in one scale like reading in ohms at the mega ohm level) are installed. This is my second learning curve and while the programming side I have tutors for I have no idea how this will work.
At first we figured maybe an extra connected wire/path for the different types like the connection to the resistance boards is six wire and capacitance right wires with a resistor or something that is used to set the value that the microcontroller then reads. This may work perfectly I am not sure, I like it because it seems simple but it seems to simple and I am unsure how a microcontroller even would behave trying to look at and decide how to classify things this way. I know how computers do this sort of thing software wise with different id numbers and such, is the there a way/component that I can get that just sends a digital id to a microcontroller? I know that the i2c bus is addressable but commonly sensors and such are only capable of setting a few addresses with a set of resistors or something. Which worries me because that may mean I can only use two or three of any given chip.
This is where my knowledge or lack there of begins to fail me in a big way. Can anyone point in the right direction? I am not looking for full answers here more of how to find the answer or an explanation of why our where I have gone wrong and a point in the right direction as well as thoughts and or suggestions. Remember this is mostly an academic project to learn something and expand from somewhere I am comfortable with starting and into new realms. I understand decade boxes and that simple switches and or adjustable resistors in a dial make simple and cheap decade boxes. I own one that's older than I am. The point is to use this as a spring board for future projects both in programming and board layout as well as circuit design.
Please try not to smash me to badly I know I have much to learn and I am hoping that a little donation of time from the wonderful eev community will help to return large dividends in furthering my knowledge in electronics and programming. So, thank you in advance for any time you can spare me. I know it's one of the things many of us have precious little to spare