Posted on 70 Comments

Dyson DC35 “Digital” Teardown

DC35
DC35

Here’s another Dyson teardown, in my efforts to understand how marketing have got hold of relatively simple technology & managed to charge extortionate amounts of money for it.
This is the DC35, the model after the introduction of the brushless digital motor.

Back Cap Removed
Back Cap Removed

On this version the mouldings have been changed, and the back cover comes off, after removing the battery retaining screw. It’s attached with some fairly vicious clips, so some force is required. Once the cap is removed, all the electronics are visible. On the left is the motor itself, with it’s control & drive PCB. There’s another PCB on the trigger, with even more electronics. The battery connector is on the right.

Trigger PCB
Trigger PCB

Here’s the trigger PCB, which appears to deal with DC-DC conversion for powering the brush attachments. The QFN IC with yellow paint on it is an Atmel ATTiny461 8-bit microcontroller. This is probably controlling the DC-DC & might also be doing some battery authentication.

"Digital Motor"
“Digital Motor”

Here’s the motor & it’s board. The windings on the stator are extremely heavy, which makes sense considering it’s rated at 200W. The main control IC is a PIC16F690 from Microchip. Instead of using an off the shelf controller, this no doubt contains software for generating the waveforms that drive the brushless motor. It also appears to communicate with the other PCBs for battery authentication.

Stator
Stator

Desoldering the board allows it to be removed from the motor itself. The pair of windings are connected in anti-phase, to create alternating North-South poles depending on polarity. Since the existing controller is unusable due to software authentication with the other parts, I might have a go at building my own driver circuit for this with an Arduino or similar.

Blower Assembly
Blower Assembly

The blower assembly is simple plastic mouldings, pressed together then solvent welded at the seam.

Impeller
Impeller

The impeller is just a centrifugal compressor wheel, identical to what’s used in engine turbochargers.

Motor Control Board
Motor Control Board

The inside face of the control PCB holds the 4 very large MOSFETs, IRFH7932PbF from International Rectifier. These are rated at 30v 20A a piece, and are probably wired in a H-Bridge. There’s a bipolar Hall switch to sense rotor position & rotation speed, and an enormous pair of capacitors on the main power bus.

Motor Control Board Reverse
Motor Control Board Reverse

Not much on the other side of the PCB other than the microcontroller and associated gate drive stuff for the FETs.

Battery Pack Opened
Battery Pack Opened

The battery pack is similar to the DC16 in it’s construction, a heavily clipped together plastic casing holding 6 lithium cells. In this one though there’s a full battery management system. The IC on the top of the board above is a quad Op-Amp, probably for measuring cell voltages.

Battery BMS Bottom
Battery BMS Bottom

The other side of the BMS board is packed with components. I wasn’t able to identify the QFN IC here, as it’s got a custom part number, but it’s most definitely communicating with the main motor MCU via I²C over the two small terminals on the battery connector.

Posted on 1 Comment

12v Temperature Controlled Soldering Iron

In my shack, 99% of my gear is all 12v powered, which is good for a few reasons:

  • Single Power Supply – This increases efficiency, as I’m only getting the losses of a single supply.
  • Safety – Mains voltages are dangerous, I’m not fond of working on such equipment.
  • Portability – I can power everything pretty much no matter were I am from a convenient car battery.
  • Convenience – Since everything is single supply, with all the same plugs, I don’t have to think about what goes where. This is more important due to my forgetfulness ;).

The one piece of equipment I regularly use that isn’t 12v is my soldering station. This is a Maplin A55KJ digital unit, which uses a 24v heating element.
While the soldering wand works OK when hooked direct to a 12v power supply (only at half power though), this removes the convenience of having temperature control.

The circuitry inside the unit is PIC microcontroller based, and doesn’t even bother rectifying the AC from the supply transformer before it’s sent to the heater. Because of this there are several reasons why I can’t just hook a DC-DC converter up to it to give it 24v.

It’s sensing the zero-crossing for the triac switch, to reduce heat dissipation, so it refuses to work at all with DC.

On looking at the Great Google, I found a project on Dangerous Prototypes, an Arduino based PID controller for soldering irons.

This requires that the soldering wand itself contains a thermocouple sensor – as the Maplin one I have is a cheap copy of the Atten 938D, it doesn’t actually use a thermocouple for temperature sensing. It appears to read the resistance of the element itself – Nichrome heating elements change resistance significantly depending on temperature.

