Previous posts for this project:

 

 

Introduction

 

I'm back in town and still a bit jet lagged, but it's time I posted an update again.

 

As part of this challenge's kit, most of us received an oscilloscope. A Tektronix TBS1052B-EDU to be more precise.

I haven't worked with an oscilloscope in over seven years. The last time I did was when I was still in school, and even then, I wasn't very proficient in its use.

 

Now that I have my very own oscilloscope, I can take the time to know it better and learn to gradually master its features.

 

This post describes my first actions with the oscilloscope.

 

 

Beginner

 

As stated in the intro, I will approach the TBS1052B-EDU oscilloscope as a complete newbie. So if you're already familiar with oscilloscopes, this post will probably not be very interesting

 

Other, more experienced members have already posted their experiences with the scope, you can find some of them here:

 

 

Registration

 

The first thing I did after unboxing my brand new oscilloscope was to regist... nope. First thing I did was to attach the colored rings to the probes, I couldn't help myself, sorry.

 

photo 1.JPGphoto 2.JPG

 

After marking the probes, I proceeded with the registration.

 

You can't really miss it. There is big "Alert" sticker on the scope's display asking to register the scope. On top of it, by registering, you're entering a draw to win another scope.

The registration only took a couple of minutes, and after that, I had access to a bunch of documentation and software for my device.

 

Documentation and software

 

Library

 

There is a lot of documentation available once registered. The main page: TBS1000B-EDU Digital Storage Oscilloscope | Tektronix offers links to a library with a lot of documentation and there is even a PDF download for the "XYZ of Oscilloscopes".

 

Screen Shot 2014-09-10 at 11.36.38.pngScreen Shot 2014-09-10 at 11.36.21.png

 

I have only gone through some of it so far, but it looks like I'll be able to learn a lot about oscilloscopes, how they work and how they're used.

 

 

OpenChoice

 

One of the tools available is called "OpenChoice". I've seen other contestants make use of it in their blog posts.

 

OPENCHOICE DESKTOP APPLICATION TDSPCS1, V2.4 | Tektronix

 

When checking the prerequisites, the popup was blank. Somehow, I ended up resizing it (probably when making screenshots for this blog) and suddenly the text appeared.

Has anyone else experienced this ?

Screen Shot 2014-09-10 at 11.16.58.pngScreen Shot 2014-09-10 at 11.17.11.png

 

Anyway, after reading the prerequisites, I was forced to conclude that this would not run on my Linux or Mac machines, as this is a Windows only tool ... too bad.

For now, I will not bother setting up a Windows virtual machine, I'll just stick with the USB drive approach to save data and then read it on my Mac afterwards.

 

 

Courseware

 

A second tool which is available is "Courseware".

 

PC COURSEWARE EDITOR SOFTWARE, V1.0 | Tektronix

 

This tool offers the possibility to define, edit and manage exercises which can be uploaded onto the EDU oscilloscopes for user to execute. There are tons of additional exercises made available in the library, to get to know the oscilloscope better, using Arduino or even Raspberry Pi.

 

Unfortunately, again, Windows-only ...

 

 

YouTube

 

I also found a video playlist on the Tektronix youtube channel, containing some short introduction level content on making measurements and triggering on digital signals: Using the TBS1000B Series Education Oscilloscopes

 

This is the type of content I prefer. It's visual, hands-on and easy to follow along.

 

 

Firmware upgrade

 

When browsing the scope's page on the Tektronix website, I noticed there was a very recent firmware version: Firmware Update for TBS1000B and TBS1000B-EDU Series Oscilloscopes, V2.52 | Tektronix

So recent in fact, that it couldn't already be on my scope. This was a good opportunity to test the firmware upgrade.

 

Browsing through the menus, I found that my scope was running firmware version 2.02.

 

F0000TEK.png

 

I downloaded the new firmware file for version 2.52, put it on a FAT32 formatted USB stick and inserted it in the frontpanel of the scope. Browsing through the menus some more, I found the option to trigger the upgrade:

F0001TEK.JPG

 

The update took a few minutes, and I was then prompted to reboot the device. After reboot, I checked the firmware version again, and bingo, it was updated.

F0002TEK.png

 

Well, that was an easy and straightforward upgrade!

 

Probe calibration

 

As Mark mentioned in his post, there is something strange about the calibration. The probe check doesn't work (yet ?) and the self calibration requires the probes to be disconnected.

 

I connected my probe to the "PROBE COMP" and checked the square wave. It looks ok at first sight, but when zooming in on the edges, it is quite "round".

