This weeks the aim is to design and build a wired or wireless network connecting at least two micro-processors.
The benefits of creating such a network a far reaching for many potential projects. Networking and communication can allow remote control and monitoring possibilities for your electronic systems. I will be exploring the wired asynchronous serial connection network. For this purpose I will be creating a central Bridge circuit board and two node boards.
These share essentially the same components, each encorporating; an AT-tiny 45 micro-controller, an LED output, and ISP header for the serial communication between boards. And the main bridge board also includes the 6pin FTDI connector for programming and power.
I referenced the fab board files and began building my designs in Eagle as before. As these are relatively simple boards with a small footprint, I don't expect to have any great issues milling. So to save time I will output my files and mill these three boards together in one go. These are the designs:
I have milled my boards using the SRM20, and using fabmodules for tool settings and paths and to generate the g-code. Then I selected my componets and began the soldering.
milled circuit boardsThese were the results of my boards after soldering...
soldered circuit boardsNow I need to begin by programming the new microcontollers and setting up to test the network. At first I was having infuriating difficulties getting my main bridge board to even accept a program. Today I spent hours trying mainly to get things working correctly. I am using Windows 10 - through command promt, but have also been trying another another terminal feature software Maximus5 - ConEmu giving shells such as Git bash and PowerShell as well as the CMD and amin customizable features. My FabISP sadly is no longer recognised and functioning correctly and so I am using the AvrISP MKII.
Despite having obtained the neccessary '.make' and '.c' files from the fablab documentatio, here..
mit.edu.class - networking and communicationsIf I then input the command:>
make -f **filenam*hello.bus.45.make program-avrisp2
Annoyingly, it seems to lock up returning an error before it completes uploading the .make file to the AtTiny 45 chip. Before we can then make clean and upload the .c file and begin to program the other boards. It does get some way through the process and creates the Outfile but not the hex operation. I have also had many troubles with installing the avrdude and correct drivers on the lab pc so I tried using my instructors machine and it did work and sent correctly. So back to the drawing board and I will try and rattle through what could be causing the issue driver wise on my pc, whether its WIN-AVR, the programmer or USB port conflict, or just drivers that need updating. Or perhaps I can try using Ubuntu on the lab computer tomorrow as many seem to find programming more effective.
I began the next day by starting here,
I began by checking that Ubuntu had the relevant drivers and packages installed, and then started going in the direction of avrisp2 not identified or troubleshooting. And by following internet threads I even tried going to the lengths of changing the the U-DEV file rules, to find after all this that in the end that it was as simple as running the administrator rights sudo prefix to the make command. After this it was a relatively straight forward process to program the make file and .c files first the bridge and then a repeat procedure for the two nodes. Note that you will need to change the files ID number each time you burn a new chip. I.e. > BRIDGE, NODE1, NODE2
After successfully flashing the chips and boards, I then connected them up in series, linking power, along with the TX and RX communication pins. Then recconected the first bridge via FTDI-USB cable and powered up arduino IDE, opening the serial monitor. By then pressing the keyboard characters - 0, 1, 2, I was able to address and see a response from each board individually in the chain. Here is the video link.
Networking successful communication - Asynchronous Serial link