<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects in Progress on Lizerd</title><link>https://www.lizerd.se/projects/in-progress/</link><description>Recent content in Projects in Progress on Lizerd</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sat, 28 Nov 2015 00:00:00 +0000</lastBuildDate><atom:link href="https://www.lizerd.se/projects/in-progress/index.xml" rel="self" type="application/rss+xml"/><item><title>Motor Thrust Test Bench</title><link>https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/</link><pubDate>Sat, 28 Nov 2015 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Motor Thrust Test Bench" /&gt;&lt;p&gt;So, what to say. I can&amp;rsquo;t just build and fly quadcopters. As usual I have to create something that makes me gain knowledge or create almost the same solution but based on my idea how it should work.  So I couldn&amp;rsquo;t really help my self when I did not really understand why one ESC-Motor-Propp setup would be better then an almost similar setup. And there is a lot of information &amp;ldquo;as usual&amp;rdquo; on the Internet, but most is based on the writers opinion.
So I figured the best solution is to build a solution that really test all of this together, so I can get hands on real data to analyze :)
So I did a lot of research on similar solutions, but the ones that I did find was not in the same standard or gave the functionality as I was after.
So put together a few PCB boards that holds the functions that I need to test the &amp;ldquo;beta solution&amp;rdquo; before a real solution can be made.
&lt;strong&gt;So the specifications/functions I am going for is.&lt;/strong&gt;
Minimum 1000Hz sampling rate from Voltage/current and load cell (strain gauge) and accelerometer.
RPM will update as fast as possible, and will be based on pulse duration instead of number of pulses/time.
All data is transfered to the computer so analyses can be done afterwards.
Simple ramp , step and oscillation/wobble response analyze.
Efficiency curve, and optimal efficiency range calculations.
And a lot more.&lt;/p&gt;
&lt;h2 id="first-a-overview"&gt;&lt;a href="#first-a-overview" class="header-anchor"&gt;&lt;/a&gt;First a overview
&lt;/h2&gt;&lt;p&gt;I tough that the best way is to create a sensor module that only holds the most basic functionality, and separate the specific functions to a separate module.
So if I decide to redo a module, I don&amp;rsquo;t need to redo the whole solution.  And I can reuse the modules for future tests/solutions.
&lt;a class="link" href="BenchTest-Controller-Structure-Overview2.jpg" &gt;&lt;img alt="BenchTest Controller Structure Overview2" class="gallery-image" data-flex-basis="417px" data-flex-grow="174" height="689" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Overview2.jpg" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Overview2_hu_a877c0a77dce1a54.jpg 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Overview2.jpg 1200w" width="1200"&gt;&lt;/a&gt;
Main module is based on the STM32F4 32bit MCU that has plenty of power, so there will no problem to implement the functions I would need.
&lt;a class="link" href="BenchTest-Controller-Structure-Sensor-Module.jpg" &gt;&lt;img alt="BenchTest Controller Structure Sensor Module" class="gallery-image" data-flex-basis="415px" data-flex-grow="173" height="693" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Sensor-Module.jpg" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Sensor-Module_hu_cf4f189080fb39cc.jpg 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Sensor-Module.jpg 1200w" width="1200"&gt;&lt;/a&gt;
Each Sensor module holds two high-speed SPI buses that will be used for transferring data between sensors and the computer.
I did some calculations at first on the data-rate if I only would have used one processor to do all sensor data collection and transfer to the PC.
The problem with that is the data rate trough the UART/USB bridge is precisely at its limit. So by separate them it will be easier to send at the rate I would like (min 1000 Hz) and still have bandwidth left. And the system will be more modular, so if I wouldn&amp;rsquo;t be a problem to add sensors later on.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="BenchTest-Controller-Structure-Modules.png" &gt;&lt;img alt="BenchTest Controller Structure Modules" class="gallery-image" data-flex-basis="268px" data-flex-grow="111" height="1020" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Modules.png" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Modules_hu_fc34dcec0b00754d.png 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/BenchTest-Controller-Structure-Modules.png 1142w" width="1142"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Each module I have made so far.&lt;/p&gt;
&lt;h2 id="pcb-that-holds-the-modules"&gt;&lt;a href="#pcb-that-holds-the-modules" class="header-anchor"&gt;&lt;/a&gt;PCB that holds the modules
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="F3-F2.png" &gt;&lt;img alt="F3 F2" class="gallery-image" data-flex-basis="237px" data-flex-grow="99" height="767" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/F3-F2.png" width="760"&gt;&lt;/a&gt; &lt;a class="link" href="F4-F2.png" &gt;&lt;img alt="F4 F2" class="gallery-image" data-flex-basis="236px" data-flex-grow="98" height="978" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/F4-F2.png" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/F4-F2_hu_eeeca3bdae63e13f.png 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/F4-F2.png 965w" width="965"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Boards are ordered and are  on the way back.&lt;/p&gt;
&lt;h2 id="pc-software"&gt;&lt;a href="#pc-software" class="header-anchor"&gt;&lt;/a&gt;PC Software
&lt;/h2&gt;&lt;p&gt;As usual I have a lot of different ideas.
Basically each test run will hold data for everything, but it will be done so I can sort by Motor/ESC/battery/propeller/Ncells later and can be compared with all other runs that holds the same criteria as you are interested in.
It will be written in C# and I have a lot code that has already been done with data sampling and graph plotting (see &lt;a class="link" href="https://www.lizerd.se/projects/finished/modular-data-acquisition-system/" title="Raze32 Schematic"
 &gt;Modular Data Acquisition System&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="modules-soldered-update-2015-12-26"&gt;&lt;a href="#modules-soldered-update-2015-12-26" class="header-anchor"&gt;&lt;/a&gt;Modules &lt;strong&gt;soldered&lt;/strong&gt;.     Update 2015-12-26
