Sunday 23 March 2014

One of the scariest weeks of my life.

Well. What can I say. this past week has put me through every emotion known to man. I would hate to know how the love of my life Liz feels. It started with her being mistreated by some doctors who really need to learn something about treatment instead of standing around waiting for home time.

Thereafter we have been all over to see doctors, specialist etc only to discover that my angel needs major surgery. :-( I can deal with that. After all Liz would be feeling much better after that.

Then the crap started. Medical aid gave us a run around for almost the entire week. As of now, although we have been told that all is in order I am still doubtful and worry that we arrive at hospital tomorrow morning and something else will go wrong due to this medical aid. I will blog about the entire experience and inform everyone of this medical aid as they really should not be allowed to put people through these things.

I will also be sending all correspondence and information to consumer watch and every other organization that deals with these things as I would hate for someone else to have to go through these emotions and problems.

My only worry now is that my angel gets her needed surgery and comes home. She means everything to me and seeing her suffer for nearly 2 weeks in pain is almost un-bearable to me. I would do anything to take her pain, even take it on myself.

I love you Liz and if you ever decided to read my personal blog you will find these notes. Its the only place I can vent.

I will never take you for granted. I LOVE YOU.

Dee

Sunday 16 March 2014

Development Boards, Environments and Other MCU Stuff

Hey everyone.

I have seem many reviews and forums and often add my advice as well as take advice from many out there.

Currently in South Africa there are various options when it comes to MCU development platforms.

Lets list the ones I use and enjoy using:

  • Arduino (AVR based using bootloaders, makes it easy for beginners and advanced users)
  • Chipkit (Pic32 based using bootloaders, much more powerful with much more io lines but slightly harder to work with and not as many libraries and info out there.)
  • Raspberry Pi (a 700mhz board capable of functioning as a full computer)
  • Arndale Octa ( Cortex A15 Quad Core development board – STUPID POWERFULL)

Now when it comes to prototyping one has to select the correct board or MCU for the task. For example it would be a huge waste running anything but the Arduino’s ATMEGA328 PU chip for basic tasks such as Volt/Amp meters or other basic IO tasks. The other boards would literally be wasted.

If however you want to create a Home management system such as you would see in the movies then the Arduino (Despite having enought I/O Lines) might not have the horsepower needed. In this case you might make use of a raspberry pi and an Arduino piggybacked to it to expand the Pi’s IO lines. The options are endless.

Below I will list the specs of the above boards:

 

 

ARDUINO

Various Models avail but I will cover the basic Uno.

ArduinoUno_R3_Front_450px

Microcontroller
ATmega328

Operating Voltage
5V

Input Voltage (recommended)
7-12V

Input Voltage (limits)
6-20V

Digital I/O Pins
14 (of which 6 provide PWM output)

Analog Input Pins
6

DC Current per I/O Pin
40 mA

DC Current for 3.3V Pin
50 mA

Flash Memory
32 KB (ATmega328) of which 0.5 KB used by bootloader

SRAM
2 KB (ATmega328)

EEPROM
1 KB (ATmega328)

Clock Speed
16 MHz

 

There are also more powerful Arduino boards but for prototyping the original ATMEGA 328 DIP packaged board is the best as you can build your own Arduino boards or take the chip off board with very little difficulty.

 

 

CHIPKIT UNO 32

Despite this being a newer board and classified as an Arduino Clone this board is by no means an Arduino board. The Arduino is based on the ATMEL AVR’s while this board is based on the PIC32 Microprocessor.

It comes in two flavours but for this article I will talk about the UNO32.

chipKIT-Uno32-obl-500

Despite having the same form factor as the Arduino Uno the chipkit board has many more IO lines but still retains its compatibility with the UNO Shields and such.

  • Microchip® PIC32MX320F128 processor
    • 80 Mhz 32-bit MIPS
    • 128K Flash, 16K SRAM
  • Compatible with many existing Arduino™ code examples, reference materials and other resources
  • Can also be programmed using Microchip's MPLAB® IDE (along with a PICkit 3 and our PICkit3 Programming Cable Kit, seen below)
  • Arduino™ "Uno" form factor
  • Compatible with many Arduino™ shields
  • 42 available I/O
  • User LED
  • Connects to a PC using a USB A -> mini B cable (not included)

 

As can be seen above the PIC32 based board is FAR more powerful compared to the UNO from Arduino. However I feel that for most basic projects this board may be far more than what is needed.

 

RASPBERRY PI MODEL A AND B

The Raspberry Pi comes in two versions. The model A or old version and the current model the model B which is what I am using.

 

raspberry-pi-model-b

The Raspberry Pi despite being a standalone computer is also very capable of interfacing with the outside world via its GPIO lines. They can be programmed as inputs or outputs and can be used to control almost anything. However the Pi is limited by the number of these IO lines. This can be expanded using various Pi shields or an add on Arduino.

B 512MB specs

  • TYPEOther
  • BUNDLED OSLinux
  • PROCESSOR SPEED700 MHz
  • SYSTEM RAM512 MB
  • VIDEO OUTPUTSHDMI (v1.4), RCA / composite
  • DIMENSIONS3.37 x 2.13 x 0.67 in
  • WEIGHT1.59 oz
  • RELEASEDFebruary 29, 2012
General
  • TypeOther
  • Bundled OSLinux
Processor
  • Processor makeOther
  • Processor speed700 MHz
  • Number of CPUs1
Video
  • Graphics adapterIntegrated
  • Graphics (integrated)Other
  • GPU modelBroadcom VideoCore IV
  • Video outputsHDMI (v1.4), RCA / composite
Networking
  • Ethernet10/100 [Fast Ethernet]
  • Ethernet ports1 ports
Memory and storage (basic)
  • System RAM512 MB
Connections
  • USB (rear)2.0 (2 port(s))
Audio
  • TypeIntegrated
  • Audio outputs3.5mm
Memory card reader
  • Memory card readerYes
  • Memory card supportSD, MMC

 

The Raspberry Pi is a very popular choice when it comes to developing as it allows one to play not only with lower order electronics but also to play within the linux OS and develop some really powerful systems.

 

ARNDALE BOARD

The Arndale board. Well this is really next level stuff and not recommended until you have a pretty firm grasp of how things work.

 File-Arm_5250_full_1

    • CPU Board
      • Cortex-A15@1.7 GHz dual core subsystem with 64/128 bit SIMD NEON
      • 32KB(instruction)/32KB(DATA)L1 Cache and 1MB l2 Cache
      • 32-bit 800 MHz DDR3(L)/DDR3 2GB
    • Base Board
      • Sensor
        • Accelerator : Invensence MPU-6050
        • Gyro : Invensence MPU-6050
        • e-Compass : AKM -AK8963C
      • ITU 601 camera Interface
      • HDMI 1.4 interfaces with on-chip PHY
      • One channel eDP output Single WQXGA
      • MIPI DSI Standard Specification V1.01r11
      • MIPI CSI Standard Specification V1.0 Two ports
      • USB3.0 Host or Device 1-channel that supports SS(5Gbps) with on-chip PHY
      • USB2.0 Host or Device 1-channel that supports LS/FS/HS with on-chip PHY
      • USB HSIC 2-channel that supports 480Mbps with on-chip PHY
      • SATA 1.0/2.0/3.0 interface
      • One channel eMMC 4.5
      • One channel SDIO 3.0
      • Two channel SD 2.0
      • Four channel high-speed UART
        (up to 3Mbps data rate for Bluetooth 2.0 EDR and IrDA 1.0SIR)
      • Three channel high-speed SPI
      • Three channel 24-bit I2S audio interface
      • Four channel I2C interface support , up 400kbps
      • Four channel HS-I2C up to 3.1Mps
  • Extension Board package
    • Sound Board package
      • Sound Codec : Wolfson WM1811A
      • Features
        • 24-bit 2-channel Hi-fi DAC and 2-channel Hi-fi ADC
        • 100dB SNR during DAC playback
        • Smart MIC interface
        • 2W stereo class D speaker drivers
        • Capless Class W headphone drivers
        • 4Line outputs (single-ended or differential)
        • BTL Earpiece driver
        • Digital audio interfaces for multi-processor architecture
        • ReTune TM Mobile 5-band,4-channel parametic EQ
        • Dynamic range controller
        • Dual FLL provides all necessary clocks
        • Active noise reduction circuits
        • Intergrated LDO regulators
    • Connectivity Board package
      • Samsung SWB-A51H(WIFI,BT) + CSR GPS(G05t)
      • WIFI + BT
        • Vendor  : SEMCO
        • Device name : SWB-A51H(ATHEROS AR6003)
        • Features
          • IEEE Std 802.11a/b/g, 802.11n(1x1)
          • Bluetooth – Bluetooth specification Version 4.0 (BR/EDR+BLE)
          • WiFi direct support
          • Includes all the baseband and radio
          • external antenna
          • Low power consumption
          • Cellular coexistence supported
          • Host interfaces: SDIO
      • GPS
        • Vendor : CSR
        • Device Name : G05t
        • Features
          • Operates as a tracker
          • GNSS, GLONASS, Galileo and SBAS reception for high GNSS availability. Galileo and Compass support via future software upgrade
          • Host based MEMS enhancements for context recognition and improved accuracy
          • Improved accuracy by reducing cross-correlation from strong signals and susceptibility to multipath
          • High-sensitivity tracking to -165 dBm
          • Selectable LO/IF options
          • Excellent 3GPP acquisition and tracking margins
          • Designed for simple coexistence with 2G and 3G radio systems
          • Programmable I/O
          • Integrated DSP for jamming immunity, handling CW, narrow band and wideband noise
    • Display Board Package
      • MIPI-DSI 4 Lane and eDP interface support
      • 7 Inch TFT LCD, Resolution 1024 * 600
      • Capacitive Touchscreen
    • Camera Board Package
      • MIPI-CSI and ITU601 interface support
      • 5M pixel Camera
  • Accessories
    • AC Adapter (5V 5A)
    • SATA SSD120GB or 240GB (Sata To USB 3.0 cable or SATA cable + Power cable)
    • HDMI, Serial, USB Cable, SD Card, etc

This boards processor is the same CPU as is used in many of the latest Samsung Mobile phones and tablets. It is an extremely powerful CPU.

600px-Arndale_block

I am only just starting to dable with these CPU’s and boards but will be sure to share my experiences.

 

For now I recommend you head out and grab yourself an Arduino and start developing. There is a huge amount of info out there on the net with regards to Arduino.

 

Cheers for now.

 

Dionne

Monday 10 March 2014

PWM Tools and Applications.

The more I use PWM the more I like to understand it and monitor its duty cycle and timing etc. For this reason (and although 3 of my multimeters are capable of measuring PWM duty cycles and frequemcy) I decided to build my own PWM monitoring meter.

DSCN0120

Yes I know the case is all scratched up and stuff but its practical and small. I still have a few finishing touches to add to the meter like a power socket and input socket but the unit is 100 percent working.

The first prototype was built on solderless breadboard and worked wonderfully. This unit is however built using a barebones Arduino Pro Mini 5V and LCD and a few other bits and bobs.

DSCN0121

I made up the veroboard on the back of the LCD to control LED current through the backlight LED’s as well as contrast and also to allow a single DC input to the display. The Arduino Pro Mini is mounted to the bottom of the case and the mode select button and power switch below the LCD.

DSCN0123

The Unit turned on displays the current frequency and duty cycle. With it floating it seems to pick up the 50hz ac signal. :-P

By pressing the mode button you can cycle between modes.

DSCN0125

DSCN0126

DSCN0127

Now there are still a few thing I need to do to complete this meter but as with anything it is a work in progress. A practical one at that. :-)

