![]() |
![]() |
![]() |
|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
![]() |
|
Thread Tools |
![]() |
#21 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,196
|
![]()
Yes, Chris was trying to stick to the Acorn design as much as possible so that it looked quite similar / the same control software (that he'd updated to support further PROM types as well as his new Tesla programmer) could be used for both.
The old-favourite in 1980's projects BFY51 / 2N3053 1A transistor has now become quite-expensive (£2 each at some places! as may have been discontinued). But IIRC Chris had a good stock of these, so stayed with it, and I still have a small number in this series. Many of the BD13x higher-current / power TO-126 types also seem to be going the same way. However, if these transistor are only operated as a fully-saturated switch, so not much power-dissipation, then can probably use a more-common TO-92 type. The BC337 was one of my favourites, as it used to have the highest 0.5A max rating in that package. But I've recently discovered the (S)S8050 which is rated upto 1.2A by some manufacturers and I recently used one to replace a less-common 2SD467 0.7A one that had failed in a Beeb's Astec SMPSU. I'd not come across the 74C906 open-drain CMOS-type Inverting buffer before, that appears to be obsolete and around £7 at Cricklewood (Although can get 5 for < £3 on Aliexpress). But probably some alternatives to this. Maybe the 74LVC06A / possibly the 7406 / 74LS06 (Doesn't seem to be a 74HC06), if supply in this application is no more than 5V so doesn't require 3-15V range of the MM74C906 etc. |
![]() |
![]() |
![]() |
#22 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
OK, found the 74C906.
One other thing which is giving me trouble is the LM2731Y switching regulator, they are surprisingly hard to find at a reasonable price anywhere, even from China which I prefer to avoid anyway. One possible alternative would seem to be the Ti LM27313, which looks to have the same pinout and its example / application diagram is much the same as the one used on the programmer PCB. https://www.ti.com/lit/ds/symlink/lm27313.pdf A version of this is available from e.g. CPC for a much more reasonable price, but I don't know if this would be an acceptable substitute. https://cpc.farnell.com/texas-instru...-23/dp/SC16526 |
![]() |
![]() |
![]() |
#23 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
An emporium local to me has TO126 BD139s at a reasonable 25p each - unfortunately the square leads on a TO126 package probably won't play nicely with holes drilled for a TO39, so I'll probably have to stick to the original script.
|
![]() |
![]() |
![]() |
#24 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]() Quote:
I'm assuming yours will use modern / easily available components plus probably an Arduino and I'm sure your code for it will be better than mine because it always is. I'm just interested to see if Chris's already proven programmer hardware can be easily married to a modern controller. Most people needing to programme these devices will be wanting to do so in order to repair an original retro system or get a replica going, so for those people the programmer really needs to be something which does not rely on the pre-existence of a working retro system to drive it. |
|
![]() |
![]() |
![]() |
#25 |
Heptode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 914
|
![]()
Another thought is to make it cheap & simple as for most builders its quite likely to be used only once! Like the 2708 reader, did its job then relegated to the back of the deepest drawer, never to see light of day again...
![]() |
![]() |
![]() |
![]() |
#26 |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,196
|
![]()
Unfortunately the 74C906 seems to follow the cmos 4000 series practice of reversing the pinouts of logic gates, but doesn’t seem to have an equivalent in the 4000 series.
If you were designing your own pcb or using point to point wiring then I think a 74ls06 could be used. |
![]() |
![]() |
![]() |
#27 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
I wonder if the 74C906 was originally chosen for its high voltage tolerance (one of its intended uses is level conversion, with a VccMax of 18V).
Datasheet here:- https://media.digikey.com/pdf/Data%2...74C906,907.pdf They are actually still quite widely available. |
![]() |
![]() |
![]() |
#28 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
Well, I'm committed - 4 xBFY50, 10uH choke, LM2731Y switchmode IC, IRF9520 and Schottky diode all ordered. The switchmodes I had to order from Israel in order to get the 'Y' version, they will take a while so Slothie, you might still be the first to have an Arduino (or whatever) powered worker.
|
![]() |
![]() |
![]() |
#29 |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,196
|
![]()
74ls06 has ttl level inputs, 30v open collector outputs.
74c906 has Vcc operating range to 15v, absolute max 18v, but not really clear from that spec if the open drain output can be connected to voltage greater than Vcc. They seem to have missed that line from the spec below the max input voltage range. It has cmos inputs, so higher impedance, but also probably cmos switching levels so might not work well in a ttl level system. |
![]() |
![]() |
![]() |
#30 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
Modern microcontroller I/O pins tend to drive their outputs from rail to rail so I don't imagine the 906 will have any trouble interpreting the output from an Arduino.
Raspberry Pi (with max 3V3 outputs) might be a different matter. |
![]() |
![]() |
![]() |
#31 | |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
![]() Quote:
![]() |
|
![]() |
![]() |
![]() |
#32 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
One consideration when basing it on any common microcontroller board is how much current the programmer hardware will need during programming pulses - potentially quite a lot, and if the supply to the Arduino (or whatever) is limited to the standard USB 500mA then it could be necessary to organise an independent more current capable 5V supply for the programmer hardware. In Chris's original Acorn based version this won't have been a significant problem because the +5V supply was presumably drawn from a more than adequate +5V supply on the rack it was meant to be plugged into.
Raspberry Pi Zero and Pi 4 apparently pass their +5V supply unfused to the +5V output pin on the GPIO port and both devices presumably negotiate for more than 500mA from whatever micro USB supply they are powered from. |
![]() |
![]() |
![]() |
#33 | |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
![]() Quote:
|
|
![]() |
![]() |
![]() |
#34 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
Someone did once tell me you can power an Arduino by feeding power INTO the +5V pin on the socket rows although I would worry about that because it would be backfeeding power to the output of whatever normally provides the +5V supply.
Re: Your approach, let's say the Arduino is powered and providing strong output signals, some high, some low, to the logic inputs of the programmer hardware while the chips etc of the programmer itself are not yet powered. I could see that potentially causing problems. You might need a kind of 'interlock' which enables your programmer board supply only when the Arduino is powered, and disables the programmer board supply whenever power is removed from the Arduino. That way you can never have a powered Programmer shield trying to back-power the unpowered Arduino, or a powered Arduino trying to drive the unpowered programmer hardware. |
![]() |
![]() |
![]() |
#35 | |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,196
|
![]() Quote:
One other thing I can think of is to watch out for outputs from microcontrollers or interface ICs floating or pulsed high/low during power up or reset. You don’t want to program part of the prom when you reset or turn on the programmer or the controller. This used to be a potential problem for dot matrix impact printers firing the print needle solonoids when power was applied. Are the proms hot pluggable? |
|
![]() |
![]() |
![]() |
#36 | ||
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]() Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#37 | |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
![]() Quote:
Back powering the Arduino isn't a problem, because the Arduino has an op-amp that disconnects the USB power when 5v comes in through the power connector, and the regulators used (MC33269ST) shut off if back-powered. Some cheap clones use clones of AM1117-5 regulators that can object to this treatment, so in the case of those boards I'd recommend just keeping the USB plugged in before applying the 12v (I'll confess to having to replace 2 regulators with "reputaable" components before working this out). Or buy a better Uno! |
|
![]() |
![]() |
![]() |
#38 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,095
|
![]()
Hmm, it's unfortunate that this situation (with low grade clones) has arisen but it means that your / our / anyone's circuit should anticipate an end user almost certainly trying to use one of those clones at some point and dodge that bullet by not trying to back power the Arduino.
If you do it will only lead to people complaining that 'your project blew my Arduino up'. You saying that it happened because their Arduino wasn't a real one won't carry any weight because it will have worked perfectly in every other Arduino application they used it in prior to that. You can see where I'm coming from. Therefore, if there is a solution which will work equally well for both real and clone Arduinos, we should really try to do it that way. |
![]() |
![]() |
![]() |
#39 | |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
![]() Quote:
![]() But seriously, I agree in principle, it is far from optimal to produce a design that has a flaw like this, no matter how carefully you document the shortcoming or put big flashing warning signs on the box. That said it didn't happen to the first UNO I used (with a DIP chip) and I didn't notice with the SMD Chinese clones until I tried using it in another project, as it was only the regulator that stopped regulating, it still worked from USB power! If you don't back-power the arduino, it gets powered through the pull-up resistors on the inputs and excess current flows through the ATMEGA (I measured 200ma rather than the usual 16mA and it got quite warm). You have to pull up the inputs so that you know when the pins have been pulled down. There are 2 ways to fix this: put the ATMEGA on the sheild and produce what is essentially a stand-alone design powered from the 12v supply. This I wanted to avoid given that most people would use it 2-3 times, then put it in the old projects box. Or you could detect the 5v rail on the Arduino and use that to switch the 12v supply which is possible but I'd have a hard time squeezing the extra MOSFET onto the sheild as there is hardly room for a resistor at the moment. Perhaps a future redesign using SMD components could acheive this, but I wonder how much demand there would be to warrant making this change - if it ends up I need to redo the board to get a working programmer then I will probably consider this (there are currently 2 changes I've had to bodge in so this isn't entirely unlikely). My current focus is getting something to work when used with care so I can produce a PROM once in a blue moon. |
|
![]() |
![]() |
![]() |
#40 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
![]()
Sort of like this....
|
![]() |
![]() |