&lt;/h2&gt;&lt;p&gt;Had some time over to solder togheter a few modules so I could start with some tests.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="Modules1-Large.jpg" &gt;&lt;img alt="Modules1 (Large)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="900" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/Modules1-Large.jpg" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/Modules1-Large_hu_bfc3f637c7de11e3.jpg 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/Modules1-Large.jpg 1200w" width="1200"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="serial-driver-uartusb-update-2016-01-26"&gt;&lt;a href="#serial-driver-uartusb-update-2016-01-26" class="header-anchor"&gt;&lt;/a&gt;Serial Driver (UART/USB).     Update 2016-01-26
&lt;/h2&gt;&lt;p&gt;I am using the FTDI FT230X Serial to USB bridge on my sensor module. And I decided to totally rewrite my serial/FTDI driver with threading in mind. The last serial driver was one of the limits when handling a lot of data.  So the decision to spend a fair amount of time on the serial driver was not hard to make. And it paid of. Right now I do not have any USB/serial bridge that is faster then the 3 Mbaud then the FT230X can handle. I am working on a new board that can handle 12 Mbaud, so I have to wait until I can test the driver in a bit higher speed then right now.
But so far it looks promising.
&lt;strong&gt;Driver Structure&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="FIFO-Structure.png" &gt;&lt;img alt="FIFO Structure" class="gallery-image" data-flex-basis="240px" data-flex-grow="100" height="1000" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/FIFO-Structure.png" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/FIFO-Structure_hu_b98a5ed839fd9cda.png 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/FIFO-Structure.png 1000w" width="1000"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Result with 3Mbaud in FTDI Mode&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="MultiThreading_300KB_V2-Edit.png" &gt;&lt;img alt="MultiThreading_300KB_V2-Edit" class="gallery-image" data-flex-basis="379px" data-flex-grow="158" height="631" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_V2-Edit.png" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_V2-Edit_hu_50b1cb82e5ca350c.png 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_V2-Edit.png 999w" width="999"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It only consumes 0.02% CPU and uses 12 threads when the CPU is running at 760MHz.
29ms per pack gives 34 packs/sec, so in total we get 34000 values/sec (32bit value)
&lt;strong&gt;UART/DMA timing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="MultiThreading_300KB_Logic_V2.png" &gt;&lt;img alt="MultiThreading_300KB_Logic_V2" class="gallery-image" data-flex-basis="562px" data-flex-grow="234" height="504" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_Logic_V2.png" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_Logic_V2_hu_ea319e2218db2d0c.png 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_Logic_V2.png 1181w" width="1181"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It takes 29ms to send one package, each package holds CRC, package ID, address, command, ACK request, and 1000 32bit values (sent value is 0xFFFFFFFF)
And the UART DMA is double buffered so there is no delay between each package on the serial stream&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="MultiThreading_300KB_Logic_V1.png" &gt;&lt;img alt="MultiThreading_300KB_Logic_V1" class="gallery-image" data-flex-basis="574px" data-flex-grow="239" height="495" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_Logic_V1.png" srcset="https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_Logic_V1_hu_5bba48151de1e09a.png 800w, https://www.lizerd.se/projects/in-progress/motorbldc-bench-tester/MultiThreading_300KB_Logic_V1.png 1185w" width="1185"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So it looks really promising, I cant wait until I can test with 12Mbaud .
More to come&lt;/p&gt;</description></item><item><title>Battery Managment System</title><link>https://www.lizerd.se/projects/in-progress/battery-managment-system/</link><pubDate>Mon, 21 Apr 2014 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/battery-managment-system/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Battery Managment System" /&gt;&lt;p&gt;This is an charger upgrade to the KTH Segway (see the other projects). The problem with old one is that it do not handle balancing between the battery cells. And the segway uses three AGM batteries that do not like deep discharge. When the battery get totally drained, the cells will not get the same charge with the previous charger. So the solution is to build a much better suited charger that also handles the power to the other systems in the segway
The project is not done, so I will show what I have done so far.&lt;/p&gt;
&lt;h1 id="boards"&gt;&lt;a href="#boards" class="header-anchor"&gt;&lt;/a&gt;Boards
&lt;/h1&gt;&lt;p&gt;&lt;a class="link" href="ex-front1.jpg" &gt;&lt;img alt="ex-front1" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-front1.jpg" srcset="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-front1_hu_69aaf6bbdd8b4f86.jpg 800w, https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-front1.jpg 1024w" width="1024"&gt;&lt;/a&gt;
Main board holds the charger and three voltage regulators that should supply various functions in the segway.
&lt;a class="link" href="ex-front.jpg" &gt;&lt;img alt="ex-front" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-front.jpg" srcset="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-front_hu_8d48362db2093ff3.jpg 800w, https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-front.jpg 1024w" width="1024"&gt;&lt;/a&gt;
The charger is capable to charge the battery&amp;rsquo;s with Max 250W. And there is a lot of functions crammed into the unit.
&lt;a class="link" href="ex-back.jpg" &gt;&lt;img alt="ex-back" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-back.jpg" srcset="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-back_hu_876ea841f9224c92.jpg 800w, https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-back.jpg 1024w" width="1024"&gt;&lt;/a&gt;
The unit is able to monitor each battery charge current, and voltage to better calculate the battery health and capacity, it also has the capability to connect to external current sensor to monitor motor current.
&lt;a class="link" href="ex-batt.jpg" &gt;&lt;img alt="ex-batt" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-batt.jpg" srcset="https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-batt_hu_2916715020fea42c.jpg 800w, https://www.lizerd.se/projects/in-progress/battery-managment-system/ex-batt.jpg 1024w" width="1024"&gt;&lt;/a&gt;
Each battery has a sensor board that can discharge and redirect current from the charger. This way each battery can be separately charged and monitored. Each sensor board is daisy chained to the main board. So the main board can control as many battery&amp;rsquo;s the charger can handle ( about 46v ).
&lt;a class="link" href="PC1.jpg" &gt;&lt;img alt="PC" class="gallery-image" data-flex-basis="347px" data-flex-grow="144" height="776" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/battery-managment-system/PC1.jpg" srcset="https://www.lizerd.se/projects/in-progress/battery-managment-system/PC1_hu_3820a92cf805e09.jpg 800w, https://www.lizerd.se/projects/in-progress/battery-managment-system/PC1.jpg 1125w" width="1125"&gt;&lt;/a&gt;
All the settings can be made from a PC program. The main board is connected to the PC trough USB and can log data while the PC is not connected. This way you can backtrack the charge/discharge cycle.
I will add more info soon&lt;/p&gt;</description></item><item><title>PCB Batch on the way back :)</title><link>https://www.lizerd.se/projects/in-progress/pcb-batch-on-the-way-back/</link><pubDate>Fri, 30 Nov 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/pcb-batch-on-the-way-back/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post PCB Batch on the way back :)" /&gt;&lt;p&gt;I made a batch of totally 9 board that I have sent to seeedstudio for production.
Mostly the boards are for my PnP project, I was planing on waiting a few more weeks before sending the batch for production.
But i have to create the camera vision SW/HW function in quite a hurry because i took on the vision implementation as a curse project in school. So I desprately needed the light ring for the camera, aka lighthouse.
So this is the main board controller, there will be 2 of those in the PnP machine.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;handles 7 stepper motor drivers, &amp;ldquo;3 digital and 4 normal step/dir&amp;rdquo;&lt;/li&gt;
&lt;li&gt;4x quadrature encoder inputs&lt;/li&gt;
&lt;li&gt;5x analog sensor inputs , mostly for vacuum sensors&lt;/li&gt;
&lt;li&gt;6x digital outputs to control relays and stuff like that&lt;/li&gt;
&lt;li&gt;2x RS424 connections to PC trough the RS424_to_USB board&lt;/li&gt;
&lt;li&gt;1x camera control, lens focus driver&lt;/li&gt;
&lt;li&gt;2x UART connections&lt;/li&gt;
&lt;li&gt;and some other stuff&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="maincontroller_front.png" &gt;&lt;img class="gallery-image" data-flex-basis="241px" data-flex-grow="100" data-title-escaped="maincontroller_front" height="849" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/pcb-batch-on-the-way-back/maincontroller_front.png" srcset="https://www.lizerd.se/projects/in-progress/pcb-batch-on-the-way-back/maincontroller_front_hu_b37da670615a0f0f.png 800w, https://www.lizerd.se/projects/in-progress/pcb-batch-on-the-way-back/maincontroller_front.png 855w" title="maincontroller_front" width="855"&gt;&lt;/a&gt;
The other boards to the PnP project&lt;/p&gt;</description></item><item><title>P&amp;P Update: Vision test app</title><link>https://www.lizerd.se/projects/in-progress/pp-update-vision-test-app/</link><pubDate>Sat, 13 Oct 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/pp-update-vision-test-app/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post P&amp;P Update: Vision test app" /&gt;&lt;p&gt;I already know that I am going to use some sort of a vision based alignment functions to be able to place component based on captured image.
The first approach is to find any solution that enables camera integration and vision based functions, so I can build my own shape detectors and alignment routines.
Tested many different solutions until i found EmguCV which is a C# wrapper to OpenCV which is a very capable vision platform.
So I did a small app to see if i could do a component pad search function.
And this is the result.
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/ciSslQmfXqU" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&amp;ldquo;I really have to switch to English in my videos, Sorry :) &amp;quot;&lt;/p&gt;</description></item><item><title>Solder Station v2 Board is up and running</title><link>https://www.lizerd.se/projects/in-progress/solder-station-v2-board-is-up-and-running/</link><pubDate>Wed, 29 Aug 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/solder-station-v2-board-is-up-and-running/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Solder Station v2 Board is up and running" /&gt;&lt;p&gt;So this is one of the milestones in a project, when the board is up and running and seams to be working as expected.
I am happy !!
But there is still a lot of functions that I have not yet tested, so there is still some time before i can be 100% sure everything is fine and dandy :)
The screen layout is just a &amp;ldquo;test&amp;rdquo; to see how it can look like.
.
&lt;a class="link" href="assam2-e1346270062732.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="assam2" height="478" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-board-is-up-and-running/assam2-e1346270062732.jpg" title="assam2" width="800"&gt;&lt;/a&gt;
&lt;a class="link" href="assam1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="assam1" height="478" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-board-is-up-and-running/assam1-e1346270111304.jpg" title="assam1" width="800"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Solder Station v2 update</title><link>https://www.lizerd.se/projects/in-progress/weller-solderstation-update/</link><pubDate>Tue, 28 Aug 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/weller-solderstation-update/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Solder Station v2 update" /&gt;&lt;p&gt;Finally I manage to have some time over so I could solder my new solder station pcb boards. There is still a lot to be done before i getthis one up and running as planned , but still this is progress!!
The housing is still under construction, i have finished all cad and cam files.
But there is still a few hours in the workshop left until the housing iscompleted.
&lt;a class="link" href="board1s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="board1s" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/weller-solderstation-update/board1s.jpg" srcset="https://www.lizerd.se/projects/in-progress/weller-solderstation-update/board1s_hu_cd143a8be23687f7.jpg 800w, https://www.lizerd.se/projects/in-progress/weller-solderstation-update/board1s.jpg 1200w" title="board1s" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="board2s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="board2s" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/weller-solderstation-update/board2s.jpg" srcset="https://www.lizerd.se/projects/in-progress/weller-solderstation-update/board2s_hu_b415fed49114be3a.jpg 800w, https://www.lizerd.se/projects/in-progress/weller-solderstation-update/board2s.jpg 1200w" title="board2s" width="1200"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DIY Pick and Place</title><link>https://www.lizerd.se/projects/in-progress/diy-pick-and-place/</link><pubDate>Mon, 27 Aug 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/diy-pick-and-place/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post DIY Pick and Place" /&gt;&lt;p&gt;The idea have been stuck in my head for some time now, to make my own pick and place machine that should be able to assemble PCB boards.
I want to do this project for its complexity which means a great challenge, and I like that. A pick and place has many interesting systems that has to work together with high precision and timing, if the machine should be able to place components at high speed.
Some of the systems I have to develop:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mechanical structure&lt;/strong&gt; that can withstand heavy forces from the gantry while it&amp;rsquo;s traveling in X and Y at high speeds without vibrating or or being close to resonance frequencies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vision system&lt;/strong&gt; that can read components, PCB markings, and much more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Motor control&lt;/strong&gt;, the system has around 6 axes and 4 more axis for feeder gentries, all of whom should be synced and running at high speeds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Large C# program&lt;/strong&gt; that can handle all the functionality I have planed for the machine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Laser alignment&lt;/strong&gt; of components. The laser unit is placed on the pick-and-place head so I can read each of the three components the head has picked up while it is moving the components to the PCB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Component feeder&lt;/strong&gt;Solving one of the problem almost every PCB pick and place machine has (except high-end machines)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vacuum and pressure&lt;/strong&gt; systems. I have never worked with ether one of them so this will be interesting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;And a lot more of goodies &amp;hellip;&lt;/strong&gt;
I know this project will take some time, but that&amp;rsquo;s fine by me :)
&lt;a class="link" href="pap1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="395px" data-flex-grow="164" data-title-escaped="pap1" height="364" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/pap1.jpg" title="pap1" width="600"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="updates"&gt;&lt;a href="#updates" class="header-anchor"&gt;&lt;/a&gt;Updates
&lt;/h1&gt;&lt;p&gt;A bit more done in CAD  2014
&lt;a class="link" href="FrontPic.jpg" &gt;&lt;img alt="FrontPic" class="gallery-image" data-flex-basis="505px" data-flex-grow="210" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/FrontPic.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/FrontPic_hu_eb439d12b62c0bd.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/FrontPic.jpg 1200w" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="BoardElectronics_V001.jpg" &gt;&lt;img alt="BoardElectronics_V001" class="gallery-image" data-flex-basis="505px" data-flex-grow="210" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/BoardElectronics_V001.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/BoardElectronics_V001_hu_e79c0bb518fb1ddf.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/BoardElectronics_V001.jpg 1200w" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="BoardFeeder_V002.jpg" &gt;&lt;img alt="BoardFeeder_V002" class="gallery-image" data-flex-basis="505px" data-flex-grow="210" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/BoardFeeder_V002.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/BoardFeeder_V002_hu_65ba7f39dce4521f.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/BoardFeeder_V002.jpg 1200w" width="1200"&gt;&lt;/a&gt;
Working on the motor controller algorithms and path simulator 2013-12-10
&lt;a class="link" href="3Dsim_v1.jpg" &gt;&lt;img alt="3Dsim_v1" class="gallery-image" data-flex-basis="341px" data-flex-grow="142" height="734" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/3Dsim_v1.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/3Dsim_v1_hu_433e4775f73ad26.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/3Dsim_v1.jpg 1043w" width="1043"&gt;&lt;/a&gt;
&lt;a class="link" href="almost.jpg" &gt;&lt;img alt="almost" class="gallery-image" data-flex-basis="328px" data-flex-grow="136" height="754" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/almost.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/almost_hu_e555f909e915295f.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/almost.jpg 1032w" width="1032"&gt;&lt;/a&gt;
I still have some problem with the motor jerk. I want active jerk tracking, and it is not easy. If I did go with position points A and B to travel between, it would be easy. But I like to be able to change point B on the fly.
A new improved version off the main board and motor module 2013-12-01
Main board
&lt;a class="link" href="mb1-Medium.jpg" &gt;&lt;img alt="mb1 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/mb1-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/mb1-Medium_hu_1b94ffff62398b99.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/mb1-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt;
Motor Controller Module
&lt;a class="link" href="p1-Medium.jpg" &gt;&lt;img alt="p1 (Medium)" class="gallery-image" data-flex-basis="362px" data-flex-grow="151" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/p1-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/p1-Medium_hu_3e565b315e085954.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/p1-Medium.jpg 1160w" width="1160"&gt;&lt;/a&gt;
The Motor Controller Module is based on 3 boards, each utilizing a 4 layer PCB
Interface Board
&lt;a class="link" href="l1-Medium.jpg" &gt;&lt;img alt="l1 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l1-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l1-Medium_hu_6e7fc2ec1f0305e6.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l1-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt; &lt;a class="link" href="l2-Medium.jpg" &gt;&lt;img alt="l2 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l2-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l2-Medium_hu_25fa382e155fcfa5.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l2-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt;
Controller Board
&lt;a class="link" href="l3-Medium.jpg" &gt;&lt;img alt="l3 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l3-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l3-Medium_hu_32c54dcc8c81ce4e.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l3-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt; &lt;a class="link" href="l4-Medium.jpg" &gt;&lt;img alt="l4 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l4-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l4-Medium_hu_4e1237abf5378897.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l4-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt;
Motor Driver
&lt;a class="link" href="l5-Medium.jpg" &gt;&lt;img alt="l5 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l5-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l5-Medium_hu_41da09f614cad406.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l5-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt; &lt;a class="link" href="l6-Medium.jpg" &gt;&lt;img alt="l6 (Medium)" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l6-Medium.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l6-Medium_hu_372008e47b895180.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/l6-Medium.jpg 1024w" width="1024"&gt;&lt;/a&gt;
The modules will be placed like this on the back of the head on the pick and place machine.
I have hidden a few PCB&amp;rsquo;s so it is easier to see board placement.
&lt;a class="link" href="ElectroBox_V1_Back.jpg" &gt;&lt;img alt="ElectroBox_V1_Back" class="gallery-image" data-flex-basis="456px" data-flex-grow="190" height="631" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/ElectroBox_V1_Back.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/ElectroBox_V1_Back_hu_40c3d3dcf3ceac35.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/ElectroBox_V1_Back.jpg 1200w" width="1200"&gt;&lt;/a&gt;
Started code development for the Motor Controller Module 2013-11-30
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/iEv8LqRMLCk" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

