Given the price of these custom drivers, I wonder whether some cheap arm
microcontrollers with serial interface and mpsa42 type transistors would be
a decent replacement.  Especially if getting the boards preassembled by
jlcpcb or similar, where parts count is less of an issue than by-hand
assembly.  Something like the gigadevices ST clone. Gd32e130 is about 2usd
at worst.

Can easily speak to them with 3v3 as well which is nice.

David

On Sun, 14 Aug 2022, 07:41 Richard Scales, <rich...@scalesweb.co.uk> wrote:

> I've used HV5522 and HV5622 a lot without any issue - I always use a
> CD40109B level shifter to convert from 3v3V or 5V to 12V (I know many do
> not).
>
> In Arduino Land there is a function called ShiftOut which does all the
> required clocking - it's for 8 bits as standard but can easily be re-worked
> for however many bits you want.
>
> I have one clock with 4 x HV5522 in series for which I made a 128 bit
> ShiftOut function.
>
> See here for details of the shiftout process: Arduino shiftOut(): Control
> chips with a 3 wire Serial Interface. (best-microcontroller-projects.com)
> <https://www.best-microcontroller-projects.com/arduino-shiftout.html#:~:text=Arduino%20shiftOut%20is%20a%20purely%20software%20implementation%20of,data%20input%20%28the%20equivalent%20software%20function%20is%20shiftIn%29.>
>
> It's an interesting page with scope traces to help explain.
>
> Ultimately I moved over to using SPI transfers which are driven purely by
> the processor but the theory is all very similar.
>
> - Richard
>
>
>
>
>
> On Saturday, 13 August 2022 at 22:28:27 UTC+1 flata...@gmail.com wrote:
>
>> You are a legend! I've looked at the schematics, very neat.
>>
>> I'm traveling on business tonight, back next weekend. Then I'll design my
>> own board for 4 beautiful Rz568m (present for my parents on Christmas).
>>
>> Glad I now understand how the HV5530 etc work.
>>
>> Looking forward to playing around with the code.
>>
>> I'll definitely include RTC, GPS receiver and IR motion sensor (I finally
>> designed and tested a circuit using the cheap Ds203 ir sensor. I'm trying
>> to design a microwave sensor but only with minor success so far, the
>> antenna is very challenging to design without proper training and
>> measurement tools).
>>
>> Thanks everyone for jumping in with so many suggestions.
>>
>> I'll send a pic of my clock when ready.
>>
>>
>>
>> -------- Original message --------
>> From: "SWISSNIXIE - Jonathan F." <jfre...@gmail.com>
>> Date: 13/08/2022 22:16 (GMT+00:00)
>> To: neonixie-l <neoni...@googlegroups.com>
>> Subject: Re: [neonixie-l] Re: Nixie Clock - Direct Drive HV5530
>>
>> Yes, the code is open source :)
>>
>> You can download it at the bottom of the page
>> https://www.swissnixie.com/sunixs/
>>
>>
>> I programmed it in Arduino with the atmeag328, but it should be a good
>> start to look at the function "setOutputs" in the code, it contains the
>> actual shifting process.
>> Also it's easier to layout the outputs of the IC and cathode-pins as
>> "numbered" with the output number unless you are very experienced with the
>> code.  This allows bitwise operations for creating the variable containing
>> the value.
>> For example, if your Cathode 0 is connected to output 1, and cathode 9 to
>> pin 10, you can use a function to shit as a single bit according to the
>> current digit number. If your digit is 8, you can do " 0x01<<8". If your
>> cathodes are randomly connected (to make an easy layout) you will need to
>> implement more code.
>>
>> On Saturday, 13 August 2022 at 22:35:13 UTC+2 flata...@gmail.com wrote:
>>
>>> Jonathan,
>>>
>>> I just found this, it's excellent.
>>>
>>> http://swissnixie.com/projects/SUNIX-S/SN_SUNIX_S_R1.2_WTB_SCHEMATIC.png
>>>
>>> From this post:
>>> https://groups.google.com/g/neonixie-l/c/S1oX30hLrmw
>>>
>>> If the code is open source, I'll just use that otherwise I'll adapt mine
>>> to use hv5530 and hef4104.
>>>
>>> Awesome!
>>>
>>>
>>> -------- Original message --------
>>> From: "SWISSNIXIE - Jonathan F." <jfre...@gmail.com>
>>> Date: 13/08/2022 20:51 (GMT+00:00)
>>> To: neonixie-l <neoni...@googlegroups.com>
>>> Subject: Re: [neonixie-l] Re: Nixie Clock - Direct Drive HV5530
>>>
>>> The time to shift out the bits is not critical, the clock rate is as
>>> fast as you implement it, there is only a minimum clock time, but no
>>> maximum one.
>>> Brightness should be the same as putting the tube pin directly to
>>> ground, the internal resistance of the mosfet in the HV5530 is in the Ohms
>>> range, while your anode resistor will probably will be a few kiloohms, so
>>> no visible issue.
>>>
>>> About voltage:
>>> The HV5530 is specified for 10.8 to 13.2V, but alot of people seem to
>>> use it with 5V logic and it works. If you want do operate ith with 12V
>>> logic, you need a 12V source and a level shifter. HEF4104
>>> <https://www.digikey.com/en/products/detail/nexperia-usa-inc/HEF4104BT-653/1156435>
>>> could work
>>>
>>>
>>> On Saturday, 13 August 2022 at 19:04:21 UTC+2 flata...@gmail.com wrote:
>>>
>>>> Thanks.
>>>>
>>>> In terms of nixie brightness, is there any advantage in using serial to
>>>> parallel converter+shift register vs multiplexing using high voltage
>>>> transistors on anodes and cathodes of the nixies? Other than saving
>>>> component and uC pins, of course.
>>>>
>>>> -------- Original message --------
>>>> From: Bill Stanley <billsta...@gmail.com>
>>>> Date: 13/08/2022 17:32 (GMT+00:00)
>>>> To: neonixie-l <neoni...@googlegroups.com>
>>>> Subject: [neonixie-l] Re: Nixie Clock - Direct Drive HV5530
>>>>
>>>> I use that part for my NIXIE, Panaplex and LED displays and I also
>>>> write in assembly (8051, not PIC)
>>>> For my code, I send the serial data for NEXT time to display in the
>>>> time after a 1 second update. On the 1 second "hack"
>>>> I update the display by doing the serial to parallel pulse.
>>>>
>>>> Here is the code I use:
>>>>
>>>>
>>>> ;************************************************************************
>>>> ;*                                    *
>>>> ;*    Serial clock the data in the raw buffer to the H/W drivers.     *
>>>> ;*    Note: this routine does not strobe the data to the display.    *
>>>> ;*                                    *
>>>> ;*    On Entry: None.                            *
>>>> ;*    On Exit:  Display H/W drivers updated from ram.            *
>>>> ;*                                    *
>>>>
>>>> ;************************************************************************
>>>>
>>>> WRT_NIXIE_HW:    MOV    R0,#DISP_RAW_TH        ;point at start of raw
>>>> display ram
>>>>                                  MOV    R1,#12d            ;12 bytes of
>>>> data to send
>>>> RAW_BYTE_LP:     MOV    R2,#5            ;5 bits per byte
>>>>                                 MOVX    A,@R0            ;get a 5 bit
>>>> value
>>>>                                 INC    R0            ;bump the pointer
>>>>
>>>> RAW_BIT_LP:        RRC    A            ;bit 0 into carry
>>>>                                MOV    DISP_DAT,C        ;put the bit
>>>> into the I/O port
>>>>                                CALL    HV_BIT_DELAY        ;delay
>>>>                                SETB    DISP_CLK        ;clock high
>>>>                                CALL    HV_BIT_DELAY        ;delay
>>>>                                CLR    DISP_CLK        ;clock low
>>>>                                DJNZ    R2,RAW_BIT_LP        ;loop 5 bits
>>>>                                DJNZ    R1,RAW_BYTE_LP        ;loop 12
>>>> bytes
>>>>                                RET                ;and return
>>>>
>>>>
>>>>
>>>> ;************************************************************************
>>>> ;*                                    *
>>>> ;*    Update the NIXIE readouts with the data in the H/W buffers.    *
>>>> ;*                                    *
>>>> ;*    On Entry: None.                            *
>>>> ;*    On Exit:  NIXIE displays show updated values.            *
>>>> ;*                                    *
>>>>
>>>> ;************************************************************************
>>>>
>>>>
>>>> UPDATE_DISP:    CALL    HV_BIT_DELAY        ;delay
>>>>                               SETB    DISP_STRB        ;strobe the data
>>>>                               CALL    HV_BIT_DELAY        ;delay
>>>>                               CLR    DISP_STRB        ;un-strobe NIXIE
>>>> drivers
>>>>                               RET
>>>>
>>>>
>>>>
>>>> On Saturday, August 13, 2022 at 8:40:39 AM UTC-7 flata...@gmail.com
>>>> wrote:
>>>>
>>>>> Thank you both.
>>>>>
>>>>> Say that I want to drive high HVOUT12 on pin2 (that is binary
>>>>> b'00000010') of the HV5530... and reading your previous messages, do I
>>>>> simply...:
>>>>>
>>>>> drive pin28 (CLOCK) low
>>>>> drive pin31 (LE) low
>>>>>
>>>>> drive pin28 (CLOCK) high
>>>>> drive pin32 (DATA Input) low ; send 0 for bit 0 of b'00000010'
>>>>> drive pin28 (CLOCK) low
>>>>> drive pin28 (CLOCK) high
>>>>> drive pin32 (DATA Input) high ; send 1 for bit 1 of b'00000010'
>>>>> drive pin28 (CLOCK) low
>>>>> drive pin28 (CLOCK) high
>>>>> drive pin32 (DATA Input) low ; send 0 for bit 2 of b'00000010'
>>>>> drive pin28 (CLOCK) low etc
>>>>> etc...
>>>>> drive pin31 (LE) high.
>>>>>
>>>>> Of course, I'd need to do it do it within a certain time frame (nS, I
>>>>> suppose)
>>>>>
>>>>> Then I guess I would need a level shifter as while the input voltage
>>>>> is 12V, the PIC is at 3.3V (LF series). Argh.
>>>>>
>>>>> I'm starting to think whether that is really a better approach than
>>>>> using an 80pin or 100pin PIC with HV transistors to drive the cathodes of
>>>>> the Nixies (pic18f46k22 would do for instance). It would increase 
>>>>> component
>>>>> count and cost of PIC etc, but it's not a commercial project, I'm only
>>>>> making 3 clocks in total.
>>>>>
>>>>> Indeed, I'm building a clock with Dalibor's RZ568M (beautiful!).
>>>>>
>>>>> Il giorno sabato 13 agosto 2022 alle 15:46:58 UTC+1 gregebert ha
>>>>> scritto:
>>>>>
>>>>>> Be sure to use a level translator to drive the 5530-type devices at
>>>>>> the proper signal voltages (12 VDC). Some people have driven them at 5V,
>>>>>> which is out-of-spec and not guaranteed to work.  I use these drivers in
>>>>>> some of my clocks and they work very well.
>>>>>>
>>>>>> Pardon my rant below, but I've been designing IC's for a living since
>>>>>> the 1980's and too often I see others having problems with serial 
>>>>>> devices  :
>>>>>>
>>>>>>   One thing that annoys me about the HV5530 (and similar) devices is
>>>>>> that the datasheet specs are incomplete for the serial data signals. The
>>>>>> data-in hold time (tH) is 10nsec, but there is no *minimum* propagation
>>>>>> time in the spec (tDLH, tDHL). The only have a maximum (100ns). What this
>>>>>> means is that per the datasheet, you cannot simply cascade multiple
>>>>>> devices. It might work if you do, but if you want to guarantee that it 
>>>>>> will
>>>>>> always work, place a rising-edge flip-flop between cascaded devices). In
>>>>>> order to have reliable shifting, the minimum propagation-delay of the
>>>>>> driving device *must be greater* than the hold-time of the next
>>>>>> device. If there is no minimum prop-delay spec, assume it's zero (a very
>>>>>> safe and reasonable assumption).
>>>>>>
>>>>>> My current clock project (6-tube RZ 568m) has multiple PC boards with
>>>>>> ribbon cables interconnecting them. Not just for the three HV5530's that
>>>>>> drive the tubes, but also many other devices in the same serial chain for
>>>>>> reading switches and controlling lamps. After many weeks of testing with
>>>>>> billions of bits, there are zero bit errors.....because I made sure setup
>>>>>> and hold times are met.
>>>>>>
>>>>>>
>>>>>> On Saturday, August 13, 2022 at 6:32:31 AM UTC-7 SWISSNIXIE -
>>>>>> Jonathan F. wrote:
>>>>>>
>>>>>>> Hi Max,
>>>>>>> The HV5530 and other HV-Series IC's are "Serial to Paralell"
>>>>>>> converters which allow to be control 32-pins (or even more with multiple
>>>>>>> ic's) from single clock and data lines. They are basically normal 
>>>>>>> serial to
>>>>>>> parallel converters with high voltage transistors attached.
>>>>>>>
>>>>>>> To operate these you will need a clock source (for easy way a gpio
>>>>>>> that goes high/low) and a data source, which means either a pin that is
>>>>>>> high or low at the time of clock. After you've sent the required amount 
>>>>>>> of
>>>>>>> data (number of outputs on the IC) the first data will transfer to "DATA
>>>>>>> OUT" pin and into the next IC (if there is one).
>>>>>>>
>>>>>>> For a 6 digit clock you need 2 pcs of HV553
>>>>>>>
>>>>>>> I cannot provice ASM code for PIC, but here is a low level code of
>>>>>>> ATMega:
>>>>>>>
>>>>>>> *#define thePort PORTD *
>>>>>>> *#define DATA PD5*
>>>>>>>
>>>>>>> *#define CLK PD7 *
>>>>>>>
>>>>>>>
>>>>>>> *PORTC |= _BV(PC1);  //Set OE/LE Signal LOW*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> * for (int i = 0; i < 32; i++) {    thePort &= ~_BV(DATA);  //Data
>>>>>>> LOW    if ( bitRead(val_one, i) == 1) {      thePort |= _BV(DATA);  
>>>>>>> //Data
>>>>>>> HIGH    }    thePort |= _BV(CLK);  //CLK HIGH    thePort &= ~_BV(CLK);
>>>>>>> //CLK LOW  }*
>>>>>>> *PORTC &= ~_BV(PC1);  //Set OE/LE Signal HIGH*
>>>>>>>
>>>>>>> The general operation of the 5530 is as following.
>>>>>>>
>>>>>>> 1.) Drive Data pin and Clock pin LOW
>>>>>>> 2.) Before starting to send data, drive LE pin LOW
>>>>>>> 3.) For each bit you need to do a clock signal and data pin, for
>>>>>>> this:
>>>>>>> 3.1) Drive CLOCK High
>>>>>>> 3.2) Drive DATA high or low, depending if you want to turn the digit
>>>>>>> on or off
>>>>>>> 3.3) Drive CLOCK Low
>>>>>>> 3.4) Drive DATA Low
>>>>>>> 4.) This needs to be done for all Inputs of an ic, if you have two
>>>>>>> ic's chained you need to to it two times.
>>>>>>> 5.) After all Data has been sent, drive LE pin HIGH, Outputs will
>>>>>>> now be set to the data you've just send
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Saturday, 13 August 2022 at 12:13:24 UTC+2 flata...@gmail.com
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I'm starting to design my first 6 digit nixie clock and I'd like to
>>>>>>>> use direct drive of the tubes (my power supply can take 6 nixies 
>>>>>>>> without
>>>>>>>> multiplexing).
>>>>>>>>
>>>>>>>> So far I have built my Nixie watch, coding in ASM, worked on
>>>>>>>> extreme power saving etc.
>>>>>>>>
>>>>>>>> I could multiplex the nixies as I did in this project
>>>>>>>> https://fb.watch/eTb69SnxEP/ , but since I have a good power
>>>>>>>> supply I wanted to build a clock with direct drive of the tubes.
>>>>>>>>
>>>>>>>> I prefer to code in ASM (don't ask why :)  ), I could use a 100pin
>>>>>>>> PIC18 to drive each digit individually through MMBTA92 & A42 
>>>>>>>> transistors.
>>>>>>>> However, if I want to use a PIC with a lower pin count (say 40pins), I 
>>>>>>>> may
>>>>>>>> use a driver such as HV5530.
>>>>>>>>
>>>>>>>> Would I still get same brightness as a genuine direct drive as when
>>>>>>>> using A92&A42 transistors? I suppose the switching that happens using
>>>>>>>> CLK/SDA on the HV5530 is not too different than a good multiplexing. I 
>>>>>>>> may
>>>>>>>> be wrong.
>>>>>>>>
>>>>>>>> And if I were do code ASM to use HV5530, does anyone have sample
>>>>>>>> ASM code? I managed to write myself the code to read/write time from 
>>>>>>>> an RTC
>>>>>>>> using CLK/SDA so I suppose it's very similar but I cannot figure it out
>>>>>>>> from the datasheet of HV5530.
>>>>>>>>
>>>>>>>> Any help is much appreciated.
>>>>>>>>
>>>>>>>> Max
>>>>>>>>
>>>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "neonixie-l" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to neonixie-l+...@googlegroups.com.
>>>> To view this discussion on the web, visit
>>>> https://groups.google.com/d/msgid/neonixie-l/c2e49484-d56e-4545-b635-942952d2c1f4n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/neonixie-l/c2e49484-d56e-4545-b635-942952d2c1f4n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "neonixie-l" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neonixie-l+...@googlegroups.com.
>>> To view this discussion on the web, visit
>>> https://groups.google.com/d/msgid/neonixie-l/e7145848-36e9-48cc-a5c5-f5fec8fcbcdfn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/neonixie-l/e7145848-36e9-48cc-a5c5-f5fec8fcbcdfn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "neonixie-l" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to neonixie-l+...@googlegroups.com.
>> To view this discussion on the web, visit
>> https://groups.google.com/d/msgid/neonixie-l/33c9a621-0006-4f94-998f-5f2e29a7fb6cn%40googlegroups.com
>> <https://groups.google.com/d/msgid/neonixie-l/33c9a621-0006-4f94-998f-5f2e29a7fb6cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "neonixie-l" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to neonixie-l+unsubscr...@googlegroups.com.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/neonixie-l/f4edcebe-36e9-4f8c-9fd0-f1500d9d9ae2n%40googlegroups.com
> <https://groups.google.com/d/msgid/neonixie-l/f4edcebe-36e9-4f8c-9fd0-f1500d9d9ae2n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neonixie-l+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/neonixie-l/CAOQ6x0EE%2B6njiz-UWVnFCFx-CUYFv6v21Di%3D718xdGC3cfddnw%40mail.gmail.com.

Reply via email to