Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Universal programmable driver

Status
Not open for further replies.

Vermes

Advanced Member level 4
Advanced Member level 4
Joined
Aug 2, 2011
Messages
1,163
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,316
Activity points
22,318
3784732200_1336940401_thumb.jpg


It is a universal programmable logic driver, which consists of three parts:
  1. the driver
  2. system responsible for programming driver/communication of the system with a computer
  3. application which supports creating programs for the driver

USBasp programmer and FT232RL were used in this project.

Driver:
The driver has eight inputs and eight digital outputs (positive logic, 24VDC). Half of the outputs is based on transistors NTD20P06L, while the rest is based on relays AZ6991. Transistor outputs load is 500mA, but it can be a bit more as well. There are two separate power paths in the driver – one for powering the outputs (24VDC) and the second for the rest (24VDC).
In addition, there is RTC (DS1307), 2x16 LCD (in standard HD44780) and a buzzer. The whole device is closed in housing Z-109.
Main element is Atmega16. Application described below can be used for creating software for Atmega.

The application was written using Python with Qt. It allows you to create programs in FBD. In order to program the driver, convert FBD to ASM and then induce gavrasm and avrdude.

Initially, there are 32 commands implemented in the program – below you can see some of them:
  • logic
  • timers
  • counters
  • flip-flops
  • comparisons

Program operates with GNU/Linux and Windows systems.

1843836100_1336940484_thumb.jpg
7680381800_1336940485_thumb.jpg

7707576400_1336940487_thumb.jpg
[url=http://obrazki.elektroda.pl/5449368800_1336940492.png]
5449368800_1336940492_thumb.jpg
[/url]
And some videos:


The driver can be improved:
  • you can replace stabilizer 7805 with converter A8498, because the stabilizer heats up too fast
  • number of cables which connect both boards of the driver can be reduced
  • you can add two memories, 24C256 – write/read password and name of the driver, AT45DB041B – write/read program (additionally Atmega32u2; in the first version of the driver there is no such a possibility)
  • MCP23008 to control digital outputs, which will force using the cycle: inputs read → execution of the program → setting outputs
  • you can also add two inputs and one analog output

The second version of the driver board can look like that:



Link to original thread (useful attachment) - Uniwersalny programowalny sterownik v1
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top