Showing posts with label Controller. Show all posts
Showing posts with label Controller. Show all posts

Sunday, January 17, 2010

Interfacing an AVR controller to a GPS Mobile Phone


So my first idea was to combine a microcontroller with a GSM and a GPS modul. There are a lot of these modules over at Sparkfun, for example. Looking through their shop I found the Telit GM862, which is a GSM modul with an built in GPS receiver. That is what I wanted. And they sell great break out boards to make it easier for hobbyist to access these modules.

Here are some of the features of this GSM-GPS module:
  • Quad band GSM
  • 17mA average stand-by, 3.5mA in low-power mode
  • 250mA average operating current
  • SiRF III GPS Receiver Built In
  • Data, Voice, SMS, and Fax
  • Data speeds up to 57.6kbps
  • Supply voltage : 3.4-4.2V
  • CMOS Camera Capable
  • Python Interpreter built-in

Voice means you are not limited to mobile tracker applications. You could attach a speaker and a microphone to build a complete mobile phone!

Friday, January 8, 2010

Controlling AVR with Visual Basic

Controlling AVR with Visual BasicControlling AVR with Visual Basic

The purpose of this microcontroller project is to give the student a figure out about How to Control AVR Devices using Visual Basic (PC). To comunnicate between PC and Microcontrller, it use RS232. So, this is not a stand alone project. From this general microcontroller project the student can improve and made more specific to meet their requirement. This project creted by Serasidis

"The use-range of this application is very high. You can make, anything you want, that its need control from PC computer or some circuit that is collect data from somewere, and at the end, its give this data to PC computer via RS232 port to our software"

Tuesday, December 15, 2009

XBOX Controller

XBOX Controller Controller
What is this? It's a system that will allow basically anything that can talk udp to control an Xbox. Why would you want to do this? I have no idea. I have my reasons, maybe you have some too. How this works: The XBOX buttons are physically pressed by arms (stiff wire) attached to servos that are controlled by a Basic Stamp 2. The BS2 is controlled by a gumstix over a serial port. The gumstix talks udp and accepts commands. So if you want to control an xbox, you basically have to talk a simple udp protocol to the gumstix.

xbc-c-controller
For this I tried 2 controllers, a PSP and a Nintendo DS. The udp protocol is simple. Build a message with the status of your controller, and the system takes care of moving the physical fingers on the xbox controller. The protocol is as follows: '!!' for start of message, and '##' for end of message. The juice of the message is a 1 character button identifier, followed by a 1 byte state. 1 means the button is pressed and 0 means button is not pressed. Here is a sample message:

The message should be self explanatory. So the controller (in this case the psp or nds) polls inputs every so often and then dumps the state. I had it all working at every 100ms, but then something happened - not sure what - so I backed it down to every 250ms. The bottle neck is on the BS2, and to keep things consistant, I just kept all polling intervals the same.

The app on the gumstix consists of 2 threads. One listens for udp commands and the other babbles out the serial port at 38.4k. The serial thread wakes up every 250 ms and sends the status of all buttons to the BS2. The status is stored in global variables that are updated by the udp thread whenever the controller sends an update.

The serial protocol to the BS2 is simple. A 'A' signifies a start of message followed by 8 bytes of status for each of the buttons currently supported. The PIC decodes this message and tells the servos to respond accordingly.
xbc-c-pic.

Wednesday, November 11, 2009

New Micros NMIS-9003 Real-Time Clock Board


We used the excellent New Micros FORTH boards in the Microship project, and find ourselves with a few parts left over. This is part of the 2x4 series of stackable boards, which are very easy to use. There is a PDF data sheet here, and from the NMI website, here are the details of this board:

The NMIS-9003 Real Time Clock Board, in 2x4"s[tm] card format, provides a JEDSTACK[tm] computer system with processor-independent date and time information.

FEATURES:

  • Built-in Time (hour, minute, second) and Date (year, month, week, day) counters
  • 12hr/24hr clock switchover function and automatic leap year setting
  • Interrupt masking
  • 30 second error-adjustment function
  • CMOS design includes low current consumption and backup function

The NMIS-9003 features a built-in quartz oscillator, time and date function, and CMOS circuitry for low power consumption. The EPSON 62421A Real Time Clock chip is the key part on the board. The 62421A's registers are memory mapped by the card. Its registers provide the second, minute, hour, day, month, year, day of week and control information to the processors. The 62421A can operate in either 12 or 24 hour mode. Leap year timing is automatic.

The real time information is maintained and updated through processor power down periods by the on-board, 3V lithium coin battery. Two battery sockets are installed on the board, allowing a fresh battery to be inserted in the open socket before the removal of a failing battery.

The NMIS-9003 can also provide real time interrupts to the processor. This can be useful when very low power modes are desired, in which the processor wakes up only occasionally. The NMIS-9003 can create such an interrupt once an hour, once a minute, once a second, or 64 times a second.

A Vertical Stacking Connector in the lower right hand corner (top view) provides connections to the processor's address and data bus, control signals, 5V power and ground. Address decoding of the Real Time Clock chip's space in memory is accomplished by two octal comparators and 16 two-position jumpers. The NMIS-9003 occupies 16 addresses. Any 16-byte boundary in the 64K address space of the JEDSTACK[tm] processor's bus can be selected by correct jumper placement.


Olimex MT-128 Development Board for AVR ATMega128, with JTAG


