EEVblog Electronics Community Forum

Products => Other Equipment & Products => Topic started by: kilohercas on January 13, 2018, 07:11:19 pm

Title: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on January 13, 2018, 07:11:19 pm
I started to make my own electronics for Faxitron MX-20 Machine. I only get electronics, X-Ray generator and X-Ray sensor, so I have to put something inside my won box.

I don't have software of any kind, so i have to write my own. First step was to make USB Hub, one channel wil go to sensor, second channel to FT2232H Controller as UART ( and second IC channels goes to stepper drivers for CBCT  (https://en.wikipedia.org/wiki/Cone_beam_computed_tomography) turning table)


After that, i had to write my own software for Hamamatsu 12x12 X-Ray sensor. That was quite a difficult task, but i was able to make it happen. I was able to do that in Visual Basic, it uses generic Hamamatsu DCAM-API DLL inside system32 (when you install drivers)

(https://www.eevblog.com/forum/reviews/faxitron-mx-20-reverse-engineering-(with-some-good-results)/?action=dlattach;attach=386374;image)

Operation is simple. Connect USB to HUB, it detects if FT2232H and C9732DK-11, after that, you wait for 60s warmup ( x ray tube or something, timer is inside x ray controller ) And you just set  time and kV, and press take  a picture. It automatically sends command to enable x ray source, you should (2.5s is ramp-up to 35kV, only at this point  x ray is stable based on sense output on x ray tube)
put into remote mode: (do this first !!!!)
                Dim mx20(5) As Byte '
                mx20(0) = &H21
                mx20(1) = &H4D
                mx20(2) = &H52
                mx20(3) = &HD
                PORT.Write(mx20, 0, 4)


This is how you set exp time and voltage:

            mx20(0) = &H21
            mx20(1) = &H54
            mx20(2) = &H30 + Fix(NumericUpDown1.Value / 100)' time 0.1 to 999.9
            mx20(3) = &H30 + Fix(NumericUpDown1.Value / 10) Mod 10
            mx20(4) = &H30 + Fix(NumericUpDown1.Value) Mod 10
            mx20(5) = &H30 + ((NumericUpDown1.Value * 10) Mod 10)
            mx20(6) = &HD
            UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 7, BW)
            Sleep(100)
            mx20(0) = &H21
            mx20(1) = &H56
            mx20(2) = &H30 + Fix(NumericUpDown2.Value / 10) ' Voltage 10-35
            mx20(3) = &H30 + NumericUpDown2.Value Mod 10
            mx20(4) = &HD '

Enabling X-Ray source via UART message is also easy, just few special characters: '0x21+0x42+0x0D  and after short delay 0x43
                mx20(0) = &H21
                mx20(1) = &H42
                mx20(2) = &HD
                UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 3, BW)
                Sleep(50) ' 50ms Delay
                mx20(0) = &H43
                UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 1, BW)

It was so bad design to put 500W power supply, it even needs load to work. That is madness. All you need is isolated 24V 1A for x ray ( it is uses all interlocks, and is enabled by relay on J7 connector )
12V 1.3A     (main electronics)
-12V 0.05A (opamps +RS232 ?)
5V 0.5A       (MCU electronics)
5V 5A          (Hamamatsu sensor)

Now, controller electronics looks old, and very complicated. Since i will be using computer, it would be better just connect x ray head to my own electronics, so i spend all tay figuring out controller connector to x ray source.

It is IDC20, and it has control, sense and other signals prescient, just have to figure out what is what.

IDC20 pins 1,2,3,4,12,13 are connected to opamp outputs inside x-ray head electronics. I only understand that 12pin is kV sense output to MCU board (1v=10kV), and 3pin is I sense, or it looks like this, with transfer function of:

10kV-> 0.208mA -> 0.61V
15kV-> 0.201mA -> 0.90V
20kV-> 0.192mA -> 1.19V
25kV-> 0.183mA -> 1.46V
30kV-> 0.175mA -> 1.76V
10kV-> 0.165mA -> 2.05V

