I am having an issue that I can’t get digital actuator blocks to connect to the GPIO module channels. When I set the channel in the actuator “state” always remains null.
Steps to reproduce are:
- Add new block Digital Actuator
- Set the channel to any channel on the OneWire GPIO Module
- UI shows spinning white circle
- Toggling to other state button (off or on) produces the same spinning white circle
If I connect the digital actuator to a mock pin the “state” will be set, but as soon as I try to connect it back to a GPIO module channel the spinning white circle returns and the state goes to null.
I did a complete fresh install of all software and firmware
- Spark 4 - firmware version bd82dd18 2023-07-29
- Brewblox build date 2023-07-27T13:46:12089Z
- Raspberry Pi 4B Rev.1.4 Debian (bookworm) 1:6.1.54-1+rpt2 (2023-10-05) aarch64
I was previously running a single Spark 4 for mashing and fermentation control, but now have recently purchased another to separate these processes. The problem started after I reconfigured all my OneWire temperature sensors and SSD control wires onto the two separate Spark 4s and tried to test the new setup.
The logs are here: https://termbin.com/guhe
I’m starting to think it may be a hardware related issue, but I am at a loss as to why two GPIO modules would have an issue at the same time.
I’d be grateful for any insights into how I can fix this.
I had an issue with one of my GPIO channels with the same exhibited behavior. Digging around on the Digital Actuator block, or the GPIO block - I saw an error in the UI that said something like “over voltage”. I had wired that one channel wrong. Might not be your exact problem - but it might be a good place to start looking. If you have the same problem with two Sparks after your re-wire - it’s probably a wiring related issue.
Thank you for the suggestion MyloFiore.
I have not seen any error messages in the UI at all. But based on your suggestion that it could be wiring, I have now done some more testing to see if wiring could be the issue.
For each Spark 4 + GPIO module:
- removed the external 12VDC power inputs I was using
- removed all OneWire temperature sensors
- removed wiring from all pins going to my SSRs
- powered the Spark 4s using 5V USB
Then in the Brewblox UI:
For each Spark 4 Service
- removed all blocks
- rediscovered blocks = Spark 4 + Display + GPIO
- setup channels 1-4 as SSRs in the GPIO block
- added a Digital Actuator
For each Channel 1-4
- attached it to the Digital Actuator to see the behaviour
Again same result across both Spark 4s + GPIO modules and all channels - spinning white wheel on a blue button - regardless of switching between On and Off.
So I conclude it is not:
- a faulty Temp Sensor upsetting the OneWire bus
- a miss-wired channel to SSR
- the use of a 12VDC external power supply
That leaves either:
- software + firmware (although I think that increasingly unlikely)
- hardware (possibly the GPIO modules)
If it is the GPIO modules, I seriously do not know what has happened, given one of them is brand new and the other one was working previously.
Any ideas or suggestions on some thing else I could try would be warmly welcomed.
What is the measured voltage over the pins when the actuator is switched to on (and spinning)?
If you connect a FastPWM block to the pin instead of a digital actuator, does it display the same behavior?
I pulled out my multimeter and got no voltage over the pins using either the actuator or a FastPWM block, checking each and every channel, multiple times.
I did a close visual inspection of the GPIO boards, but there is nothing I can see that would indicate a problem.
I did a bit more testing and this is what the FastPWM block displays
I then setup the channels to just supply constant power like this
Measuring the voltage across the pins in this setup I see these voltages:
pins 1-2 -1.4V
pins 3-4 -1.5V
pins 5-6 -0.3V
pins 7-8 -1.1V
pins 1-2 -1.2V
pins 3-4 -1.3V
pins 5-6 -0.1V
pins 7-8 -1.1V
So still have not figured out what the root cause is.
Ahhhhh, I see the problem =)
Those 8 green squares represent the physical pins. Right now, all your channels (in the orange area) are unassigned. Click on a channel, and select one of the green slots to assign.
Doh! (ROFL at myself )
Thanks Bob for letting me see what was staring me in the face.
Not surprisingly, by actually assigning channels to the GPIO pins, it is working again!
Classic problem was sitting between the screen and the keyboard!
[Note to future self - if you see a white spinning wheel on a blue button in an Actuator it means you have forgotten to assign the channel to GPIO pins ;]
Thanks for your help!
BTW - I absolutely love the Spark 4 and Brewblox - simply brilliant solution for all my home brewing automation and process control needs (when I remember how to use it properly). Thanks for all the hard work you and Elco do to make such great products for the brewing community.