Pneumatic Cylinder Controller

Status
Not open for further replies.
If your building this circuit for a learning project then that is great ignore the rest of this post.

Buy an old Allen Bradley SLC 150 with a hand held programmer. The 24 VDC version is designed for reed switches. These were $500 brand new 20 years ago. Many sellers think because you can not buy these anymore they are worth their weight in Gold so check prices there are still some sellers selling them at a reasonable price. 10 years ago these were selling for $20 each used. It has been 8 years since I worked with these I believe Series C is the unit you want. You do not need an expander unless 20 inputs and 10 outputs are not enough. The expander will double the inputs and outputs. The 24 volt DC unit needs a 24 VDC Allen Bradley power supply. The 24 VDC power supply was nothing special you can build one with a transformer, bridge rectifier, and 1 large capacitors.

**broken link removed**

**broken link removed**

This is optional it allows you to change the time on the timer circuits as your machine is running without the need for reprogramming with the hand held programmer. Very handy and fast.

**broken link removed**

The SLC 150 comes with a battery that keeps the EEprom from loosing memory when the unit is turned off. If you buy a used unit be sure to ask if the battery is good and how old the battery is. Batteries use to be $30 I use to cut the wire from the old batteries and solder on a new $5 rechargable battery that I bought from the local hobby shop. Battery life is 8 years.

**broken link removed**
 
Last edited:
It crossed my mind to use a plc. But these old ones are difficult to get hold of. Then i dunno where to find one which isn't faulty. Plus im doing this for my work. So i didnt want to take chances.
The new ones cost around 200$ and i wanted to save on cost. Plus i get to use something that i learnt in college!
Your idea is great as there would be less things to worry about and the programming would be easier.
Maybe ill try this circuit out, if im not able to do it ill move onto PLC.
 
Okay. I am facing a problem. I have made a code for the application and on pin P0.0 im getting 2V as logic '1'. What could be the use here? Will it be hardware related or software related? Personally i do not think there is anyway i can mess up and the output voltage changes.

Following is the code for your reference. I have checked the voltages and the code on my programmer pcb. All other pins get 5V for logic '1' except this one!

Code:
;objective: Pneumatic Control
;Name: Abhimanyu Chopra
;Email id: 
;Uc Used: 89S52
;Crystal Used: Quartz 11.592Mhz
;Board Used: 
;Software Version: 0.1 Alpha
;Ics Used: ULN2803a
;HW Declaration:

                		dar0 equ p0.0
				dar1 equ p0.1
				dar2 equ p0.2
				dar3 equ p0.3
				dar4 equ p0.4
				dar5 equ p0.5
				dar6 equ p0.6
				dar7 equ p0.7
				
				rsw0 equ p1.0
				rsw1 equ p1.1
				rsw2 equ p1.2
				rsw3 equ p1.3
				rsw4 equ p1.4
				rsw5 equ p1.5
				rsw6 equ p1.6
				rsw7 equ p1.7
				rsw8 equ p3.0
				
				op1 equ p3.1
				op2 equ p3.2
				
;Ram
;Const Variable
                
                stackval equ 70h

;bit Variable
;Start Of Main Program
;Intr Vector Table


                org 0000h       ;Reset
                ajmp poweron
                
                org 0003h       ;Ext Int1
                org 000bh       ;T0
                org 0013h       ;Ext Int1
                org 001bh       ;T1
                org 0023h       ;Serial
                org 002bh       ;T2
                
poweron:        mov sp,#stackval
                mov p0,#0ffh
                mov p1,#0ffh
                mov p2,#0ffh
                mov p3,#0ffh
                mov ie,#00h
                mov ip,#00h

                mov p0,#00h
                mov p1,#00h
                mov p2,#00h
                mov p3,#00h

main:           
				acall step1
				sjmp main
					

step1:   	    setb dar0						
	  step2:    jb rsw1,step3
		    sjmp step2
		    ret
				
step3:   	    setb dar1
	  step4:    jb rsw3,step5
	            sjmp step4
	            ret
				
step5:   	    setb dar2
						
		step6:	jb rsw4,step7
                sjmp step6
				ret
				
step7:   	    setb dar3
						
		step8:	jb rsw8,step9
                sjmp step8
				ret
				
				;///////////////One Side Operation Over//////// WAIT???? ///////////
				
step9:   	    clr dar1
						
		step10:	jb rsw2,step11
                sjmp step10
				ret

step11:   	    clr dar3
						
		step12:	jb rsw7,step13
                sjmp step12
				ret

step13:   	    clr dar2
						
		step14:	jb rsw5,step15
                sjmp step14
				ret
				
step15:   	    clr dar0
						
		step16:	jb rsw0,step17
                sjmp step16
				ret

step17:   	    ret
					;/////////// Initial Postion Done In all Cylinders. ////////////////////////
			
                END
 
Last edited:
Sounds like a configuration problem. Make sure P0.0 is configured for digital I/O and isn't being used for some other function.
 
Possibly the load (LEDs) exceeds what the pin can deliver. What dos the pin measure with nothing connected to it? I would guess you are loading the pin.

Ron
 
I have checked the voltages on my burner pcb. Ill try and make the circuit on the breadboard and try again with unloaded pins tomorrow or monday morning.
Will keep you guys posted.
Thanks!
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…