Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to replace UAA4000

Status
Not open for further replies.

DrWhoF

Advanced Member level 1
Advanced Member level 1
Joined
May 6, 2005
Messages
402
Helped
24
Reputation
48
Reaction score
11
Trophy points
1,298
Activity points
4,388
I would like to replace non-available part UAA4000 with a microcontroller to generate Pulse-Position-Modulation.
The circuit is rather complicated and it uses 922 keypad decoder, 4066 switches, some transistors and HC154 – all to control the inputs of the UAA4000.
My plan is to use simple switches (pull-up to Vcc and switch to GND), I need only 10 of them, and to program a microcontroller to generate coded information (PPM) as if it was done by the UAA4000.
Any suggestion?
 

Looking at he UAA4000’s output waveforms, it shouldn’t be difficult to generate something similar even by a basic microcontroller with enough pins (inputs) to connect 10 (or more) switches ..
All commands consist of 6 pulses, so you’ll have to generate 10 different sets of 6-pulse-waveform to simulate action of 10 different switches ..

IanP
:D
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
Where do you have details on "6-pulse" commands from?
What do you mean by 6-pulse?
 


    DrWhoF

    Points: 2
    Helpful Answer Positive Rating

I recon t[p] should be 2ms, t[1] = 5ms, t[0] = 8ms and t[g] = 20-25ms ..
Have you come to similar conclusion?

:idea:
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
IanP said:
I recon t[p] should be 2ms, t[1] = 5ms, t[0] = 8ms and t[g] = 20-25ms ..
Have you come to similar conclusion?

:idea:
Where do you have this from?
I can't find any reference.
 

Hi,
Is it not to pages Nr2/3 to refer?
K.
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
DrWhoF said:
Where do you have this from?
I can't find any reference.

From the UAA4009 Data Sheet .. see attached pictures ..

:idea:
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
And the timings data are on both (RX & TX) datasheets on pages 2 & 3!
:)
K.
 

OK. I've got it.
So do you think UAA4000 can be replaced by simply generating a series of pulses of the said width?
 

It shouldn't be difficult ..


For example, Channel 1 – [00001] may look like this:

2ms Mark, 6ms Space for “0”
2ms Mark, 6ms Space for “0”
2ms Mark, 6ms Space for “0”
2ms Mark, 6ms Space for “0”
2ms Mark, 3ms Space for “1”
2ms Mark followed by 20ms Space for t[g] ..


A subroutine that generates Channel 1 string may look like this:

Channel1:
CALL TimeZero
CALL TimeZero
CALL TimeZero
CALL TimeZoer
CALL TimeOne
CALL TimeG
RET


IanP
:D
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
IanP said:
A subroutine that generates Channel 1 string may look like this:

Channel1:
CALL TimeZero
CALL TimeZero
CALL TimeZero
CALL TimeZoer
CALL TimeOne
CALL TimeG
RET

OK. Will try to use it with my PICAXE. :D :D
 

BASIC code for PICAXE may look like this:

Code:
‘ micro = PICAXE-18X .. out0 ..

start:

main:

	if pin0 = 0 then Channel_01			' 
	if pin1 = 0 then Channel_02			'
	if pin2 = 0 then Channel_03			' 
	if pin6 = 0 then Channel_04			' 

	goto main

' - - - - - - - - - - - - - - - - -


Channel_00:			‘ wave = 0 0 0 0 0 0

	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_G
	goto main


Channel_01:			‘ wave = 0 0 0 0 0 1

	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_One
	gosub T_G
	goto main

Channel_02:			‘ wave = 0 0 0 0 1 0

	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_One
	gosub T_Zero
	gosub T_G
	goto main

Channel_03:			‘ wave = 0 0 0 0 1 1

	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_One
	gosub T_One
	gosub T_G
	goto main

Channel_04:			‘ wave = 0 0 0 1 0 0

	gosub T_Zero
	gosub T_Zero
	gosub T_Zero
	gosub T_One
	gosub T_Zero
	gosub T_Zero
	gosub T_G
	goto main


T_Zero:

	high 0 		‘ output 0 = 1
	pause 2 		‘ wait 2 mseconds .. pulse width = 2ms
	low 0 		‘ output 0 = 0
	pause 6 		‘ wait 6 mseconds .. space widht = 6ms
	return

T_One:

	high 0 		‘ output 0 = 1
	pause 2 		‘ wait 2 mseconds .. pulse width = 2ms
	low 0 		‘ output 0 = 0
	pause 3 		‘ wait 3 mseconds .. space width = 3ms	
	return

T_G:

	high 0 		‘ output 0 = 1
	pause 2 		‘ wait 2 mseconds .. pulse width = 2ms
	low 0 		‘ output 0 = 0
	pause 20 		‘ wait 20 mseconds .. space width = 20ms	
	return

end

IanP
:D
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
Awsome, I'll try it.
Thnx.
 

There is one thing that you have to be aware of, namely if a switch is released there is no action to reset a command, so I think you should select Channel_00 as neutral command and include it into the main loop, something like this:

Code:
main: 

   if pin0 = 0 then Channel_01         ' 
   if pin1 = 0 then Channel_02         ' 
   if pin2 = 0 then Channel_03         ' 
   if pin6 = 0 then Channel_04         ' 

   goto Channel_00

   goto main 

' - - - - - - - - - - - - - - - - -

Now, each time the microcontroller executes the main loop and no switch is closed, the neutral command Channel_00 is issued and the receiver resets all outputs ..
You may also activate a flag that will prevent from sending this command all over again, as this is inside the main loop, after it has been sent once ..

IanP
:D
 

    DrWhoF

    Points: 2
    Helpful Answer Positive Rating
I would like to replace non-available part UAA4000 with a microcontroller to generate Pulse-Position-Modulation.
The circuit is rather complicated and it uses 922 keypad decoder, 4066 switches, some transistors and HC154 – all to control the inputs of the UAA4000.
My plan is to use simple switches (pull-up to Vcc and switch to GND), I need only 10 of them, and to program a microcontroller to generate coded information (PPM) as if it was done by the UAA4000.
Any suggestion?

Hi - You might be interested in knowing I have thousands of UAA4000 in stock, in original packaging. Let me know how many you need, if it gets you out of a tight spot. You can see my listing on eBay at the moment and up for bid or £1 each for small quantities or will do you a deal on large volumes. My ebay seller ID is phil01051957 - or you can email me at shirazuk@hotmail.co.uk kind regards, Phil.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top