IDC20 10PIN is also strange, MCU is supplying voltage, with a transfer function of ( every time, not only when x-ray is on)
10kV = 1.330V
20kV = 2.333V
30kV = 3.116V
35kV = 3.548V
Update: It has something to do with focusing. disconnecting yield blurry images. Maybe could be tuned separately for better picture, so must keep on DAC.

For output that change state when x ray is on, i have few of them:
PIN5 is connected to MCU via 330R  resistor ( mcu supplying 5V when enabling x ray )
PIN7 is connected to MCU via 2k2    resistor ( mcu supplying 5V when enabling x ray , another 12V relay for 24V that is main power for HV supply)
PIN9 is connected to DAC that supplying setpoint voltage from 1V (10kV) to 3.5V (35kV ) again, only when x-ray is on.
PIN11 is connected to DAC, it is supplying 2.7V only when x-ray is on (no mater on set voltage or time)

PIN10 looks like getting 10V from x-ray head, it is connected to potentiometer top input on high voltage power supply. still need to figure out why.
PIN15 and PIN17 is unconnected ( hooray:) )

PIN 14, PIN18, PIN19, and PIN20 are ground

Now I have to try to make my own driver on simple PCB, and we will see how it works. This will enable to buy MX-20 systems on ebay, and just ask to send sensor and x ray source, and i will be able to control everything :)

This post is mainly to remind myself, what i did so i don't loose it
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: eliocor on January 15, 2018, 01:21:55 am
What software will you use/are you using for CBTC (Cone beam computed tomography) ?
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on January 15, 2018, 05:35:44 am
MATLAB.

But it also would be fun to write my own in C/vb
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 12, 2018, 10:23:00 am
few weeks of hard work, and i have complete solution for reading data from sensor as well as controlling x ray tube with my own driver that is based on Intel max10 fpga, works like a charm

https://www.youtube.com/watch?v=ql14hwhayNs (https://www.youtube.com/watch?v=ql14hwhayNs)
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: jeremy on February 12, 2018, 02:28:38 pm
Very cool!
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 13, 2018, 05:30:29 am
https://youtu.be/HrUNLFlLzzU
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: jeremy on February 13, 2018, 05:44:29 am
What was the USB hub for? I couldn’t quite tell. I know you have an FTDI, but what else?

Also, is there any reason you decided to use an FPGA over a micro?

Would love to know more about how the panel outputs data and in what format.

Edit: ah I see now, the detector is USB connected.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 06:30:27 am
Awesome work, would love to hear more.

My MX-20 has the older RadEye sensors, so I had to do a lot more work to get data out of them.  I would very much like to make my software talk to the control panel.  I don't understand what you mean here:

                mx20(0) = &H21
                mx20(1) = &H42
                mx20(2) = &HD
                UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 3, BW)
                Sleep(50) ' 50ms Delay
                mx20(0) = &H43
                UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 1, BW)

Are these instructions interpreted by your firmware, or passed to the Faxitron's controller?  If they're handed off to the Faxitron and processed there, how do you connect your controller to the Faxitron's CPU?

I don't currently have a UART available via the USB connection to my digitizer, but I could add one easily enough, if I knew where to connect it to the Faxitron.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 13, 2018, 09:14:25 am
Are these instructions interpreted by your firmware, or passed to the Faxitron's controller?  If they're handed off to the Faxitron and processed there, how do you connect your controller to the Faxitron's CPU?

UART is connected to faxitron controller, this series of commands will trigger x ray source for fixed amount of time

I made project in hackaday.io https://hackaday.io/project/52104-x-raying-rose-in-30kev-in-high-resolution (https://hackaday.io/project/52104-x-raying-rose-in-30kev-in-high-resolution) you will be able to find all information about this project, with design files so you can make it yourself

If you can, please share this video tomorrow, since it since, and it kind a looks beautiful :) Lets make it as viral video for tomorrow :)