This beautiful little board for ATMega128 development was made by Olimex, and provides lots of I/O to help get your project running quickly. There are detailed specs at this Olimex page, including links to PDF manuals, demo code, schematics, and a complete open-source weather station. We only have one of these for sale; our new research vessel has standardized on the Arduino platform, so this is no longer needed. It has been tested with the supplied demo code, but never been fully in use.

FEATURES:

  • MCU: ATMega128-16AI with128K Bytes Program Flash, 4K Bytes data EEPROM, 4K Bytes RAM
  • JTAG connector for in-circuit programming and debugging with AVR-JTAG
  • ICSP 5x2 (10) pin STKxxx compatible connector for in-circuit programming with AVR-PG1B or AVR-PG2B
  • RS232 connector with TTL levels
  • RS232 interface circuit with Tx, Rx signals
  • RS232 DB9 female connector
  • Dallas touch button port
  • Frequency input
  • LCD 16x2 display
  • LED status
  • five buttons
  • Buzzer
  • power supply circuit +5V, 78L05 with plug-in power jack and diode bridge
  • 32 768 Hz oscillator crystal
  • 16 Mhz crystall oscillator
  • power supply filtering capacitor
  • RESET supervisor IC ZM33064
  • RELAY with 10A/250VAC NO and NC contacts with screw terminals
  • extension headers for unused in the schematic ports available for external connection
  • PCB: FR-4, 1.5 mm (0,062"), green soldermask, white silkscreen component print
  • four mounting holes 3.3 mm (0.13")
  • Dimensions: 120x38 mm (4.7x1.5")

Tuesday, November 10, 2009

New Micros NMIS-9002 3-channel, 16-bit counter


This board, part of the New Micros 2x4" series, is based on a high-performance programmable counter for system timing control. Three 16-bit counters, each with its own clock input, and OUT pin, can be clocked from D C to 8 Mhz. Under software control, the uPD71054 can generate accurate time delays.

The chip contains three counters capable of binary, or BCD, operation. There are six programmable count modes. The counters operate independently and each can be set to a different mode.

After initialization, the uPD71054 can count the delay and generate an interrupt when the task is complete, without further CPU intervention. This eliminates the need for software timing loops and frees the CPU for other tasks.

As with all the boards in this series, a Vertical Stacking Connector in the lower right hand corner provides connections to the processor’s address and data bus, control signals, 5V power and ground. Address decoding of the drivers’ space in memory is accomplished by two octal comparators and 16 two-position jumpers. Each jumper setting corresponds to the state of a particular address line. The NMIS-9002 occupies 4 address locations. Any 4-byte boundary in the 64K address space of the JEDSTACK processor’s bus can be selected by the correct jumper placement.

I used this series quite successfully during the Microship project, and this is excess inventory... only one is available.

Microchip dsPICDEM 28-Pin Demo Board with dsPIC30F2010


This unused development board is based on the Microchip dsPIC30F2010, a 16-bit,30 MIPS RISC machine optimized for motor control. This is in current production and there is a detailed dsPIC30F2010 product page that includes links to PDF data sheets and application notes.

This Starter Development Board has a socketed dsPIC30F2010 digital signal controller, power supply regulator, crystal oscillator, ICD header, serial port, power on indicator, Reset push-button, 28L SOIC layout pad and a prototyping area. It operates from a 9-volt supply, includes a power-on program that demonstrates interrupts, device I/O, and UART communications. There is a PDF Users Guide for the board here.

This is new, and arrived here with a project in mind... but we are not going to need it. Looks like a pretty capable chip, though, so if you have some serious motor control apps this is a way to get to know the device without having to cobble together a breadboard.

Arduino Duemilanove Microcontroller - ATmega168


We have fallen in love with these things here at Nomadic Research Labs, and are using 15 of them on the research vessel Nomadness to take care of all embedded control and data collection (see this blog post for overview and drawings). The Arduino boards are cheap, low-power, and exceedingly easy to use: just plug them into your Mac/Linux/Windows machine with a USB cable, run the development tools freely downloadable over here, and start playing. The language is a rich dialect of C, with such niceties as direct pin number references and painless support for I/O and serial communications, along with a very quick development cycle. The community is highly supportive... have a browse around the resources and forums at the Arduino site and you'll likely be drawn in. Since discovering these, I have abandoned all the other development boards that have accumulated here in the lab.

The Arduino Duemilanove (Italian for "2009") offered here is a microcontroller board based on the ATmega168 (PDF datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.

There are lots of shields available which plug directly into the board and provide workspace or specialized functionality (including ethernet, XBee wireless, displays, motor control, and general prototyping). We'll be adding to our inventory of these and related items as the product line develops.

Tuesday, September 1, 2009

IC CD4017B Speed Fan Control Circuit

IC CD4017B Speed Fan Control Circuit

Electronic project today is show how to build “Fan speed control circuit” which can control speed motor for fan or other equipments.

The simple concept project is use IC CD4017 to control 4 relays which connect each pole.

IC CD4017B which is counter-cum-1kHz decoder and the signal is divided into ten equal intervals, Which can be programmed, via the single location, 10-mode. According to the late publication of the duration of the interim period, the corresponding output of the CD4017 inhibits counter CD4017 (per pole of rotation and diode D6), and fires the triac.
Here transistor T2 acts as a driver transistor. Pin by 4017, with zero at the output of the sensor for the switch to 0(zero detect output) each pass through zero.
Remark. The current wave forms of certain positions of the rotary switch, as stated in EFY Lab are in the picture 1.
The circuit is able to apply for a controller in the energy lighting equipment, hot air, oven singal Universal AC motor, heating, etc.