All Docs

Projects

Quark development environment

All docs on one page.

Introduction

Created the Quark software. A full fledged application development and distribution platform for Windows, Mac and Linux based operating systems.

Since it's public announcement in August 2019, the project website has been viewed over 115,000 times and the Quark software itself has been downloaded by over 10,000 users around the world.

Quark development environment

Quark development environment is powered by the same code editor as of Microsoft's Visual Studio Code (VSCode).

The IDE is cross-platform, and boasts of features like an integrated terminal, multiple theme support, more than 150 different editor settings, an inbuilt package manager, and a fully-configurable build system (webpack).

    Documentation, DevOps, E2E testing and Status page

    Quark follows all the best practices of software development, has a neat documentation coupled with continuous integration and end-to-end tests on Travis CI.

    The software also boasts of novel features like 'automatic-updates' with multiple release channels namely 'stable', 'insiders' and 'nightly' release.

    Also, in case of service disruption, Quark has a status page that users can subscribe to via email, and get notified on the issue.

      ________

      Quark Appstore

      All docs on one page.
      Quark Appstore

      Currently under active development. Quark appstore is a full-fledged application sharing platform.

      Once completed, users will be able to create, share, download and monetize applications on Quark app store. The aim of the app store is to help open-source developers to build and monetize their creations.

      This project is fully open-sourced on GitHub.

        ________

        Finance Management App

        Built a finance management app for the team. The app was built using Ionic 3, Angular 4 at the frontend and Firebase Firestore at the backend.

        The app was used in production from August 2017- July 2018.

          ________

          DR17

          Chief engineer and Deputy Team Leader at Team Definaz Racing. Under my leadership, the team secured its best-ever overall position at Formula Student UK and finished Second Overall at Formula Student Bharat (teams best result till date).

          During the time, I was responsible for the design of the engine and its sub-systems (fuel tank, exhaust manifold, intake manifold, radiator design) and electronics of the vehicle.

            Electronic steering wheel

            Developed this carbon fiber reinforced, touch controlled, electronic steering wheel.

            Built with Arduino and Nextion HMI display, the steering wheel served as the central command center for all the vehicle electronics that includes the pneumatic gear shifter, data acquisition system/data logger, drag reduction system and the variable geometry intake manifold.

            Learn more about this project

              Data acquisition system

              Build with Arduino and Processing, this data acquisition system handles more that 20 different sensors.

              The data is sent in real time via a radio transmitter mounted on the car and received on the client side via a receiver connected to a laptop

              Learn more about this project

              Variable Geometry Intake Manifold

              This project won the second best innovation award in the Formula Student UK competition. I've also published a research paper on the same.

              Built on top of a banned Formula 1 technology (variable resonance induction system), this system massively improved the overall vehicle performance, mainly power of the engine at the top end and throttle response of the engine on the bottom end of the RPM range.

              Learn more about this project

                Dynamometer

                The aim of this project was to acquire, analyse and apply the output characteristics of the engine in further optimizations and calculations like engine performance, intake-exhaust simulations, fuel consumption calculations, etc

                Learn more about this project


                  DR16

                  Worked as a junior engineer in the powertrain department at Team Definaz Racing.

                  Participated in the Formula Student UK competition held at the Silverstone Formula 1 racing circuit. Responsible for the design and development of the intake manifold, exhaust manifold and the cooling system of the engine.

                    Intake manifold

                    Air intake manifold for a 4-cylinder internal combustion engine(IC engine)

                      Exhaust manifold

                      Exhaust manifold for a 4-cylinder internal combustion engine(IC engine)

                        Oil Sump

                        Designed and manufactured the Oil sump

                          Radiator design

                          Learn more about this project


                          Data Acquisition System

                          All docs on one page.
                          Project
                          Working

                          Build with Arduino and Processing, this data acquisition system handles more that 20 different sensors.

                          The data is sent in real time via a radio transmitter mounted on the car and received on the client side via a receiver connected to a laptop.

                          You can read more about this project on my blog here.


                          Electronic steering wheel

                          All docs on one page.

                          Introduction

                          Other than the obvious, the function of this electronic steering wheel is to control several sub-systems of the car, that includes a radiator fan, the drag reduction system and variable geometry intake manifold. To get a brief idea, first watch the video below and then continue.

                          The Setup

                          The setup can be divided into 4 levels of hierarchy. Consider the diagram below:

                          1. Arduino: The role of arduino in my setup is to receive input from the touch screen and gear shift buttons and accordingly deliver an output signal to control all the relays and servo.

                          2. Steering wheel and actuators:

                            1. Quick release electrical coupling: As far as the production of the steering wheel is concerned, this was undoubtedly the most difficult part of the entire setup. The male side of a round electrical connector was inserted in the splined shaft of the steering wheel with all the wiring going through the shaft and exiting near the rack. The female side of the electrical connector was positioned inside the quick release coupling of the steering wheel. A total of 8 wires are carried by the connector. Check the images below to get a better idea of the connections.

                            1. Pneumatic gear shifter relay: The relay is controlled by the arduino which receives the signal from gear shift buttons on the steering wheel. When the button is pressed, the relay is activated by the arduino and the pneumatic system moves accordingly to change the gear.
                            2. DRS Servo: The servo for the DRS(Drag reduction system) is also controlled by the arduino. According to the event selected by the user in the "Event Selection" menu on LCD, the servo moves and the position of the rear wing of the car is changed.
                            3. VLIM Servo: VLIM stands for variable length intake manifold.Just like the DRS servo, the VLIM servo is controlled by the arduino according to the settings in the event selection menu.
                            4. Radiator fan relay: The radiator fan is a critical part of the engine's cooling system. Don't turn the radiator fan on and the engine overheats. Keep the radiator fan always on and you drain your battery within 15 minutes. Hence, there are many settings that the user can select depending upon the ambient air temperature and running conditions.
                          3. Steering wheel electrical circuit: As the name suggests, it is the electrical circuit of the steering wheel. A total of 8 wires from the electrical circuit go to the quick release electrical coupling.

                          4. Steering wheel auxiliaries

                            1. Shift Lights: These are the LED lights mounted on the top of the steering wheel. They are used to inform the driver to shift the gear at optimum RPM in order to extract maximum performance from the powertrain. In my setup, we used Neopixel WS2812B RGB LED's for the reasons of simplicity. The entire strip is operated by only 3 wire. One power(+5v), second ground and the third is the signal wire.
                            2. Touch Screen: As discussed above, the touch screen is operated by the driver to control various settings of the car. The touch screen device that we used is a Nextion device. The device offers an easy way to interface with the arduino and beautiful GUI's can be made with ease without much programming skills. To explain the coding and design of the touch screen would need a tutorial of it's own. Let me know in the comments section below if you want me to make a tutorial for the same.
                            3. Shift Buttons: Here again, when the buttons(either of two) are pressed by the driver, the respective digital read pins of the arduino are set to high. According to the button pressed, arduino activates the appropriate pneumatic gear shifter relay and the gear is changed.

                          Production

                          Apart from the quick release electrical connector assembly which i've already discussed above , the main components of production are the base frame and the cover boxes. The base frame of steering, as visible in the images, was made using carbon fibre. Three layers of carbon fibre on either side of a foam core were bagged using resin infusion technique. After drying all the epoxy, the part was sent for wire cut where the slots for thumb and the external profile were cut on the base frame. As for the cover boxes, 2mm PVC sheets were used, which were then again sent for wire cut to get the desired profile. After the machining, both the base frame and the cover boxes were assembled using nuts, bolts and a lot of epoxy. 😛

                          Below is another video made during the time of manufacturing. Making car sounds is always fun.😃

                          ________

                          Dynamometer

                          All docs on one page.

                          Design goals

                          1. To evaluate the characteristics of the KTM 500 EXC engine by measuring the power and torque at the crank of the engine.
                          2. To acquire, analyse and apply the output characteristics of the engine in further optimizations and calculations like engine performance, intake-exhaust simulations, fuel consumption calculations, etc.

                          Calculations

                          KEY

                          • PE/1 = Instantaneous Power of Engine
                          • τE/1 = Instantaneous torque of Engine
                          • ΩS1/1 = Instantaneous Angular Velocity of Crankshaft
                          • αS1/1 = Instantaneous Angular Acceleration of Crankshaft
                          • δT = 1/Frequency of reading of CAM sensor
                          • IE/IS1 = Moment of inertia of Crankshaft

                          PE/1 = τE/1× ΩS1/1

                          τE/1 =( IE + IS1 ) αS1/1

                          αS1/1 = dΩ/dt~δΩ/ δT~(Ω2 - Ω1)/(T2-T1)

                          δT= 2π/(avg(Ω1, Ω2) ×number of teeth on trigger wheel

                          Ω1, Ω2 are known from the sensors

                          δT is known

                          Hence αS1 is also known.

                          Components Used:

                          1. CAM position sensor
                          2. Engine test bench
                          3. Arduino

                          Design Process

                          1. Manufacturing
                          • A CAD model of the structure was made using the SolidWorks 3D designing software.
                          • The test-bench was then manufactured using mild steel tubes and the engine was successfully mounted on it.
                          1. Selecting Microcontroller
                          • The next step was to find a microcontroller for acquiring the real-time output of the engine sensors. This would include the instantaneous RPM (rotations per minute) and angular acceleration values.
                          • After detailed research and analysis, it was decided that using the Arduino Genuino/Uno R3 microcontroller would be apt and suffice our needs.
                          1. Mounting the sensors
                          • A variable reluctance magnetic sensor for identifying the rotations per minute of the camshaft was purchased.
                          • This sensor was securely mounted on the engine head such that the rotations of the camshaft could be accurately identified.

                          1. Reading Sensor Data
                          • An Arduino Sketch for reading the analog voltage signals of the camshaft sensor was written and the incoming data was critically analysed
                          • Arduino Sketch was repeatedly altered to directly input the realtime RPM of the running engine. It is to be duly noted that these experiments were being carried out on the engine mounted on the dyno-bench without any load (inertial mass) coupled with the engine.
                          1. Verifying Results
                          • The results of the experiment were cross-checked by evaluating the RPM of the engine using an ELM 327 On-Board Diagnostics 2 (OBD-II) tool
                          • The tool was paired up with a phone via Bluetooth to the ECU. Owing to the meticulous accuracy of the instantaneous RPM from the Arduino Uno microcontroller unit, the obtained results were then used to calculate the instantaneous angular acceleration of the running engine.
                          1. Developing the application
                          • To further improve on the data evaluated, the real-time values of RPM and alpha (angular acceleration) were used to plot RPM vs. angular acceleration graphs using Processing 3.0 visual software.
                          • Since, the output power of the engine is directly proportional to the instantaneous angular acceleration, the graphs obtained were thereafter analysed to understand the relation between the instantaneous RPM and power of the KTM 500 EXC engine

                          Dynamometer Iteration 2:

                          • Once all the basic setup was complete on the dynamometer, second phase of development was started which included an inertial mass driven by engine power through chain drive.
                          • Pillars were erected for mounting the shaft onto which the solid cylinder was to be mounted.
                          • In order to couple the inertial mass with the engine, a sprocket of 5.9 mm thick mild steel was manufactured by the aid of a CNC wire cutting machine.
                          • Roller bearings at both ends of the shaft facilitated the shaft’s rotatory motion.

                          Dynamometer Iteration 3: (In Development)

                          • The third phase of manufacturing included mounting a brake to the dynamometer to vary the load on the engine according to the requirement of the operator.
                          • The braking torque will be measured by the load cells connected to the upright via a rod, transferring braking force to the ground. The whole assembly was brought together and the experiments were carried out again to measure the instantaneous RPM and angular acceleration of the engine. In essence, the amount of load on the engine could be varied by the extent to which the brake pedal was pressed. Hence, we were able to increase the number of data points and plot clear-cut precise RPM vs. angular acceleration graphs – enabling us to critically analyse the characteristics of the engine.

                          Testing Engine Dynamometer


                          Radiator design

                          All docs on one page.

                          Design goals

                          1. Reliability of the cooling system.
                          2. Experimental analysis and manufacturing of radiator.

                          Design variables

                          1. RPM Range of the vehicle on the track.
                          2. Cooling system plumbing.
                          3. Coolant flow rates.
                          4. Dimensions and design of Radiator.

                          Design strategy

                          • To perform heat dissipation tests on current radiator using flow and temperature sensors.
                          • Accordingly design a radiator core of suitable dimensions.

                          Formula used

                          • ĖRW = (QW ρW CW ΔTW) / 60 Where:

                          • ĖRW = heat transport rate, kW
                          • QW = coolant flow rate, L/min
                          • ρW = coolant density = 1.0 kg/L
                          • CW = specific heat of coolant, kJ/kg. °C
                          • ΔTW = temperature drop b/w inlet and outlet of radiator, °C

                          Design considerations

                          • Literature has placed the value of heat to be rejected by the cooling system to be between 18-23% depending on the load on the engine.
                          • If total heat to be rejected by the cooling system is 20% of the heat supplied by the fuel, a radiator of heat dissipation of 20.6 hp is required.
                          • Factor of safety for the cooling system was set at 2, considering the percentage error in readings and financial constraints. Calculations for CFM of fan:

                          Heat to be dissipated = 17.6 hp.

                          Ambient air temp = 36 deg C.

                          Final Air temp = 72-76 deg C

                          Delta T = 40 deg C = 104 deg F

                          Cp air and Air density are constants

                          cp=1.0kJ/kgK=0.241BTU/lb°F, ρ=0.08018lb/ft3

                          𝑄 = 𝑚×𝑐𝑝×∆𝑇

                          𝑚 = 𝑄 / 𝑐𝑝×∆T

                          The selected fan has 550 CFM @ 80W power consumption which meets our requirements and has a high factor of safety.

                          Validation

                          The validation for this year’s cooling system was carried keeping in mind two objectives. These were:

                          1. To check whether the part we had designed was able to outperform the stock KTM radiators.
                          2. To check whether the system is able to dissipate heat as dictated by theory.

                          Experiment

                          Aim: To check whether the custom made radiator was able to outperform the stock KTM radiators and whether it provides substantial heat dissipation.

                          Experimental setup Radiators were connected to the engine with a flow meter at the engine outlet readings from which were recorded using Arduino programs and a digital thermometer at the radiator outlet.

                          Procedure With the engine running at a constant rpm, the flow meter and thermometer readings were recorded along with the engine outlet temperature using the water temperature sensor. The test was carried out for both the radiator setups.

                          Calculations Multiple sources give the heat-carrying capacity of the coolant to be:

                          Observations TODO!

                          Conclusion

                          The custom radiator is able to provide a higher heat transport rate and is able to meet the general engine heat dissipation requirements as well.

                          Characteristics of custom radiator


                          Variable geometry intake manifold

                          All docs on one page.

                          Introduction

                          An intake manifold is simply a mechanical component attached to the engines cylinder head that allows the air/fuel mixture to enter the combustion chamber of the engine. The intake manifold consists of following parts:

                          What is Variable geometry intake manifold?

                          Short answer, to achieve greater Volumetric efficiency. As a consequence of greater volumetric efficiency, we can achieve greater torque, power and thermal efficiency from the same size of the engine at the same RPM.

                          What is Volumetric efficiency?

                          Volumetric efficiency in an internal combustion engine, is defined as the ratio of the mass density of the air-fuel mixture drawn into the cylinder at atmospheric pressure (during the intake stroke) to the mass density of the same volume of air in the intake manifold.

                          Variable geometry intake manifold:

                          The design consists of the following components, arranged in the direction downstream to the air flow:

                          1. Design: The design consists of the following components, arranged in the direction downstream to the air flow:

                            1. Throttle Body: Contains the throttle position sensor and connects the butterfly valve to the throttle actuation cable.
                            2. Venturi (Or air restrictor in case of FSAE): The smallest path in the intake manifold.
                            3. Actuation Cable: connects the Movable Ram to the servo.
                            4. Upper Plenum Cap: makes the upper part of the plenum and contains the mounts for actuation cable and pressure sensor. It connects to the plenum drum via screw threads.
                            5. Plenum Drum: Connects the upper and lower plenum.
                            6. Movable Ram: Moves inside the plenum drum to control the plenum volume and runner length.
                            7. Lower Plenum Cap:makes the lower part of the plenum and contains the mounts for actuation cable and pressure sensor. It connects to the plenum drum via screw threads.
                            8. Pressure Sensor: Is used to measure pressure at different parts of the intake.
                            9. Fuel Delivery system: Made up of fuel injector and fuel delivery lines from the fuel tank.

                            Specifications

                            • Throttle body size: 28mm
                            • Venturi Diameter: 20mm (FSAE rule restricted)
                            • Plenum Volume: Variable(1200cc to 2800cc)
                            • Runner Length: Variable(230mm to 330mm)
                            • Runner Diameter: 40mm

                            Working overview

                            Unfortunately, I lost all the videos and images of the setup in a corrupt memory card. All that is left is an amateur video of the setup below:

                            Mechanism

                            Below images describe the movement of the movable Ram and the corresponding change in the geometry of the manifold

                            1. As the Ram moves towards the upper plenum cap, the plenum volume is decreased and the runner length is increased. Both of these changes enhance the bottom-end(Low RPM) performance of the engine.

                            1. As the Ram moves towards the lower plenum cap, the plenum volume is increased and the runner length is decreased. Both of these changes enhance the top-end(High RPM) performance of the engine.

                            Manufacturing

                            • The manifold was manufactured primarily on a CNC Lathe machine and a CNC Vertical milling machine.
                            • The material selected was aluminium due to light weight, corrosion resistance and good weldability.
                            • Below is a picture of the machined components.

                            Why not 3D printing?

                            Some may argue in favor of 3D printing the manifold instead of CNC machining. And to some extent their argument may be valid and legit. But the reason that I chose the latter is because of my previous experiences with 3D printed intake manifolds. The problem with 3D printed manifolds, is that the designs are too rigid. By that I mean, that making changes to an already manufactured manifold is kinda impossible. For example, if you later want to add an extra pressure sensor or temperature sensor to the manifold, you'll need to make some sort of mount on the 3D printed part. And to make a mount, you'll need to machine it, which is very limited on most 3D printed materials.

                            On the other hand, using aluminium allows for much more flexibility in the design. That is, on later stages if you want to make some addition to the design, aluminium allows for several machining processes, like welding, threading, knurling etc. which are in-existent in 3D printing.

                            Assembly

                            The final assembled manifold looks like this:-

                            Validation

                            • Using the data acquisition system that we made earlier, pressure values were recorded in the intake manifold at different throttle percentages.
                            • This data was then plotted on MATLAB and analysed. An example of sample data and result is shown below:

                            • Percent Increase in volumetric efficiency at constructive interference point:

                            Where,

                            Pc= Instantaneous pressure at that point

                            Pm= Mean pressure of that cycle

                            • Similarly, Percent Decrease in volumetric efficiency at destructive interference point:

                            • To put that in prospective, an engine with a fixed intake manifold, producing a mean of 40Nm of torque at say 8500RPM, can produce 45Nm simply by swapping a fixed intake manifold with a variable one.

                            Note

                            However, it is noteworthy to mention that the change in volumetric efficiency is very much inflated in our case. This is due to the air intake restrictor in the Formula student cars, that make even stronger pressure waves, specially at higher engine speeds. For road cars, the results will not be this inflated, as they have no intentional air restriction in their manifold. But still, a significant change of about 6-8% may be observed on road cars. Moreover, the above calculations, to its core, are not 100% accurate. For more accurate results, an integral of pressure wave function is to be considered over one suction cycle instead of mean values. This may further reduce the inflated value and will yield more accurate result.

                            Result

                            The result of such careful design of the intake manifold led to the making of a very competitive FSAE car.


                            MIT Licensed | Copyright © 2019-present Nishkal Kashyap