Reviving an Ampex MM1200 – The Capstan Servo

The capstan motor is driven by a closed-loop system which is well described in the diagram below.

Capstan Servo Block Diagram

Capstan Servo Block Diagram

I started checking if the reference oscillator is feeding the board with the correct signal. A 307,2 kHz signal is generated by the A5 op-amp and the crystal Y1 which is in its feedback path. The signal is consequently divided by 32 by the 7493N (A1) mod 16 binary counter and the SN158093N dual J-K latch.

Continue reading

Reviving an old Ampex MM1200

ampex_resized_ads

A few weeks ago I received a call from a friend who desperately needed help with an old tape recorder. I hesitated at first, because I’m not in to vintage things, but I changed my mind as soon as I realized which one this recorder was. A glorious Ampex MM1200 dated back to the late seventies, capable of recording 24 tracks on a two-inch tape

Continue reading

Using Transform Matrix for PCB Drilling – Part 2

It has been a long time since last time I wrote on this blog. I finally decided to complete this project because I need to make a small bunch of pcb and I want the possibility to review the boards whenever I want, so I cannot depend on an external manufacturing company. As I described in the first part I coded a little tool in Python to achieve my goal. I also added a basilar Excellon support so it is possible to load the file generated by Eagle and it allows to compute an affine transformation in order to make an accurate drilling. I used Numpy and OpenCV libraries to get straight to te result but let’s take a look at the setup. I needed a camera to locate the pads and I went for the Logitech C270, a nice HD resolution webcam for the price. The zoom is fixed but it is easily adjustable with its own focus ring.

DSC_0489

Continue reading

Ruzzle Solving – The nerd way ..

I’ve been working on this project in my spare time for about three weeks and even though is not yet completed I decided it was time to share something. The idea was to realize a robot that could play Ruzzle versus an human player leaving him no possiblity to win. After a few days of brainstorming I decided to start writing a little of code in Python: In a few hours I managed to obtain all the right words performing a depth-first search and comparing them with a dictionary but I felt that was not enough so I asked myself: Why not use OpenCV for image processing combined to Tesseract for letter recognition ?

camera_frame

The image as captured by the camera

Continue reading

Using Transform Matrix for PCB Drilling – Part 1

Matrix
Since I started making my own PCB I always complained how boring and tricky is hand drilling all the holes in the right place. Owning a CNC router I could have the work done in a hurry neverthless I prefer etching my own boards and have the drills done by the router. The main problem is how tricky is aligning the board under the machine, furthermore there may be some scaling problem related to the master mask precision. Thus I started coding a little tool which could help me in this process allowing me to not care about all the stuff I just explained above. Continue reading