Menu Close

Dome Position Sensor for BrewSpinDome

I am busy building a dome controller to replace the Foster Systems unit. I call it BrewSpinDome, an Arduino based controller with a more precise position sensor (2 to 3 times more precise). I use the existing Home sensor.

Mark I Position Sensor

In my first attempt, I used an IR reflective sensor from Adafruit. It has an infrared emitting LED and a phototransistor (photodiode?) to detect reflected light. The two pieces are tilted slightly; the presence of a dark or light spot in front of the sensor changes the output voltage.

The images below show the sensor wheel mounted below the dome rotation gear, with the sensor positioned to detect the dark and white zones. The mounting bracket allows positioning of the sensor precisely under the wheel. It turns out the sensor works best when it is roughly 5mm from the wheel.

MarkIWheel
Looking at the bottom of the dome gear, showing the sensor wheel. The IR position sensor is to the left, aligned to detect the white and black blocks.
MarkIGap
Showing the gap between the sensor and the wheel.
MarkIBracket
The mounting bracket allows several rotations to position the sensor.A header shield is used as the cable connector.

An oscilloscope shows the sensor output as the blue line. The yellow trace shows the Arduino receiving interrupts when the sensor switches states.

ALLBUSY

This was working OK; I used this system to start debugging the software. However, I began to see problems; the dome was missing sensor ticks. It turns out the dome gear “wobbles” a bit as it turns. This moves the gear closer to the sensor, so the voltages are not sufficient to get the pulses shown above.

So, back to the drawing board.

Mark II Position Sensor

In this design, I have a toothed wheel under the dome gear. I obtained an IR LED / phototransistor pair from Radio Shack which are positioned so the toothed wheel breaks the beam as it rotates. Hopefully this will generate better pulses.

MarkIIPail
Plastic pail showing bottom cut off and transformed into the toothed wheel.

The toothed wheel was created by cutting the bottom of a plastic pail obtained from my standard parts warehouse (Dollar Store). The image shows the original pail on top of the bottom piece which was cut off. I used a Dremel to cut the teeth in the wheel, as well as a central hole and two cuts to facilitate placing the wheel around the axle of the dome gear.

MarkIIWheelB.JPG
Toothed wheel after cutting teeth with Dremel. The wheel is cut into two pieces to allow attachment around the Rotation motor shaft. 

I also modified the mounting bracket as shown to place the IR emitter/detector on either side of the teeth. The two LED holders may be adjusted to get the sensor aligned.

MarkIIBracket.JPG
The new bracket. The sensor LEDs are glued into the holes at the upper right (you can see the leads of one LED at the upper right). The two LED holders may be moved laterally to position the sensor correctly between the teeth.

Schmitt Trigger

I also stumbled upon a device known as a Schmitt Trigger, or Schmitt Inverter. It takes my slow-changing pulses and changes them into sharper square pulses. Very nice! I will add this to my circuit. In the Mark I, I was getting multiple interrupts at each transition; I had to add software logic to ignore interrupts for 25-50 milliseconds after receiving one. Maybe this will eliminate that problem.

SchmittTrigger.jpg
I can buy a Schmitt Trigger IC (74LS14) or implement the logic with a 555 Timer as shown in this circuit.

 

2 Comments

  1. brew

    Is Chatman looking for a driver for the club dome at Ionia? There may be a problem there – as I recall, one of the RS232 chips was blown in the dome communications panel…

    What I wrote was not an Ascom driver. It was a standalone small program which would open or close the dome. The code might still be on the dome computer. As I recall, I wrote it as a script on that computer.

    The concept was fairly kludgy – you sent “A” or “a” to raise or lower one side of the dome a bit. The “B” / “b” character did the other side of the dome. The timings were not the same; for example, it took perhaps more “A”s to open the shell than “a”s to close it. You had to keep sending the character to get the shell to completely up or down. So, a long string of “A” characters would raise the shell. I had manually worked out the number of “A”s and “B”s required.

    There was no sensor to indicate whether the shell was up or down. I think a good plan would be to add sensors to detect when the dome is open or closed.

    I recently noticed that Foster Systems is now providing a driver for the Astrohaven; they must have entered into some type of agreement. I don’t know anything about it, just noticed it on their web site.

    Good Luck,
    brew

  2. Dave Bradley

    Hey Brew! Looks like you’re having fun. Andy Chatman is looking for someone to write a quality Astrohaven clamshell dome ASCOM driver. I said I seem to remember you writing one for the Bigdome years ago. Is that true? If so, do you still have a copy you can send to Andy in Thailand?

    Dave

Leave a Reply

Your email address will not be published. Required fields are marked *

eighteen − 9 =