mosfet AVR Pin Dual Use: Input and Output at (seemingly) the same time


Posted on Feb 6, 2014

A bicycle light control circuit which reads in various buttons and sets various outputs accordingly such as headlight, taillight, blinkers, etc. My current design is based around an ATtiny24 ( Datasheet ) using the internal oscillator (8MHz), programmed in C using AVR-GCC. I would like to keep external components such as shift registers to a minimum. Resistors are OK since they are cheap and small, and I am using


mosfet AVR Pin Dual Use: Input and Output at (seemingly) the same time
Click here to download the full size of the above Circuit.

MOSFETs (NTD4960N: Datasheet ) to drive the LED banks. Essentially, what I am looking to do is drive the MOSFETs with a 200Hz PWM signal to control the LED brightness, but limit the duty cycle to 90%. With that in mind, I would only need a pin to be an output for a maximum of 90% of the time. In the remaining 10% of the time, I want to switch the pin to an input to read the state of a button. I tried a lot of various configurations to allow the MOSFET to stay OFF when it is supposed to be OFF, regardless of input from the button, and this is the best I could come up with: The supply voltage (VCC) is 5V, so when the button is pressed, about 0. 9V is seen at the transistor gate. This is not enough for the transistor to start conducting, but it can be read by the MCU ADC which has been enabled using the internal 1. 1V reference. So the code drives the MOSFET with a 200Hz PWM signal. The duty cycle will vary with the desired LED brightness, but will not be greater than 90%. During the last 10% of the PWM cycle, the I/O pins are set as inputs (internal pullups disabled, digital input buffers disabled) and the ADC is used to read the state of the pin. The 10k resistor keeps the MOSFET off, and if a button is pressed, 0. 9V is read by the ADC. This value is still not high enough to turn the MOSFET on, so the LEDs stay off, regardless of the button press. Since the ADC is turned off and on, I discard the first reading and keep the...




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    LW, MW and SW bands Receiver
    USB Fuse
    simple electronic organ
    car battery charger
    Eico667 troubleshooting
    Thrifty 2Hz Clock
    Make a singing MSP430 microcontroller
    TDA7056 audio amplifier circuit diagram electronic project
    Servicing Radio And Sound Equipment
    2N6764 FET Derating Curve
    A New Solar / Wind Charge Controller Based on the 555 Chip
    gizDuino Hardware



    Top