Author Topic: Soldering Station Controller - Questions/Feedback  (Read 3193 times)

0 Members and 1 Guest are viewing this topic.

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Soldering Station Controller - Questions/Feedback
« on: September 19, 2016, 06:22:55 pm »
I'm trying to build a controller for an soldering iron tip made by weller http://www.weller-toolsus.com/weller-t0054460199-rt-1-soldering-tip-conical-0-2-mm.html
This has been done before for example: https://github.com/CSchlipp/SolderingStation/blob/master/eagle/solderstation_v1_6.pdf where I took some inspiration.
My circuit is attached as pdf.

Circuit Explanation

  • Heater Element and Thermocouple are integrated into the tip
  • Thermocouple signal gets amplified though the OP Amp
  • Temperature gets set with a potentiometer
  • ATtiny drives heater with PWM (around 50 to 100 Hz) to reach the desired temperature
  • When reading the temperature the heater is turnt off
  • Multiplexed 7 segment display is used to show the current temperature
Questions
  • The ICSP pins from the ATtiny have to be reused: Is a shared pin with a MOSFET-Gate a problem? (added capacitance)
    Or should pin sharing with LED display (current drawn while programming) be prefered?
  • Is a ferrite bead for analog supply required?
  • Should a RC snubbber accross the main switching transitor Q2 be added?
  • Is 10k too large for resistor R6 near transistor Q2?
  • The original circuit uses a two stage RC Filter around the thermocouple amplifier. Is the sharper cutoff required?
  • Should the digital and analog ground be seperated? Where would be the common point?
General feedback is also appreciated.
 

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Re: Soldering Station Controller - Questions/Feedback
« Reply #1 on: September 20, 2016, 06:58:26 pm »
3. Unless you have stringent EMI requirement, otherwise a diode across TEST_1P and GND should be fine.
This diode can be really small, right? It is just the inductance of the cable creating a spike
4. ~60nC charged with ~1mA gives ~60us turn on/off time, leaving some margin let's say it's 100us, which is 1% of your switching cycle. I would say it should work, but I would prefer a PMD2001D driver.
Could a too fast switching time become a problem? This driver would gain me less heat in the MOSFET and save me one resistor.
Edit: Do I need two add a collector resistor to prevent a short circuit while transitioning?
5. No, but it reduces delay time for a given attenuation, which makes your control loop more stable.
In the linked circuit one filter is before and one after the Op-amp. Should I do the same? Or a Sallen-Key-Lowpass? Or both before/after the Op-amp?
6. If you use 4 layer board which has plenty of place for ground plane, then do NOT separate grounds. For 2L boards, maybe.
It will be a two layer board. But it looks like the GND plane will not have many interruptions.

« Last Edit: September 20, 2016, 09:33:04 pm by timsu »
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4099
  • Country: us
Re: Soldering Station Controller - Questions/Feedback
« Reply #2 on: September 20, 2016, 09:11:03 pm »
Why pwm? If temp is 0.5 degrees low, how would the controller know if the iron is in the stand or on a huge heatsink? (When would you ever want to apply less than 100% duty cycle?)

I'm curious how you implement that fancy PID where you never accidentally "gimp" the iron when it really needs the full power.
 

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Re: Soldering Station Controller - Questions/Feedback
« Reply #3 on: September 20, 2016, 09:16:06 pm »
The duty cycle can be limited in software.
Lower duty cycles is used for lower temperatures. A PID Controller is not required, P can be enough.

I built already a prototype. The soldering works fine, heats in less than 10 seconds to 350 °C. But it has no enclosure, fuse and is a wiring mess.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Soldering Station Controller - Questions/Feedback
« Reply #4 on: September 20, 2016, 10:39:57 pm »
I have done this a few times. So so e quick suggestions.

1. Pick a chip with built in gain in the ADC module. You can potentially get away with no opamp.

2. Go simple. No need for led display. No pid, no pwm. . . get the basic logic to work first. You will find limited benefits for pud or pwm, given the systems thermal mass.

3. Use a laptop power supply.
================================
https://dannyelectronics.wordpress.com/
 

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Re: Soldering Station Controller - Questions/Feedback
« Reply #5 on: September 20, 2016, 10:53:36 pm »
I don't think there is an AVR Chip with an integrated gain with the very low required offset. An external amp actually simplifies the layout.
It is already working, a similar circuit is already in use.I think it would be kind of pointless without temperature control/display.
An external 12V DC supply will be used.
 

Offline dom0

  • Super Contributor
  • ***
  • Posts: 1483
  • Country: 00
Re: Soldering Station Controller - Questions/Feedback
« Reply #6 on: September 21, 2016, 05:56:51 pm »
I built already a prototype. The soldering works fine, heats in less than 10 seconds to 350 °C. But it has no enclosure, fuse and is a wiring mess.

That seems rather long to me, considering that it's a tiny tip with a 40 W heater.
,
 

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Re: Soldering Station Controller - Questions/Feedback
« Reply #7 on: September 21, 2016, 08:08:18 pm »
The original Weller Modell heats up in around 4 seconds.
I thin the software that I currently use is not really optimmized, the delay for the RC settle time is really long and the measurment function is called often which results in effectively lower duty cycle.
But in the end it does not really matter if four or ten seconds.
 

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Re: Soldering Station Controller - Questions/Feedback
« Reply #8 on: September 26, 2016, 07:28:01 pm »
So i tried myself on the layout.
You can see the results here:
http://gerblook.org/pcb/MffTknCwJyTpfeqfsnCSQZ#front

I still have some questions. The default settings for GND plane fill leaves quite some space, is this ok? (See Q4, top left corner, currently not connected)

How should the stitching vias be placed? Do I need more than now?

Are thermal vias required for the voltage regulator U2?

Somehow the oval holes don't get rendered right.
« Last Edit: September 26, 2016, 07:29:40 pm by timsu »
 

Offline timsuTopic starter

  • Contributor
  • Posts: 27
  • Country: de
Re: Soldering Station Controller - Questions/Feedback
« Reply #9 on: October 15, 2016, 05:14:12 pm »
So I built up the board now, but I have trouble programming it.
I'm using an Arduino Uno as programmer with a capacitor to disable the auto-reset.
I can programm other devices with this setup fine.

But when programming my board i always get a avrdude verification error.
Code: [Select]
avrdude: Version 6.3, compiled on Sep 12 2016 at 17:24:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATtiny167
         Chip Erase delay              : 1000 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     4    0 no        512    4      0  4000  4500 0xff 0xff
           flash         65    10    64    0 yes     16384  128    128  4500  4500 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9487 (probably t167)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Users\Tim\AppData\Local\Temp\arduino_build_637450/v1.ino.hex"
avrdude: writing flash (1114 bytes):

Writing | ################################################## | 100% 2.07s

avrdude: 1114 bytes of flash written
avrdude: verifying flash memory against C:\Users\Tim\AppData\Local\Temp\arduino_build_637450/v1.ino.hex:
avrdude: load data flash data from input file C:\Users\Tim\AppData\Local\Temp\arduino_build_637450/v1.ino.hex:
avrdude: input file C:\Users\Tim\AppData\Local\Temp\arduino_build_637450/v1.ino.hex contains 1114 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 12.82s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x007b
         0x3d != 0x02
avrdude: verification error; content mismatch

The mismatched byte is always at a different position.
I suspected the solder joints, but they seem fine to me.

Did I fry my ATtiny due to the shared programming pin?
When the programm gets uploaded, the pin gets set as output and driven low or high but still has the shared connection to the programmer, could this cause a problem?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf