Monday, June 10, 2019

Ionic Foot Bath Detox Controller Modification.

I recently took apart a Ionic foot bath controller to try to silence the beeper.  It beeps far too much saying the current is not correct.  It actually says "Add Water".

First of all you can dissemble the array.  It NEEDS to be cleaned after every use.  If not stuff builds up on it and it becomes unusable.
 This is what the controller looks like with the cover removed.
 This is the back side of the control panel.
 Here is the power supply.
 The controllers weight comes from this big power transformer.
 This is a picture of the front side of the controller.
 i changed a resistor value in the controller driver circuit for the beeper.  It had no effect.


2019 Chaffee NY Hamfest

This year I sold over $100 of stuff.  That is very good for one of the smallest Hamfests that I go to.  This first picture is of my table. 
 Another view of my table of stuff.
 My book collection has really grown over the years!
 This is someone else's collection of stuff...   Notice all the vacuum tubes!
 Here is a tube tester and a tube radio.
 This is a really old tube tester...
 Some more neat stuff.  The device on top is a wave guide rotating attenuator.
 Here is another neat old radio.

Friday, May 31, 2019

7 Inch LCD Screen kits sold on eBay with Raspberry Pi

I recently purchased one of the 7 inch LCD screen kits being sold on eBay.  The resolution is 1024 x 600 so the screen image is a little compressed top to bottom.  The brightness is not that great either.  But it does work fine with a Raspberry Pi.  It also supports composite video and VGA video inputs.  It is rated for 12 volts at 1 amp but it also runs on 5 volts from an included USB connector.

This is the eBay advertisement.

This is the screen running of a USB power cable that was included.  All you have to do is plug the screen into the interface board (there is a clip that you push down to lock it in) and add power.

I flipped the screen orientation so the interface board can be eventually mounted on the back of the screen and switched to a 12 volt AC adapter.  It was not noticeably brighter on the AC adapter. 

Wednesday, May 1, 2019

Panasonic Pro AG-DVC7 Rebuild with higher resolution

I am rebuilding a Panasonic AG-DVC7 to give a better image resolution.  I am looking at USB Camera boards with sound on eBay to attach to the existing optics.  An Arduino will handle the Zoom, Focus, and Iris.  A Raspberry Pi will do the recording and provide a viewfinder.

One of the first steps is to reverse engineer the optics.

This is the main side of the optical assembly with the Zoom and Focus stepper motors.

This is the back side - The Iris solenoid connections are shown.  You need to remove the cover on the left to get to the connections.

This is a close up of the Iris assembly.  You do not need to take the optics apart this far.

Here is the first video of the arrangement working.


Yet to do:
Increase the range of the zoom - Add a spacer between board and the image sensor.
Set up a viewfinder - Need a small 5-7 inch HDMI Monitor.
Make the steps finer/smoother. - Done with 8 phases for servos instead of 4.
Auto focus - Need to run the focus to its stop then keep track of its position.
  Perhaps add an ultrasonic distance sensor?
Focus Issue - Somehow I damaged the optical assembly, it does not focus properly when installed back in the DVC7 camera....

Here is the schematic of the Arduino servo controller that was used for the camera.

This is a close up of the Arduino and servo driver interface.

This is a close up of the Raspberry Pi. You could use a USB camera board as well.

Here is the code for the servos.

/*****************************
Dual Four wire stepper motor Control
For Panasonic AG-DVC7 with two servos
by Bob Davis
May 1, 2019
*****************************/
// To L293 one
int motor1A =4;
int motor1B =5;
int motor1C =6;
int motor1D =7;
// To L293 Two
int motor2A =8;
int motor2B =9;
int motor2C =10;
int motor2D =11;
// 2P Momentary Switch One Center is off
int m1sw1 = 14;
int m1sw2 = 15;
// 2P Momentary Switch Two Center is off
int m2sw1 = 16;
int m2sw2 = 17;
// Variables
int m1step = 0;
int m2step = 0;
int mspeed = 100; // Step speed

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor1B, OUTPUT);
  pinMode(motor1C, OUTPUT);
  pinMode(motor1D, OUTPUT);
  pinMode(motor2A, OUTPUT);
  pinMode(motor2B, OUTPUT);
  pinMode(motor2C, OUTPUT);
  pinMode(motor2D, OUTPUT);
  pinMode(m1sw1, INPUT_PULLUP);
  pinMode(m1sw2, INPUT_PULLUP);
  pinMode(m2sw1, INPUT_PULLUP);
  pinMode(m2sw2, INPUT_PULLUP);
}