AD9850 Signal Generator

Hi all.

Technically this is not a new article but an extension on the previous one I did on this 9850 chip. I wanted to get this device to work as a standalone signal generator and the results where pretty outstanding.

DSCN0114

This is the DDS9850 module connected to my freeduino which has a LCD shield mounted for control of the frequency etc.

This fella will run from 0.5 to around 40mhz without a hiccup.

DSCN0115

DSCN0116

DSCN0117

DSCN0119

Although there seems to be a slight frequency shift this can be corrected in the code.

The code for this fella is open and available all over the internet. Keep experimenting.

Friday 7 March 2014

Filtering PWM to create a DC voltage.

Well I can tell you that PWM control of LED’s without using a dedicated LED driver is very possible.

During my experimenting I have had all the issues and when it comes to using pwm to control a mosfet (although it does work without any additional circuitry if you use a logic level MOSFET) it can also work when using standard power mosfets. Its called low pass filtering.

I successfully used a 10k resistor and 0.1uF Cap between my PWM signal and the MOSFET and this seemed to solve all issues as it basically convert the digital PWM  signal into an analogue voltage. Verified on Scope. :-)

CRLowPass1

This filter basically acts a simple digital to analogue convertor.

Using the above basic circuit you can output between 0 and 5 volts on a MCU such as the arduino using the PWM output (Between 0 and 255) 255 being theoretical 5V.

 

