sumdawgy
02-27-2010, 06:49 AM
Sigh.· (history) Ok so I wasn't sure what route I wanted to go to replace the "brain" of a dishwasher.· (Simple robot task)· So, instead of a Bs2 I went with a bs1 (So I could point out to the wife I wasn't in it for the toy $$.)· Now that I'm hoisted by my own petard......
My dream was to use 3 pins on the bs2 and get at minimum 8 outs.· If later I wanted more...I could daisy chain in another shift register. (using the additional serial out provided)
Now since I'm driving relays and LEDs. I've linked the first 7·parallel outputs to a darlington.· The 8th·darlington I used for heater control and I sent a signal straight from the bs1 to trigger it.
Now the darlington ciruit works fine... but the shift register (hearafter refered to as·"chip")·remains dormant....
The datasheet for this thing is a bit ecclectic and near as I can figure I can hardwire OE(not) low and MR high to enable the thing....uh chip.
But...It seems I might need to actually play with MR instead?
Now for the meat....
Dishwasher has·7 main components
1--wash motor························· 2--Fill Valve (auto cutout float switch)
3--Drain motor/valve··················5--Soap dispenser solenoid
6--HI amp Heat Coil···················7--thermistor (pot readable)
7--120VAC from door·switch (door closed)
I add at minimum... button and piezo buzzer (3-15vdc).
I'm at 9 pins.· No good for bs1.· BUT loading the 8 bit unit gives me those 8·xtra outputs.·But it costs me·3 pins
P0--serial data out·· P1---Serial data clock·· P2---Storage Register clock
Note: I love the fact that this unit has a seperate set of registers for storage and shift.· Obviously, having various functions fire during data shift... (however briefly) could be problematic.
So the theory is simple.... set P0, pulse p1 & repeat 8 times.·then pulse p2 to "fire" the appropriate darlington pins.· this way I could change a LED (or flash it)·and not skip a beat in the operation of a motor.
Or not.· this is what brings me here.· While the darlington is firing the relays (12vdc) as it should.· The chip is a doorknob to all my attempts at communication.
my shift load routines (30% of the eprom...sigh)
the program·calls Dshift to load.· (Wlry & the rest are bits)
Sclock:
HIGH 1
PAUSE 100
LOW 1
PAUSE 100
RETURN
Dshift:
'load the shift registers
LOW 0
IF Wrly =0 THEN DS1
HIGH 0
ds1:
GOSUB Sclock
LOW 0
IF Frly = 0 THEN DS2
HIGH 0
DS2:
GOSUB Sclock
(Repeat thru 7 times (only caring about first 7 bits))
LOW 0
IF Rled =0 THEN DS7
HIGH 0
ds7:
GOSUB Sclock
'Now flip the storage bits
HIGH 2
PAUSE 50
LOW 2
RETURN
I added in the pauses to allow me to verify the data going out.·
i've tried setting all high and various high...and nothing out.....
Any ideas?·· Oh...instead of soldering the chip...I used a IC socket. for both ICs.
My dream was to use 3 pins on the bs2 and get at minimum 8 outs.· If later I wanted more...I could daisy chain in another shift register. (using the additional serial out provided)
Now since I'm driving relays and LEDs. I've linked the first 7·parallel outputs to a darlington.· The 8th·darlington I used for heater control and I sent a signal straight from the bs1 to trigger it.
Now the darlington ciruit works fine... but the shift register (hearafter refered to as·"chip")·remains dormant....
The datasheet for this thing is a bit ecclectic and near as I can figure I can hardwire OE(not) low and MR high to enable the thing....uh chip.
But...It seems I might need to actually play with MR instead?
Now for the meat....
Dishwasher has·7 main components
1--wash motor························· 2--Fill Valve (auto cutout float switch)
3--Drain motor/valve··················5--Soap dispenser solenoid
6--HI amp Heat Coil···················7--thermistor (pot readable)
7--120VAC from door·switch (door closed)
I add at minimum... button and piezo buzzer (3-15vdc).
I'm at 9 pins.· No good for bs1.· BUT loading the 8 bit unit gives me those 8·xtra outputs.·But it costs me·3 pins
P0--serial data out·· P1---Serial data clock·· P2---Storage Register clock
Note: I love the fact that this unit has a seperate set of registers for storage and shift.· Obviously, having various functions fire during data shift... (however briefly) could be problematic.
So the theory is simple.... set P0, pulse p1 & repeat 8 times.·then pulse p2 to "fire" the appropriate darlington pins.· this way I could change a LED (or flash it)·and not skip a beat in the operation of a motor.
Or not.· this is what brings me here.· While the darlington is firing the relays (12vdc) as it should.· The chip is a doorknob to all my attempts at communication.
my shift load routines (30% of the eprom...sigh)
the program·calls Dshift to load.· (Wlry & the rest are bits)
Sclock:
HIGH 1
PAUSE 100
LOW 1
PAUSE 100
RETURN
Dshift:
'load the shift registers
LOW 0
IF Wrly =0 THEN DS1
HIGH 0
ds1:
GOSUB Sclock
LOW 0
IF Frly = 0 THEN DS2
HIGH 0
DS2:
GOSUB Sclock
(Repeat thru 7 times (only caring about first 7 bits))
LOW 0
IF Rled =0 THEN DS7
HIGH 0
ds7:
GOSUB Sclock
'Now flip the storage bits
HIGH 2
PAUSE 50
LOW 2
RETURN
I added in the pauses to allow me to verify the data going out.·
i've tried setting all high and various high...and nothing out.....
Any ideas?·· Oh...instead of soldering the chip...I used a IC socket. for both ICs.