Download English Resume[PDF]

Download Persian Resume[PDF]

Education:

 

Research Interests:

  • Embedded Systems
    • Microcontroller-based systems/li>
  • Control Engineering
  • Mechatronics
  • Robotics

 

Languages:

Reading Listening Writing Speaking
  • Persian
  • Native ★★★★★ ★★★★★ ★★★★★ ★★★★★
  • English
  •  

    Professional working proficiency

    (I'm Preparing for TOEFL iBT)

     

    ★★★★ ★★★★ ★★★ ★★★
  • Arabic
  • basic communication skills ★★ ★★ ★★ ★★

     

    Teaching Experience:

  • August 2017 until now
  • Summer 2018 & Summer 2019
    • Teacher
      • Subject: STM32F10x (ARM Cortex-M3) microcontrollers
      • Naminic educational company (http://www.naminic.com), Tehran, Iran
      • Three terms (10 section, 5 hour for each section)
  • Fall 2015
  • Fall 2014
    • Teaching Assistant: (Teacher: Gholamreza Vossoughi)
      • Subject: Mechatronics Laboratory, STM32F4xx microcontrollers programming
      • Mechatronics laboratory, Sharif University of Technology, Tehran, Iran

     

    Awards:

    • Fall 2016: Assistant Referee in the field of Microcontroller Programming in the "National Competition of Fanavard" hosted by Sharif University of Technology, Tehran, Iran.

       

    • 2015: 3rd rank Achieving the third overall GPA among all Sharif University of Technology M.Sc. Mechatronics Engineering graduate students.

       

    • 2012: 1st rank , Achieving the highest overall GPA among all Yazd University B.Sc. Mechanical Engineering graduate students.

     

    Related Technical Skills:

    • MATLAB:
      • Programming and simulating
      • Simulink

       

    • Programming language:
      • highly skilled: C, C++, C#
      • Almost skilled: Java, xml, html
      • Basic knowledge: Python

       

    • Microcontrollers' tools & IDEs:
      • Keil, Coocox, STM32CubeIDE & STM32CubeMX
      • CodeVision AVR
      • MPLAB (for dsPIC)

       

    • User Interface Development:
      • Visual Studio .Net C# for Windows
      • LabVIEW for Windows
      • Android Studio (java & xml) for Android
      • Xcode (Swift) for iOS

       

    • Electronics:
      • PCB design: Altium Designer
      • Simulation: Proteus & Pspice

       

    • Programmable Logic Controller (PLC):
      • SIMATIC Manager for S7 PLCs
      • PLC Languages: LAD, STL & FBD
      • Festo Fluidsim

       

    • General softwares:
      • Microsoft Office
        • Word, Excel, PowerPoint, FrontPage
      • EndNote
      • Photoshop & CorelDRAW

       

    • Operating Systems:
      • Windows, macOS

       

     

    Professional Certifications:

    • Raspberry Pi Programming, April 2018 (28 Hours)

       

    • C# Programming, April 2016 (24 Hours)

       

    • Altium Designer, November 2015 (28 Hours)

       

    • ARM Microcontroller (Cortex-M4), March 2015 (60 Hours)

       

    • AVR Microcontroller, October 2014 (50 Hours)

       

    • Industrial Automation System PLC BASIC (PLC211), April 2013 (36 Hours)
      • Negarsanat, Tehran, Iran

     

    Publications:

     

    Conference Presentations:

     

    Selected Courses:

    • Some of Arbitrary Undergraduate Courses:
      • Mechatronics
      • Measurement Systems
      • Control Laboratory

       

       

    • Prerequisite Courses (for Mechatronics in M.Sc.) :
      • Digital Design
      • Digital Electronics
      • Signals and Systems

       

       

       

    • Graduate Courses:
      • Kinematics and Dynamics of Robots
      • Robotics Laboratory
      • Advanced Mathematics
      • Advanced Control
      • Nonlinear Control Systems
      • Digital Control
      • Mechatronics
      • Mechatronics Laboratory
      • Fuzzy Control
      • Digital Image Processing
      • Seminar
      • M.Sc. Project

     

    Research Experiences:

  • Spring 2014
    • Fuzzy control course:
      • "Fuzzy-sliding mode control of experimental swarm robots";
        • controller experimentally implemented with dsPIC30F6014a on the swarm robots
      • Me and Hadi Balaghiinaloo Under the supervision of Prof. A. Alasty.
  • Fall 2013
    • Mechatronics course:
      • "Control of a 2DOF pendulum & stabilizing the swinging links with momentum wheel (a DC-Motor with a gear-box attached to a disk)";
        • controller experimentally implemented with STM32F407VG (an ARM microcontroller) on the designed 2DOF pendulum with momentum wheel
      • Me and Mansour Torabi Under the supervision of Prof. G. Vossoughi.
  • Spring 2013
    • Nonlinear Control Course:
      • "Stabilization of cart on a beam System with Output Feedback: Input-Output Linearization vs. Sliding Mode Controllers (2nd and 3rd Order) Methodes";
      • Me and Mansour Torabi Under the supervision of Prof. A. Alasty.

     

    Internships:

    1. Esfahan's Mobarakeh Steel Company (http://en.msc.ir)

      Iron Making Area, Direct reduction plant

       

    2. Iran Aircraft Manufacturing (https://en.wikipedia.org/wiki/Iran_Aircraft_Manufacturing_...)

      IrAn-140 passenger plane

     

    Occupational insurance history:

  • October 2015 until now (Five years and three months):

     

     

  •  

    Work Experiences:

  • August 2015 until now
    • Employed as "Mechatronics Engineer" in a knowledge-based company,"SDRA Co., Ltd"  (http://sdra.co.ir/en/)
      • Work experiences:
        • STM32 Microcontroller Programming in Keil MDK–ARM & STM32CubeIDE (STM32H750, STM32L442, STM32F407, STM32F405, STM32F429, STM32F103, STM32F107, STM32F303, STM32F373) & working with their peripherals (RCC, GPIO, TIM, NVIC, EXTI, ADC, SDADC, DAC, Flash, DMA, USART, SPI, I2C, SDIO, SDMMC, USB VCP, Ethernet).
        • PCB design with Altium Designer.
        • The use of SolidWorks and Altium Designer for 3D positioning and assembly of electronic components and boards in the box.
        • User Interface (UI) design with C# .NET Framework Programming in Visual Studio.
        • Application Programming Interface (API) Design with .NET Framework Programming in Visual Studio to communicate with the hardware.
        • Use of the API.dll (written with .NET Framework) to design LabVIEW blocks in order to communicate with the hardware.
        • Use of the API.dll (written with .NET Framework) in MATLAB and Simulink in order to communicate with the hardware.
        • Nordic Semiconductor Microcontroller Programming in Keil MDK–ARM (nRF52832 and nRF52840) & working with the BLE (Bluetooth Low Energy) and other common peripherals.
        • Android applications design (Java & xml languages in Android Studio) especially to communicate with our designed hardwares with BLE (Bluetooth Low Energy).

         

      • Sample of products:
        • SDRA Piezoelectric Driver (SPD) is used for driving piezoelectric actuators for micro and nanopositioning applications (positioning with micrometer/ nanometer resolution). Because of hysteresis phenomenon, we need to control displacement of piezoelectric actuators in a closed-loop manner. In SDRA Co. piezo driver, we measure piezo displacement by use of strain gauge and a 24-bit ΔΣ ADC using PGA. By means of a PI controller we apply excitation voltage (in range of 0 to 150V) in such a manner that error of displacement approach to zero rapidly.

          Following figure is one of our piezo drivers that used for XY Piezo Stages.

          Mechanical equipment of this XY Piezo Stage was fabricated by Tarfand Co. (http://www.tarfandco.com/Home) and our customer was IASBS, Zanjan, Iran. (Dr. Ehsan Ahadi Akhlaghi: https://old.iasbs.ac.ir/dep/pages6490.html).

           

           

        • SDRA Data Acquisition Card (SDAQ): Following figure is a 16-bit resolution up to 500ksps SDAQ designed to convert 16 analog waveforms into digital values. COM, USB, Ethernet ports are available. Powerful GUI, LabVIEW, MATLAB and Simulink example and libraries are the power spot of this product.

           

           

        • SDRA outdoor tracking system using GPS: Following figure is a tracking system using GPS for locating bodies or cars in outdoor.

           

          This product is in the field of IoT (Internet of Things) and has been designed based on a low power microcontroller (STM32L442KC) and a low power GPS (UBLUX MAX M8C) and draws power from a battery.

           

          The microcontroller is almost always in low power sleep mode, wakes up every few hours, obtains longitude and latitude from the GPS and sends the encrypted data by GPRS of a GSM (SIM800C) using TCP through the internet to a server having a static IP.

          I’ve done all this work; Including PCB design by Altium Designer, Coding STM32L442KC for reading GPS Data and sending data with SIM800C to a server & mechanical assembly of the PCB & the battery in above box.

           

           

        • Indoor-outdoor navigation system with Bluetooth to communicating with android devices: Following figure is a project that I participate in it.

           

          An STM32L405RG microcontroller read sensors (UBLUX GPS by UART & ADIS16470 IMU by SPI). By combining sensor data (three angular velocity components, three acceleration components, location and velocity of GPS) the Kalman Filter algorithm calculates accurate navigation data.

           

          For indoor applications navigation data can only be obtained by integrating IMU data in Kalman Filter; but for outdoor application, that GPS data after fix is valid, GPS can reduce the integration error in Kalman Filter & navigation is more accurate. This product has a built-in flash memory which can store navigation data for hours.

           

          This product is designed for sport applications such as horse riding training, therefore wireless communication is important for receiving the navigation data. An nRF52832 microcontrollet whit low-energy Bluetooth is embedded in PCB for communication with user. An android application has been designed which user can use it to connet to the board and save deta in navigation mode and read data in memory mode and etc..

           

          The nRF52832 codding and design of android application is my work. The following figure shows some snapshot of the designed android application.

           

           

           

        • 3-Phase Brushless DC Motor Control with Hall Sensors: The application of this system is to open the doors of showcases used in homes or stores.

           

          An STM32103CBT reads 3 hall sensors with one of his timers and trig a slave timer which is an advance timer to generate 6 PWM signal.

          These 6 PWM will be delivered to 3 IR2101S (gate driver ICs) to drive 6 N-MOS transistor that finaly drive 3 phase of Brushless DC motor.

           

           

          A controller with NRF24L01 is designed to remote rotating the Motor (opening & closing the door).

           

          Doing this project is also a result of my work.

           

           

        • Motion capture system:

          This system is used in medical, sports and entertainment applications as well as animation making. (by recording actions of human actors, and using that information to animate digital character models in 2D or 3D computer animation).

           

          This system is a set of hardware modules with STM32f405 as it’s processor to collect raw data of sensors (MEMS Gyroscope and Accelerometer,as well as Compass sensor) and process these data to calculate position and orientation.

           

           

          In the first design of this system, modules communicate with eachothers by I2C(TWI) Interface and central madule communicate with PC using Wifi (a PC GUI is designed for monitoring and recording data).

           

          I have contributed in hardware design of this system and other aspect of the system has done by other employee of the firm.

           

           

        • Motion capture system with Bluetooth Low Energy (BLE):

          In motion capture system Sending each module data using BLE to a central (Android or iPhone or PC) is a newly approach.

           

          The following figure shows the designed modules. These modules have nRF52832 processor, MEMS gyroscope & accelerometer, compass sensor, battery and external flash memory to store the data required by the user.

           

           

          The figure opposite shows the Android application which is designed to communicate with these modules.

           

          I have been involved in hardware design and microcontroller programming. Android app design is also the result of my work.

           

           

           

        • Flow measurement using radar:

          Open canals in urban areas are likely to overflow during the rainy season. In one of the projects that was defined for us, the goal was to online volume flow rate of each channels in the city of Tehran. Flow measurements had to be made non-contact and measuring instruments could be installed under bridges over canal surfaces.

           

          Average flow velocity and flow cross section are required to determine the flow Q. This leads to the general formula: Q = Vaverage × A

           

          Vaverage: The flow velocity is determined by measuring the surface velocity. The surface velocities are determined by detecting Radar signals reflected from surface waves. The reflections are evaluated using the known Doppler principle.

           

          A: At a certain location of the canal, the area (A) is a function of the water level (h). Measurement of the water level is achieved by contactless ultrasonic level sensors.

           

          The following two figures show the design done. The left figure shows the open view of the modules and the right figure shows how they are connected above the canal.

           

          The left module includes ultrasonic level sensor to measure the water level and a MEMS accelerometer to ensure vertical installation of the module. The right module also includes the CDM324 microwave motion sensor (24.125GHz Doppler sensor) and the required signal amplification circuit. A MEMS accelerometer also determines the installation angle of the module, which is effective in calibrating the system.

           

          Each module has a STM32F103CB microcontroller that is connected together via RS422. To send data out, a SIM800 (for sending via SMS or Internet) and a nRF52832 microcontroller (for sending with BLE) are installed in the system, which can be used depending on the application.

     

    References:

    Sharif University of Technology, Tehran, Iran