Enjoying myself with some CAD, wine and cheese :)  2013-11-25
&lt;a class="link" href="work.jpg" &gt;&lt;img alt="work" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/work.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/work_hu_ca879dbabe6483f0.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/work.jpg 1024w" width="1024"&gt;&lt;/a&gt;
Main Board result.
&lt;a class="link" href="MainboardRAW.jpg" &gt;&lt;img alt="MainboardRAW" class="gallery-image" data-flex-basis="235px" data-flex-grow="98" height="841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/MainboardRAW.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/MainboardRAW_hu_d40352f2b6a58323.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/MainboardRAW.jpg 826w" width="826"&gt;&lt;/a&gt;
A new structure for version 2 electronics   2013-11-20
&lt;a class="link" href="s0.jpg" &gt;&lt;img alt="s0" class="gallery-image" data-flex-basis="394px" data-flex-grow="164" height="730" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/s0.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/s0_hu_bf26ac9704aac625.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/s0.jpg 1200w" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="s1.jpg" &gt;&lt;img alt="s1" class="gallery-image" data-flex-basis="439px" data-flex-grow="183" height="655" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/s1.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/s1_hu_11a402f796afb92d.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/s1.jpg 1200w" width="1200"&gt;&lt;/a&gt;
Improved Motor controller   2013-11-01
&lt;a class="link" href="1axis.jpg" &gt;&lt;img alt="1axis" class="gallery-image" data-flex-basis="164px" data-flex-grow="68" height="875" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/1axis.jpg" width="600"&gt;&lt;/a&gt;
I needed much higher step speed to the hybrid stepper motors, With this solution I can manage MHz if the driver and motor can handle it. It also supports closed loop control with encoders. I can fit two of this in one STM32F4
Few parts done 2013-10-01
&lt;a class="link" href="base1.jpg" &gt;&lt;img alt="base1" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="450" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/base1.jpg" width="600"&gt;&lt;/a&gt; &lt;a class="link" href="frasBig.jpg" &gt;&lt;img alt="frasBig" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="900" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/frasBig.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/frasBig_hu_ee2f65e4845657ae.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/frasBig.jpg 1200w" width="1200"&gt;&lt;/a&gt; &lt;a class="link" href="frontbig.jpg" &gt;&lt;img alt="frontbig" class="gallery-image" data-flex-basis="320px" data-flex-grow="133" height="900" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/frontbig.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/frontbig_hu_f7dac408a64796bb.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/frontbig.jpg 1200w" width="1200"&gt;&lt;/a&gt;
Metal for structure parts has been bought 2013-01-25
&lt;a class="link" href="Metal_parts.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="143px" data-flex-grow="59" data-title-escaped="Metal_parts" height="1283" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Metal_parts.jpg" title="Metal_parts" width="768"&gt;&lt;/a&gt;
The first Mainboard has been soldered  2013-01-3
&lt;a class="link" href="control_front.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="control_front" height="478" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/control_front-e1361539674619.jpg" title="control_front" width="800"&gt;&lt;/a&gt;
There will be two of those in the PnP machine.
The first batch of PCB boards is on the way back from seeedstudio with DHL  2012-11-30
I made a batch of totally nine boards that I have sent to seeedstudio for production.
Mostly the boards are for my PnP project. I was planning on waiting a few more weeks before sending the batch to production,
but I have to create the camera vision SW/HW function in quite a hurry because i took on the vision implementation as a curse project in school. So I desperately needed the light ring for the camera, aka lighthouse.
This is the main board controller. There will be two of those in the PnP machine.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;handles 7 stepper motor drivers, &amp;ldquo;3 digital and 4 normal step/dir&amp;rdquo;&lt;/li&gt;
&lt;li&gt;7x end sensor inputs &amp;ldquo;hall sensors&amp;rdquo;&lt;/li&gt;
&lt;li&gt;4x quadrature encoder inputs, enables up to 4 closed controlled motor loops.&lt;/li&gt;
&lt;li&gt;5x analog sensor inputs , mostly for vacuum sensors&lt;/li&gt;
&lt;li&gt;6x digital outputs to control relays and stuff like that&lt;/li&gt;
&lt;li&gt;2x RS422 connections to PC trough the RS422_to_USB board&lt;/li&gt;
&lt;li&gt;1x camera control, lens focus driver&lt;/li&gt;
&lt;li&gt;2x UART connections&lt;/li&gt;
&lt;li&gt;and some other stuff&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="maincontroller_front.png" &gt;&lt;img class="gallery-image" data-flex-basis="241px" data-flex-grow="100" data-title-escaped="maincontroller_front" height="849" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/maincontroller_front.png" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/maincontroller_front_hu_b37da670615a0f0f.png 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/maincontroller_front.png 855w" title="maincontroller_front" width="855"&gt;&lt;/a&gt;
The other boards for the PnP project, in order
Main Controller
Laser Alignment
Lighthouse Controller
Lighthouse Brick
Stepper Drivers
Mix of Boards
USB&amp;lt;&amp;ndash;&amp;gt;RS424 Switch Board
New Cad ideas. This is probably the solution I will use 2012-12-27
&lt;a class="link" href="demo2front.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="505px" data-flex-grow="210" data-title-escaped="demo2front" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2front.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2front_hu_78f1fbc5f792287a.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2front.jpg 1200w" title="demo2front" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="demo2back.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="505px" data-flex-grow="210" data-title-escaped="demo2back" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2back.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2back_hu_d42200209e05321a.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2back.jpg 1200w" title="demo2back" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="demo2zoom.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="505px" data-flex-grow="210" data-title-escaped="demo2zoom" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2zoom.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2zoom_hu_d71903b82e7f0615.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/demo2zoom.jpg 1200w" title="demo2zoom" width="1200"&gt;&lt;/a&gt;
All the linear guides have been bought,    2012-12-20                
&lt;a class="link" href="part1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="part1" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/part1.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/part1_hu_e52db405557049db.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/part1.jpg 1200w" title="part1" width="1200"&gt;&lt;/a&gt;
The 7mm linear guide is sooo tiny :)
&lt;a class="link" href="part2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="part2" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/part2.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/part2_hu_ead071b806b21cff.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/part2.jpg 1200w" title="part2" width="1200"&gt;&lt;/a&gt;
Machine Vision update,    2012-12-15                
&lt;a class="link" href="papvision1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="471px" data-flex-grow="196" data-title-escaped="papvision1" height="611" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/papvision1.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/papvision1_hu_bdd2fb59945d06ff.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/papvision1.jpg 1200w" title="papvision1" width="1200"&gt;&lt;/a&gt;
The images in the bottom list shows each picture/vision function.
The system finds the component pads and marks them with a green box, seen in the big picture in the middle.
Camera vision test light unit, AKA Lighthouse ,    2012-12-12                
&lt;a class="link" href="8.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="8" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/8.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/8_hu_3f564ea8f6b8b0e9.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/8.jpg 1200w" title="8" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="9.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="143px" data-flex-grow="59" data-title-escaped="9" height="1283" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/9.jpg" title="9" width="768"&gt;&lt;/a&gt;
Small demo video
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/JZCRTlKdZ4k" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

Machine Cad update,    2012-10-20                
&lt;a class="link" href="bom_v1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="505px" data-flex-grow="210" data-title-escaped="bom_v1" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_hu_4be954179691c418.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1.jpg 1200w" title="bom_v1" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="bom_v1_back.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="505px" data-flex-grow="210" data-title-escaped="bom_v1_back" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_back.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_back_hu_758e48936d43d28b.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_back.jpg 1200w" title="bom_v1_back" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="bom_v1_upclose.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="426px" data-flex-grow="177" data-title-escaped="bom_v1_upclose" height="675" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_upclose.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_upclose_hu_87f2b4b73115cc59.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/bom_v1_upclose.jpg 1200w" title="bom_v1_upclose" width="1200"&gt;&lt;/a&gt;
So far this is just a crude cad idea, it is easier to make the drawing simple until you find the structure you feel will work.
Machine Vision update,    2012-10-13                
&lt;a class="link" href="vision2_selected.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="428px" data-flex-grow="178" data-title-escaped="vision2_selected" height="672" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/vision2_selected.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/vision2_selected_hu_d451677f9abe12d9.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/vision2_selected.jpg 1200w" title="vision2_selected" width="1200"&gt;&lt;/a&gt;
I finally found a good webcam capture driver.
Now it&amp;rsquo;s time to sketch the vision system sw structure and make a vision driver for my controller sw package.
Z axis ideas,    2012-08-30                
&lt;a class="link" href="Z_axis_V4_p3.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="178px" data-flex-grow="74" data-title-escaped="Z_axis_V4_p3" height="700" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Z_axis_V4_p3.jpg" title="Z_axis_V4_p3" width="520"&gt;&lt;/a&gt;
This was just a test cad. That&amp;rsquo;s how I work.
I make a lot of different versions of a solution to find out strengths and weaknesses. Finally I select the best ideas and create the final solution.
New Parts,    2012-06-25                
&lt;a class="link" href="MotorStorlek_s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="MotorStorlek_s" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/MotorStorlek_s.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/MotorStorlek_s_hu_9f59d976f8f2f35f.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/MotorStorlek_s.jpg 1200w" title="MotorStorlek_s" width="1200"&gt;&lt;/a&gt;&lt;a class="link" href="rem2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="rem2" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/rem2.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/rem2_hu_566fc783e1639a9c.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/rem2.jpg 1200w" title="rem2" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="rem1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="143px" data-flex-grow="59" data-title-escaped="rem1" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/rem1.jpg" title="rem1" width="460"&gt;&lt;/a&gt;&lt;a class="link" href="kugg.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="143px" data-flex-grow="59" data-title-escaped="kugg" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/kugg.jpg" title="kugg" width="460"&gt;&lt;/a&gt;&lt;a class="link" href="Delar1s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="143px" data-flex-grow="59" data-title-escaped="Delar1s" height="768" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Delar1s.jpg" title="Delar1s" width="460"&gt;&lt;/a&gt;
First approach,    2012-05-23                
The first approach is to try to create a laser alignment function for the head.
I did a simple setup to see if the filter I have will work to minimize the diffraction effect
&lt;a class="link" href="IMAG0643.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="143px" data-flex-grow="59" data-title-escaped="IMAG0643" height="2004" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/IMAG0643.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/IMAG0643_hu_b4c0cee1675941c5.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/IMAG0643.jpg 1200w" title="IMAG0643" width="1200"&gt;&lt;/a&gt;This is to see if  could remove the diffraction pattern a light generates when it hits a corner.
This is because the laser light is unpolarized and by using a polarize filter I can make it polarized in the vertical direction.
This minimizes the diffraction pattern.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="220px-Diffraction_150_slits.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="613px" data-flex-grow="255" data-title-escaped="220px-Diffraction_150_slits" height="86" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/220px-Diffraction_150_slits.jpg" title="220px-Diffraction_150_slits" width="220"&gt;&lt;/a&gt;Diffraction pattern &amp;ldquo;from wikipedia&amp;rdquo;&lt;/p&gt;
&lt;p&gt;When I confirmed that this could work I made a jig to hold the laser and the CCD sensor
&lt;a class="link" href="Laser1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="313px" data-flex-grow="130" data-title-escaped="Laser1" height="460" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser1.jpg" title="Laser1" width="600"&gt;&lt;/a&gt;
After a few hours in the workshop
&lt;a class="link" href="Laser3.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="Laser3" height="359" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser3.jpg" title="Laser3" width="600"&gt;&lt;/a&gt;
The stepper motors come from some DVD writers I had lying around.
The assembly equipped with CCD sensor and laser
&lt;a class="link" href="Laser8B.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="Laser8B" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser8B.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser8B_hu_e8a7644b140c7285.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser8B.jpg 1200w" title="Laser8B" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="Laser9.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="Laser9" height="359" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser9.jpg" title="Laser9" width="600"&gt;&lt;/a&gt;
The CCD sensor I used for this test is iC-LF1401 that holds 128 active photo pixels with 63.5 μm pitch (400 DPI).
I would prefer to find a sensor that has more pixels and also is much wider than this one, but it will work fine for initial testing.
I connected the motors and sensors to my test board that holds a STM32 MCU and 3 allegro stepper drives.
&lt;a class="link" href="Laser7B.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="Laser7B" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser7B.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser7B_hu_8ac75825bedcc24f.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser7B.jpg 1200w" title="Laser7B" width="1200"&gt;&lt;/a&gt;
This wont work without some controlling software.
&lt;a class="link" href="Laser6.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="407px" data-flex-grow="169" data-title-escaped="Laser6" height="657" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser6.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser6_hu_9a5ae02377986388.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser6.jpg 1116w" title="Laser6" width="1116"&gt;&lt;/a&gt;
From the software I can control the motors and the sensor. &amp;ldquo;Image showing the laser almost centered on sensor&amp;rdquo;
In the horizontal direction holds pixels on the sensor, and in the vertical direction holds each pixels intensity.
&lt;a class="link" href="Laser_Diffrential_Error2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="407px" data-flex-grow="169" data-title-escaped="Laser_Diffrential_Error2" height="657" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser_Diffrential_Error2.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser_Diffrential_Error2_hu_519af13716f7c64e.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/Laser_Diffrential_Error2.jpg 1116w" title="Laser_Diffrential_Error2" width="1116"&gt;&lt;/a&gt;
This shows the sensor readout with the laser turned off, to my disappointment there was to much noise in the the readout.
This means that I have to use a more powerful laser than i used in this test (5mW) so i can shorten the sensor integration time (shorter shutter time)
&lt;a class="link" href="SensorStill2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="407px" data-flex-grow="169" data-title-escaped="SensorStill2" height="657" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/SensorStill2.jpg" srcset="https://www.lizerd.se/projects/in-progress/diy-pick-and-place/SensorStill2_hu_dc4f727bb498b19e.jpg 800w, https://www.lizerd.se/projects/in-progress/diy-pick-and-place/SensorStill2.jpg 1116w" title="SensorStill2" width="1116"&gt;&lt;/a&gt;
I changed the way I display data, and it became clearer how to read the displayed data.
The highest points dv/dt = 0 is the corners, and the low points between is the center on the sides of the component.
To speed up the reading I can sample fewer points and interpolate data points between to estimated points that marks the component rotation and placement.
few videos on the laser alignment test module
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/CspKJsIMG" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

