Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Rotating Monitor users! Git yer mrotate2 here!  (Read 10488 times)

0 Members and 1 Guest are viewing this topic.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Rotating Monitor users! Git yer mrotate2 here!
« on: July 15, 2009, 07:44:51 pm »
Ok, I have mrotate2 all packaged up and ready to download.
Download the zipped file at the end of this post. (If you cant get it to download, send me a PM with your email addie and I will send it to you.
This is freeware, which means it can be used by you for as long as you want it.
I encourage you to share this program with your friends, but I suggest you give them the setup program, because it contains the vb6 runtime files also (which you may or may not need.)
You cannot sell this program or make any kind of profit off it.

Ok, on with the show.
What is this program?
If you have a motorized monitor that can turn based on the game's orientation, then this program may be very useful for you.
What do I need to use it?
A mechanized monitor setup, using a DC motor with a compatible drive.
Windows 98 or greater (not sure if it will work with Vista, but please let me know if you try it.)
A printer port interface file called inpout32.dll (Should be a free download off the net.)
Your arcade computer must have a printer port, or you can add a PCI printer port card.
The ability to wire up all the components.
You may also need to install the VB6 runtime files available from Microsoft. (A copy is included with this download.)

Ok, if you are ready, download the mrotate2.zip file.
Unzip it to a place you can easily find (HINT: desktop).
The unzipped file should look like this:


Double click the setup icon.
The setup process should begin:
Click the next button:


Select the destination folder (Default is C:\Mrotate2):


A standard screen, telling you a shortcut will be placed in your start menu:


More standard stuff, click Install:


The install process should be short and sweet:


You should have these items in the folder that you chose to install to:


In the Extras folder, you should have a copy of vbrun60, which is the runtime files, should you need them. (If you dont need them, you can delete this file.)


Double click the mrotate2 icon in the install folder, or in the start menu to run mrotate2 setup mode.
Note: you must have inpout32.dll in the C:\Windows\System32 folder. Mrotate2 will tell you if it cant find it, plus it wont run. You may need to register the inpout32.dll in the registry, but try just placing it in the system32 folder first, that has always worked for me.
I was wanting to include inpout32.dll in the Extras folder, but I never got word back from the website giving me permission to do so.

If Mrotate2 still wont run, and gives you messages about certain ocx or other files missing, then open the extras folder and double click on the vbrun60 file. This will install needed run time files.

Once you have mrotate2 up and running, you will need to tell it what printer port pins you are using.

Once you have it setup, call it by using these command lines:
Mrotate2  Calls the setup mode
Mrotate2 0 tells mrotate2 to turn monitor horizontal.
Mrotate2 90 tells mrotate2 to turn monitor vertical.

You can use a plugin for Mala that works great with mrotate2. It is called Startcom and is available at malafe.net.

This program has no viruses or malware included in the original that I have uploaded.

Hope you find Mrotate2 useful and above all else, have fun!

Download trhe setup.zip file here:

http://files.arcadecontrols.com/details.php?image_id=3431



« Last Edit: September 22, 2009, 08:34:30 am by DaOld Man »

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #1 on: July 15, 2009, 10:35:23 pm »
Well, my install package was too big to post on here, so I will post the install package for mrotate2.
This download includes inpout32.dll and tab32.ocx (for mrotate2(a), tabbed version.

Download it here:

http://files.arcadecontrols.com/details.php?image_id=3431

« Last Edit: September 22, 2009, 08:35:55 am by DaOld Man »

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #2 on: July 15, 2009, 10:37:50 pm »
Removed.
« Last Edit: September 22, 2009, 08:36:24 am by DaOld Man »

csa3d

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 872
  • Last login:March 07, 2011, 08:16:35 am
  • Will game for food
    • Galaxian Mame Conversion
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #3 on: July 16, 2009, 09:04:57 am »
Woot!  Thanks for all your hard work on this project.
-csa

Haterot

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 107
  • Last login:November 09, 2012, 09:27:41 am
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #4 on: July 16, 2009, 02:00:43 pm »
Gracias Da Oldman, your program is indispensable to us rotating fools!!!
Empire had the better ending. I mean, Luke gets his hand cut off, finds out Vader's his father, Han gets frozen and taken away by Boba Fett. It ends on such a down note. I mean, that's what life is, a series of down endings. All Jedi had was a bunch of Muppets

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #5 on: July 16, 2009, 10:31:55 pm »
Thanks guys.
I would like to use this thread as a forum for Mrotate2, so if you have any questions or comments, please post them here.
Also, it would be neat if you posted links to your rotating monitor project threads, or websites.

Also, at one time I was working on an interface for GLaunch to use Mrotate2. (Never finished it... yet).
If anyone else has any requests for front ends to utilize mrotate2, I will see what I can do.
If I cant work it out, Im sure there are loads of people on here that can.

Rotating monitor projects are not easy, they are very challenging, but it is also a good way to learn about computer I/O control.
Also it's fun to bring back all the ohs and ahs from your family and friends. You know, those "How the he** did you do that?" comments that we all got from our first arcade cab builds.
And we all know that vertical games just plain look better when the monitor is vertical.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Examples
« Reply #6 on: July 16, 2009, 10:37:13 pm »
Thought I would post some rough drawings about how to use rotating monitor controls, and how Mrotate2 should be set for each example.

First, wiring up the printer port grounds.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #7 on: July 16, 2009, 10:39:26 pm »
Next, wiring the limit switches to the printer port, using watch for inputs going low method.
Notice also a stop button is wired in (optional).

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #8 on: July 16, 2009, 10:41:24 pm »
And here is same thing, except switches are normally closed, and mrotate2 is set up to watch for inputs going high.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #9 on: July 16, 2009, 10:45:15 pm »
One more for now.
Here is a "H drive" and motor wired into the printer port.
This drive has an "enable" input, mrotate2 can handle that need.
This is typical of the small "secret motor driver" that many guys have used on their LCD rigs.
Notice the mrotate2 output table assignments.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #10 on: July 18, 2009, 09:01:02 pm »
Alright then...
Here is an example of using a degauss relay with mrotate2.
CRT monitors will most likely need to be deguassed after turning, so Mrotate2 has a function for that.
In the drawing you can see how using a solid state relay is the simplest way to do this.
The input of the solid state relay (SSR) draws very little current, so the printer port out put can easily handle it.
You will need a SSR with a 5 VDC input and 120 VAC output.
This method is for experienced people only! You must solder leads on the degauss button of the monitor. And this can be very hairy.
Mrotate2 turns on the selected output pin for the degauss after the rotation is complete.
You can set the time that the relay is on in Mrotate2. This setup should have the relay mimicking the degauss button press on the monitor, so the shorter the time the better.
I would start with the least setting (250 MS) and increase it if needed, until the monitor deguasses properly when the SSR is on.
Note: The monitor will only degauss once or twice within  a time period.
This is the way the monitors work. The degauss coil has to have time to cool down before it will degauss again. Remember that when playing around with this function.
Also, if you are using an LCD monitor, degauss function is not needed.
If you plan to use the monitor off relay to turn the monitor off while it is rotating, most CRT monitors will automatically degauss on power up, so if you are using the monitor off relay (next post), you may not need the degauss function.
But Mrotate2 has the degauss function if needed.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #11 on: July 18, 2009, 09:11:41 pm »
Mrotate2 has a function that allows you to turn off your monitor while it is rotating.
This can be handy with CRTs because most CRT monitors will automatically degauss on power up.
This function is optional in Mrotate2, but if you want to use it, here is one way:

In this example, Im using a SSR (Solid State Relay) to turn on a regular relay.
The regular relay uses a normally closed contact to break the power going to the monitor when the relay is turned on.
Mrotate2 turns on the assigned output during rotating, then turns it off when end of rotation is reached, or it times out.
The printer port output turns on the SSR, which turns on the relay.
Why use two different relays? Well, I couldnt find a normally closed SSR, and the regular relay draws too much current for the printer port output, so this is probably the easiest way to do this.
The SSR must have an input of 5VDC and an output that matches the regular relay's coil.
(Usually 5 or 12 VDC). The regular relay must have a normally closed contact rated at the current and voltage of the monitor (Example 120 VAC @ 2 amps).
If you wanted to go a cheaper route than the SSR relay, you can use a transistor or an opto isolator to connect the regular relay to the printer port.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #12 on: July 18, 2009, 09:17:14 pm »
If you plan to always run your motor at full speed, then there is even a simpler way to do this.
Just connect a relay rated at the same voltage as the motor to the motor leads.
This way, when the motor is running the relay is on and the monitor is off.
This only works if you are not varying the speed of the motor.
Relays dont like having the voltage pulsed or turned down low.
Is this setup, the monitor off relay output is not used (0).

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #13 on: July 18, 2009, 09:19:56 pm »
Here is an example of using a monitor off relay with a transistor instead of a SSR.
(This could work for the degauss relay too, if you find SSR is too high)

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #14 on: July 18, 2009, 09:22:37 pm »
Ok, thats enough for now (time for my nap).

But one closing example of how a motor rotation is controlled.
This is very simple, but is basically the way to reverse the rotation of the motor.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #15 on: July 21, 2009, 07:58:19 pm »
Here is a shot of Mrotate2's setup mode:

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #16 on: July 21, 2009, 08:12:55 pm »
Can I make a few suggestions on your configuration screen design? First of all I would never have a custom color background on a group box that looks terrible. Really the idea is to use the color settings of the theme the person is using. Also bare in mind some people run their cabs on low resolution screens so that form wouldn't even fit on many people's display. I would break each section up and use a tab control so that each tab has a section of controls. Hope you don't mind me making those suggestions.

Also I have some videos on my website that show what a rotating monitor looks like if anyone's interested.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #17 on: July 22, 2009, 07:12:11 am »
Thanks headkaze..
No, I dont mind you giving your suggestions at all.. Other people can see things differently on different computers. To have everyone's opinion is a great tool for me.
As long as the opinion is honest and not intended to be a "stab", then I welcome it. And I think your opinion fits that category.

I set my desktop res at 800 X 600, which is as low as this one will go, and the box did fill up the entire screen, and was on border line of not usable.
When I get some extra time I will try to resize it. I probably wont change any of the mechanics, so if anyone already has a copy of Mrotate2 and dont mind the way it looks, then they wont have to re-download it.

Thats a great looking rotating setup you have posted there. Thanks for posting it.
I welcome everyone to post links to their rotate projects.

Again, thanks.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #18 on: July 26, 2009, 01:18:27 pm »
Ok, you asked for it, you got it.. (sometimes you must be careful what you ask for.)
 ;D

Here is the new and improved mrotate2(a).
This version is smaller size for smaller res screens, and it is tabbed, so you will need an ocx file called tabctl32.ocx (get it below).
Download both files below. Unzip them. Place the tabctl32.ocx file in your windows\system32 folder. (You may have to register it, but try just placing it there first.)
Place the mrotate2.exe file in your current mrotate2 folder.
This should replace your current mrotate2.exe file.

Please let me know what you think..

The download package now contains the inpout32.dll file.

Download mrotate2(a) here:

http://files.arcadecontrols.com/details.php?image_id=3431

« Last Edit: September 22, 2009, 08:37:45 am by DaOld Man »

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #19 on: July 26, 2009, 01:23:32 pm »
And now for the preview of mrotate2(a).

Here is the printer port address setup screen (You must set up the printer port first thing, if this is the first time running mrotate2).



Here is the outputs screen:



The inputs:



Time limits:


The speed control setup and test panel:



And finally the options/about screen:


DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #20 on: July 26, 2009, 01:34:57 pm »
And now, what new?

First, I made an option to let you decide what commands mrotate2 uses to turn horz or vert.
It was limited to 0 for horz and 90 for vert.
Now you can enter any command you want, up to 10 characters long each. (I havent completely tested this function, so Im not sure ALL keyboard characters will work.).

Example:
You can now enter a command of "mrotate2 vertical" OR "mrotate2 horizontal" to tell mrotate2 which way to turn.
The defaults are still 0 and 90, so you wont have to change startcom if you already have it programmed for this.

Check out this picture. The new function is circled in red.


Also, I did away with the help files. If you need help, drop me an email, or ask on here.
(Might be better to ask on here, that way others may benefit.)

Here is a screen shot of the way you can choose a keyboard button to stop the rotation:


And to CMA, here is a shot of the disclaimer screen.



More news:
The author of inpout32.dll got back with me and gave me permission to include the inpout32.dlll in my distribution (install) packages.
Thanks to http:\\logix4u.net
So when I throw together the next install package, it will include inpout32.dll and the tabclt32.ocx files.

Thanks everyone for your input, and please let me know if you find any bugs in this.


DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Using a brake
« Reply #21 on: July 31, 2009, 06:32:13 pm »
*If you are having trouble downloading Mrotate2, drop me a pm with your email addie and I will mail it to you.*

You may see the need to use a brake on your motor. If the monitor keeps turning after the rotation outputs turn off, your setup may be coasting.
Most H Drives can brake the motor if both directions are turned on at once.
MRotate2 does not have a braking function, if the need is there, I can probably put it in pretty easily, but there is another way to brake your motor.
When power is removed from the motor, and the load is coasting to a stop, the motor becomes a generator. The motor begins putting out power. The power starts at the supply voltage (usually 12 volts for us), and decreases as the motor speed decreases.
This generated voltage can be very quick, or it can be very long, depending on how fast the motor is turning and what resistance the motion encounters.
This is common with all DC motors (and AC motors too), but since we dont use AC motors on our rotating monitors (yet), lets just concentrate on the DC motors.
This generating mode can be beneficial to us.
We can use it to slow the motor down quicker, stopping it more "on a dime".
The way we do it is "short out" the motor while it is coasting.
The motor is now generating, and the short circuit puts a load on the generator, causing it to turn a lot harder. The motor will stop a lot quicker.
But how do we do this without destroying our neat electronic H drive, or blowing a fuse?
We can use a relay to do this. (More commonly known in the industry as a Dynamic Brake relay (DB relay).
The DB relay energizes when the motor is told to turn. The relay connects the motor to the H drive through a normally open contact on the relay.
When the H Drive turns off the motor, the relay also turns off, connecting the motor leads together, through a normally closed contact on the relay, effectively shorting out the motor, placing a very large load on the now generator, causing it to stop more quickley.
On large motors, or motors that coast for a long time, the DB relay places a resistor (called a braking resistor) in the generating circuit, this cuts down on the current being generated. This protects the motor, the wiring , and the relay contacts.
The smaller the ohms of this resistor, the quicker the motor stops.
By using a DB relay, Mrotate2 can brake your motor.
Study the attached drawing.
By using the DB relay on the monitor off relay output, the brake is setup.
When Mrotate2 is told to turn on the motor, the monitor off output also turns on.
This turns on the DB relay, which connects the motor to the drive through the NO contact.
When Mrotate2 tells the motor to stop, the monitor off output also turns off, turning off the DB relay.
The DB relay now "shorts out" the motor, which is now a generator.
The power from the coasting motor is directed into the brake resistor, bringing the rotating rig to a smooth and fast stop.
So what size does the brake resistor need to be?
Well, that depends on how big the motor is, and how fast it is coasting.
Some motors might do just fine without the resistor at all.
I would start with a 100 ohm 10 watt "power resistor", and maybe step it down to a 50 ohm 10 watt and see what  happens. The resistor could also be a light bulb, something power hungry like a coin door incandescent bulb.

But what if you want a brake function AND turn off your monitor while turning. Simple, just add another relay to turn off your monitor ( coils wired in parallel) with the brake relay, or use another set of contacts on the brake relay.

Have fun...
« Last Edit: August 01, 2009, 08:39:13 am by DaOld Man »

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Insure your motor will stop.
« Reply #22 on: July 31, 2009, 07:54:38 pm »
Ok, what if your pc screws up (that never happens, does it?), and the outputs on the printer port are stuck high?
Your rotating monitor rig may try to keep rotating. (This is where mechanical stops come in handy.)
But even with mechanical stops, you dont want your motor stalled out, trying it's best to keep on turning. This can burn up your motor or your H drive.
By all means, this is not a good thing.

Will your printer port outputs ever stick high? Who knows?
It could happen.

You can wire in your limit switches to cut off your motor, so if the outputs ever stick on, you dont have to worry.

Study the attached drawing.

The printer port inputs normally "float high". This means that with nothing connected to the pins, the computer memory address returns a high (or 1) on the pins. This is true for all pins except pin 11. It is inverted, or reversed, and returns opposite what the others read. (Mrotate2 can "fix this".)

Now, we need to first bring the inputs we are going to use Low (or 0).
This is accomplished through resistors R1 and R2 in the attached diagram.

When the monitor reaches it's end of travel, the limit switch for that direction is made.
The limit switch disconnects the H Drive from the printer port output, effectively turning off the H drive for that direction.
At the same time, the limit switch switches the high from the output to the input, bringing that input up to high. This tells Mrotate2 that the end of travel has been reached.
So Mrotate2 must be set up to look for the inputs going high.

So what are the values for R1 and R2?
Im not really sure. I have played around with a few computers and have found that each computer is different. The resistor needs to be low enough to bring the input to Low (ground), yet it also needs to be high enough to keep the current draw on the output  low enough to keep from damaging the output. (10 MA)

I would suggest using a high resistor (4.7 K) and working down until it works.
It can be a thin line.

There is a better way to do this, but it requires introducing a couple of transistors. (Next post).

This method of switching the drive off when the monitor reaches end of travel was first introduced to me by Koz319.

Visit his very informative site on how he built his rotating rig here:

http://206.113.145.82/mame/
« Last Edit: August 01, 2009, 08:39:41 am by DaOld Man »

Ummon

  • Trade Count: (+13)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5244
  • Last login:June 09, 2010, 06:37:18 pm
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #23 on: July 31, 2009, 10:04:08 pm »
Yeah, I think the forum software is still not allowing downloading of non-image files.
Yo. Chocolate.


"Theoretical physics has been the most successful and cost-effective in all of science."

Stephen Hawking


People often confuse expressed observations with complaint, ridicule, or - even worse - self-pity.

Kman-Sweden

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 526
  • Last login:October 23, 2015, 07:29:00 am
  • Up the Irons!
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #24 on: August 01, 2009, 04:06:37 am »
I notised that aswell... When my build go Arcade screen I'll make it rotating for sure.
Good work DaOldMan.  :applaud:

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Throw in a couple of Transistors
« Reply #25 on: August 01, 2009, 09:23:26 am »
Ummon, any idea whats wrong with the downloading?

Kman_Sweden, thanks! Good luck with your project, I cant wait to see how you do yours.
I hope some of this info will help you.

Now, in my last post I showed how you can make sure the H drive turns off even if the output sticks on. But choosing the resistors that bring the inputs low can be a very trying experience.
On my rotating project, I used opto isolators to switch my H drive off, but CSA3d used transistors, which I think worked out pretty good for him, and it's a lot simpler to wire the transistors, so I think I will use his method next time, and use it here in this example.
Study the drawing below.

The limit switches, when made, switch the ground away from the PNP transistor and connects the input to the ground.
This turns off the transistor. Mrotate2 has to be set to watch for the inputs going low.

When the Base of the PNP transistor (B) is connected to ground, current flows from collector (C) to emitter (E) on the transistor. So if the base is grounded, a complete path from the printer port output to the drive input is made.
But when the ground is removed from the base of the transistor, the connection between emitter and collector goes very high in resistance, effectively opening the connection between the print port output and the drive input.

R1 and R2 are resistors that limit the current flow through the base on the transistor and ground. This is necessary to keep from frying the transistors.

Believe it or not, this setup is much more simpler than the previous one. Because this setup should work with any computer printer port and drive.
No fiddling around with R1 and R2's values until you get it right.




DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
One more transistor for the road..
« Reply #26 on: August 01, 2009, 10:40:26 am »
In my research and trials and errors on using the printer port as a real world I/O device, I found a very annoying trait of the printer port.
When the computer boots up, going through its BIOS loading and all the things that are getting done before the sacred Windows screen pops up, the printer port does some weird things with the output pins. And what is does is different on each computer.
I have seen all 8 outputs stay on until the windows screen appears, I have seen some, but not all outputs stay on until the windows screen appears.
And this annoying thing doesnt end when Windows starts. I have one computer that all 8 outputs flash off when windows starts loading, only to come back on when Windows is almost through loading (does Windows EVER get completely through loading?)
The most common thing I have seen is one output remains on after Windows is up and running. I have noticed on the computers I have checked, it is usually Pin #4.

So what does this do to use rotating monitor buffs?
Well, if all the outputs come high, and we are using the last two examples to disconnect the drive when a limit is reached (for safety), a very interesting thing happens.
Since the monitor is most likely all the way horizontal or all the way vertical when you boot your machine, one of the limit switches is going to be made.

Imagine that the monitor is horizontal on boot up.
The horizontal switch is made, which has the horizontal path between port and drive open, so the horizontal pin going high does not try to turn the monitor, but, the vertical limit switch is not made, so that output pin does have a complete circuit to the drive.

The result of this is that the monitor begins to turn towards vertical UNTIL the horizontal limit switch is not made.
When the horizontal limit switch changes to it's not made state, the circuit from the horizontal pin to the drive is made.
So now what happens?
On most electronic H drives, if both directions are called for, the drive stops the motor and puts it in braking mode. Not all drives do this, so make sure you have researched the drive you are going to use.
What happens is the monitor turns a little, and is probably noticeably "off level".

This little problem is corrected when you first tell the monitor to turn, but  it can be embarrassing if you are showing your new cab to your friends.

Now there are probably a lot of ways you can correct this. Using a timer to turn off the power to the motor until windows has time to fully boot is one way.

But I found a much simpler way to do this, but it requires you studying how the printer port acts when you boot the machine.

A transistor can "turn off" the Q1 and Q2 transistors when a certain printer port output is turned on.

You need to find which output stays high after windows completely boots up and connect another PNP transistor's base to it (through a current limiting resistor).

Study the attached drawing.

When the selected output is high, a positive voltage is put to Q3's base.
This turns off Q3, which breaks the ground to Q1 and Q2, effectively turning them off.
Now when the selected output goes low, a negative is put to Q3's base, and it connects the ground to Q1 and Q2, (through their respective limit switches).

When Mrotate2 first starts, the very first thing it does is set all the printer port outputs low. So this setup works real good for me.
Again I used optoisolators in my project, but CSA3d used transistors.
Here is a link to his thread:
http://forum.arcadecontrols.com/index.php?topic=59170.0




 






DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #27 on: August 01, 2009, 10:49:46 am »
I forgot to add that if you use a degauss relay or a monitor off relay, you will need to tie the ground connection on this relays to the Q3 emitter (or a common on one of the limit switches.)
This way this feature also prevents the degauss relay or monitor off  from coming on during boot up.

Q3 should kill the path to ground on these relays too.
(Can you imagine your monitor turning off until you ran Mrotate2?)
Or worse, it might be a bad thing if your degauss button on your CRT stays on for the several seconds that it takes windows to boot up.

So in the next post, I will discuss the importance of studying your printer port before choosing which method of control you are going to use for your rotating rig.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
A easier way, in theory
« Reply #28 on: August 01, 2009, 12:24:30 pm »
I just thought of an easier way to do teh above circuit, which would eliminate Q3 and R3.
I havent tried this, but I dont see why it wouldnt work.

Instead using Q3 to switch the ground, why not just tie the limit switch commons back to the pin that stays on?
If the pin is high, then the limit switch commons are high, or positive.
If the pin is low, then the switches get a low, or ground to the commons.

This needs to be tested, but I would say this is the way to go.
In the diagram Im using pin 4 as the "boots up high" pin.
If you used a monitor off relay or a degauss relay, the solid state relay inputs would have to tie: negative to pin 4, positive to what ever output you are using for the respective relay.


Haterot

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 107
  • Last login:November 09, 2012, 09:27:41 am
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #29 on: August 03, 2009, 03:36:05 pm »
OR you could always toss down 15 bucks for a printer (parallel port) card. Sorta seems stupid since if you are using old mobo's it has a printer port.
I struggled on that problem for a few days, testing all my ports for hi lo (PITA). Printer card works perfectly fine with no signal sent at bootup.
Empire had the better ending. I mean, Luke gets his hand cut off, finds out Vader's his father, Han gets frozen and taken away by Boba Fett. It ends on such a down note. I mean, that's what life is, a series of down endings. All Jedi had was a bunch of Muppets

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #30 on: August 04, 2009, 06:16:29 am »
I have yet to try a add on printer port card.
If all the outputs stay on from boot up, then you could go back to the first two or three drawings to run your H drive. It would be very simple.
But you would still need to use a circuit to disable degauss and monitor off relays until you really needed them.

EDIT: Just re-read your post. If the printer port outputs dont come on at all during boot and windows load, then you shouldnt need to worry about degauss and monitor off relays coming on at boot.

I really need to go ahead and buy a printer card and play around with it.
« Last Edit: August 05, 2009, 07:59:36 pm by DaOld Man »

javeryh

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7902
  • Last login:Today at 07:41:55 pm
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #31 on: August 04, 2009, 10:49:22 am »
I can't wait to try this when I get around to finishing my rotating cab project.  Thanks for all of your hard work DaOld Man!  :cheers:

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #32 on: August 05, 2009, 08:00:43 pm »
I can't wait to try this when I get around to finishing my rotating cab project.  Thanks for all of your hard work DaOld Man!  :cheers:

Thanks JH!
Cant wait to see your project, with the detail you pay to your projects, I know it will be a great build.

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #33 on: August 05, 2009, 08:22:30 pm »
I mentioned earlier about getting to know your printer port before starting.
This means to decide on the motherboard you are going to use.
If it doesnt have a printer port built in to it, then you will need to purchase a PCI plug in printer port card.
I have been told that USB to DB25 printer port will not work with inpout32.dll, but i havent tried it.
Then you will need to map out what your outputs are doing during boot up and windows load.
CSA3d has written up a very detailed method of using a volt meter to check each output.
This can be very tedious, as Haterot suggested earlier.
Just remember, you only have to be concerned with 8 pins.
Choose one of the grounds for the black meter lead, then map out pins 2 through 9, by attaching the red meter lead to the pin, using a paper clip or a small wire to insert in the pin hole.
There is a much better way to do this, but it requires some extra work.
You can build a test box using 8 leds. each LED will attach to the ground pins and one output pin, through a suitable resistor.
Then you just watch the leds as the PC boots up.
Because I have a few projects using the printer port, I put together a box (plastic from Radio Shack).
The box has 8 leds and 5 switches. The switches connect the input pins to ground, so that I can simulate inputs being made. The box has a printer cord on it that plugs into the port on the PC.
Very handy device, but if you are never going to build another project using the printer port, it might be overkill.

The pins on the printer port are:
18 thru 25=Grounds
2 thru 9 = Data Bits (Outputs)
10, 11, 12, 13 and 15= Status Bits (Inputs)
1,14,16, & 17 - Control bits (Not used by Mrotate2)

Here is a site about using the printer port (Warning! May be extremly boring to someone not really interested.)
http://engr.nmsu.edu/~etti/fall96/computer/printer/printer.html

Here is a kinda bad picture of my printer port test box:










DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here! (Simple is better)
« Reply #34 on: August 09, 2009, 04:11:37 pm »
Ok, I broke down and ordered a PCI printer port card for 11 bucks (free shipping).

Click here

If this card does as Haterots did, and no outputs are turned on during bootup or windows load, then this is probably the easiest and best way to go.
But I still like the safety margin, just in case an output hangs on the motor cant run past it's limits.

I think I am going to use DPDT microswitches as my limits. I found some cheap ones on ebay:

Click here

I wont be using these switches, but some very similar, just thought Id post that to give you an idea of what they are.

With the double pole double throw switches, when the limit is reached, the drive can be disconnected from the printer port and at the same time the input on the printer port made to ground. This will remove the command from the drive and at the same time tell Mrotate2 that the limit has been reached.

This makes the circuit a whole lot simpler and easier to wire up.

The only mishap that could happen now is that if something happened to teh drive and it stuck on, but that is what your mechanical stops are for.

Here is my latest drawing:






DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: Rotating Monitor users! Git yer mrotate2 here!
« Reply #35 on: August 27, 2009, 07:51:28 pm »
Sorry about bumping this thread, but I do have an update.
I finally got the PCI printer port card. Shipping was very slow, but it did come all the way from China.

The card arrived with no instructions at all. Just the card and a mini Cd in the box.


I put the card in a pci slot and attached my led printer port tester box to it.


It booted up with no outputs coming on. So far so good, or so I thought.

The printer card showed up in windows device manager as a parallel port, but also 2 new serial ports were added.


I ran the install program that was on the mini disk.
It cleared up the hardware question marks and moved the 3 new ports to com & lpt port section.

I could not get mrotate2 to communicate with the card.
I tried moving the card to another PCI slot, and still the communications was very flaky.
I was about ready to write this off as a bad investment, but then I decided to go back to the old days of windows, and install the drivers manually.
I had to uninstall the drivers using a uninstall program on the mini disk.
I then rebooted the computer, and when the three ports showed up in device manager as problem children, I right clicked and updated the drivers on each.
I pointed windows to the mini disk to get the drivers.
After that, the ports showed up in the com & lpt section.
I then right clicked on the LPT3 port, and clicked Properties.


Then I clicked on Resources, and got the memory address.


I then ran mrotate2's setup mode and entered the memory address, in HEX, in the custom box.


Mrotate2 now communicates with the new printer port, and works pretty good.
I do notice that all outputs come on momentarily when the computer boots up.
After windows starts, output 4 comes on and stays on.
So I would not use pin 4 on my rotate setup with this card.
I guess if you use a add on card, you still need to do some investigation to figure out which pins to use.

Here is a picture of the test box attached to the new card, with Mala in the background monitor. (This is my table top test rig, not my arcade cab.)