https://www.youtube.com/watch?v=k7AM-al1-9I (https://www.youtube.com/watch?v=k7AM-al1-9I)
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 09:35:49 am
I made project in hackaday.io https://hackaday.io/project/52104-x-raying-rose-in-30kev-in-high-resolution (https://hackaday.io/project/52104-x-raying-rose-in-30kev-in-high-resolution) you will be able to find all information about this project, with design files so you can make it yourself

Thanks!  Looks promising. :)  (Edit, having watched the video, it looks fantastic!)

Unfortunately I don't seem to be able to open the .rar files with WinZip -- it says they're invalid.  Can you post ordinary .zip files additionally/instead?

I would prefer to create a remote-control link to the MX-20's existing control panel, but your work on the new PCB is certainly impressive.  Agreed that the power supply they used is ridiculous.  Mine has a large wirewound resistor that does nothing but provide the minimum load and dissipate heat.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: eliocor on February 13, 2018, 09:41:16 am
Quote
Unfortunately I don't seem to be able to open the .rar files with WinZip -- it says they're invalid.  Can you post ordinary .zip files additionally/instead?

update your WinZip with the latest version...
Otherwise go to https://www.rarlab.com/download.htm (https://www.rarlab.com/download.htm) and download WinRar: the archives have no problems at all!!!
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Mr. Scram on February 13, 2018, 09:58:40 am
I'd love to get my hands on a tool like that. That looks absolutely amazing and very useful.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 10:05:37 am
I'd love to get my hands on a tool like that. That looks absolutely amazing and very useful.

That Hamamatsu panel is... enviable.  8)  Some zero-feedback scammer is currently trying to sell 10 of them on eBay for $10,000 apiece.

Although it sounds like it's limited to <2 second exposure times if I understand the video correctly?  With my RadEye sensors I often have to take 20-30 second exposures, but maybe that's not necessary with the C9732DK. 
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 13, 2018, 10:42:47 am
I'd love to get my hands on a tool like that. That looks absolutely amazing and very useful.

That Hamamatsu panel is... enviable.  8)  Some zero-feedback scammer is currently trying to sell 10 of them on eBay for $10,000 apiece.

Although it sounds like it's limited to <2 second exposure times if I understand the video correctly?  With my RadEye sensors I often have to take 20-30 second exposures, but maybe that's not necessary with the C9732DK.
My Faxitron ( with 50mm Hamamatsu sensor) does up to 15 sec exposures. Not sure if extending would have much benefit due to noise floor. A few more kV would be much more useful.
The tube is rated to 50kV, but the sensor datasheet states 35kV max - would be interesting to know what the actual constraints are, as the limited penetrating power is the biggest disappointment of this system.

Where does the 2 sec limit come from ?

I don't understand the reason for replacing the faxitron control electronics - is there any benefit ?
Are you still using the original cabinet or were you re-packaging to reduce size?
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 13, 2018, 11:02:26 am

Where does the 2 sec limit come from ?

I don't understand the reason for replacing the faxitron control electronics - is there any benefit ?
Are you still using the original cabinet or were you re-packaging to reduce size?

It comes from sensor, it has double value between 1  and 2. higher exposures are just stitched images made from 2s exposures i think. (DLL takes that data)

I only get detector and x  ray tube, that's why i am remaking it myself. Also, i have greater control over tube voltage, have diagnostics about tube voltage/current, so i can decide then to take picture, and stop x ray after that. I will also planing to add mechanical shutter, if i will try to x ray my hands, just to get dose down. Same goes for stepper control and other automation. this is very powerful system now, i even can think about chaining sensor position with other stepper to get different magnification

Also, electronics are old, if they break, i loose everything, now i know half the system, so less chance of failure :)

It can work with 100kV. In my work, i get visit from Hamamatsu, he says that problem with energy and power is that CsI will get yellow in time, but that's not a problem, since we still have so much data to work with, and we could use higher exposure times to get higher pixel values, so detector will be good for a long time.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 11:10:14 am
My Faxitron ( with 50mm Hamamatsu sensor) does up to 15 sec exposures. Not sure if extending would have much benefit due to noise floor. A few more kV would be much more useful.
The tube is rated to 50kV, but the sensor datasheet states 35kV max - would be interesting to know what the actual constraints are, as the limited penetrating power is the biggest disappointment of this system.