Parallel light source
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/BrurH7smw48" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;/p&gt;</description></item><item><title>Real Time Logging SW</title><link>https://www.lizerd.se/projects/in-progress/137-2/</link><pubDate>Sun, 26 Aug 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/137-2/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Real Time Logging SW" /&gt;&lt;h1 id="real-time-logging-software"&gt;&lt;a href="#real-time-logging-software" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;Real Time Logging Software&lt;/strong&gt;
&lt;/h1&gt;&lt;p&gt;The main purpose of this software is to sample multiple signals and display its data in real time
And simplify troubleshooting of various systems.
It is based on FTDI and RS232 protocols. And its written in C#, I needed this type of software when I started experimenting with digital / analogue control system. Which could give me visual information in real time.
&lt;a class="link" href="image1.jpeg" &gt;&lt;img alt="image1 (Custom).jpeg" class="gallery-image" data-flex-basis="384px" data-flex-grow="160" height="375" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image1-Custom.jpeg" width="600"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RS232 and FTDI USB chip protocols are supported. direct access to the FTDI drivers for increased speed.&lt;/li&gt;
&lt;li&gt;Maximum 8 channels simultaneously.&lt;/li&gt;
&lt;li&gt;Multiple windows can simultaneously display all or selected channels with separate settings for time and amplitude.&lt;/li&gt;
&lt;li&gt;Export data to Matlab and Excel.&lt;/li&gt;
&lt;li&gt;Up to 5000 samples per second has been tested.&lt;/li&gt;
&lt;li&gt;Save as image.&lt;/li&gt;
&lt;li&gt;Move, Zoom, Draw, Read the values in the chart.&lt;/li&gt;
&lt;li&gt;Several settings for each channel.&lt;/li&gt;
&lt;li&gt;3 ways to set the packet data timing. &amp;ldquo;Signal Timing&lt;/li&gt;
&lt;li&gt;Profile settings.&lt;/li&gt;
&lt;li&gt;Several windows with simultaneous update.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="Multi.jpg" &gt;&lt;img alt="Multi (Custom).jpg" class="gallery-image" data-flex-basis="398px" data-flex-grow="166" height="361" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/Multi-Custom.jpg" width="600"&gt;&lt;/a&gt;
Input selection and settings for each window, all windows can use a separate profile.
&lt;a class="link" href="InputSelect.jpg" &gt;&lt;img alt="InputSelect (Custom).jpg" class="gallery-image" data-flex-basis="183px" data-flex-grow="76" height="786" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/InputSelect-Custom.jpg" width="600"&gt;&lt;/a&gt;
Curve smooth function. &amp;ldquo;signal 1 and 2 is NOT from the same source, only same sample time !!&amp;rdquo;
&lt;a class="link" href="image8.jpeg" &gt;&lt;img alt="image8 (Custom).jpeg" class="gallery-image" data-flex-basis="491px" data-flex-grow="204" height="293" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image8-Custom.jpeg" width="600"&gt;&lt;/a&gt;
Easily switch between profiles.
[&lt;img alt="image16 (Custom).jpeg" class="gallery-image" data-flex-basis="606px" data-flex-grow="252" height="97" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image16-Custom.jpeg" width="245"&gt;](/images/wysiwyg/Portfolio2/Real-Time Logg SW/image16.jpeg)
Data flow information.
&lt;a class="link" href="image4.jpeg" &gt;&lt;img alt="image4 (Custom).jpeg" class="gallery-image" data-flex-basis="3348px" data-flex-grow="1395" height="43" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image4-Custom.jpeg" width="600"&gt;&lt;/a&gt;
The first value &amp;ldquo;249 updates / s&amp;rdquo; is the number of data packets arriving per second. Other &amp;ldquo;9992 bps&amp;rdquo; is the received bit rate. Third &amp;ldquo;2.82 ms&amp;rdquo; is the average time between each data packet. Last &amp;ldquo;9.024&amp;rdquo; is the time buffer has logged data in seconds. The duration of the program can store and display data before the buffer is full and needs to throw the data away to make room for the new.
There are three timing modes to capture the received signal. There are some issues to consider when data is not sent with timestamps, Information on the timing signal is sampled in the source unit.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is three available approaches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image9.jpeg" class="gallery-image" data-flex-basis="740px" data-flex-grow="308" height="92" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image9.jpeg" width="284"&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;By having a set time to plot the latest data provide information, whether it received new or not. If the data update rate is very low, or that you never know when the next data will arrive. But it is a very inefficient way to sample incoming data. This is called the Timer mode.&lt;/li&gt;
&lt;li&gt;The timestamps are based on the averaging time between each incoming data packet. program make an average over 2 seconds, the filter is a FIFO based moving filter. If the data is fast and continuous, this works well. This is called the RX timing mode.&lt;/li&gt;
&lt;li&gt;By knowing how long it is between each sampled in the source unit, the time stamp data can be added manually in the program. This provides the highest accuracy. This is called Constant mode.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image12 (Custom).jpeg" class="gallery-image" data-flex-basis="472px" data-flex-grow="196" height="305" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image12-Custom.jpeg" width="600"&gt;
Each circle in this image is every time a new data was captured, and each point has a value and a timestamp putting points in the right place in the graph.
Using the mouse, you can drag the image around in the graph area. And zooming with scroll wheel.
&lt;img alt="image17 (Custom).jpeg" class="gallery-image" data-flex-basis="384px" data-flex-grow="160" height="375" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image17-Custom.jpeg" width="600"&gt;
Hold the left mouse button and you can select an area to zoom in
&lt;img alt="image18 (Custom).jpeg" class="gallery-image" data-flex-basis="385px" data-flex-grow="160" height="374" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/137-2/image18-Custom.jpeg" width="600"&gt;
Here is a video of an older demo.
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/bYw9zByrNi0" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/POJ5wNG0mow" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;/p&gt;</description></item><item><title>Solder Station V2 Board delivered</title><link>https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/</link><pubDate>Tue, 17 Jul 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Solder Station V2 Board delivered" /&gt;&lt;p&gt;Finally the board has arrived, usually seeedstudio makes the board within a few days, this time is was more then a week before the boards was in production and the shipment was delayed.
The fact that I ordered red board which is less used then the standard green one, may be the reason for the production delay.
.
&lt;a class="link" href="board1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="board1" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/board1.jpg" srcset="https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/board1_hu_1a5e55a58d578ace.jpg 800w, https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/board1.jpg 1200w" title="board1" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="board2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="board2" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/board2.jpg" srcset="https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/board2_hu_d302d5945ab01356.jpg 800w, https://www.lizerd.se/projects/in-progress/solder-station-v2-board-delivered/board2.jpg 1200w" title="board2" width="1200"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Soldering Station V2</title><link>https://www.lizerd.se/projects/in-progress/soldering-station-v2/</link><pubDate>Tue, 17 Jul 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/soldering-station-v2/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Soldering Station V2" /&gt;&lt;p&gt;I had an idea for a new Soldering Station , or rather wanted to ditched my old homemade soldering station when I got my hands on the new or “newer” type of soldering pen.
Function list for the version 2 solder station.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TFT LCD with touch functionality.&lt;/li&gt;
&lt;li&gt;2 solder pen connections, both can be used at the same time.&lt;/li&gt;
&lt;li&gt;support older pens like my favorite 80Watt WSP pen, and my new WMRP pen&lt;/li&gt;
&lt;li&gt;Able to control my smoke sucker (link..)&lt;/li&gt;
&lt;li&gt;USB connection for profiles and settings, and power,temp analysis.&lt;/li&gt;
&lt;li&gt;ESD protected as well as voltage on tip reading and warning.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More features will be created later on.
&lt;a class="link" href="Weller_PRO2s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="287px" data-flex-grow="119" data-title-escaped="Weller_PRO2s" height="700" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/Weller_PRO2s.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/Weller_PRO2s_hu_cffe094d8a2edea9.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/Weller_PRO2s.jpg 838w" title="Weller_PRO2s" width="838"&gt;&lt;/a&gt;
&lt;a class="link" href="Weller_PRO1s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="333px" data-flex-grow="138" data-title-escaped="Weller_PRO1s" height="700" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/Weller_PRO1s.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/Weller_PRO1s_hu_55a518f38c7b4453.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/Weller_PRO1s.jpg 972w" title="Weller_PRO1s" width="972"&gt;&lt;/a&gt;
The new pen has another type of temperature sensor type that my old station cannot handle.
So the decision to make an new station was not hard to make :)
&lt;img alt="Weller WMRP solder pen" class="gallery-image" data-flex-basis="413px" data-flex-grow="172" data-title-escaped="WMRP" height="290" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/WMRP.jpg" title="WMRP" width="500"&gt;
&lt;a class="link" href="8.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="8" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/8.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/8_hu_76018ce0c2a139c.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/8.jpg 802w" title="8" width="802"&gt;&lt;/a&gt;
&lt;a class="link" href="1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="1" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/1.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/1_hu_94a406b6341f11a1.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/1.jpg 802w" title="1" width="802"&gt;&lt;/a&gt;
&lt;a class="link" href="2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="2" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/2.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/2_hu_2cf8e0712a5de9c7.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/2.jpg 802w" title="2" width="802"&gt;&lt;/a&gt;
&lt;a class="link" href="board2s.jpg" &gt;&lt;img alt="board2s" class="gallery-image" data-flex-basis="401px" data-flex-grow="167" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/board2s.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/board2s_hu_b415fed49114be3a.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/board2s.jpg 1200w" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="assam1.jpg" &gt;&lt;img alt="assam1" class="gallery-image" data-flex-basis="401px" data-flex-grow="167" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/assam1.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/assam1_hu_2ac631747e5b9ea0.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/assam1.jpg 1200w" width="1200"&gt;&lt;/a&gt;
&lt;a class="link" href="4.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="4" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/4.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/4_hu_180521536f4f7ffa.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/4.jpg 802w" title="4" width="802"&gt;&lt;/a&gt;
The withe connector is for power and fan power to the smoke sucker ( like a vacuum cleaner with carbon filter).
&lt;a class="link" href="6.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="6" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/6.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/6_hu_a26603133dd7da8a.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/6.jpg 802w" title="6" width="802"&gt;&lt;/a&gt;
Each port holds a indication ring that is lights up for channel select and status.
&lt;a class="link" href="5.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="5" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/5.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/5_hu_6dff5d2e0c6c015d.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/5.jpg 802w" title="5" width="802"&gt;&lt;/a&gt;
&lt;a class="link" href="7.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="401px" data-flex-grow="167" data-title-escaped="7" height="480" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/7.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/7_hu_445b7a5ef5055722.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/7.jpg 802w" title="7" width="802"&gt;&lt;/a&gt;
Bottom view, the bottom plate will hold the H-Bridge converter.
&lt;a class="link" href="9.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="239px" data-flex-grow="99" data-title-escaped="9" height="1203" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/9.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/9_hu_6cf7090460936fd7.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/9.jpg 1200w" title="9" width="1200"&gt;&lt;/a&gt;
Three channel H-bridge  with extra filter, this enables me to set a constant voltage over the soldering pen instead of pulsed. Pulsed power can be achieved if I find it useful for some reason.&lt;/p&gt;
&lt;h1 id="update"&gt;&lt;a href="#update" class="header-anchor"&gt;&lt;/a&gt;Update
&lt;/h1&gt;&lt;p&gt;After some testing and probing I found out that the WMRP pen has electronic interface which means I have to get my hands on a station that can handle that pen, and then probe and try to find the data command to get temperature data out from the sensor inside. So because I do not have any station that can handle the pen, since then I have not worked anymore on the station. I hope I can get my hands on a WMRP capable station so I can probe the commands. but until then&amp;hellip;
This is mostly because I got hold of a Weller WSD161 that can handle two WSP80 pens at the same time, before I only had a Weller EC2001 (25w pen).
&lt;a class="link" href="kolvar.jpg" &gt;&lt;img alt="kolvar" class="gallery-image" data-flex-basis="401px" data-flex-grow="167" height="718" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/kolvar.jpg" srcset="https://www.lizerd.se/projects/in-progress/soldering-station-v2/kolvar_hu_fa8ccb7e7fef1d93.jpg 800w, https://www.lizerd.se/projects/in-progress/soldering-station-v2/kolvar.jpg 1200w" width="1200"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="why-version-2-where-is-the-version-1-"&gt;&lt;a href="#why-version-2-where-is-the-version-1-" class="header-anchor"&gt;&lt;/a&gt;Why Version 2, where is the Version 1 ?
&lt;/h1&gt;&lt;p&gt;Yes  I did a version 1. It only needed a bit more code before it was working alright, but as usual I had to much to do and too lite time at the moment. And when I finally had some time it was more fun to make a Version 2 instead.
I bought a none working station and only kept the case. The transformer could not handle 2 x 80w pens so i had to fit a much larger transformer in the same place as the old, quite hard to fit in the case :)
The LCD is from an old Nokia 7110 mobile phone.
&lt;a class="link" href="framsida2.jpg" &gt;&lt;img alt="SONY DSC" class="gallery-image" data-flex-basis="358px" data-flex-grow="149" height="402" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/framsida2.jpg" width="600"&gt;&lt;/a&gt; &lt;a class="link" href="hoppsatt2.jpg" &gt;&lt;img alt="SONY DSC" class="gallery-image" data-flex-basis="358px" data-flex-grow="149" height="402" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/hoppsatt2.jpg" width="600"&gt;&lt;/a&gt; &lt;a class="link" href="kretskort1.jpg" &gt;&lt;img alt="kretskort1" class="gallery-image" data-flex-basis="337px" data-flex-grow="140" height="427" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/kretskort1.jpg" width="600"&gt;&lt;/a&gt; &lt;a class="link" href="layout.jpg" &gt;&lt;img alt="layout" class="gallery-image" data-flex-basis="291px" data-flex-grow="121" height="395" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/layout.jpg" width="480"&gt;&lt;/a&gt; &lt;a class="link" href="solderLCD.jpg" &gt;&lt;img alt="solderLCD" class="gallery-image" data-flex-basis="401px" data-flex-grow="167" height="359" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/solderLCD.jpg" width="600"&gt;&lt;/a&gt; &lt;a class="link" href="switchreg.jpg" &gt;&lt;img alt="SONY DSC" class="gallery-image" data-flex-basis="160px" data-flex-grow="66" height="897" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/soldering-station-v2/switchreg.jpg" width="600"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Solder Station V2 Housing Cad</title><link>https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/</link><pubDate>Tue, 03 Jul 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Solder Station V2 Housing Cad" /&gt;&lt;p&gt;Some time ago I could not even imagine I was able to make such neat things as a custom housing like this, so I am really glad know the right person that enables me to create more then just the electronic part of a project.
This enables me to create the whole project in a professional way instead of just the electronics.
So this is my vision for the version 2 solder station.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TFT LCD with touch functionality.&lt;/li&gt;
&lt;li&gt;2 solder pen connections, both can be used at the same time.&lt;/li&gt;
&lt;li&gt;support older pens like my favorite 80Watt WSP pen, and my new WMRP pen&lt;/li&gt;
&lt;li&gt;Able to control my smoke sucker (link..)&lt;/li&gt;
&lt;li&gt;USB connection for profiles and settings, and power,temp analysis.&lt;/li&gt;
&lt;li&gt;ESD protected as well as voltage on tip reading and warning.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More features will be created later on.
&lt;a class="link" href="Weller_PRO2s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="287px" data-flex-grow="119" data-title-escaped="Weller_PRO2s" height="700" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/Weller_PRO2s.jpg" srcset="https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/Weller_PRO2s_hu_cffe094d8a2edea9.jpg 800w, https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/Weller_PRO2s.jpg 838w" title="Weller_PRO2s" width="838"&gt;&lt;/a&gt;
&lt;a class="link" href="Weller_PRO1s.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="333px" data-flex-grow="138" data-title-escaped="Weller_PRO1s" height="700" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/Weller_PRO1s.jpg" srcset="https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/Weller_PRO1s_hu_55a518f38c7b4453.jpg 800w, https://www.lizerd.se/projects/in-progress/solder-station-v2-housing-cad/Weller_PRO1s.jpg 972w" title="Weller_PRO1s" width="972"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Solder Station V2 Pcb Cad done</title><link>https://www.lizerd.se/projects/in-progress/solder-station-v2-pcb-cad-done/</link><pubDate>Thu, 21 Jun 2012 00:00:00 +0000</pubDate><guid>https://www.lizerd.se/projects/in-progress/solder-station-v2-pcb-cad-done/</guid><description>&lt;img src="https://www.lizerd.se/" alt="Featured image of post Solder Station V2 Pcb Cad done" /&gt;&lt;p&gt;Going from idea to schematic and board layout makes the project feel more realistic.
Will be even better when the housing cad part is done.
I have sent the pcb gerber files to seeedstudiowhich is great, nice price and have always been fast.
Usually i prefer to use DHL, but for this project time is not critical so it will be fine with normal china mail.
&lt;a class="link" href="w1.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="126px" data-flex-grow="52" data-title-escaped="w1" height="875" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-pcb-cad-done/w1.jpg" title="w1" width="463"&gt;&lt;/a&gt;
&lt;a class="link" href="w2.jpg" &gt;&lt;img class="gallery-image" data-flex-basis="123px" data-flex-grow="51" data-title-escaped="w2" height="873" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.lizerd.se/projects/in-progress/solder-station-v2-pcb-cad-done/w2.jpg" title="w2" width="451"&gt;&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>