Saturday, November 22, 2008

re-write URLs under IIS for Drupal

This is mainly a note to myself, but perhaps it wil help someone else as well.
Although all of the sites I work on end up being hosted under LAMP, I develop most of them locally on my XP machine using the built in IIS for localhost.

The only problem I have ever run into (well once I got the whole thing working anyway) is that IIS does not have URL rewriting, and without rewriting there are no clean-urls, and without clean-urls there is no services/AMFPHP.

I just ran across this node http://drupal.org/node/149318 that mentions an OPEN SOURCE Isapi rewrite filter (http://www.codeplex.com/IIRF).
Cool!

Now to install and test it out.
More info will be forthcoming.

Wednesday, November 05, 2008

dorkbot kit night and make blog Woot!

tool kits for 911 Media Arts Center
Tonight is kit night at Dorkbot-sea. We sold kits for building solar theremins, tv-b-gones, and BEAM "robots". We wanted to raise some funds to buy tools for our gracious hosts at the 911 Media Arts Center (who "coincidentally" are running the Arduino class I am teaching). That was a complete success, and we now have 10 shiny new soldering irons, third hands, breadboards, and some basic hand tools. We are going to be using them tonight to put the kits together, and then they go to 911 for classes and workshops (and hopefully future Dorkbot meetings).

Oh and it looks like my motor control made the Make blog!

Monday, November 03, 2008

Arduino and motor control part 2


arduino linear positioning with an ink jet printer carcass from Josh Kopel on Vimeo.
I spent a bit more time messing with the ink jet guts, and finally had some success getting the linear print head positioning to work. The first challenge was that the motor kept hanging up and moving in big jerks. After burning my finger on the Arduino's voltage regulator, I finally realized that routing all the power through the Arduino was the problem. Now I am running the Arduino off of the USB cable, and I hooked a random 13.5 volt wall wart up directly to the power terminals on the motor control board. Once I got enough torque out of the motor it works quite well.

I am getting a measure of the upcoming challenges though. For one I need to add at least one limit switch so that I can establish a repeatable zero position. That should be fairly easy.

I think there may be a bigger problem dealing with the interrupts from the encoder circuit. When I try to get any feedback from Serial.print() inside my loop{} it hangs up and stutters out only an occasional message. The issue seems to be that the encoder is too precise! The encoder strip has 200 line per inch rulings, and I am currently triggering an interrupt with each 0 ->1 and 1->0 transition. This means it is generating interrupt hits 400 times for each inch it travels, and I think the Arduino is never able to get through a complete loop execution without being interrupted (I can sympathize).

I am going to try just using one of the edge transitions (i.e. low -> high) and see if that helps. It may mean that the code needs to handle the rapid interrupts more gracefully. I can see this being with a very tight loop while the motor is seeking, and then a detachInterrupt() and power down (or set to shorted out braking) while it does anything else.

In the mean time it is fun to zip the motor back and forth.