Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    How to control 100 solenoids?!

    Scheduled Pinned Locked Moved
    General Discussion
    8
    28
    2.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators
      last edited by

      You would use the SharedSPI library, the same way that SPI temperature sensors do. See function DoSpiTransaction in https://github.com/dc42/RepRapFirmware/blob/dev/src/Heating/Sensors/SpiTemperatureSensor.cpp.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      1 Reply Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @Hardware_SortingRobotics
        last edited by

        @injoi9000 Nice project, good luck with it!
        For deciding good from bad tea, I found some ideas here for tobacco: https://www.tomra.com/en/sorting/food/food-technology maybe helpful ideas. Spectroscopy may be the easiest to start.

        Hardware_SortingRoboticsundefined 1 Reply Last reply Reply Quote 0
        • devleonundefined
          devleon @Hardware_SortingRobotics
          last edited by devleon

          @injoi9000 If you're only controlling a conveyer belt, why not just hook up a simple driver (stepper driver, mosfet or ssr) to the raspberry pi? There's plenty of GPIO. I think the Duet might just add a lot of unneeded complexity, and the raspberry pi should be capable enough to do everything.

          Even if it's for educational purposes, you're going to need to jump through a lot of hoops and make it do something it's not really made to do

          Hardware_SortingRoboticsundefined 1 Reply Last reply Reply Quote 0
          • Hardware_SortingRoboticsundefined
            Hardware_SortingRobotics @devleon
            last edited by

            @devleon Yea I am going to use the gpio for the solenoids. Hmm I just got in these parts:
            https://www.mouser.com/ProductDetail/595-DRV8860APW

            Uhh am I supposed to send these off to a custom pcb house to get soldered to a board? The chip is tiny and the pins are even smaller...
            0_1553559511418_Capture.PNG

            1 Reply Last reply Reply Quote 0
            • Hardware_SortingRoboticsundefined
              Hardware_SortingRobotics @JoergS5
              last edited by Hardware_SortingRobotics

              @joergs5 oh yea definitely. My friend got a quote from there and they said it would be more than $250k!! I am sure I can make a micro version for wayyy cheaper.

              JoergS5undefined 1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User
                last edited by

                You can buy little SMD adapters that you can solder chip and headers to. Given you can use SPI then maybe you could use mcp23s17 + uln2803a which are available in DIP packages if thats important to you.

                Hardware_SortingRoboticsundefined 1 Reply Last reply Reply Quote 0
                • JoergS5undefined
                  JoergS5 @Hardware_SortingRobotics
                  last edited by

                  @injoi9000 to find out good and bad tea, you can send some thousands of images to amazon mechanical turk for classification, then train a neural network (e. g. tensorflow) and use it to separate them. As spectral light sensors, AS7262 and AS7263 chips may be useful.

                  Hardware_SortingRoboticsundefined 1 Reply Last reply Reply Quote 0
                  • Hardware_SortingRoboticsundefined
                    Hardware_SortingRobotics @JoergS5
                    last edited by

                    @joergs5 I don't really know much about neural networks so using tensorflow might be a bit of a stretch at this point 😓 I was planning on just taking a picture, doing spectral analysis on that whole picture, I can pass that matrix through an effective bandpass filter, then calculate the gradients at the points that didn't pass, then figure out the bad leaves' location. Use the speed of the conveyor with some trajectory analysis and then shoot them out of the sky.

                    JoergS5undefined 1 Reply Last reply Reply Quote 0
                    • Hardware_SortingRoboticsundefined
                      Hardware_SortingRobotics @A Former User
                      last edited by

                      @bearer thanks! I am going to pick up a few of these to prototype and then maybe i'll see if I can get some cheap boards from china for the 100 solenoids:

                      https://www.mouser.com/ProductDetail/872-204-0004-01

                      I think I'm going to stick to daisy chaining the DRV8860's because I think I can get my head around that one. Still gotta figure out how to execute the SPI commands. Would you know any good guides using python?

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @Hardware_SortingRobotics
                        last edited by

                        @injoi9000 said in How to control 100 solenoids?!:

                        @bearer thanks! I am going to pick up a few of these to prototype and then maybe i'll see if I can get some cheap boards from china for the 100 solenoids:

                        https://www.mouser.com/ProductDetail/872-204-0004-01

                        Have you seen the price of those? It would be cheaper to design your own PCB and have the PCB made in China. There are several companies that offer low cost prototype PCB manufacture, e.g. Itead and Seed Studio.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        Hardware_SortingRoboticsundefined 1 Reply Last reply Reply Quote 0
                        • JoergS5undefined
                          JoergS5 @Hardware_SortingRobotics
                          last edited by

                          @injoi9000 your workflow to analyze tea is good, and you can put the step neural network between between the step "calculate gradients" and the "figure out location". The neural network is a learning algorithm to differ good from bad: you take same thousand samples where you know the result, then let the neural network find the decision rules. Then you can let your computer decide good from bad. You can differ: tea from not_tea, good_tea from not_good_tea, small_tea(young) from big_tea_leaves.

                          1 Reply Last reply Reply Quote 0
                          • Hardware_SortingRoboticsundefined
                            Hardware_SortingRobotics @dc42
                            last edited by

                            @dc42 So I got one of those overpriced DRV8860 EVM boards so I could learn how to control it over SPI and I think I have come to a bit of an impasse. I can easily control the solenoids over the GUI but then when I take the driver itself and try to control it with a SPI interface from my laptop I can't seem get it to follow my commands...this is the gui interface for the DRV8860 and the interface for the SPI Driver Controller:

                            0_1554446656220_gui.PNG

                            I then hooked everything up with my SPIDriver and tried to send the correct hexcodes to trigger the appropriate outputs but for some reason my MISO and MOSI outputs are being interpreted completely wrong... Any idea on how to command this thing?

                            my setup:
                            0_1554446777987_Capture.PNG

                            1 Reply Last reply Reply Quote 0
                            • Danalundefined
                              Danal
                              last edited by

                              @injoi9000 said in How to control 100 solenoids?!:

                              DRV8860 EVM

                              This board does NOT appear to be set up to allow any external SPI control. The USB connector leads to a USB to Serial chip that, in turn, feeds a Texas Instruments MCU that, in turn drives an interface to the DRV8860 chips themselves. NONE of that is SPI.

                              You'd have to drive this USB, or, tap into the RX and TX lines between the FTxxxx chip and the MCU and drive it at 3.3V TTL serial.

                              Delta / Kossel printer fanatic

                              1 Reply Last reply Reply Quote 0
                              • Hardware_SortingRoboticsundefined
                                Hardware_SortingRobotics
                                last edited by

                                s000o i have decided to make a board and it is going to take a few weeks to arrive from china...

                                In the mean time I want to try and use my duet to control about 15 solenoids. @dc42 Is it possible to use the motor plugs to turn actuate a solenoid???

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @Hardware_SortingRobotics
                                  last edited by

                                  @injoi9000 said in How to control 100 solenoids?!:

                                  In the mean time I want to try and use my duet to control about 15 solenoids. @dc42 Is it possible to use the motor plugs to turn actuate a solenoid???

                                  In principle yes, by connecting the solenoid to one phase output (the pin at one end of the motor connector and the pin next to it). You would have to use G1 commands to adjust the position, to get to full current in that phase (solenoid on) or no current (off). But RRF would keep warning you that the other phase is disconnected.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  Hardware_SortingRoboticsundefined 1 Reply Last reply Reply Quote 0
                                  • Hardware_SortingRoboticsundefined
                                    Hardware_SortingRobotics @dc42
                                    last edited by

                                    @dc42 would it be possible to connect one wire to the heater power and another to a PWM ground? Or would that destroy the heater power? Are there any other options?

                                    arvestundefined 1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      You can connect solenoids to fan outputs if the solenoid voltage and current are compatible (I.e. VIN voltage and 1.5A or less). Duet revisions 1.02 and later include flyback diodes on the fan outputs.

                                      If you connect solenoids to heater outputs, you need to add external flyback diodes. Without them, you are likely to damage the heater MOSFETs.

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      1 Reply Last reply Reply Quote 0
                                      • arvestundefined
                                        arvest @Hardware_SortingRobotics
                                        last edited by

                                        @injoi9000 I know this thread is very old, but I'm trying to do something almost exactly similar (control 88 solenoids). I'm very curious, did you manage to make it all work?

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post
                                        Unless otherwise noted, all forum content is licensed under CC-BY-SA