I was able to crank the HV trimmer up to get 37.015 kVp at 325 uA out of mine.  The PSU folds back either current or voltage once the total power exceeds 12 watts, which is a good match for the maximum-rating spec of the TruFocus tube.

Quote
Where does the 2 sec limit come from ?

Linas mentioned on his Hackaday page that the Hamamatsu sensor has "very limited range, only between 1 and 2 seconds of integration."

Quote
I don't understand the reason for replacing the faxitron control electronics - is there any benefit ?

From my own perspective, I'd like to be able to set the voltage and exposure time from the software and trigger it remotely.  I often take bracketed exposures at different settings, looking for the best compromise for a given subject.  It'd be nice if I didn't have to punch a lot of buttons every few seconds, or keep track of the resulting image settings manually. 

The original Faxitron software could also carry out automatic calibration exposures, which I'd like to implement in my own software at some point.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 13, 2018, 11:15:46 am

From my own perspective, I'd like to be able to set the voltage and exposure time from the software and trigger it remotely.  I often take bracketed exposures at different settings, looking for the best compromise for a given subject.  It'd be nice if I didn't have to punch a lot of buttons every few seconds, or keep track of the resulting image settings manually. 
You can do that via the serial interface
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 11:21:14 am

From my own perspective, I'd like to be able to set the voltage and exposure time from the software and trigger it remotely.  I often take bracketed exposures at different settings, looking for the best compromise for a given subject.  It'd be nice if I didn't have to punch a lot of buttons every few seconds, or keep track of the resulting image settings manually. 
You can do that via the serial interface

I didn't exactly see any 9-pin RS232 ports on mine. :( 

I'm sure the necessary serial lines were brought out to the SCSI-style connector on the rear panel, but that's long gone.  Have you run across any documentation for their command set?
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 13, 2018, 12:04:04 pm

From my own perspective, I'd like to be able to set the voltage and exposure time from the software and trigger it remotely.  I often take bracketed exposures at different settings, looking for the best compromise for a given subject.  It'd be nice if I didn't have to punch a lot of buttons every few seconds, or keep track of the resulting image settings manually. 
You can do that via the serial interface

I didn't exactly see any 9-pin RS232 ports on mine. :( 

I'm sure the necessary serial lines were brought out to the SCSI-style connector on the rear panel, but that's long gone.  Have you run across any documentation for their command set?
I'm not familar with all the variants - I assumed they all had remote control, but as these units were probably originally designed for film, maybe not.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 12:43:34 pm

From my own perspective, I'd like to be able to set the voltage and exposure time from the software and trigger it remotely.  I often take bracketed exposures at different settings, looking for the best compromise for a given subject.  It'd be nice if I didn't have to punch a lot of buttons every few seconds, or keep track of the resulting image settings manually. 
You can do that via the serial interface

I didn't exactly see any 9-pin RS232 ports on mine. :( 

I'm sure the necessary serial lines were brought out to the SCSI-style connector on the rear panel, but that's long gone.  Have you run across any documentation for their command set?
I'm not familar with all the variants - I assumed they all had remote control, but as these units were probably originally designed for film, maybe not.

I'm sure that it can be controlled remotely because this particular unit came with its manuals.  There is a variant of the usual MAX232 interface IC on the controller board, so it wouldn't be hard to trace its pins through the cable that formerly went to the external connector.   But the manuals have no information on how the low-level communication with the PC worked, and disassembling the firmware would consume more time than it'd be worth.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 13, 2018, 01:18:20 pm

From my own perspective, I'd like to be able to set the voltage and exposure time from the software and trigger it remotely.  I often take bracketed exposures at different settings, looking for the best compromise for a given subject.  It'd be nice if I didn't have to punch a lot of buttons every few seconds, or keep track of the resulting image settings manually. 
You can do that via the serial interface

I didn't exactly see any 9-pin RS232 ports on mine. :( 

I'm sure the necessary serial lines were brought out to the SCSI-style connector on the rear panel, but that's long gone.  Have you run across any documentation for their command set?
I'm not familar with all the variants - I assumed they all had remote control, but as these units were probably originally designed for film, maybe not.

I'm sure that it can be controlled remotely because this particular unit came with its manuals.  There is a variant of the usual MAX232 interface IC on the controller board, so it wouldn't be hard to trace its pins through the cable that formerly went to the external connector.   But the manuals have no information on how the low-level communication with the PC worked, and disassembling the firmware would consume more time than it'd be worth.
A while ago I grabbed a dump of the serial comms - it was pretty simple & obvious ASCII - will see if I can find it
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 13, 2018, 10:53:30 pm
A while ago I grabbed a dump of the serial comms - it was pretty simple & obvious ASCII - will see if I can find it

Thanks, that could come in very handy.  I'm mostly interested in starting/stopping the exposure and setting the kVp.  The ability to set the exposure time would be good as well, but the PC could emulate that if necessary.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 14, 2018, 05:47:19 am
A while ago I grabbed a dump of the serial comms - it was pretty simple & obvious ASCII - will see if I can find it

Thanks, that could come in very handy.  I'm mostly interested in starting/stopping the exposure and setting the kVp.  The ability to set the exposure time would be good as well, but the PC could emulate that if necessary.

Have you try to look at the first post ? :) All of this information is detailed. only stop function is missing...
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 14, 2018, 06:10:44 am
Have you try to look at the first post ? :) All of this information is detailed. only stop function is missing...

That doesn't do me any good if I don't use your hardware, does it?  I already have a working system that I don't want to change to that extent.  I'd just like to be able to send remote commands to the original Faxitron controller.

That's basically why I was asking if your serial code was communicating with the original hardware or with your own controller.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 14, 2018, 06:59:15 am
Have you try to look at the first post ? :) All of this information is detailed. only stop function is missing...

That doesn't do me any good if I don't use your hardware, does it?  I already have a working system that I don't want to change to that extent.  I'd just like to be able to send remote commands to the original Faxitron controller.

That's basically why I was asking if your serial code was communicating with the original hardware or with your own controller.

put into remote mode: (do this first !!!!)
                Dim mx20(5) As Byte '
                mx20(0) = &H21
                mx20(1) = &H4D
                mx20(2) = &H52
                mx20(3) = &HD
                PORT.Write(mx20, 0, 4)


This is how you set exp time and voltage:

            mx20(0) = &H21
            mx20(1) = &H54
            mx20(2) = &H30 + Fix(NumericUpDown1.Value / 100)' time 0.1 to 999.9
            mx20(3) = &H30 + Fix(NumericUpDown1.Value / 10) Mod 10
            mx20(4) = &H30 + Fix(NumericUpDown1.Value) Mod 10
            mx20(5) = &H30 + ((NumericUpDown1.Value * 10) Mod 10)
            mx20(6) = &HD
            UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 7, BW)
            Sleep(100)
            mx20(0) = &H21
            mx20(1) = &H56
            mx20(2) = &H30 + Fix(NumericUpDown2.Value / 10) ' Voltage 10-35
            mx20(3) = &H30 + NumericUpDown2.Value Mod 10
            mx20(4) = &HD '

Enabling X-Ray source via UART message is also easy, just few special characters: '0x21+0x42+0x0D  and after short delay 0x43
                mx20(0) = &H21
                mx20(1) = &H42
                mx20(2) = &HD
                UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 3, BW)
                Sleep(50) ' 50ms Delay
                mx20(0) = &H43
                UART_Status = FT_Write_Bytes(UART_Handle, mx20(0), 1, BW)

This is serial to original controller ;)
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 14, 2018, 11:03:47 am
From memory I think it's 9600 baud
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 14, 2018, 11:20:40 am
This is serial to original controller ;)

Can I ask where you were providing this data, and at what baud rate (9600, as Mike says?) 