void loop() {
// read switches
  if (digitalRead (m1sw1)==HIGH) m1step=m1step+1;
  if (digitalRead (m1sw2)==HIGH) m1step=m1step-1;
  if (m1step > 7) m1step=0;
  if (m1step < 0) m1step=7;
  if (digitalRead (m2sw1)==HIGH) m2step=m2step+1;
  if (digitalRead (m2sw2)==HIGH) m2step=m2step-1;
  if (m2step > 7) m2step=0;
  if (m2step < 0) m2step=7;
// respond M1 with 8 smooth steps
  if (m1step==0){
    digitalWrite (motor1A, LOW); //+A
    digitalWrite (motor1B, HIGH);
    digitalWrite (motor1C, HIGH);
    digitalWrite (motor1D, HIGH);}
  if (m1step==1){
    digitalWrite (motor1A, LOW); //+A,+B
    digitalWrite (motor1B, HIGH);
    digitalWrite (motor1C, LOW);
    digitalWrite (motor1D, HIGH);}
  if (m1step==2){
    digitalWrite (motor1A, HIGH); //+B
    digitalWrite (motor1B, HIGH);
    digitalWrite (motor1C, LOW);
    digitalWrite (motor1D, HIGH);}
  if (m1step==3){
    digitalWrite (motor1A, HIGH); //+B,-A
    digitalWrite (motor1B, LOW);
    digitalWrite (motor1C, LOW);
    digitalWrite (motor1D, HIGH);}
  if (m1step==4){
    digitalWrite (motor1A, HIGH); // -A
    digitalWrite (motor1B, LOW);
    digitalWrite (motor1C, HIGH);
    digitalWrite (motor1D, HIGH);}
  if (m1step==5){
    digitalWrite (motor1A, HIGH); // -A,-B
    digitalWrite (motor1B, LOW);
    digitalWrite (motor1C, HIGH);
    digitalWrite (motor1D, LOW);}
  if (m1step==6){
    digitalWrite (motor1A, HIGH); // -B
    digitalWrite (motor1B, HIGH);
    digitalWrite (motor1C, HIGH);
    digitalWrite (motor1D, LOW);}
  if (m1step==7){
    digitalWrite (motor1A, LOW); // -B,+A
    digitalWrite (motor1B, HIGH);
    digitalWrite (motor1C, HIGH);
    digitalWrite (motor1D, LOW);}
 
// respond M2
  if (m2step==0){
    digitalWrite (motor2A, LOW); //+A
    digitalWrite (motor2B, HIGH);
    digitalWrite (motor2C, HIGH);
    digitalWrite (motor2D, HIGH);}
  if (m2step==1){
    digitalWrite (motor2A, LOW); //+A,+B
    digitalWrite (motor2B, HIGH);
    digitalWrite (motor2C, LOW);
    digitalWrite (motor2D, HIGH);}
  if (m2step==2){
    digitalWrite (motor2A, HIGH); //+B
    digitalWrite (motor2B, HIGH);
    digitalWrite (motor2C, LOW);
    digitalWrite (motor2D, HIGH);}
  if (m2step==3){
    digitalWrite (motor2A, HIGH); //+B,-A
    digitalWrite (motor2B, LOW);
    digitalWrite (motor2C, LOW);
    digitalWrite (motor2D, HIGH);}
  if (m2step==4){
    digitalWrite (motor2A, HIGH); // -A
    digitalWrite (motor2B, LOW);
    digitalWrite (motor2C, HIGH);
    digitalWrite (motor2D, HIGH);}
  if (m2step==5){
    digitalWrite (motor2A, HIGH); // -A,-B
    digitalWrite (motor2B, LOW);
    digitalWrite (motor2C, HIGH);
    digitalWrite (motor2D, LOW);}
  if (m2step==6){
    digitalWrite (motor2A, HIGH); // -B
    digitalWrite (motor2B, HIGH);
    digitalWrite (motor2C, HIGH);
    digitalWrite (motor2D, LOW);}
  if (m2step==7){
    digitalWrite (motor2A, LOW); // -B,+A
    digitalWrite (motor2B, HIGH);
    digitalWrite (motor2C, HIGH);
    digitalWrite (motor2D, LOW);}

  delay (mspeed);
}


Monday, April 29, 2019

HP Laptop Camera to USB Webcam Conversion

I have been working on hacking a Panasonic DVX100 camera.  They sell for about $100 used but they were $4000 new.  They still contain about $1000 of optics.  So I thought about using a different cameras electronics and mating it with the optics.  Then I was further sidetracked by the idea of using an old laptop camera as a USB camera.

I salvaged two laptop cameras from old laptops.  One was just 640x480 resolution but the other was 1280x960!  However the lens was glued in place making using it with the better optics not possible.  Here is a picture of the better camera.
Then, to hack the interface, the ground was metered to connect to the green wire.  Red was power and the twisted pair was the data pair.  I guessed on the twisted pair and got it right the first time.  I added heat shrink tubing later on.
Camera Green - USB Black
Camera Red - USB Red
Camera Black - USB Green
Camera Blue - USB White.

