-
Relay durability test
10/30/2024 at 21:39 • 0 commentsTo ensure that repeated test runs of the system do not lead to a relay failure (relays are mechanical components and do not have unlimited durability), I have now started a durability test of two relays. An Arduino switches on and off 50 times per second, using a transistor to control a relay. This relay, in turn, switches a second one. I will let this setup run until one of the relays fails.
-
Funny problem...
10/30/2024 at 21:33 • 0 commentsI tried a new program. I wanted to multiply 3 pairs of numbers and add the results...perfect for using the CALL and RETURN functions. But the end-result was not correct. I analyzed videos of the runs (by checking the LEDs), I also tried the three multiplications and the addition of three results in seperate programs...everything was fine. I think that the three multiplications are influencing each other...but before I step deeper into the problem I write a program which is testing the complete hardware of the system, especially the ALU, to be sure that a program error is the reason of the little problem.
-
New commands CALL and RETURN are working...
10/30/2024 at 21:27 • 0 commentsSo, the new commands are working fine, but the wiring is a little bit crazy:
The new board you see is the register which is able to store the return address.
-
Finished state machine control boards for two commands
10/20/2024 at 19:56 • 0 commentsLast week I finished two boards for the CALL and the RETURN command. The CALL command stores the program counter into a register and jumps to the adress after the CALL command, the RETURN command copies the adress stored in the this register into the program-counter.
-
Finished a new module
10/11/2024 at 16:58 • 0 commentsThis module can store an address, it is used to store the return address for a CALL - RETURN sub-routine. It is not used like a stack in a common CPU, only one subroutine-level can be stored.
-
Great success. The relay CPU can now multiply
10/02/2024 at 20:05 • 0 commentsThe following video shows the multiplication of 13 * 18 by the relay CPU...and yes, the operation needs some time. The processed program can be found in the video description.
-
CPU is running a loop!
09/29/2024 at 14:55 • 0 commentsA new video is online. Some new implemented commands are used and now you see the relay CPU running a loop...
-
Found a defect relay self-latch...
09/29/2024 at 14:50 • 0 commentsWhile testing the conditional branch, I saw that the value of the instruction register was not correct...relay for bit[4] of the instruction register was not able to store the information. The result of this problem was that the BZ (branch if the value stored in the accu is zero) was not working.
But i have 3 spare relais in the instruction register....bit[0..2] are not used at the moment. So i changed the wiring to use relay[2] instead of relay[4]...and the BZ command worked fine.
-
Found the real reason
09/22/2024 at 13:36 • 0 commentsSo, after a deeper inspection of the board I found the real reason of the problem...not the solder joint in the connector, one cable was connected to the wrong relay...and so databus[3] was connected to databus[4] because the databus[3] was was connected to the wrong relay:
-
Measured a connection between DB[3] and DB[4]
09/22/2024 at 08:21 • 0 commentsSo, I have now dismantled the system to be able to measure more accurately. And as I suspected, unfortunately, there is a connection between Data Bus[3] and Data Bus[4].
No problem between DB[2] and DB[3].
Connection between DB[3] and DB[4].
And to be honest, the solder joint is not my best work: