INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Nixie Röhrenplatine
07.04.2015, 19:33 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2015 19:36 von cb_baer.)
Beitrag #1
Nixie Röhrenplatine
Nabend, ich bin günstig an ein paar IN-2 Nixies gekommen. Da die Kammeraden nun aber mit 180V Arbeiten muss ich mir etwas einfallen lassen um diese mit den 5V des Arduinos zu schalten. Die Platine ist so aufgebaut dass man im Grunde auch andere Röhren verbauen kann. Jetzt weiss ich nur nicht ob ich dabei einen Fehler gemacht habe, da ich noch nie mit Transistoren gearbeitet habe.
Würde die Schaltung so funktionieren?

Die Anode der Nixie wird mit 180V gespeist. Am Connector 1 wird jede einzelne Ziffer über den Transistor mit 5V angesteuert. So habe ich mir das zumindest gedacht.
Ich habe auch die Eagle Datei angehängt falls jemand Verbesserungsvorschläge hat.
Später soll das ganze dann über Schieberegister angesteuert werden.

Okay, die Eagle Datei kann ich leider doch nicht anhängen. wer sie haben möchte darf mich aber gern kontaktieren


Angehängte Datei(en)
.pdf  Schaltplan.pdf (Größe: 13,08 KB / Downloads: 98)
.pdf  Platine.pdf (Größe: 16,82 KB / Downloads: 58)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.04.2015, 11:11 (Dieser Beitrag wurde zuletzt bearbeitet: 08.04.2015 11:19 von Bitklopfer.)
Beitrag #2
RE: Nixie Röhrenplatine
Hi,
och das geht schon...für Nixies, also die wo eben die Zahlen 0-9 anzeigen können gibt es einen TTL Treiberbaustein... 74141....mußte mal in der Ecke kucken. Ansteuerung wäre dann mit TTL Pegel vom Arduino möglich.
Hab grad mal versucht ein Datenblatt aufzutreiben....anscheinend wurde der Baustein vor dem aufkommen des Internets schon nicht mehr hergestellt...
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.04.2015, 17:51
Beitrag #3
RE: Nixie Röhrenplatine
Das IC ist kaum noch zu bekommen und wenn dann total überteuert. Es gibt aber einen russischen Nachbau den den 1:1 einsetzten kannst. Ich selbst hab 2 Nachbauten in meiner Arduino Nixie Uhr verbaut. Gibt es zu Hauf bei Ebay:

http://www.ebay.de/itm/6-x-K-155-ID-1-74...2a4db112df

http://www.ebay.de/sch/i.html?_odkw=nixi...1&_sacat=0


Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.04.2015, 18:37
Beitrag #4
RE: Nixie Röhrenplatine
Grundsätzlich gute Idee. Aber ich tue mich da beim Programm schreiben irgendwie schwer. Mit Schieberegistern komm ich halbwegs klar. Aber die Russischen Röhren Treiber haben wieder so eine komische Codierung mit der ich nicht so richtig klar komme. Es ist auch nur ein Versuch. Es gibt zwar viele Baupläne und Seiten im Netz auf denen der Bau einer Nixie Uhr beschrieben ist. Aber Oft fehlen dann bestimmte Sachen wie der Quellcode oder ähnliche Sachen. Fast alle Anleitungen die komplett sind basieren auch auf Multiplexing. Und ich möchte die Röhren nicht multiplexen. Deshalb habe ich angefangen selber zu forschen. Leider bin ich nicht der Elektronik Junkie und mache das nur so nebenbei.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.04.2015, 19:06
Beitrag #5
RE: Nixie Röhrenplatine
(09.04.2015 18:37)cb_baer schrieb:  ....Aber die Russischen Röhren Treiber haben wieder so eine komische Codierung mit der ich nicht so richtig klar komme.....

öhm also ich habe jetzt das Russische Datenblatt nicht gelesen, aber wenn das ein 74141 kompatibler Baustein ist dann ist das ein 4 Bit breites Datenformat das man als BCD bezeichnet... BCD ist eine Untermenge von Binär, sprich BCD ist sind die Werte 0 bis 9 während bei Binär 0 bis F (umgerechnet 15) darstellt.
Hier hat nun der Eingang A die Wertigkeit 1, B = 2, C = 4, D = 8 und daraus lassen sich alle Zahlenwerte ableiten. 0110 wäre also die 6.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.04.2015, 07:30
Beitrag #6
RE: Nixie Röhrenplatine
Ganz genau es geht um BCD. Ich habe über Portexpander PCF8574 die mit I²C am Arduino hängen mein BCD auf die ICs ausgegeben.
Hier mein erster Code:

Code:
/* Adresse I/O Expander
   000 - 0x0
   010 - 0x2
   110 - 0x3
   100 - 0x4
   011 - 0x6
*/
#define STUNDEN  (0x4 << 3 | 0x3)
#define MINUTEN  (0x4 << 3 | 0x2)
#define SEKUNDEN (0x4 << 3 | 0x0)
#include <SPI.h>
#include <Wire.h>

byte stn = B00000000;
byte miu = B00000000;
byte sek = B00000000;


const int  cs=8; //chip select

void setup() {
  
   Wire.begin();
  Serial.begin(9600);
    
  RTC_init();
  //day(1-31), month(1-12), year(0-99), hour(0-23), minute(0-59), second(0-59)
  //SetTimeDate(06,06,12,14,12,40);
}

void loop() {
  
  
  
  
  Serial.println(ReadTimeDate());
  delay(1000);
  
  Wire.beginTransmission(STUNDEN);
  Wire.send(decToBcd(stn));
  Wire.endTransmission();
  
  
  Wire.beginTransmission(MINUTEN);
  Wire.send(decToBcd(miu));
  Wire.endTransmission();
  

      
  Wire.beginTransmission(SEKUNDEN);
  Wire.send(decToBcd(sek));
  Wire.endTransmission();

  
}
  byte decToBcd(byte val)
{
  return ((val/10)<<4)+(val%10);
}

//=====================================
int RTC_init(){
      pinMode(cs,OUTPUT); // chip select
      // start the SPI library:
      SPI.begin();
      SPI.setBitOrder(MSBFIRST);
      SPI.setDataMode(SPI_MODE1); // both mode 1 & 3 should work
      //set control register
      digitalWrite(cs, LOW);  
      SPI.transfer(0x8E);
      SPI.transfer(0x60); //60= disable Osciallator and Battery SQ wave @1hz, temp compensation, Alarms disabled
      digitalWrite(cs, HIGH);
      delay(10);
}
//=====================================
int SetTimeDate(int d, int mo, int y, int h, int mi, int s){
    int TimeDate [7]={s,mi,h,0,d,mo,y};
    for(int i=0; i<=6;i++){
        if(i==3)
            i++;
        int b= TimeDate[i]/10;
        int a= TimeDate[i]-b*10;
        if(i==2){
            if (b==2)
                b=B00000010;
            else if (b==1)
                b=B00000001;
        }    
        TimeDate[i]= a+(b<<4);
          
        digitalWrite(cs, LOW);
        SPI.transfer(i+0x80);
        SPI.transfer(TimeDate[i]);        
        digitalWrite(cs, HIGH);
  }
}
//=====================================
String ReadTimeDate(){
    String temp;
    int TimeDate [7]; //second,minute,hour,null,day,month,year        
    for(int i=0; i<=6;i++){
        if(i==3)
            i++;
        digitalWrite(cs, LOW);
        SPI.transfer(i+0x00);
        unsigned int n = SPI.transfer(0x00);        
        digitalWrite(cs, HIGH);
        int a=n & B00001111;    
        if(i==2){    
            int b=(n & B00110000)>>4; //24 hour mode
            if(b==B00000010)
                b=20;        
            else if(b==B00000001)
                b=10;
            TimeDate[i]=a+b;
        }
        else if(i==4){
            int b=(n & B00110000)>>4;
            TimeDate[i]=a+b*10;
        }
        else if(i==5){
            int b=(n & B00010000)>>4;
            TimeDate[i]=a+b*10;
        }
        else if(i==6){
            int b=(n & B11110000)>>4;
            TimeDate[i]=a+b*10;
        }
        else{    
            int b=(n & B01110000)>>4;
            TimeDate[i]=a+b*10;    
            }
    }
    temp.concat(TimeDate[4]);
    temp.concat("/") ;
    temp.concat(TimeDate[5]);
    temp.concat("/") ;
    temp.concat(TimeDate[6]);
    temp.concat(" ") ;
    temp.concat(TimeDate[2]);
    temp.concat(":") ;
    temp.concat(TimeDate[1]);
    temp.concat(":") ;
    temp.concat(TimeDate[0]);

stn =  TimeDate[2];
miu =  TimeDate[1];
sek =  TimeDate[0];
  return(temp);
    
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.04.2015, 11:34
Beitrag #7
RE: Nixie Röhrenplatine
(07.04.2015 19:33)cb_baer schrieb:  Nabend, ich bin günstig an ein paar IN-2 Nixies gekommen. Da die Kammeraden nun aber mit 180V Arbeiten muss ich mir etwas einfallen lassen um diese mit den 5V des Arduinos zu schalten. Die Platine ist so aufgebaut dass man im Grunde auch andere Röhren verbauen kann. Jetzt weiss ich nur nicht ob ich dabei einen Fehler gemacht habe, da ich noch nie mit Transistoren gearbeitet habe.
Würde die Schaltung so funktionieren?

Die Anode der Nixie wird mit 180V gespeist. Am Connector 1 wird jede einzelne Ziffer über den Transistor mit 5V angesteuert. So habe ich mir das zumindest gedacht.
Ich habe auch die Eagle Datei angehängt falls jemand Verbesserungsvorschläge hat.
Später soll das ganze dann über Schieberegister angesteuert werden.

Okay, die Eagle Datei kann ich leider doch nicht anhängen. wer sie haben möchte darf mich aber gern kontaktieren

Hi,
apropos Schaltbild, das ist nicht dein ernst die Arduino Ports die sicherlich an der Linken (Con1) Steckerleiste aufliegen über den Widerstand mit dem Emiter vom Transistor zu verbinden ??? Das ist der sicher Tot des Arduino bei den Spannungen. Und überhaupt macht dein Schaltbild keinen Sinn...alle Basen parallel....ähm wie soll das den funzen ??? Also das blick ich nicht...und ich lebe von der Elektronik...
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.04.2015, 14:14
Beitrag #8
RE: Nixie Röhrenplatine
Ach Gott den Plan hab ich mir jetzt erst angesehen. Nimm die IC's die sind bis 250V spannungsfest und ohne externe Beschaltung mit 5V ansteuerbar. Wie erzeugst du eigentlich die 180V? Denk nicht mal dran dir dir Netzspannung beizuziehen! Entweder mit einem passenden Trafo oder du erzeugst dir aus den 5V die 180V. Es gibt kleine Konverter die du auch mit dem Arduino ansteuern kannst was zusätzliche Sicherheit bringt. Denn die Röhren stehen immer unter Spannung und du schaltest nur einen bestimmten Pin auf Masse damit eine Ziffer leuchtet. Heißt es kann vorkommen das die Röhren nichts anzeigen aber trotzdem unter Spannung stehen. So könntest du z.B. die Hochspannung abschalten wenn keine Ansteuerung vom Arduino kommt.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste