Go Down

Topic: Using Arduino to control 74HC595 not CD40110BE in cascade using SPI. (Read 2052 times) previous topic - next topic

marathonMAN1

I need and will build a circuit to control an Inductive device at 60 cycles per second which will have 46 taps that will mimic a brush rotating at 3600 RPM.  1 second= 1000 ms divided by 60 RPS = 16.66 ms per revolution which divided by 46 taps = .352 ms = 352 microseconds of on time per tap. what i can not come up with is how to code an Arduino to switch a CD40110BE to pulse up then down at the right time. i channel to pulse up and one channel to pulse down plus ground.

i attached the circuit but didn't figure out how to post it in the post.

Paul__B

i attached the circuit but didn't figure out how to post it in the post.
That's OK.  Easy enough.  :smiley-lol:

marathonMAN1

Thank you much.
what i was thinking is the Arduino even fast enough to trigger the duel inputs  at microseconds of time... i think not, what else can i do?

TomGeorge

Hi,

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html


Can you post the code that you have now please?


Thanks.. Tom.. :)
Everything runs on smoke, let the smoke out, it stops running....

Paul__B

The clock interval of the Arduino is 62.5 nanoseconds.

What do you mean by "fast enough to trigger the duel inputs".

lastchancename

#5
Aug 25, 2019, 11:40 am Last Edit: Aug 25, 2019, 11:40 am by lastchancename
Are you just trying to walk one bit across all the outputs ?
If that's the case, you may find it easier to use shift-registers (like the venerable 74xx595 family.

You create your bit pattern in an array, then pump it out each time you want change the register output bits.
For 'up' counts, that's as easy as ticking one bit at a time, for 'down' counts, either a bidirectional SR, or simply shift the long contents, and push that out to the 595s.
Experienced responders have a nose for laziness, (they were beginners once)... Sure, there are trolls, chest-beaters, and pretenders - but the help you'll get here is about as good as it gets - if you try to help youself!.

marathonMAN1

Mr Tom i did and i am still short on what you mean.

as for the code i haven't attempted because of the confusion on my part. the circuit will drive an IGBT/Transistor driver that is 3.3 and 5 volt tolerant so that is one less problem.

"Are you just trying to walk one bit across all the outputs ?"
yes i am but the channels have to be a make before break scenario. meaning one is fully on before the other shuts off. reason is no current interruption so no back emf.
i never thought about that shift register implementation.  another thing is the ends of the controller has to be on for three times as long then the ones in the middle to get an Inductive roll off in my controller.
sounds confusing but it is not just need the proper switching and coding and  am good to go.
Thank you all for the time and effort.
I think i brain farted on the frequency timing.

lastchancename

With the make-before-break timing, you're good with simple shift registers.

Form your bit pattern:  all_off-1-12-2-23-3-34-4 etc in the shift register, pump it out, then at the moment, pulse  the SR output latch.  Rinse and repeat while the SR outputs are latched in the current state.
Experienced responders have a nose for laziness, (they were beginners once)... Sure, there are trolls, chest-beaters, and pretenders - but the help you'll get here is about as good as it gets - if you try to help youself!.

TomGeorge

Hi,

Can you clarify exactly what we are working on here?

Title;   Using Arduino to Control CD40110BE up down clock.

First line; "I need and will build a circuit to control an Inductive device at 60 cycles per second which will have 46 taps that will mimic a brush rotating at 3600 RPM."

How are they connected?
What is the application?

Tom..... :o
Everything runs on smoke, let the smoke out, it stops running....

marathonMAN1

#9
Sep 02, 2019, 08:32 pm Last Edit: Sep 02, 2019, 08:36 pm by marathonMAN1
i will have taps coming off the inductor 46 of them that are connected to an IGBT and drivers that is connected to the above circuit or a shift register. it must be make before break scenario meaning the next in line is fully up before the last one cuts off. this is to ensure a steady current flow through the Inductor.

on each end of the Inductor i have electromagnets that are varied from high to low 180 degrees out from each other, one rising, one falling at the same time. the electronics is to mimic a brush rotating in a circle that make contact with two contacts at a time which are actual loops of wire around the Inductor that changes the magnetic flux to current ratio on a steady basis.

for the 40110be it will have two inputs to the arduino but for the shift register i need to calculate how many inputs i will have.

lastchancename; got any ideas on a cheap shift register.
i am at a loss when coming up with a program to control the two inputs to the up and down pins on the 49110be.

johnwasser

The CD40110B is NOT a shift register.  It's a decade counter (0-9) with 7-segment display outputs.

http://www.ti.com/lit/ds/symlink/cd40110b.pdf

Unless your "Inductive device" is a 7-segment display you are NOT going to have much luck driving it with a 7-segment driver.  What made you think this counter/driver was suitable for your device?!?


Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

PaulRB

#11
Sep 02, 2019, 09:11 pm Last Edit: Sep 02, 2019, 09:16 pm by PaulRB
I suspect the OP meant to use CD4017 decade counter but got seriously confused at some point.

Quote
it must be make before break scenario
Does CD4017/40110 guarantee that? I don't know...

I too would suggest 6 x 74hc595. Connect these to the SPI pins of the Arduino so they can be updated at high speed (8MHz clock). Then you can guarantee make-before-break by sending the required patterns of bits in your sketch. But will even that be fast enough?

Another option could be a Mega. 46 pins could be updated at high speed using direct port manipulation.

lastchancename

Quote
i am at a loss when coming up with a program to control the two inputs to the up and down pins on the 49110be.
While not complicated (yet), it sounds like you may be better off moving this thread to Gigs & Collaborations, where someone can work with you to develop a solution.

Depending on your expectations, and the helper, it could require payment.
Experienced responders have a nose for laziness, (they were beginners once)... Sure, there are trolls, chest-beaters, and pretenders - but the help you'll get here is about as good as it gets - if you try to help youself!.

johnwasser

The problem with using CD4017 counters is trying to cascade them.  Like the CD40110, each chip represents one digit.  You get one output per chip.  To count off 46  outputs you have to AND the 10 "ones digit" outputs with each of the first five of the "tens digit" outputs.  That's 47 2-input AND gates you need...  and a LOT of wiring.  You could then count from 00 to 46 and reset at 47.

If you want a moving bit, the shift registers (6*8 or 3*16) will eliminate the need for 47 AND gates.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

TomGeorge

i will have taps coming off the inductor 46 of them that are connected to an IGBT and drivers that is connected to the above circuit or a shift register. it must be make before break scenario meaning the next in line is fully up before the last one cuts off. this is to ensure a steady current flow through the Inductor.

on each end of the Inductor i have electromagnets that are varied from high to low 180 degrees out from each other, one rising, one falling at the same time. the electronics is to mimic a brush rotating in a circle that make contact with two contacts at a time which are actual loops of wire around the Inductor that changes the magnetic flux to current ratio on a steady basis.
So 46 taps on EACH inductor.
Each tap has an IGBT on it?
So you will have your inductor connected to a powersupply at the start of its winding and with IGBTs connect each tap in turn with the other end of the powersupply?
What voltage/current and how is your inductor constructed?
How many inductors?
Can you post a basic diagram of how your project will be constructed?
Thanks.. Tom.. :)
Everything runs on smoke, let the smoke out, it stops running....

Go Up