No announcement yet.

PID'd my Popper

  • Filter
  • Time
  • Show
Clear All
new posts

  • PID'd my Popper

    This weekend I finished* retrofitting an osPID to my $15 target popper (900W). The osPID is an open source (hardware and software) PID controller, based on an "arduino compatible" board. I got mine from RosketScream electronics in Malaysia for $85 and it arrived by fedex in 1 working day!

    I still need to play around with tuning parameters, but I'm pretty happy with the result. Roasted (and tasted) some Yemen Bani Ismail this morning, and some Ethipian Harrar tonight. Below is a screenshot from the interface software for the PID, of the Harrar.

    Notice the temperature never quite makes the final stage setpoint of 220C - this is the popper reaching it's limits in the cool weather (despite being enclosed in a box for heat retention). Planning to mod my 1200W popper next to avoid this issue.

    The spike at the beginning I think is a parameter tuning issue.

    *my projects never finish....
    Attached Files

  • #2

    1: What's the interface between the Arduino & the mains powered heating element?

    2: What have you done to power the fan?

    The spike at the beginning is typical of all heat input systems. There is a lag when starting between applying heat and actually seeing a temperature rise.
    The Coretto with its large internal air volume and lots of metal surfaces is more pronounced. I use a manual system with a printed minute by minute target temperature and a kitchen timer, and pause the timer at the first minute till the bean temperature catches up with the first minute target.

    As an experiment, try pre-warming the popper just a little bit before starting a run.



    • #3
      Very cool, miles ahead of a regular PID Arduino is an awesome platform.

      Does the base sketch allow you to send a string over the USB to set the target temp? Your probably not far off being able to plug it into artisan


      • #4
        commanda - there is a FOTEK 25A Steady State Relay wired into the active wire to the heating element, the fan supply branches off before the SSR, and still operates as before (i.e. in parallel to the heating element). It uses what looks to be a basic DC rectifier circuit (a couple of diodes and a capacitor).

        I haven't noticed any difference with the fan operation since the modification.

        Insomnispresso - the creator of the osPID has written a PID library for the arduino and a front end (see the screenshot) for it in Processing. I was running the PID directly from my PC, because it allows me to monitor it in real time; but you can send a "profile" to the PID via USB, and operate it independently. The profiles are basically a series of ramp/soak setpoints. I'm using a pretty basic profile with only 4 segments, but it seems to support 12 or so natively. A bit of code and I'd say you can have as many as will fit in the microprocessor memory.

        One of the things I'd like to play with is adding a bluetooth module to avoid the need for a USB cable.

        Tasted the Harrar today (just couldn't wait) - a huge improvement on the roasts the popper used to produce. I can't wait to see what a batch left a bit longer, and which is roasted a bit hotter will be like!

        One advantage of the mod is that I should be able to increase the batch size a bit (previously this resulted in roasts which were far too quick).


        • #5

          SSR is a Solid State Relay. Solid state is transistors, as against vacuum tubes.

          Batch size is certainly the Achilles heel of the popper. Once you start producing good freshly roasted coffee, it's amazing how quickly your consumption will outstrip the poppers ability to keep you supplied.
          The limited batch size is also counter-productive to producing complex multi-bean blends.



          • #6
            Cheers... slip of the fingers!
            Assuming something is "steady state" is a bit of an occupational hazard...

            Did another roast today. noticed it wasn't tracking anywhere near as well to the setpoint. I had a play with the proportional parameter, but ended up resorting to using auto-tune.

            Having thought about it some more, I think the location of the thermocouple was the issue - it sits in the bean mass, and this time it was much closer to the slots in the popper - causing the input measurement to oscillate!

            Lesson learned.

            Did manage to get it up to 220C though.Click image for larger version

Name:	Harrar 11-11-12.jpg
Views:	1
Size:	175.4 KB
ID:	733219


            • #7
              I did spot the screenshot, not really designed with coffee roasting in mind. I guess you like it though?

              I was going to do Bluetooth on my Arduino but in the end it still needs 5V power. How will you do thy without the USB cable? In my case (hottop) it wasn't worth usin the internal 5V to get Bluetooth working due to a variety of other reasons..

              Can you drive it using the PID set value in realtime? That's what I had in mind when I mentioned artisan..


              • #8
                It does the job, but I'd like a few extra features. You can manually change the setpoint (in auto mode) or manually adjust the output (as a percentage of the range) in real time.

                Pretty sure the unit can output 5v, the problem with Bluetooth is that the on board tx/rx pins are direct trace to the usb. It would be awesome to control it from my mobile!

                What is artisan?


                • #9
                  Oops, have a squiz at this

                  The other thing you might need to do is rewrite the Arduino sketch to handle the Bluetooth (I think you need to use the Bluetooth library for the pairing process) and as it is open source that shouldn't be too difficult

                  Artisan will let you assign a string to send on button push, so you could set the PID target like that. You'd still need a small plugin to do the temp reading but it wouldn't be a big job!


                  • #10
                    Sounds intriguing. I''ll have to do a little digging.


                    • #11
                      I haven't seen osPID before but I use an Arduino with the TC4 shield to control my air roaster. I have some PID code on it that also interfaces with Artisan. I am helping develop the code as part of the TC4 shield project.

                      To interface with Artisan your code needs to be able to respond to some serial commands from Artisan and send the expected data back.

                      I've also just added Bluetooth module to my controller. It doesn't require any software changes.