Hope this helps those playing with Pulse Width Modulation.

Next I will write up a blog post explaining Pulse Width Modulation and what it can do for you.

Tuesday 4 March 2014

R&D on LED Drivers controlled via PWM.

Right so as some of you may know I have been developing some high end PWM controlled LED drivers for use in our new Evione Lightsabre ver 1.0.

I have purchased readily made LDD drivers as well as played with various Mosfet and Transistor type drive circuits but today I am going basics.

I am going to take at atmega328 AVR, program it with the Control program for you my light (and yes it is arduino based).

Then I am going to use the pwm output to drive a mosfet which in turn will switch and vary the power to the led’s. Hold thumbs.

So here goes the pics. I really need to set up a video cam….

IMAG0072

In the above image what I have done is pretty much connect up the bare ATMEGA328-PU to my board. Ignore the Arduino and scope. They are just there for pre beta work but I always take my Arduino projects off Arduino boards and build my own. Saves one loads of money.

Below is the schematic diagram of what I have done here.

main

If you have a look I basically place the N Type Mosfet into the power circuit of the LED and control it using the PWM output from the MicroController. This is a very crude way of doing things but this is for R&D Purposes. The final product is always more finished.

IMAG0075  IMAG0074

I am running the main DC power out at 20 volts as I am using 2 x 12 volt 900mA 10Watt LED’s as can be seen above. I am running them in series so that the current running is the same through both devices.

IMAG0076

Upon powering up the ATMEGA you will see that the LED’s will turn on as the PWM is opening up the mosfet and allowing the leds to get enough power to turn on.

IMAG0078

With the LED’s just turned on you will see we are running at 20Volts and 20mA. At present the PWM input into the mosfet is at its lowest.

IMAG0080

Now I have programmed the ATMEGA to allow me to vary the PWM output in 25 steps by holding or pressing either an up or down button. In the Protoboard I just short out where I need to.

IMAG0081

I up it to about 30 percent of its max. Please note that I will not push it to the max as the LED’s are not heatsinked and therefore could suffer some serious heat damage at full fwd current.

Its hard to see how bright the LED’s really are as the camera adjusts for the extreme brightness. I will setup a camera on manual exposure to capture this as a later stage.

IMAG0082 IMAG0083

As you can see the current is now sitting at 460mA @20V and the PWM signal is at about 30 percent. The LED’s really are stupid bright already.

IMAG0084

Although we did not keep the LED’s connected I did push the MCU to full PWM output which can be seen on the protoscope above.

My next step in this project is to work out the current limiting and build the current limiting circuitry into this to limit the max current to 900mA. Should be interesting.

Until next time happy inventing.