Advice on reading 5V signal feedback from motor with 3.1V Arduino

Hello,

I have an application using Portenta H7 Lite to trigger a dual channels 5V relay to drive two 24V solenoids. Triggering is by sending 2 digital signals (Pin 1 and 2) to the relay. These solenoids act as locks and are not powered constantly except when the lock/unlock action is needed. They receive constant powered at most for 7s in case of getting stuck before giving up.

The Arduino also reads feedback from the solenoids with analog pins (A3, A4, A5, A6). The solenoids providing 5V analog signal as feedback, and Portenta H7 analog pins are rated with 3.1V only. The entire circuit worked mostly. But I started to see the Portenta went into some panic mode (flashing onboard RGB LED) and gave up operation entirely during operations of the solenoids. Physically hit the reset button on Arduino brings it back to operation.

It was found that the solenoids sending 3.4V spike analog feedback sometimes. I'm not sure that is the reason causing Arduino distress. But the first fix attempt was to add voltage divider to bring down the voltage. The issue seems to present less, but it is still there. Dividing voltage more did not seem to help either. So I'm not sure where else to look.

I'm not electrical engineer, and I am definitely missing something here.

Appreciate your thought in any potential issue that I can look further into for this problem.

Thanks!

Schematic?

Every helper doesn't know what that is.....
Please read this link and update Your post: How to get the best out of this forum - Using Arduino / Project Guidance - Arduino Forum

It's annoying that lots of replies are needed to make the original question understandable and possible to reply to and solve.

The more ignorant a member is the more words are posted. The world among engineers are not words, novels. It's facts, datasheets, flow charts etc.

If it’s only INPUTS that need conditioning, you may get away with simple voltage dividers converting from 5V0 down to 3V3.

The need for relays to drive solenoids may be a bit clunky (literally), you could well have used MOSFETS to replace the relays.

Hello. Thank you for checking out the post. I just added a rather draw.io sketch schematic to my original post.

First time here. Thanks for the link to the guide.

Hello. You think the relay could cause issue? I just added the some sketch for more details. The reason we use dual relay is because of the need to switch voltage polarities to extend/retract the linear actuator.

H-bridge

It's how small motors go forward and backward without relays.

Could you spend a few minutes to draw a meaningful schematic that doesn’t crossover itself.
I’m honestly getting too old to read that pseudo Fritzing diagram.

Please post a datasheet for those 5 wire solenoids.

Sorry for the crowded drawing. I tried to clean it up and updated.

It’s much better, but -

a) new drawing would be better as a new post, because earlier posts become useless for anyone following…

b) I still have no idea how the project is supposed to work with the new drawing.

I can’t see the inputs, and have no inkling why the solenoids connect back to the Arduino…

Ideally get rid of the cute cut & paste images, and draw/annotate the parts as symbols that show how the ‘signals’ work together from input to output.

What kind of analog signal ? There is only open or closed right ? So in that case i would use opto-couplers to separate them and assure that there are no voltage spikes. Particularly on a device with that sort of price (ouch !)

Also i would add these to the relay module, which is 5v. The 3.3v signal from the portenta should be enough to drive the transistor (it does) but some more isolation may be better. There should be fly-back diodes on that unit, but can you confirm there are ?

Is that on account of so little time left, your eyesight or your patience with noobs?

Ticking all three boxes myself, and if I was being honest, I didn't like that kind of schematic ever. That I can remember. :expressionless:

+1 @timbits post the make and model of the things in there.

I confess I dared to look and see what the green pair of wires and the black pair of wires were hooked to on the microprocessor, that won't make sense without learning more than I want about that board.

Maybe for now a hand drawn schematic, just a step or two up from a block diagram, would shut everyone up for a while give us something we can work with.

I'll look at your, no make that I'll ask you to post the code you are using to test this hardware and circuit.

Please post the code you are using to test this hardware and circuit.

a7

2 Likes

It took a few days. But Arduino Tech Support provided me with some good feedback. Below is their answer. We add a couple capacitors after the voltage dividers to filter out high and low frequency noise from solenoid analog feedback. The circuit definitely performs much better, couldn't totally get rid of the problem but it takes a lot more of solenoid activation for the problem to occur.

in this application it's important to have some buffering between the Portenta H7 pins and the relay. Relays could cause over/under voltage spikes on pins when their current is changed and this could break the processor.

The solenoid output being sent through partition networks could be dangerous too because depending on the circuit there may be some over/under voltage that may damage the chip.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.