I’ve managed to find a source of cheap irons on eBay, with built in thermocouples, so I’ve got a couple on order to do some testing with. While I wait for those to arrive, I’ve prototyped up the circuit on breadboard for testing:

Prototype
Prototype

I’ve remapped some of the Arduino pins, to make PCB layout less of a headache, but the system is working OK so far, with manual input for the sensed temperature.
I’m using an IRL520N logic-level HEXFET for the power switching, rated at 10A. As the irons only draw a max of 4.5A, this is plenty beefy enough.
To come up with the +24v supply for the heater, a small DC-DC converter will be used.

More to come when the components for the thermocouple amplifier arrive, and the soldering irons themselves!

Posted on 1 Comment

Arduino SWR Power Meter Final Parts & Calibration

Now the final bits have arrived for the SWR Meter module, I can do the final assembly.

SMA Connectors
SMA Connectors

Here the SMA connectors are installed on the side of the eBay meter, for forward & reverse power tap.
These are simply tee’d off the wiring inside the meter where it connects to the switch.

Uncalibrated
Uncalibrated

The meter is connected to the module via a pair of RG58 SMA leads, above is a readout before calibration, using one of my Baofeng UV-5Rs.

I’m using my GY561 eBay Power Meter as a calibration source, and as this isn’t perfect, the readings will be slightly off. If I can get my hands on an accurate power meter & dummy load I can always recalibrate.

Tools are only as accurate as the standard they were calibrated from!

After calibration, here’s the readings on 2m & 70cm. These readings coincide nicely with the readings the GY561 produce, to within a couple tenths of a watt. SWR is more than 1:1 as the dummy load in the GY561 isn’t exactly 50Ω.

High Power VHF
High Power VHF
Low Power VHF
Low Power VHF
High Power UHF
High Power UHF
Low Power UHF
Low Power UHF

Shortly I’ll calibrate against 6m & 10m so I can use it on every band I have access to 🙂

 

Posted on 3 Comments

Arduino Based SWR/PWR Meter – The Board

I recently posted about a small analog SWR/Power meter I got from eBay, and figured it needed some improvement.

After some web searching I located a project by ON7EQ, an Arduino sketch to read SWR & RF power from any SWR bridge.
The Arduino code is on the original author’s page above, his copyright restrictions forbid me to reproduce it here.

I have also noticed a small glitch in the code when it is flashed to a blank arduino: The display will show scrambled characters as if it has crashed. However pushing the buttons a few times & rebooting the Arduino seems to fix this. I think it’s related to the EEPROM being blank on a new Arduino board.

I have run a board up in Eagle for testing, shown below is the layout:

SWR Meter SCH
SWR Meter SCH

The Schematic is the same as is given on ON7EQ’s site.
Update: ON7EQ has kindly let me know I’ve mixed up R6 & R7, so make sure they’re switched round when the board is built ;). Fitting the resistors the wrong way around may damage the µC with overvoltage.

SWR Meter PCB
SWR Meter PCB

Here’s the PCB layout. I’ve kept it as simple as possible with only a single link on the top side of the board.

PCB Top
PCB Top

Here’s the freshly completed PCB ready to rock. Arduino Pro mini sits in the center doing all the work.
The link over to A5 on the arduino can be seen here, this allows the code to detect the supply voltage, useful for battery operation.
On the right hand edge of the PCB are the pair of SMA connectors to interface with the SWR bridge. Some RF filtering is provided on the inputs.

PCB Bottom
PCB Bottom

Trackside view of the PCB. This was etched using my tweaked toner transfer method.

LCD Fitted
LCD Fitted

Here the board has it’s 16×2 LCD module.

Online
Online

Board powered & working. Here it’s set to the 70cm band. The pair of buttons on the bottom edge of the board change bands & operating modes.
As usual, the Eagle layout files are available below, along with the libraries I use.

[download id=”5585″]

[download id=”5573″]

More to come on this when some components arrive to interface this board with the SWR bridge in the eBay meter.

Posted on Leave a comment

uRadMonitor – Node Online!

It’s official. I’m now part of the uRadMonitor network, & assisting in some of the current issues with networking some people (including myself) have been having.

It seems that the uRadMonitor isn’t sending out technically-valid DHCP requests, here is what Wireshark thinks of the DHCP on my production network hardware setup:

WireShark Screencap
WireShark Screencap

As can be seen, the monitor unit is sending a DHCP request of 319 bytes, where a standard length DHCP Request packet should be ~324 bytes, as can be seen on the below screen capture.

Valid DHCP
Valid DHCP

This valid one was generated from the same SPI Ethernet module as the monitor, (Microchip ENC28J60) connected to an Arduino. Standard example code from the EtherCard library was used to set up the DHCP. The MAC address of the monitor was also cloned to this setup to rule out the possibility of that being the root cause.

My deductive reasoning in this case points to the firmware on the monitor being at fault, rather than the SPI ethernet hardware, or my network hardware. Radu over at uRadMonitor is looking into the firmware being at fault.

Strangely, most routers don’t seem to have an issue with the monitor, as connecting another router on a separate subnet works fine, and Wireshark doesn’t even complain about an invalid DHCP packet, although it’s exactly the same.

Working DHCP
Working DHCP

As the firmware for the devices isn’t currently available for me to pick apart & see if I can find the fault, it’s up to Radu to get this fixed at the moment.

Now, for a µTeardown:

uRadMonitor
uRadMonitor

Here is the monitor, a small aluminium box, with power & network.

PCB
PCB

Removing 4 screws in the end plate reveals the PCB, with the Geiger-Mueller tube along the top edge. My personal serial number is also on the PCB.
The ethernet module is on the right, with the DC barrel jack.

PCB Bottom
PCB Bottom

Here is the bottom of the PCB, with the control MCU & the tiny high voltage inverter for the Geiger tube.

Control Electronics
Control Electronics

A Closeup of the main MCU, an ATMega328p

Logo
Logo

PCB Logo. Very artsy 😉

Posted on 4 Comments

AD9850 DDS VFO PCB & Schematic Layout

I recently came across a design for an Arduino controlled AD9850 DDS module, created by AD7C, so I figured I would release my Eagle CAD design for the PCB here.

It is a mainly single-sided layout, only a few links on the top side are needed so this is easy to etch with the toner transfer method.

My version uses an Arduino Pro Mini, as the modular format is much easier to work with than a bare ATMega 328.

RF output is via a SMA connector & has a built in amplifier to compensate for the low level generated by the DDS Module.

DDS VFO
DDS VFO

Version 2 Update: Added reverse polarity protection, added power indicator LED, beefed up tracks around the DC Jack.
[download id=”5571″]

Posted on Leave a comment

Water Management System PCB Revisions

OK, a few revisions have been made to the water management PCB, mainly to reduce the possibility of the brushed DC motors in the water pumps from causing the MCU to crash, with the other changes to the I/O connector positioning & finally upgrading the reverse blocking diode to a 10A capable version rather than 5A.

Water Management PCB
Water Management PCB

Thanks to Mayhew Labs with the WebGerber image generator for the render.

Posted on Leave a comment

Marine Potable Water Management System

LCD Panel
LCD Panel

Having two separate water tanks on nb Tanya Louise, with individual pumps, meant that monitoring water levels in tanks & keeping them topped up without emptying & having to reprime pumps every time was a hassle.
To this end I have designed & built this device, to monitor water usage from the individual tanks & automatically switch over when the tank in use nears empty, alerting the user in the process so the empty tanks can be refilled.

Based around an ATMega328, the unit reads a pair of sensors, fitted into the suction line of each pump from the tanks. The calculated flow is displayed on the 20×4 LCD, & logged to EEPROM, in case of power failure.

Water Flow Sensor
Water Flow Sensor

When the tank in use reaches a preset number of litres flowed, (currently hardcoded, but user input will be implemented soon), the pump is disabled & the other tank pump is enabled. This is also indicated on the display by the arrow to the left of the flow register. Tank switching is alerted by the built in beeper.
It is also possible to manually select a tank to use, & disable automatic operation.
Resetting the individual tank registers is done by a pair of pushbuttons, the total flow register is non-resettable, unless a hard reset is performed to clear the onboard EEPROM.

Main PCB
Main PCB

View of the main PCB is above, with the central Arduino Pro Mini module hosting the backend code. 12-24v power input, sensor input & 5v sensor power output is on the connectors on the left, while the pair of pump outputs is on the bottom right, switched by a pair of IRFZ44N logic-level MOSFETS. Onboard 5v power for the logic is provided by the LM7805 top right.

Code & PCB design is still under development, but I will most likely post the design files & Arduino sketch once some more polishing has been done.