Close
0%
0%

AVR TransistorTester

Trying to build my version of AVR TransistorTester

Similar projects worth following
1.1k views
So I am trying to build my own version of AVR TransistorTester. The main goal is to achieve high accuracy (precise resistors, low supply noise etc), may be to include some additional functions. Hardware will be compatible with original software.

At this stage I am collecting required parts and checking comparability of parts with code. Next stage will be design of PCB.

Microcontroller

I am planning to use Atmega328P

Display

I want to use graphic LCD display. So it was not simple to understand which display will work with existing code. After couple of trials I found that this one works almost fine. At least I think it will be completely fine with little bit tweaking of configuration parameters or choosing smaller font.

This display uses ST7565 controller.

Display connections to Arduino:

RS -> D1

RST-> D0

CS- > D5

D7 -> D3

D6- > D2

Rotary Encoder

This one checked. Works fine

Compiling code

I am used to Arduino IDE. But code for TransistorTester not compatible with Arduino IDE. Documentation suggests to use WinAVR to compile and upload code using makefile. The problem is WinAVR development discontinued in 2010 and compilation not works under windows 10.

So I flowed instructions from this page "Using the GNU AVR toolchain on Windows 10"

I installed Atmel AVR 8-bit Toolchain 3.5.4 - Windows and Make for Windows

After this code can be compiled using "make all" command


Uploading code

To upload code I use USBAsp programmer and avrdude inside Arduino IDE installation.

The command looks like:

C:\Users\alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -c usbasp -B 20 -p m328p -P usb -U flash:w:./TransistorTester.hex:a -U eeprom:w:./TransistorTester.eep:a

  • Same regulator for both MCU supplies

    Alexander Stepanov05/16/2017 at 11:06 0 comments

    After some sought and consultation with author of original project I decided to use same regulator for both MCU supplies, but will use inductor to filter noise for AVCC. I will use separate regulator for LCD.

  • Supply noise

    Alexander Stepanov05/11/2017 at 14:24 0 comments

    ATMEGA328P has two supply pins: VCC and AVCC. AVCC pin is supply of ADC converter and generally should be clean supply. So I think to use two 5V regulators. One for VCC and one for AVCC. But this is not enough. Measurements done by switching resistors using digital I/O pins. So actually VCC supply will be part of measurement anyway. May be it will be necessary to add buffer or mux that uses AVCC as supply to solve this problem.

  • Rotary Encoder with switch

    Alexander Stepanov05/06/2017 at 08:11 0 comments

    Rotary Encoder with switch from Banggood checked. Works fine.


View all 3 project logs

Enjoy this project?

Share

Discussions

fdufnews wrote 05/13/2017 at 12:05 point

Well, even if you use buffers powered by AVCC, I am not sure you will have any control on high or low levels of your outputs as they will both rely on output stage characteristics of the buffers which are quite temperature and load value dependant.

Maybe good muxes connected to a low impedance reference voltage will give decent results.

In order to have a low noise level on ADC acquisition, I think, it is better to suspend processor's activity by putting it in sleep mode during conversion and averaging a few consecutive conversion.

  Are you sure? yes | no

Alexander Stepanov wrote 05/13/2017 at 14:48 point

You are right. Low impedance mux should be used. But the real problem is I don't know how additional delay will distort calculations in current code. And I am not sure I want to dive deep enough  into the code to fix it. So may be I will stick with original design. BTW averaging is used in current software.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates