From 0276ea662900935a5c36605e6a613d81fffd6523 Mon Sep 17 00:00:00 2001 From: dewdude Date: Sun, 5 Jan 2020 10:41:57 -0500 Subject: [PATCH] Addition of logic inverter. Inversion of srEnable. --- CHANGELOG | 9 +++++++ README.md | 24 +++++++++++++----- hifilogix.ino | 16 ++++++------ ...{schematicmsall.png => schematicsmall.png} | Bin 4 files changed, 34 insertions(+), 15 deletions(-) rename images/{schematicmsall.png => schematicsmall.png} (100%) diff --git a/CHANGELOG b/CHANGELOG index f1aeec4..0e39798 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,14 @@ CHANGELOG: +Version 0.1.5: + + Hardware + Removed 2003 ground from 595 enable line. (That was a stupid idea that thankfully didn't blow up.) + Added logic invterter to drive the 595 enable and 2003 ground. (Transistor can sink more current). + + Software: + Flipped srEnable logic to drive logic inveter added to board. + Version 0.1.4: Main: diff --git a/README.md b/README.md index 9c89e42..857d3b2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ ![HiFiLOGIX](images/logo.jpg "HiFiLOGIX") + Arduino Control for Your Vintage Stereo # History @@ -11,6 +12,7 @@ Arduino Control for Your Vintage Stereo 30-Dec-2019: Version 0.1.3 - Removed ShiftReset function. Replaced with reset circuit onboard. 01-Jan-2020: Added license, media, and proper README. 04-Jan-2020: Version 0.1.4 - Changed project name. Removed 1602 display code. Added 128x32 OLED code +05-Jan-2020: Version 0.1.5 - Fixed stupid mistake in hardware. Flipped logic of srEnable for new circuit. ```` @@ -53,11 +55,20 @@ for phono). Click for full resolution. Data is shifted in to a 74HC595 and it's parallel outputs are used to control a ULN2803(or 2003) darlington array to -in turn drive a relay. The output of the 74HC595 is controlled by the microcontroller and an RC circuit on the reset -line prevent suprious relays from firing. Every effort has been taken to ensure only one relay will be fired at a time -to prevent damage to other audio components. The 2803/2003 arrays include built in snubber diodes for inductive kick- -back protection. If you should deviate from this schematic and use discreet diodes, you must add these diodes to your -circuit or you will damage the transistors, shift register, and/or Adruino. +in turn drive a relay. Every effort has been taken to ensure only one relay will be fired at a time to prevent damage +to other audio components. The output of the 74HC595 is controlled by the microcontroller and an RC circuit on the reset +line prevent suprious relays from firing. In version 0.1.5/hardware 1.4 this was slightly modified. A simple transistor +logic inverter now drives both the 74HC595 enable pin as well as the ULN2803/2003's ground line. This was done because +the 2003 I'm using likes to boot up with every output on even when pulling the lines down. Calculating the relays to +draw about 40mA each; trying to sink this through the arduino using the existing logic low for the 595 was probably a +bad idea. So the logic in the software was flipped and the transistor now converts the logic-high to "logic low" and +is capable of sinking something like 800mA if I read the datasheet right. More than enough for the 80mA I predict I'll +need from the thing. While I wanted to keep parts down (and complexity) low; keeping a low number of pins to the micro- +controller is the priority and the transistor and two resistors not only aren't expensive, but meet that goal. + +The 2803/2003 arrays include built in snubber diodes for inductive kick-back protection. If you should deviate from this +schematic and use discreet diodes, you must add these diodes to your circuit or you will damage the transistors, shift +register, and/or Adruino. The switch matrix consists of a simple resistor based analog method that merely throws different amounts of voltage thru resistors. While this allows us to read all of our switches using just one line, it can cause problems should you want to @@ -93,8 +104,7 @@ Please install them via Library Manager or however you install libaries. Check i [![Picture of prototype rig](/images/prototype.jpg "Prototype")*Prototype & Development Build* -This is the most current prototype featuring a 128x32 OLED and a ULN2003 driving actual relays. It is known as hardware -revision 1.3. +More recent prototype build. I'm horrible at making videos in general...but I still made an attempt to show things off. Youtube embedding is apparently broken and I don't feel like putting a gig worth of video in the repository, so you'll just have to use links. diff --git a/hifilogix.ino b/hifilogix.ino index 10fca51..8b3cd35 100644 --- a/hifilogix.ino +++ b/hifilogix.ino @@ -1,7 +1,7 @@ /* - HiFiLOGIX 0.1.4 + HiFiLOGIX 0.1.5 - dewdude@gmail.com - 04-JAN-2020 + dewdude@gmail.com - 05-JAN-2020 */ #include @@ -26,11 +26,11 @@ decode_results ircode; void logo() { u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_fewture_tr); - u8g2.drawStr(15,14,"HiFiLOGIX"); + u8g2.setFont(u8g2_font_fewture_tr); + u8g2.drawStr(15,14,"HiFiLOGIX"); u8g2.setFont(u8g2_font_freedoomr10_tu); - u8g2.drawStr(14,30,"DENON PMA-770"); - u8g2.sendBuffer(); + u8g2.drawStr(14,30,"DENON PMA-770"); + u8g2.sendBuffer(); u8g2.setFont(u8g2_font_logisoso28_tr); } @@ -127,7 +127,7 @@ void setup() logo(); delay(2000); setAUX(); - digitalWrite(srEnable,LOW); + digitalWrite(srEnable,HIGH); } void loop() { @@ -162,4 +162,4 @@ if (remote.decode(&ircode)) { remote.resume(); } delay(200); -} +} \ No newline at end of file diff --git a/images/schematicmsall.png b/images/schematicsmall.png similarity index 100% rename from images/schematicmsall.png rename to images/schematicsmall.png