CHI030 wiring

Pat13

Senior Member
Hello all, have been working diligently at coding (with a lot of help from a friend!) and am ready to forge ahead but am running into a problem. I have removed the resistor on the CHI030 and am powering V2+ with 12VDC wall wart. I have also soldered four 10 pin terminal blocks onto it (V1+/G, V2+/G). The problem is I am only getting logic level voltage on the outputs. The data sheet says that it is necessary to "share" the V2+ output with all the output pins. Does this mean I have to solder a wire across all the output pins?
Your help is appreciated.
 
Last edited:

inglewoodpete

Senior Member
The CHI030 uses a ULN2803 Darlington array on its outputs. Each darlington transistor acts as a simple switch. When OFF it is high impedance (close to open circuit). When ON, it offers a low resistance path to 0v.

Your load needs to be connected between V2+ and a darlington output (collector). You will find that the darlington will switch your load on and off when connected that way.
 

westaust55

Moderator
You can also have a look at PICAXE manual 3 page 7 which has two diagram showing how to connect your loads to the ULN2x03 series Darlington transistor arrays.
 
Last edited:

Pat13

Senior Member
The CHI030 uses a ULN2803 Darlington array on its outputs. Each darlington transistor acts as a simple switch. When OFF it is high impedance (close to open circuit). When ON, it offers a low resistance path to 0v.

Your load needs to be connected between V2+ and a darlington output (collector). You will find that the darlington will switch your load on and off when connected that way.
:confused:Sorry for being dense but just so I am clear on this. On page one of the CHI030 data sheet which shows the board, on the right side there are two vertical rows. I have terminal blocks soldered to each of those rows (one on the top of the board [outer row], one on the underside [inner row]). I assumed that the outer row was + and the inner was G (page 3 shows motors wired onto board). At the top of the outer row is V+ followed by 7, 6, etc. Do I solder V+ to 7 thru 0?
thanks guys,
 

Technical

Technical Support
Staff member
In that case just connect your output between the two terminal block pairs, red wire to the top block and black wire to the block under the board.

The inner hole is not 0V, it is the darlington driver connection, to which the black wire of the output connects. There is no 0V connection of the output when using darlington drivers.
 

Pat13

Senior Member
In that case just connect your output between the two terminal block pairs, red wire to the top block and black wire to the block under the board.

The inner hole is not 0V, it is the darlington driver connection, to which the black wire of the output connects. There is no 0V connection of the output when using darlington drivers.
Ok, that is what I did, yet am only getting millivolt reading. I will take a pic of what I have done and attach it.
 

Pat13

Senior Member
I don't think it is a wiring problem after all. I ran a simple program and it worked fine, proper voltage and relays switched on and off
Code:
let dirsb = %11111111
let pinsb = %00000000

main:
	let pinsB = %00001111
	pause 5000
	let pinsB = %00000000
	pause 1000
	goto main
this is the program I was trying to run. i can hear the relays clicking but they do not actually switch.
Code:
let dirsb=%00001111
let pinsb=%00000000
let w0 = time
symbol sequence =w0
symbol debounce =b3
symbol adc_val =b8
random w1
pause w2


	waiting: 
		random w1
		readadc C.0,adc_val
		if adc_val<1 then waiting
		debounce =debounce +1 
		pause 100
		if debounce >9 then Show
		
	Show: gosub Clear_debounce
		random sequence
		let pinsb =sequence
		random w1
		w2=w1//3000 + 9000
		random sequence
		let pinsb =sequence
		random w1
		w2=w1//3000 + 9000
		pinsb=0
		pause 1000
		goto waiting
		
	Clear_debounce:
			debounce = 0
			return
when I measure voltage it is 0.02-0.03. I tried increasing the modulus value to 6000+12000 but did not make a difference. Not sure what is happening here.
 

Technical

Technical Support
Staff member
when I measure voltage it is 0.02-0.03. I tried increasing the modulus value to 6000+12000 but did not make a difference. Not sure what is happening here.
Still not sure that you have grasped the darlington driver concept - how did you measure voltage? If the multimeter is between 0V and the output this is wrong - and will only ever give you up to 0.7V.

You must measure voltage switching between the V+ and the darlington output.
 

BeanieBots

Moderator
What voltage are you measuring and with respect to what?

As already mentioned, the output of a darlington with no load will be about half a volt irrespective of it's input being high or low.

So, your relays click but don't switch.
That suggests a coil voltage problem.
Are they 5v relays driven from a 5v supply using the darlington to drive them?
If yes, then it may be that the volt-loss in the darlington (~1v) is too much and your circuit could never work.
If you have the relays direct on a PICAXE I/O pin, then you will most likely destroy (if have not already) the PICAXE.

Please post schematic and/or photo of your setup.
Please provide link to datasheet or give details about the relay.
 

Pat13

Senior Member
What voltage are you measuring and with respect to what?

As already mentioned, the output of a darlington with no load will be about half a volt irrespective of it's input being high or low.

So, your relays click but don't switch.
That suggests a coil voltage problem.
Are they 5v relays driven from a 5v supply using the darlington to drive them?
If yes, then it may be that the volt-loss in the darlington (~1v) is too much and your circuit could never work.
If you have the relays direct on a PICAXE I/O pin, then you will most likely destroy (if have not already) the PICAXE.

Please post schematic and/or photo of your setup.
Please provide link to datasheet or give details about the relay.
Here is the CHI030 as I currently have it setup, 12VDC goes into a 5vdc regulator and then into the pucaxe side of the CHI030, 12VDC into the darlington side. Resistor is removed as per data sheet



Here is the pic of the wiring coming out of the darlngton side of the CHI030



This is where those wires lead to



lamp cord is run from the speaker terminals to this



The relay is a Varley SPDT, I had found a web page awhile back but did not save it, so I apologise for not being able to provide a data sheet. It is 12VDC to switch and will switch 120VAC. The picaxe is still functional as I have been able to run the first code and it switches the relays, however the second code does not.
 

hippy

Ex-Staff (retired)
The picaxe is still functional as I have been able to run the first code and it switches the relays, however the second code does not.
Your second code ...

random sequence
let pinsb =sequence
random w1
w2=w1//3000 + 9000
random sequence
let pinsb =sequence
random w1
w2=w1//3000 + 9000
pinsb=0

That will only assert the 'pinsb' outputs for a very short time before they are set to zero. In that time the relay contacts may lift then fall back ( hence the clicking ) but it's likely too short a time to make proper contact. You need some PAUSE or WAIT commands in there.
 

Pat13

Senior Member
thanks for the help, folks. I wanted random pin selection and random time, within a range. Will try to work out a code but in meantime will add pause
 
Top