The MAX202 that's next to the 10-pin port labeled "RS232" doesn't have +5 on its VCC pin by default.  I tried applying +5 externally and sending a couple of commands (!MR<cr> and !T1230<cr>) at rates from 110 to 115200, but nothing happened.

(http://www.ke5fx.com/max202.jpg)
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 14, 2018, 11:34:04 am
This is serial to original controller ;)

Can I ask where you were providing this data, and at what baud rate (9600, as Mike says?) 

The MAX202 that's next to the 10-pin port labeled "RS232" doesn't have +5 on its VCC pin by default.  I tried applying +5 externally and sending a couple of commands (!MR<cr> and !T1230<cr>) at rates from 110 to 115200, but nothing happened.

(http://www.ke5fx.com/max202.jpg)
Can you post a photo of your controller to see if it's the same as mine - may be some link options or different firmware
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 14, 2018, 12:00:11 pm
Can you post a photo of your controller to see if it's the same as mine - may be some link options or different firmware

Here's a link to the photo (too big to post in the thread directly):

http://www.ke5fx.com/fx_ctrl.jpg (http://www.ke5fx.com/fx_ctrl.jpg)

The 27C512 EPROM is labeled "V3.1 MOD", with the checksum 317E.  Binary image is here (http://www.ke5fx.com/mx20_v31_mod_317e_27c512.bin).

There is another chip that looks like a mask-programmed ROM, which is labeled 43805-65202-F SN 4312E-082 MX20 MICROPROS.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: mikeselectricstuff on February 14, 2018, 12:15:07 pm
Can you post a photo of your controller to see if it's the same as mine - may be some link options or different firmware

Here's a link to the photo (too big to post in the thread directly):

http://www.ke5fx.com/fx_ctrl.jpg (http://www.ke5fx.com/fx_ctrl.jpg)

The 27C512 EPROM is labeled "V3.1 MOD", with the checksum 317E.  Binary image is here (http://www.ke5fx.com/mx20_v31_mod_317e_27c512.bin).

There is another chip that looks like a mask-programmed ROM, which is labeled 43805-65202-F SN 4312E-082 MX20 MICROPROS.
Strange about the unconnected supply to the 232 transceiver - may be worth seeing if you can trace where it goes to get a clue as to why it's disabled ( a fine wire brush can be useful for this).
 

Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 15, 2018, 08:15:39 am
Strange about the unconnected supply to the 232 transceiver - may be worth seeing if you can trace where it goes to get a clue as to why it's disabled ( a fine wire brush can be useful for this).

I suspect that it's some kind of factory diagnostic port, given that nothing was originally plugged into it.   Ordinarily I would X-ray it to find out where the pins go, but...  ;D

Contrary to what I said earlier, there actually was a 9-pin connector in the digitizer area, connected to J5 on the controller board, but it doesn't have a MAX202 nearby and it doesn't act like an RS-232 port.  Pins 3, 4, and 6 are pulled up to +5, with all others low.  It appears on the block diagram in the manual (http://www.ke5fx.com/cables.jpg) as "Cable A." 
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: kilohercas on February 16, 2018, 01:52:11 pm
https://youtu.be/T_qmQ1a4ftw
:)
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 26, 2018, 04:45:27 pm
KE5FX,

The 9 pin connector (cable A) located low down on the rear of the cabinet is the standard RS232 serial communications link to a PC serial port. I have various versions of MX-20 control software but they all expect to find a camera module connected so sadly they will not work for you :(

Fraser
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 26, 2018, 11:17:12 pm
If it's a standard port, it certainly doesn't act like one.   :-// 

The path of least resistance in my case will probably be to run some spare I/O lines from the FPGA board to optocouplers across the up/down and time/voltage keys.  Just seems like unnecessary hackery, that's all.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 26, 2018, 11:44:29 pm
I think I have the schematics for the control board. If so I will check the serial port design for you.

It will have to be tomorrow though.

Fraser
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 27, 2018, 12:00:27 am
I just had a thought........

The early MX-20 Digital with Bioptics camera array is not as highly integrated with the OC in terms of control.

From memory the PC controls the camera side of things but only provides monitoring of the safety interlocks, X-Ray on condition and initiatedps X-Ray off. It does not need a complex RS232C control set to achieve such limited monitoring and control. It could even be achieved with just the handshake lines !

The later MX-20 design provides much more control over the cabinet from the PC. The PC is able to monitor and set Exposure and Kv as well as control the X-Ray generator. I am uncertain what changes were made to the control PCB but IIRC it had an additional 7 segment LED for the time window for tenths of a second. I both versions of the MX-20 X-Ray head so have the EPROM's if that is all that needs to be changed.

Fraser
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 27, 2018, 01:44:43 am
I think I have the schematics for the control board. If so I will check the serial port design for you.

It will have to be tomorrow though.

Fraser

 :-+ That would rock, if you can find schematics.  Even if your board is different from mine (and it probably is, if you have 0.1-second exposure time resolution) it could still come in very handy in the future.

To date, the only connection I've added is a wire from the "X-ray on" LED to an input line on my digitizer board, so that the software can tell when the exposure starts and stops.  If I eventually decide to add remote controls to some of the keypad buttons, a schematic could save some hunting and poking, even if it's not the right version.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 27, 2018, 06:59:58 pm
OK, I do have schematics for the control board...... of the original film type MX-20 circa 1997.

Whilst the controller does have a RS232 port it does not seem to be for remote control as the film cabinet had no need for such (having no PC).

Looking at the schematics I can also seen references to a 9 pin AEC sensor D type connector. I will upload the controller schematics but I am wondering........ do you have a Digital era MX-20 or the original film type cabinet that does not have the remote control capability or digital camera in the extended base area ?

The film type cabinet did have the uptight of an auto exposure X-Ray sensor that sat under the cabinet chamber and helped the user achieve good exposures of the film.

A digital era MX-20 would have the camera option detailed on the cabinets ID label on its rear. There would be a "DC" option type shown.

Fraser
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 27, 2018, 07:32:26 pm
Schematics for the non digital 1997 Faxitron MX-20......
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 27, 2018, 07:34:12 pm
Continued
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 27, 2018, 07:36:00 pm
Continued
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: Fraser on February 27, 2018, 07:38:20 pm
Last pictures for now :)
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: KE5FX on February 27, 2018, 08:31:12 pm
Schematics for the non digital 1997 Faxitron MX-20......

Much appreciated.  Here's a tidied-up .PDF version: Faxitron_MX20_43805_65201D_65202C_schematics.pdf (http://www.ke5fx.com/Faxitron_MX20_43805_65201D_65202C_schematics.pdf) (6.6 MB)

These drawings apply to rev C of the 43805-65202 controller, while my PCB has revision F of the same part #.  So they should be a good match.  U7 is the mystery MAX202 with no Vcc connection, for instance. 

My 9-pin connector goes to the "Medoptics interface" at J5, which is definitely some sort of proprietary interface.  One difference between revs C and F may be pin 3 of this connector.  It's grounded on your rev-C schematic, while it seems to be connected to something else on the rev-F PCB.  That may have been done to add proprietary control support to film-only machines.
Title: Re: Faxitron MX-20 Reverse engineering (with some good results)
Post by: danielbriggs on March 15, 2018, 11:21:47 pm
This is an interesting thread, and much along the lines of what I'm slowly heading towards with my machine.

Great work kilohercas!  8)

Do you have any more details on the CBCT MATLAB route? I tried several algorithms myself, but am curious to what you used in the end as your results look really sharp.
[I found while most algorithms worked, some were ultra efficient, and some took a huge amount of computational effort for mixed results].

Even better... care to share you MATLAB .m files // or post an example of what you did?


@KE5FX + Mike...
Attached are my findings from when I was having a sniff around the RS232. It's not an exhaustive list, but contains pretty much all you'd need to run the cabinet from RS232.
[Excuse the notes too, it's just what I noticed the bus doing and scribbled down the findings].