Git Product home page Git Product logo

vfd_watch's Introduction

VFD Watch Project

This project was originally inspired by Johngineer's ChronodeVFD project. However no concrete design information were available therefore this project was born.

The goal was to create a mobile driver circuit for the common IVL2-5/7 vacuum fluorescent display, that is powered by a single cell battery. The datasheet of the display can be found on the Loststreak blog.

Circuit elements

Microcontroller

An ESP32 WROOM-32 module is used as a microcontroller for the display and wireless communication. It is interfaced fo r programming via a FT231XS USB-Serial converter.

Battery voltage regulation

The choice for the battery driver IC fell on the MP3120 single cell 1.2A step up module as it can handle very low battery voltages and still start up. If wireless communication is used during the power up of the display the step-up module won't be able to supply enough power from a normal Alkaline cell to the ESP32 and a brownout reset will occur. Primary lithium cells, 2 Alkaline batteries or LiIon should be sufficient to power all functions at the same time.

Schematic of the 3.3V supply

VFD driver

The display is driven by a 24V rail from a MCP1663 step-up converter and high-side switches (TBD62783A) to power the segments. The filament is driven from the 3.3V rail and pulse-modulated from a motor H-bridge driver (DRV8837C) to achieve an equivalent to the 2.4V @ 60mA power conditions described in the datasheet. The H-bridge design allows an equal brightness of the characters without the use of a complex center-tapped AC circuit.

Schematic of the 24V supply

Software

Functions

void begin(uint8_t dutyCycle, uint32_t freqMultiplex, uint32_t freqHeat)
  • dutyCycle sets the PWM duty cycle of the heating filament. 0-255; typical 120.
  • freqMultiplex sets the rate at which the characters are cycled though (1kHz -> 200Hz total refresh of the display). The timing is controlled in the background by an interrupt function that calls for an update of the currently displayed character. This process runs on core 0 of the ESP32, therefore during WiFi use the display can flicker a bit.
  • freqHeat sets the frequency of the heating filament PWM. The value should be in the kHz range.
void deactivate()

Turns of the heating filament and the 24V rail to preserve power.

void activate()

Turns the display back on after a deactivate().

void setHours(uint8_t hours)

Sets the first two digits. Range 0-99.

void setMinutes(uint8_t minutes)

Sets the last two digits. Range 0-99.

void setCharacter(char character, int pos)

Displays a char (a-z; 0-9; '-') at position pos (0-3)

void print(char* text)

Similar to setCharacter() but it displays the first 4 chars of the array.

void setSegment(uint8_t segments, uint8_t pos);

Sets specific segments of a digit through the use of a byte mask (least to most significant bit). E.g. 0b00101000 would set segments d & f. pos declares the digit to be changed (0-3).

vfd_watch's People

Contributors

pakue95 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.