F0010TEK.png

 

The device is supposed to come calibrated, so I'll assume this is normal and as expected.

 

First test

 

A first test I performed to get used to the controls of the scope was to analyse a PWM signal from an Arduino.

 

I started off with a 50% duty cycle signal by using following Arduino code:

 

void setup() {
  pinMode(11, OUTPUT);
  analogWrite(11, 127);
}

void loop() {}  































 

Hooking up the Ch1 probe to pin 11 and GND on the Arduino, I starting pushing some buttons.


Measurements

 

The scope offers the possibility to automate some measurements. It is possible to display up to six different measurements on screen from a list of thirty-something available options.

I tested the feature by adding some measurements relevant to my PWM signal (some redundant, like the positive and negative duty, I know ...).

 

While performing these measurements, I also learned how to scale and position the data both vertically and horizontally.

F0006TEK.JPG

 

Cursors

 

Automated measurements are nice to have, but it is good to know how to perform some of them manually.

To try this out, I used cursors. Cursors can be used vertically to measure time, and horizontally to measure amplitude.

F0008TEK.JPG

 

Autoset

 

Another way to quickly display some data is to use the Autoset feature. It offers the possibility to quickly visualise the signal, one cycle or even rising and falling edges.

F0009TEK.JPG F0010TEK.png

The picture on the left represents a rising edge on the PWM signal of an Arduino. The right picture represents a rising edge on the "probe comp" signal of the oscilloscope, as shown earlier in the calibration step.

 

 

Second test

 

The second test I performed, was analysing the commands of the remote controlled Elro sockets used in my project (see [CaTS] ForgetMeNot - Week 2: Elro CoCo and Pi Cam with OpenHAB).

I'm already using a library, which is doing all the work for me, but what exactly does the library do and how do these wireless signal even look like ?

 

Measure

 

I removed the cover from the remote control and searched for a point to measure. Unfortunately, there was no point I could properly attach my probe to. So I soldered a wire to resolve that issue.

 

photo 1.JPGphoto 4.JPGphoto 3.JPG

 

When pressing one of the buttons on the remote, I can see a repetitive signal on the scope. However, as soon as I let go, the signal is gone from the scope's screen.

I selected the "Single" button on the scope, pressed the button on the remote, and there it was. The scope stopped automatically, keeping the capture signal on screen for me to analyse.

 

F0013TEK.pngF0016TEK.png

 

I've been comparing signals when pressing different buttons on the remote.

 

Interpret

 

Taking the assumption that a short HIGH (approx 280us HIGH, then 980us LOW) would represent a logical 0 and a long HIGH (approx 940us HIGH, then 310us LOW) a logical 1, I've come to following measurements:

 

HouseUnitON/OFFMeasurement
C13ON0001000000000101000101010
C13OFF0001000000000101000101000
C16ON0001000001010101000101010
C16OFF0001000001010101000101000
A16ON0000000001010101000101010
P16ON0101010101010101000101010

 

From the above measurements, the structure of a command seems to be as follows:

[0]-[House (A-P): 00000000 - 10101010]-[Unit (1-16): 00000000 - 10101010]-[001010]-[ON/OFF: 00 - 10]

 

I'm not sure this translation makes complete sense, but it does help derive all combinations as a set of pulses.

 

Reproduce

 

Using an Arduino, I tried to recreate these sequences of pulses in order to control the sockets without the remote.

 

To verify this would work, I wrote a (very inefficient) sketch which would just write the sequence. As mentioned before, there are libraries out there doing all this work for you, but by doing all this, I understand a little bit better what happens behind the scenes AND it is a good measuring exercise using the oscilloscope.

 

void writeOne() {
  digitalWrite(pin,HIGH);
  delayMicroseconds(940);
  digitalWrite(pin,LOW);
  delayMicroseconds(300);
}

void writeZero() {
  digitalWrite(pin,HIGH);
  delayMicroseconds(290);
  digitalWrite(pin,LOW);
  delayMicroseconds(950);
}



 

This is the recreated signal using the Arduino. By measuring the output, I was able to improve the timing to compensate for any delays introduced by the code.

F0021TEK.png

It works! I can hear the socket in the background going on and off.

 

 

Conclusion

 

Using the oscilloscope, I was able to visualise wireless transmission, search for patterns and figure out the structure of the data being sent.

Even though I didn't really have (fresh/recent) experience with oscilloscopes, I was able to get on with it rather easily, thanks to the many resources available including those of fellow contestants.

 

I am however a little disappointed in the additional software being Windows-only, but that is something I can live with for the time being.