Introduction - It is all Faraday's fault
In the beginning there was an electricity... People lived in an ignorant bliss, having no idea that energy was everywhere around them and that it could be tamed. It was good... And then came Faraday, and the ball started to roll, picking up the speed slowly but surely...
Eventually, first machines using the new energy source were built, and with these came the first people who could "understand the electricity". Time passed on and just about the time civilized world got used to this new concept and let the self-proclaimed experts toy with it, somebody came up with an idea to put electrons in a glass tube. At the first glance, it seemed like a good idea... but there was no turning back as electronics was born and the ball kept on rolling faster...
New science called for new scientists. White collars took the place of blue collars and there came the people who could "understand the electronics". And while the world stared in awe, the conspirators split up in two factions: those who specialized in software and those who specialized in hardware. Younger and more enthusiastic than their teachers, both groups carried on their efforts, but following the different paths. While the first advanced steadily to this day, those dedicated to hardware got carried away by their success and eventually discovered a transistor.
Up to that crucial moment, the situation could have been controlled to a certain extent - but the public underestimated the importance of this breakthrough and made a grave mistake! In a naive attempt to slow down the technological revolution, world market opened itself for a flood of electronic products, thus closing the circle. Market value of components rapidly decreased, electronics making its way to the younger populace. The ball started to fall freely...
Discovery of the integrated circuits and the processors only sped up the things, making the computers as available as ever. Computers started to upgrade themselves. The resulting deflation brought electronics new wave of devotees, making it omnipresent nowadays. Yet another circle closed - computers fell into the hands of the masses and their rule supreme had begun...
While this drama took place, nameless hobbyists and professionals across the world kept working on their projects, although still divided into two large factions.
And then somebody came up with another great idea: why not create an all-purpose component? A cheap and universal integrated circuit that could be programmed and used in any device, anywhere. Technology was up to the task, there was an interested market... why not? Soul and body were united into one powerful MICROCONTROLLER.
What are microcontrollers and what are they for?
As with everything that is good, this powerful component is actually very simple in its essence. It was built using the tested solutions and ingredients by the following recipe:
Processor was removed from the simplest of computers to be used as the "brain" for the upcoming system.
Depending on the manufacturers' taste, some memory was added, a few A/D converters, timers, I/O communication lines, etc.
It was all placed in a standard casing.
Simple software that everybody could learn was developed for controlling the thing.
A variety of microcontrollers has been constructed in this manner, becoming a man's subtle yet indispensable companion in everyday life. Their incredible simplicity and flexibility has earned our trust awhile ago - if you have an idea of utilizing a microcontroller for the most trivial of tasks, know that somebody has already been there...
There are three decisive facts responsible for such a success of microcontrollers:
Their powerful, cleverly chosen electronics is able to control a variety of processes and devices (industrial automatics, voltage, temperature, engines, etc) independently or by means of I/O instruments such as switches, buttons, sensors, LCD screens, relays...
Their low cost makes them suitable for installing in places which attracted no such interest in the past. This is the fact accountable for today's market being swamped with cheap automatons and "intelligent" toys.
Writing and loading a program into microcontroller requires practically no previous schooling. All that is required is: any PC (software is very friendly and intuitive) and one simple device (programmer) for loading a written program into microcontroller.
So if you are into electronics, you will undoubtedly want to master the great potential of microcontrollers and put it to good use.
How does microcontroller work
Although there are plenty of different microcontrollers and programs available, they all share a lot in common between them. This means that if you master one model, you will be able to handle them all eventually.
Typical scenario goes something like this:
Power is off and all is still... Program is loaded, everything is set, with no indications of what is about to take place...
As soon as the power is on, it all happens too quickly to follow! First one to register the change is the control logic. It halts all the circuits except the quartz oscillator. First few milliseconds pass in hurried preparations and loading of parasitic capacitances...
As voltage reaches its maximum, oscillator frequency stabilizes. SFR registers are loaded with bits indicating the states of the subsystems, and all the pins are designated as input. Impulse sequence starts dictating the pace and the electronics is now fully operational. From this point on, time is measured in microseconds and nanoseconds.
Program counter is reset to zero address of the program memory. Instruction is sent from this address to the instruction decoder where it is interpreted and executed promptly.
Program counter is incremented by one as the whole process plays out again... (several millions of times per second)
Obviously, it all works at tremendous speeds, and is also pretty simple. But it would not be especially useful if it was not for additional systems which round out the MCU:
Read Only Memory (ROM)
ROM is the memory which stores the program to be executed. Apparently, its size dictates the maximal program length. It can be internal or external with respect to the microcontroller. Both options have their pros and cons; external memory chip makes the microcontroller cheaper and allows for longer programs. At the same time, number of available free pins is reduced as external ROM uses MCU's I/O ports. Internal ROM is usually smaller and more costly but it provides more possibilities for connecting to the outside world. ROM spans from 512 bytes to 64kB, which is an equivalent to the number of possible program instructions.
Random Access Memory (RAM)
RAM is used for temporary storage of data during runtime. RAM memory does not retain its stored information when the power is interrupted. RAM spans from tens of bytes to several kilobytes.
EEPROM Memory
EEPROM is a special kind of memory not available with all MCUs. Its contents can be changed during runtime (as with RAM), but is also saved after the power is off (as with ROM).
SFR Registers
Special Function Registers are special elements of RAM, their purpose predefined by the manufacturer. Each of these registers is named and controls a certain subsystem of MCU. For example: by writing zeros and ones to the SFR register which controls an I/O port, each of these pins can be designated as input or output (each register bit corresponds to one of the port pins).
Program Counter
This is the "engine" which starts the program and points to the memory address of the instruction to be executed. Immediately upon its execution, value of counter increments by 1. Due to this automatic increase, program executes one instruction at a time, just the way it was written. However... value of a counter can be changed anytime with a "jump" to a new program memory location as a result. This is how routines and branch instructions are carried out. Upon performing a jump to the specified destination, Program Counter increase carries on steadily, +1, +1, +1...
In case you forgot...
Bit is the term often found to be confusing by those starting out in electronics. In practice (and in practice only) bit determines if voltage exists between two points of a circuit. If it does, we say that logic level is 1, i.e. bit is 1. If not, logic level is 0, i.e. bit is 0.
In theory, things are a little bit more complicated - bit actually represents a digit of binary system. As such, it can still have only one of two values - zero or one, set or clear (unlike the decimal system we are used to).
Control Logic
As the name implies, this is the "Big Brother" which supervises and controls every aspect of operations within MCU, and it cannot be manipulated. It comprises several parts, the most important ones including:
Instructions Decoder – part of the electronics which "recognizes" different program instructions and directs the other circuits accordingly.
Arithmetical Logical Unit (ALU) – is in charge of all mathematical and logical operations over data. Capabilities of this circuit are represented through the so called "instruction set" which is different for every MCU.
Accumulator – a special SFR register highly interconnected with ALU. It can be described as a working desk for performing operations on data (adding, shifting, etc). Also, this is the register which holds the result of the operation. Of SFR registers, Status Register is specifically associated with the accumulator. It monitors the status of the accumulator's content at all times (is zero, is greater than zero, etc).
In case you forgot...
Byte is a set of 8 adjacent bits. As bit represents a digit, it is logical to assume that byte represents a number. All standard mathematical operations that can be applied to decimal numbers can be applied to bytes. These are carried out by ALU.
It is important to note that byte has "two sides", i.e. not all positions are of the same significance. The leftmost bit is the Most Significant Bit (MSb). The rightmost bit is the Least Significant Bit (LSb). As there are 256 possible variations of 8 bits, the greatest decimal number byte can represent is 255 (zero is included!) .
A/D Converter
Another convenient instrument not available with all MCUs. Usually there are several separate channels so that multiple analog values can be measured simultaneously. Commonly, converters are 8, 10, or 12-bit and this is sufficient for most tasks.
As shown on the image below, A/D conversion (converting analog value to a numeral) starts with changing the bit in the appropriate SFR register. Hence, voltage on input pin is measured (this sampling takes a few microseconds) and stored in another SFR register as a numeral.
In our example, 8-bit A/D converter is used and the default voltage is 5V. This divides the scale in 256 units, with the smallest voltage range that can be represented of 19.53mV (5V / 256 = 19.53mV). On such a "crude" scale, voltage of 2.204V is represented by numeral 113 (113 x 19.53mV = 2.207V).
Converters of higher resolutions (10 and 12-bit) have much finer scales of 1024 or 4096 units, respectively. Using one of these instruments under the same conditions from the previous example would significantly reduce the inaccuracy (as shown on the image below).
In case you forgot...
Register is a byte physically realized as electronic component, and represents a basic memory cell. Beside the 8 bits available to the user, there is also an address part not readily accessible.
ROM and RAM registers are nameless and are usually peers.
SFR registers are named (differently with different MCUs) and each has its role.
When writing a code for MCU in one of the higher programming languages, each register can be given an arbitrary name, which proved to be useful.
I/O Ports
To be of any practical use, microcontroller needs to be connected to other electronics and to the environs. For this purpose, every MCU has one or more registers (also known as ports) which are connected to the pins on its case. Why I/O? Because every pin can be designated as eiher input or output to suit user's needs.
Oscillator
This is the rhythm section of the miniature orchestra. Stable pace provided by this instrument allows harmonious and synchronous functioning of all other parts of MCU. Commonly, oscillator frequency is stabilized using a quartz-crystal or a ceramic resonator. It can also work without an element for stabilizing frequency (as RC oscillator). Note that instructions are executed at a rate several times slower than the pace dictated by the oscillator. This happens because instructions take several steps to be accomplished (execution period of different instructions may vary on different MCUs). Therefore, if your system uses 20MHz quartz-crystal, execution period of one program instruction will not be 50 ns, but more likely 200, 400 or a "whole" 800 ns.
Timers
Majority of programs utilizes these miniature electronic "stopwatches". Commonly, timers are 8 or 16-bit registers whose value automatically increases upon an impulse. If timer is stimulated by an internal MCU oscillator, it can be used for measuring time between two occurrences (register value at the start of measuring = T1, register value at the end of measuring = T2, elapsed time = T2-T1). If timer is triggered by impulses from an external source, instrument behaves like a counter.
In both cases, filling the register resets the counter and the occurrence is recorded in a particular bit of SFR register (Overflow flag). This makes possible to measure longer time periods. Also, if enabled, this flag can cause an interrupt for breaking the program and carrying out a designated routine (see the image).
Watchdog Timer
The name itself implies the role of this instrument. It is a timer with input connected to an independent MCU RC oscillator. If Watchdog is enabled, MCU is reset every time it overflows, and the program execution starts anew (much as if the power had just been turned on). The idea is to prevent that from happening by means of special instruction. Whole concept is based upon a fact that every program technically "goes around", i.e. executes within a number of simpler or more complex loops. If, beside the regular instructions, key places in the program were added an instruction for resetting the Watchdog, its safeguard function would pass unnoticed. If, for some reason, (in industrial environment, electrical interference is common) Program Counter "gets stuck" at a memory location with no return, the ever-increasing Watchdog Timer eventually overflows and voila - MCU is reset.
In case you forgot...
Interrupt ; electronics is generally way faster than physical processes in the environment it controls. Therefore, microcontroller spends most of its time in expecting an occurrence or waiting for tasks to be accomplished. To avoid the repeated checks of input pins and internal registers, interrupt was introduced. It is a signal which breaks the standard order of program execution. In case of an interrupt, MCU comes to a halt, and determines the source of interrupt. If certain action is required, current value of Program Counter is set aside to Stack and the appropriate routine (interrupt routine) is executed.
Stack is a special part of RAM for storing the current value of Program Counter, so that program could "know" where to pick up after the interrupt routine. It can be multi-leveled, i.e. routines can be executed within other routines.
Power Supply Circuit
Two features of the MCU power supply circuit deserve your attention:
Brown out – this is a potentially dangerous state which occurs during the shutdown or in situations when voltage "oscillates" on the edge of the allowed range due to strong interference. Since microcontroller comprises a number of elements with various voltage ranges, this can cause their uncontrolled behavior. To prevent this from happening, brown out reset circuit is included within MCU. If voltage drops below the specified value for high-voltage elements of MCU, brown out promptly resets the entire electronics.
Reset pin – frequently marked as MCLR (Master Clear Reset) is used for "external" reset of microcontroller by bringing the logical zero or one (depending on the MCU). If not preinstalled, a simple external brown out reset circuit can be connected to this pin.
29 Ağustos 2007 Çarşamba
Kaydol:
Kayıt Yorumları (Atom)
Cascode stage
or “collector follower”
Jean-Paul Brodier
All microprocessors from the 8051 family have inputs and outputs that are ‘quasi-bidirectional’. This means that when power is first applied, the ports behave as inputs with a logic high level and a weak pull-up.,
Glitch
a relay or some other load such as When driving an optocou-pler or LED, there is a problem
at power on: the NPN transistor in the common emitter connection (Figure 1) causes an undesirable excitation of the load from the moment power is applied until the microprocessor has had the chance to turn the output low. In addition, logic high outputs are seldom able to deliver enough current to drive the transistor into saturation because they have been designed to be active low.
Figure 1. An NPN transistor drives a load.
To solve both of these problems in one hit, we have to make the active level logic low. This can be done in three different ways: use an emitter follower as a buffer stage (Figure 2a), an inverter in a common emitter circuit (Figure 2b) or an inverter/open collector circuit (Figure 2c). The disadvantage of solution 2a is the fact that the voltage to the load is reduced. In the case of a relay with a 5-V coil there is the risk that the resulting voltage is too low. The disadvantage of examples 2b and 2c is that they require more parts.
Collector follower
That leaves the open collector buffer in the form of an IC type 7404. This solution, however, also has a few disadvantages. You do not always need all of the 6 buffers in one IC. Also, the SMD version can only handle 12 V. This is too low and dangerous if we happen to supply the load from an unregulated voltage.
The solution presented here combines in one transistor the advantages of the emitter follower (inactive when power is first applied) and open collector (higher power supply voltage, lower current). This circuit has been known since the valve era by the name cascode (drive via the cathode). The goal was to reduce the Miller-effect of the internal (parasitic) capacitances. Not having the option of reducing the capacitance between the internal electrodes, a lower voltage was used instead. The cas-code circuit is often used in powerful transmitters (tens of kW) to minimise the Miller-effect. This circuit was also used to limit transistor conduction and to keep the dissipation within bounds, which increased the life of bipolar transistors. This was in the IGBT and VMOS era.
The transistor conducts only when the output from the microprocessor is low (refer Figure 3). The base current is limited by resistor R. This current is determined by the current flowing through the load. When the power is switched on, both the base and emitter see the same potential, VCC, so the transistor remains blocked. One thing we have to keep in mind: we may not exceed the current rating of the microprocessor output because it has to cope with all the current flowing in the emitter of the transistor.
In the case of the quite common 80C51, this maximum current is typically 3.2 mA (two LS TTL loads). This is sufficient to drive an LED without overloading the 5-V regulator, or for driving a PNP power stage at the high side (Figure 3b). The parallel Philips PCF88574 I2C interfaces can handle 25 mA. For the Atmel AT89Cx051 as well as for the Philips P89LPC9xx the limit is 20 mA. For the latter type the cascode circuit or ‘collector follower’ is even more interesting when the outputs are configured as open-drain because the nominal voltage is only 3.6 V. In all cases we have to make sure that the maximum dissipation of the
Figure 3. Cascode driver stage with discrete transistor.
package is not exceeded. 24 V is sufficient to energise its are determined by the power
Should this be the case, then the half Watt relay coil, which in PNP (or VMOS) transistor.
number of open collectors turn can drive a load of 16 A at The cascode transistor can be a required will probably justify 230V. ‘digital’ type with integrated resorting to a 7404. For loads driven from the positive base and emitter resistors.A current of around 20 mA at side, the voltage and current lim-
or “collector follower”
Jean-Paul Brodier
All microprocessors from the 8051 family have inputs and outputs that are ‘quasi-bidirectional’. This means that when power is first applied, the ports behave as inputs with a logic high level and a weak pull-up.,
Glitch
a relay or some other load such as When driving an optocou-pler or LED, there is a problem
at power on: the NPN transistor in the common emitter connection (Figure 1) causes an undesirable excitation of the load from the moment power is applied until the microprocessor has had the chance to turn the output low. In addition, logic high outputs are seldom able to deliver enough current to drive the transistor into saturation because they have been designed to be active low.
Figure 1. An NPN transistor drives a load.
To solve both of these problems in one hit, we have to make the active level logic low. This can be done in three different ways: use an emitter follower as a buffer stage (Figure 2a), an inverter in a common emitter circuit (Figure 2b) or an inverter/open collector circuit (Figure 2c). The disadvantage of solution 2a is the fact that the voltage to the load is reduced. In the case of a relay with a 5-V coil there is the risk that the resulting voltage is too low. The disadvantage of examples 2b and 2c is that they require more parts.
Collector follower
That leaves the open collector buffer in the form of an IC type 7404. This solution, however, also has a few disadvantages. You do not always need all of the 6 buffers in one IC. Also, the SMD version can only handle 12 V. This is too low and dangerous if we happen to supply the load from an unregulated voltage.
The solution presented here combines in one transistor the advantages of the emitter follower (inactive when power is first applied) and open collector (higher power supply voltage, lower current). This circuit has been known since the valve era by the name cascode (drive via the cathode). The goal was to reduce the Miller-effect of the internal (parasitic) capacitances. Not having the option of reducing the capacitance between the internal electrodes, a lower voltage was used instead. The cas-code circuit is often used in powerful transmitters (tens of kW) to minimise the Miller-effect. This circuit was also used to limit transistor conduction and to keep the dissipation within bounds, which increased the life of bipolar transistors. This was in the IGBT and VMOS era.
The transistor conducts only when the output from the microprocessor is low (refer Figure 3). The base current is limited by resistor R. This current is determined by the current flowing through the load. When the power is switched on, both the base and emitter see the same potential, VCC, so the transistor remains blocked. One thing we have to keep in mind: we may not exceed the current rating of the microprocessor output because it has to cope with all the current flowing in the emitter of the transistor.
In the case of the quite common 80C51, this maximum current is typically 3.2 mA (two LS TTL loads). This is sufficient to drive an LED without overloading the 5-V regulator, or for driving a PNP power stage at the high side (Figure 3b). The parallel Philips PCF88574 I2C interfaces can handle 25 mA. For the Atmel AT89Cx051 as well as for the Philips P89LPC9xx the limit is 20 mA. For the latter type the cascode circuit or ‘collector follower’ is even more interesting when the outputs are configured as open-drain because the nominal voltage is only 3.6 V. In all cases we have to make sure that the maximum dissipation of the
Figure 3. Cascode driver stage with discrete transistor.
package is not exceeded. 24 V is sufficient to energise its are determined by the power
Should this be the case, then the half Watt relay coil, which in PNP (or VMOS) transistor.
number of open collectors turn can drive a load of 16 A at The cascode transistor can be a required will probably justify 230V. ‘digital’ type with integrated resorting to a 7404. For loads driven from the positive base and emitter resistors.A current of around 20 mA at side, the voltage and current lim-
pot as interrupt generator
In battery-powered, microcontroller driven circuits, as well as with microcontrollers operating in cars, it is desirable to switch the micro into power-down mode once a task has been completed. An interrupt request is then required to wake up the micro. This circuit allows an interrupt to be generated in a simple way using a common potentiometer. In the example circuit, the pot may also copy its spindle position to the ADC. This enables the pot to be used for continuously variable settings (like volume) as well for getting the micro out of its power-down mode.
IC1A is configured as a differentiator with R3 preventing oscillation by keeping the gain down to 10 times. Because the opamp operates off a single-rail supply voltage, an 18k/10k potential divider (R1/R2) is able to create a virtual ground level at +1.75 V. This can be done because the LM358 can handle input levels of up to 3.5 V when supplied at 5.0 volts. IC1A supplies a brief High pulse at a falling input voltage, and a similar Low pulse when the input voltage rises. In order to get a High pulse when the potentiometer spindle is turned cw or ccw, IC1B is set up as an inverter. Next, each opamp output drives the base of a BC547 transistor. The 5 V-to-0 V transitions at both collector outputs are shaped and combined into a usable interrupt pulse by three NOR gates IC2A, IC2B and IC2C.If the potentiometer spindle is turned very slowly, it is possible that the circuit does not respond
That is why an LED has been added that lights briefly when a pulse is generated. Finally, a tip: a 100-pF capacitor may be connected in parallel with R5 for additional suppression of self-oscillation.
IC1A is configured as a differentiator with R3 preventing oscillation by keeping the gain down to 10 times. Because the opamp operates off a single-rail supply voltage, an 18k/10k potential divider (R1/R2) is able to create a virtual ground level at +1.75 V. This can be done because the LM358 can handle input levels of up to 3.5 V when supplied at 5.0 volts. IC1A supplies a brief High pulse at a falling input voltage, and a similar Low pulse when the input voltage rises. In order to get a High pulse when the potentiometer spindle is turned cw or ccw, IC1B is set up as an inverter. Next, each opamp output drives the base of a BC547 transistor. The 5 V-to-0 V transitions at both collector outputs are shaped and combined into a usable interrupt pulse by three NOR gates IC2A, IC2B and IC2C.If the potentiometer spindle is turned very slowly, it is possible that the circuit does not respond
That is why an LED has been added that lights briefly when a pulse is generated. Finally, a tip: a 100-pF capacitor may be connected in parallel with R5 for additional suppression of self-oscillation.
elektor time standart
Elektor Time standard (1988)
Jan Buiting
The Elektor Time Standard and associated Slave Unit were spin-offs of another hugely successful project, the DCF77 Receiver / Locked Frequency Standard. The receiver was published in the January 1988 issue, the Time Standard and Slave display in the next two issues. All units were housed in then very fashionable and (expensive!) Ver-obox two-part ABS enclosures which had also been used for a number of Elektor test instrument designs published between 1984 and 1987. The Time Standard box was designed to process seconds pulses received from the VLF (77.5 kHz) DCF77 time standard transmitter in Mainflingen, Germany, and display time (with atomic accuracy) and date on an LC display. The circuit was based on then extremely popular 8052AH-BASIC microcontroller from Intel, a device, we can safely claim, that made it to fame & glory thanks to Elektor Electron-
ics. The 40-way DIL chip contained a BASIC interpreter capable of executing ‘tokenised’ code from an external EPROM. This, we were told by our resident designer Peter Theunissen, made writing the DCF77 time signal decoding routines ‘a doddle’ using his specially adapted BASIC computer and interpreter. For example, when concerns were raised (by myself) that not all of Europe was in the time zone served by DCF77 (i.e., CET or GMT+1h), a menu option was quickly added to allow users to select between UTC and GMT+1h. As a relative novelty, a ready-made self-adhesive front panel foil with built-in membrane keys was designed into the project. This expensive item had been produced specially for Elektor. However, when the article went into print (using a rather glum page layout and black & white print), there were yet other concerns regarding the range of the DCF77 transmitter. This is officially claimed as “approximately 1,000 km by groundwave propa-
gation”. A quick use of a compass and a map of Europe suggested that the signal would only cover the south-eastern part of the UK, possibly including Greater London. For a couple of months we waited with baited breath for readers’ responses, only to receive two enthusiastic reception reports, one from the East coast of Ireland and another from Riyadh, Saudi Arabia! The latter report came from a reader working at a chemical laboratory. I remember he wrote that DCF77 could be received for a few minutes a day only, synchronising the clock, usually around nightfall despite heavy ‘static’. A huge wire antenna was used (nothing like the 1-inch ferrite rods we used in our lab, which is less than 100 km away from Mainflingen). Although the BASIC program list-
ing for the Time Standard was freely distributed to interested readers (on paper, in an envelope, by snail mail!), only very advanced readers were able to compile the program into tokenised code and burn it into an EPROM. Most other readers had to rely on a ready-programmed 27C64 supplied through our Readers Services. Apart from displaying time and date at atomic accuracy, the Time Standard was also capable of outputting time/date information
in the form of ASCII character strings for other (intelligent) equipment to use, for example, a timer or switching clock. Although sales figures of the PCB and EPROM were in the hundreds, I never heard from anyone actually having enjoyed the wonders of the ASCII output so extensively described in the article. The Slave unit published in March 1988 was connected to the Time Standard via screened (microphone) cable, the idea being that one or more Slave units could be installed on walls in rooms at some distance from the main clock unit. Central timekeeping deluxe for offices, labs, schools and workshops, but at what an expense and design effort! Not too many PCBs were sold for this extension of the Time Standard.
Blog Arşivi
-
▼
2007
(34)
-
▼
Ağustos
(22)
- Microcontrollers
- POWER TRANSFORMERS
- Development of an integrated robotic laser welding...
- Sensor-guided robotic laser welding for 3-D seam w...
- PLC controller
- CHAPTER 6 Examples for subsystems within microcont...
- Industrial computers
- Macros and subprograms chapter6
- 4.2 Program package MPLAB chapter 4
- Assembly Language Programming CHAPTER 3
- CHAPTER 2 Introduction to PLC controllersIntroduc...
- HOW PLASMA CUTTERS WORK part1
- HOW ELEKTRİK MOTORS WORK part1
- PLC
- PIC16F628A
- WHAT IS THE PIC
- Laser Cutting
- power converter
- feature article cnc
- HOW THE BUILD YOUR OWN CNC MACHINES
- robot sensors
- servo future columns
-
▼
Ağustos
(22)
Hiç yorum yok:
Yorum Gönder