Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

single electrode input/output

Status
Not open for further replies.

xaviergisz

New Member
I want to build a circuit that uses a single electrode that can act as both an input and an output.

I have attached diagram of my first guess of how to do this.

Do you think this would work? I'm a newbie, so be nice ;)
 

Attachments

  • splitcircuit.JPG
    splitcircuit.JPG
    8.6 KB · Views: 179
Last edited:
I want to build a neural network out of modules (i.e. blocks).

Each module has 6 sides with one electrode on each side. The modules are stacked together so that one electrode on one module touches one electrode on another module.

Each electrode acts as both an input and an output for the simple analog circuit inside each module. I need to split the input and output at each electrode so I don't get feedback within the module circuit.
 
I want to build a neural network out of modules (i.e. blocks).

Each module has 6 sides with one electrode on each side. The modules are stacked together so that one electrode on one module touches one electrode on another module.

Each electrode acts as both an input and an output for the simple analog circuit inside each module. I need to split the input and output at each electrode so I don't get feedback within the module circuit.

What will the analog signals be used for? What is generating them? This is something for machine AI?
 
Last edited:
The goal of any neural network is ultimately machine AI, so I suppose mine is no different.

The analog signals could be any type of sensor input, for example the signal for one electrode could be from a single pixel of a CCD array.
 
What are you using as a voltage reference?


Torben
 
ah, good question Torben.

Initially the modules would be be connected to and powered by positive and negative/earth rails.

Ultimately, I would hope to power the modules wirelessly or perhaps using an "Avramenko one wire circuit" (see this discussion for details).
 
ah, good question Torben.

Initially the modules would be be connected to and powered by positive and negative/earth rails.

Ultimately, I would hope to power the modules wirelessly or perhaps using an "Avramenko one wire circuit" (see this discussion for details).

I agree with the comments on that site: you must have a circuit in order for it to work. There are a couple of ideas toward the end involving using the air as a dielectric to capacitively couple the devices but that won't be trivial and I wouldn't think it worth the effort.

Remember, copper is expensive. If there were a reasonable way to skip running ground wires all over everything, then designers would do so. ;) No offense, but I think the idea requires further baking. Maybe something related to RFID would be more feasible.

How large will the blocks be? What experience do you have with electronics?


Torben


Torben
 
At the moment I want to focus on the single electrode input/output circuit using positive and earth rails rather than the pitfalls of wireless (or single wire) power transfer.

The blocks would be as small as possible. I was thinking the circuit would fit on a 5x5cm PCB, thus a module would be 5x5x5cm.

I took a course in electronics a while ago but never used these skills outside of the classroom, so I consider myself at an intermediate level.
 
Last edited:
What are you using as memory for the learning function? If you are using micros as the intelligence why not just use the UART? I must admit to not have read up about neural nets.
 
My idea is a fully analog neural network, so I don't want to use a UART or any other digital transmission device.

For memory I'm thinking of using a memristor (or probably an active equivalent of a memristor).
 
If it's fully analog then any connections depend entirely on exactly what it is.

sorry, I don't understand what this means.

Although it sounds a completely useless idea to be honest?.

Basically this is a toy/tool for investigating analog neural networks. It may turn out to be completely useless, but I will not be convinced until either a) someone provides a compelling reason why it wouldn't work, or b) I test it out myself.
 
sorry, I don't understand what this means.

You need to provide the circuits of the nodes, overwise how can anyone suggest interconnections.

Basically this is a toy/tool for investigating analog neural networks. It may turn out to be completely useless, but I will not be convinced until either a) someone provides a compelling reason why it wouldn't work, or b) I test it out myself.

Build it and see than, but your question is much too vague to offer any suggestions - how complicated is each node going to be?, and how many were you thinging of?.
 
What I want to know is:

can a single electrode be used for signals going into and coming out of an analog signal processor?

If so, what circuit could be used to achieve this? (the one constraint is: I don't want the output signal going straight back into the input).​

If the answer is "yes, it's possible", I can move onto to considering other elements of the project. If the answer is "no, it's impossible", that's fine, I can reassess the feasibility of the project.

I don't understand how the "circuits of the nodes", "how complicated is each node going to be" and "how many were you thinking of" is significant to answering the question.

To help visualize the problem, let's say the voltage at the electrode, input and output are all within the range from 0 to 5V.
 
a conceptually very simple way of achieving input and output on the same line is to not them at the same time, but seperate the functions in time.

Each side has an accurate clock and before hand you decide that on every odd second side 1 will use the line for output and side 2 for input, on every even second you switch the functions.


Works great in the digital domain, don't know how well it would work for analog signals.


If you're hellbent on analog signals then in theory (i don't know if this will actually work) you may be able to get simultaneous input and output use by instead having the I/O tied to ground by a precision pull down resistor. Then either side signals its output by injecting a precision current into the I/O line. The line will rise in voltage (due to the precision resistor) to a level proportional to the incomming current. The other side detects this voltage and puts the signal into its own circuit accordingly.