Here are the test results from https://webcamtests.com/


And finally a picture of me taken with the better camera:


Friday, April 12, 2019

Chevy HHR Car inspection P0171 code

I started about three months ahead of the inspection due date.  First I replaced the windshield that was cracked. I found a deal where it was $200 instead of the usual over $300.  Then the brakes were rebuilt and one of the wheel bearing was replaced at over $600.  Then I was quoted $300 to replace the two "GM VVT Control Valve Solenoid" valves on top of the motor.  I did that myself for $18 by buying the parts on eBay.  After that repair the check engine light went out.  Before I could get it inspected the check engine light came back on!

After checking everything and cleaning the Mass Air Flow (MAF) sensor I gave up and took it back to the garage.  As I drove it there the check engine light went out!  However it failed inspection because it had not been driven enough.  So I was given 10 days to fix it.  The garage said they had fixed a vacuum leak.  The next day the check engine light came back on!

So I spent a Saturday trying things, one at a time, to fix it. One thing I needed was something that could tell me if the problem was fixed without having to drive it many miles to see if the check engine light comes back on.  This code reader was the solution.  It read a "permanent" code 171 - fuel too lean.

Next I replaced the spark plugs.  That helped some and cleared the permanent code but soon a "pending" 171 code came back up.  As you can see the plugs were in rough shape.  I replaced them with AC Delco plugs.

Next I replaced the MAF sensor that I had cleaned earlier.  That fixed the problem.  It has some slots in it that I had sprayed the cleaner in but that was apparently not enough to fix the problem.  So after 10 days past due my car finally passed inspection.



Thursday, April 11, 2019

Panasonic DVX100 Video camera repair and modification

This started with a dream that I had three professional cameras.  At one time I had two Panasonic AG-DVC7 cameras.  My brother had them, so I asked if I could have them back.  He was happy to return them because they were both very difficult to turn on.  I have shown how to repair that problem in another blog post.  However, my research showed that the DVX100 that once cost about $4000 was now available on eBay for about $50 each needing repairs.

The DVX100 has a actual native resolution of 1546 x 990 according to some sources.  At one time there was the a modification to take advantage of this higher resolution.  I think that I might be the ideal person to revive this modification since I have lots of experience in modifying everything from LED sighs to computer monitors.

I bought two of the cameras for $85 that were in need of repair.  To my surprise they both worked!  Even the tape decks could record and play back videos.  They are missing some parts and one of the LCD screens goes crazy when you move it.



This is what the insides of the camera look like. You have to remove the top microphone assembly to get to a screw under it as well as the bottom plate to get to three screws under that.
DVX100 Cover Removed

This is the LCD side cover.  There are a lot of connectors to unplug including two that are under the microphone assembly.

This is the top of the video processor board.

This is the bottom of the video processor board.  Note the two VSP2212 video processor and analog to digital converter chips on the left side.  The third one is located on the top of the board.

Here is the block diagram of the video processor.
Here is the pin numbers to connect to.
The problem now is what do I connect to?  If I connect to the analog input then I need to have a circuit to process the CMOS output, that is not straight analog, but instead it is clock pulses followed by analog values.  I also loose the gain control circuitry (PGA).  If I connect to the digital outputs I have to connect 12 wires to each analog converter and I am limited to the sampling rate of the converter that has a maximum clock of 20 MHz or 1,500 pixels horizontally.  That is assuming that they clocked it at the maximum frequency (highly unlikely).

These pictures compare the optics of the DVC7 to the DVX100 optics.

DVX100 Lens

These next two pictures compare images between the two cameras, the DVC7 is first.

This might freak you out, but I disassembled the optics! Its from a slightly broken camera so you can breath a sigh of relief.

This is the focus assembly (No wonder there is no focus motor).  There are two coils attached to the lens that then move inside of a top and bottom magnet.  This is much like a hard rive positioning mechanism.
DVX100 Focus

This is the image stabilization mechanism. Two coils one for X and one for Y move inside of magnets.
DVX100 Stabilization

This is the iris solenoid (A screwdriver is holding it open) with the filters also visible on the right side.
DVX100 Iris

Here is how to connect to the optical assembly.  The zoom motor is a conventional motor, connect power one way to zoom in and reverse it to zoom out.  The Iris solenoid needs just two pins as marked.  The focus coils (just two connections) only need a little power to move.  The other connections next to the focus coils are for the manual zoom/focus ring that is missing on this lens assembly.  Varying the voltage varies the focus lens position. 
There are three optical sensors, one is for the filters.  There is a variable resistor to sense the position of the zoom.  The image stabilizer might be the hardest thing to operate. I can see the image is off center when power is not applied. That lens is what you hear rattling inside the lens assembly. Hopefully I can break it down to two coils that need to be energized.