If both sides are outputting and injecting current then the voltage will be proportional to the sum of both currents. Since each side "knows" how much current its injecting, it can subtract its own signal from this total signal and therefore get the signal from the other side without its own signal interferring. in theory you avoid feedback this way.

I don't know if this will actually work. Sounds good in theory, but you might run in practical problems with oscilations and such. i think the limited bandwidth of op-amps might prevent your system from using the higher frequencies, especially if it gets really large.

Noise might also be an issue, but if you really are in AI design then you might be able to chock it up to stochastic resonance.

I really must question the value of using a real-analog system with these "cells" to study emergent behaviour of complex systems (which essentially what you are doing). Process variation between the cells will mean that one complete system might behave differently then another complete system. Reproducibility of your results, even if you manage to get some sort of intelligence going, is going to be an issue.

Expense is going to be an issue too. you might need dozens, hundreds, or even thousands of cells before you get interesting behaviours. an insect has millions, The human brain has billions.

I think you might be better served with a computer program that simulates each cell and runs them in a virtual environment. You can tweak the properties and connections of each cell individually and reproducibly and you can murder :)D) and rebuild your virtual neural net without regard to cost or practicality. The raw computational power of a computer might give you hundreds of times more equivalent cells for the same cost as building real cells.

you can add random noise to the system to simulate stochastic resonance if you wish.

now purists will argue that simulation will never outdo real hardware. That is true. But in the field of A.I. engineering a core concept is that intelligence is not a unique property of an organic brain but an emergent property that is independent of the exact nature of the medium it runs on. Who's to say that medium can't be a computer?
 
Hi Glyph,

thanks for your post.

You've hit the nail on the head:

you might need dozens, hundreds, or even thousands of cells before you get interesting behaviours. an insect has millions, The human brain has billions.

This project is a proof of principle rather than a complete solution. If I can show that a neural network can be made with modules on the macro scale, I might then be able to extend it to the micro scale. So rather than making the modules with components stuck on a PCB (about 5cm diameter), the modules could be made really small (e.g. diameter 1mm) as discrete integrated circuits. Making the modules on a micro scale would make them very cheap. Also, they could be stacked very densely, so for example one thousand 1mm modules would fit in a cubic centimeter, one million would fit in 10cm³, one billion in 1m³.
 
I suppose if you're goal is to make an "artificial neuron" just as a proof of concept then i guess practicality isn't an issue.

A suggestion i have though is to make your solution compatible with simulation before construction.

So a person trying to implement it can construct a simulated network with your cells in the computer and get a rough idea of the behaviour before actually building it. It will go a long way to saving overall costs of implementation if a person isn't running through dozens of real prototypes.

On a different note: Have ya looked into FPGAs or other forms of programmable logic? They are essentially constructed in a very similar way you propose, they have millions of tiny little cells that are programed to respond to input and output in a networked fashion. You might be able to group a dozen gates together to perform the same functions as your cell. This solution is available now and at a very reasonable cost with a great deal of developer support.

You can very easily achieve insect level processing with a modest budget.
 
Last edited:
Yep, I've considered FPGAs and other programmable logic. In fact, that's where I got my inspiration for this idea. Researchers have investigated neural nets on programmable logic (for example, see the following article; It's long, but definitely worth the read "Creatures of Primordial Soup"). But this research has had limited success. I'm guessing this is because: a) FPGAs are digital rather than analog, and b) there are a limited number of cells in a FPGA. I hope to overcome both of these problems with this project.

If I can ever get this to work, it will allow people to collaborate on neural nets. So, for example, one person might find that a particular arrangement of modules works really well. Another person will be able to use this arrangement of modules as a starting point for further neural net development.

It will also allow people to experiment with different types of neuron circuit. So for example the modules might initially contain an input summing amp. Then someone might modify the neuron circuit to be a threshold triggered summing amp instead.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top