The system Pin Theremino
Are called “PIN” Input-Output connectors present on Master and Slaves.
Pin Out In the version of the Master module 4.0 onwards
In this version, the IN-OUT pins are 12 and are marked with circles and numbers.
The old Master had 6 or 10 PIN, arranged as follows:
The first Master had only 6 Input-Output pin marked OUT PINS – 1 2 3 4 5 6
The Master with firmware version 3.0 and subsequent, they had 4 additional Pin:
The PIN 7 on the connector CN2 (AUX), marked SDA
The PIN 8 on the connector CN2 (AUX), marked SCL
The PIN 9 on the connector CN2 (AUX), marked Into
The PIN 10 on the connector CN3 (Serial), marked Dir.
In pin Out of slave modules
The modules “Slave” have 10 PIN. The pins to 1 to 8 are universal, the 9 and 10 are digital only.
ATTENTION: even the serial line uses three-way connectors similar to pins, but should not be confused with them. The serial line only serves to connect the modules with each other. You do not need to connect sensors or actuators to the serial line.
The signals of the pins
The yarn “GND” zero voltage reference port It is connected with the corresponding GND sensor or actuator.
The yarn “+5V” brings the supply voltage from which you can pick up a few hundred milliamps.
The yarn “Signal” takes an analog signal from 0 to 3.3 volts, coming from sensors or outbound to the actuators.
The yarn “3.3” bring the stabilized voltage by 3.3 Volts, from which you can withdraw up to a hundred milliamps.
Maximum current and voltage on the Pin wire SIGNAL
For pin configured as OUTPUT ( Digout, Pwm8, Pwm16, Servo8 and Servo16 ) the maximum current is +/-15mA (both towards mass towards the positive)
For pin configured as INPUT ( DigIn, DigInPu, ADC, Zip code, RES, Counter, FastCounter ) the following considerations apply:
- The voltage applied to the input pins must be limited in range by VSS-0.3 to VDD + 0.3
- You cannot restrict the voltage with P-N diodes. Schottky diodes should be used. but they have a parasitic capacitance too high. Then the limitation must be entrusted only to the internal diodes.
- The maximum applicable current internal protection diode is +/-100UA (*)
(*) This is the maximum current to avoid operating errors. During ESD events the maximum current can be much higher than, without any risk.
Only the special Pin 7, 8 and 9 accept input signals from 5 Volts. For accuracy from -0.3 5.3 volts to Volts.
Sensor connectors present on special slave, such as CapSensor, I'm not real “PIN” and there you can connect standard sensors and actuators.
Transient errors caused by surges on Input pins
Sometimes, touching the pins with your fingers, the HAL program stops communicating with hardware, writes a red line with the message "disconnected" and you have to press "Recognize".
This will occur if the body is charged with static electricity and emits a small electric shock. The components of the system Theremino never break, But even if you don't see the spark, It's always tension of many thousands of Volts. These discharges may send haywire is the serial communication that the USB communication.
During the tests we take special care to handle forms only from off or touch before the mass (for example the USB connector) The final design should always include an insulating enclosure that prevents users from touching live metal parts.
Protection against connection failures and surges
The pins are protected against connection errors, for example, you can connect a serial cable to a Pin of any kind or a Pin to another, and perhaps reverse the connections so that the signal end to ground or vice versa and the only result is a temporary not work.
ATTENTION: The pins are protected against overvoltages and you can touch them with your hands without special precautions but there is no guarantee that they can withstand anything. If you connect your 220 volts to any In-Out Pin, or the serial transmission line you get a sure disaster and probably also destroys half PC
And’ well take care in links because some reversals may lead to short the 5 Volt USB line and then intervene in protection to your PC. In other cases you can connect your 5 volts to sensors that do not bear. Also in this case does not break anything but it is better to avoid it.
The modules of the system Theremino there are no fuses or protection components which would have degraded performance. The principle followed was that instead of using the components such as fuses and make sure that cost little and are easily replaceable.
The numeric values of the Pin
Sensors and actuators produce and use numeric values “rough” very different from each other. In some cases these values to 0 to 255 (8 bit), in others from 0 to 65535 (16 bit) or very small (from 0 to 1), in the case of digital inputs, or very large (from 0 to 16777215), for “Capsensorhq”. and up to over 4 billions in some cases like the “Period”.
To facilitate connections and modularity the system Theremino transform all raw values, in a “range” standard 0 to 1000
Use values from 0 to 1000 It does not limit the resolution only 1000 values, because these are numbers of type “Float” (with the comma), they have a much higher resolution, than the best existing sensors.
Output numeric values are treated as
Dig_Out
The value read from the slot is related according to “Min value” and “Max Value” and transformed into a value between zero and one. This value is filtered with a FIR filter (linear or growth), with adjustable “Response Speed”. The output value of the filter is called “Normalized” (value between zero and one, and filtered).
If the normalized value exceeds 0.5, sends one to PIN hardware, that means on (3.3 Volts).
If the normalized value is less than 0.5, a zero is sent to PIN hardware, that means SWITCHED OFF (zero volts).
Exchanging values “Min value” and “Max value” (Exchanging values 1000 / Max value = 0) Exchanging values. Exchanging values, Exchanging values 500, Exchanging values.
Pwm_8 and Pwm_16, Servo_8 and Servo_16
The value read from the slot is related according to “Min value” and “Max Value” and transformed into a value between zero and one. This value is filtered with a FIR filter (linear or growth) with adjustable “Response Speed”. The output value of the filter is called “Normalized” (value between zero and one, and filtered).
The normalized value is then compared according “Min time (uS)” and “Max time (uS)” and turned into a number between “0” and “64000”. The hardware treats this number as sixteenths of microsecond, then 64000 It means 4 milli seconds.
The PIN type “PWM” Emit pulses with variable time between 0 Ms and 4 Ms and with fixed repetition time 4 mS.
The PIN type “Servant” Emit pulses with variable time between 0.5 Ms and 2.5 mS (If not regulated differently) and with fixed repetition time 16 mS.
Stepper
The value read from the slot, is related (with “1000 means mm” and “0 means mm”) and transformed into a value between zero and one. If you set “1000 means mm” = 1000 and “0 means mm” = 0, then do not run conversions of scale and the value that comes out of the slot is considered “mm”.
From here on, the value is always in millimeters. “Zero” indicates zero millimeters and “one” indicates 1000 mm. This value is not limited to between zero and one, but between two billion positive step, and two billion negative step. If you are using “Steps for mm = 200” the limits are: +10 Km and -10 Km.
The value is then filtered with an IIR filter (linear or growth), with adjustable “Response Speed”. The output value of the filter is called “Filtered”
The final value that is sent to the hardware is a STEP number (pre-multiplied by the value “Steps for mm”) and represents the “destination”.
The special value NAN_Reset, has the special meaning of resetting the axis. When you write a Reset, a Pin Stepper Slot, the motor stops immediately. Subsequently, the first value that will be written into the Slot, will be the value “zero reference”. The NAN_Reset is available in Theremino Automation as “Reset”, or in the new class “ThereminoSlots”, available with the source code of Theremino Automation.
Pwm_Fast
If you enable the button “Frequency from slot” the filtered value sets the frequency. The incoming values from the slots are usually between 0 and 1000, but are transformed into a frequency value, between “Min value” and “Max value”.
If you enable the button “Dury cycle from slot”, the filtered value sets the time report, between low and high signal. The incoming values from the slots, usually apply between 0 and 1000, but are multiplied or divided, by changing “Min value” and “Max value”. Normally you set Min = 0 / Max = 1000 and the Duty Cycle adjusting, providing values to 0 to 1000.
The minimum frequency is generated 245 Hz and maximum 5.3 MHz around. The Duty Cycle goes from zero (the output signal always low) until 100% (a high output signal).
The granularity of the regulations depends on the frequency set:
- A 1000 Hz precision of the Duty Cycle is 16 bits (errors: 0.0015%) and the frequency is 14 bit (errors: 0.006%)
- A 16 KHz precision of the Duty Cycle is 12 bits (errors: 0.024%) and the frequency is 10 bit (errors: 0.1%)
- A 1 MHz the precision of Duty Cycle drops to just 6 bits (errors: 1.5%) and the frequency only 4 bit (errors: 6%)
Because of granularity the higher frequencies are: 5.333 MHz / 4 MHz / 3.2 MHz / 2.666 MHz / 2.286 MHz / 2 MHz / 1.777 MHz / 1.6 MHz / 1.454 MHz / 1.333 MHz / 1.231 MHz / 1.066 MHz / 1 MHz
How to Input numeric values are handled
Digital_ln, Digital_In_Pu
The digital inputs are Schmitt Trigger, so the voltage must exceed 2 Volts, to take on “On” and must come down under 1 Volts, to take on “OFF”. The value ON is transmitted as “1” and the value “OFF” as “0”. These two values are filtered using a FIR filter (linear or growth) with adjustable “Response Speed”. The filter can be used to make the average of many impulses or like mechanical contact debounce. Finally did a comparison. If the filtered value exceeds 0.5 then it is sent to the value “Max Value”, otherwise the value is sent “Min value”.
Adc_8, Adc_16, Cap_8, Cap_16, Res_8, Res_16
These inputs are measuring different sizes (tension, capacity and resistance) and turn them into a number between 0 and 65535 (16 dynamic bit). These values are standardized between zeros and ones and filtered using a FIR filter (linear or growth), with adjustable “Response Speed”. The filter can be used to make the average time, and improve the stability of the measures. Finally the normalized value is expanded between “Min value” and “Max Value” and sent to the Slot.
Capsensor
The CapSensor measure very small capacity and become a number to 32 bit, that represents a swing time, in sixteenths of microsecond. The HAL application calculates the frequency of oscillation, and this goes back to the fixed and variable capacity, and finally with a fair approximation, the distance in millimetres. This distance is normalized between zero and one, using parameters DistMin and DistMax and filtered using a FIR filter (linear or growth), with adjustable “Response Speed”. The filter can be used to make the media storm and improve stability. Finally the normalized value is expanded between “Min value” and “Max Value” and sent to the Slot.
Counter, Counter_Pu, FastCounter, FastCounter_Pu
All counters generate a count from 0 to 65535 (16 bit). When the count exceeds 65535 the number starts from scratch. This system allows many applications to read the serial number without danger of losing counts.
Period, Period_Pu, SlowPeriod
This input digital input time reads between two consecutive rising. Time is measured in sixteenths of microsecond. The operation of these pins was not checked, and may contain errors.
Usound_Sensor
This input is specialized for reading Ultrasonic sensors. The treatment of values is similar to that from the ADC.
The pin-type Counter, FastCounter and Period include a converter, that calculates the frequency. The operation of this converter has not been checked, and may contain errors.
Stepper_Dir
This input is always associated with a Pin type Stepper. The raw value that is read by the hardware, is the number of steps (positive or negative), missing to reach the “destination” specified. The application calculates HAL mm (and fractions), by dividing the raw value, for the value “Steps for mm” the specific engine. Finally this value in millimeters, is written into the Slot, and can be read by the CNC application. The CNC application, knowing the remaining distance and destination (specified by herself), can calculate, with a simple subtraction, the actual location of the engine. Knowing the location of each engine, in every moment, control algorithms are simplified and their operation is more accurate.
Encoder_A, Encoder_B, Encoder_A_Pu, Encoder_B_Pu
This pair of inputs the two stages of the law Encoder “quadrature”. The count of the encoder is written into the Slot associated with the Pin “Encoder_A”.
The encoder generates a count from 0 to 65535 (16 bit). When the count exceeds 65535 the number starts from scratch. This system allows many applications to read the serial number without losing counts.
Output pin types
Dig_Out
Digital output that can be used directly to power an led or with more or less complex adapters for loads of great power, possibly opto-isolated.
Currently each Pin of type “Digout” USA 8 bits for data transmission, but in future versions is expected to package up to 8 pins DigOut in a Byte
Pwm_8 and Pwm_16
PWM signal output (Pulse Width Modulation) is a type of digital modulation, that makes it possible to obtain a medium voltage variable, dependent on the ratio of the duration of the’ positive and negative pulse. By adding a resistor and a capacitor, You can obtain a DC voltage can be set from 0 and 3.3 volts. An led can be connected directly and its light can be adjusted from zero to maximum. Theremino system modules generate Pwm signals from 0 to 4 mS. The repetition time is 4 mS.
Many devices can be connected to PWM outputs, as the LEDs and incandescent lamps are used to be seen by living beings. Since the eyes have a logarithmic stimulus-response, the upper half of the adjustment range will appear compressed. To correct this defect PWM pins have the option “Logarithmic response”
The Pwm8 has a lower resolution (only 256 different levels), though gradualness is sufficient, You should use this type of Pin in place of Pwm16 to occupy only eight bits (a byte) When communicating.
Servo8 and Servo16
Signal output specific to the servo controls. Servo commands usually have a hike of about 180 degrees, virtually all are beyond the 150 degrees and someone comes up to 210 degrees.
The normal servo controls produce full travel with times from 0.5 Ms a 2.5 mS (from 500 us to 2500 uS). Then the system modules Theremino generate signals “Servant” from 0.5 to 2.5 mS. The repetition time is fixed at 16 mS.
The ability to adjust the minimum and maximum time, even outside the normal range of servo motors (up to 0 Ms and up to 4 mS) allows you to use the servant of all kinds, digital and analog, and every Builder. Although different from the normal standards of the radio controls.
When connecting servos that have strong inrush current, particularly large ones and digital ones, then it is good to stop the line of communication with an external power adapter and a power supply from 5 Volt 1A to 5A depending on how many and which servo link.
The Servo8 has a lower resolution (only 256 different levels), though gradualness is sufficient, You should use this type of Pin in place of Servo16 to occupy only 8 bit (a byte) When communicating.
Stepper
This type of Pin is used to control the stepper motors. Each pulse emitted by Pin, advances the stepping motor. Each Pin type Stepper, necessarily follows a Pin, StepperDir type (that is explained in several parts of this same page). The output signal of the StepperDir specifies the direction of movement of the motor. The stepper motors do not connect directly, but need a driver and a power supply. For more information see This page.
Features for all types of output pin Low voltage: 0 Volt High Voltage: 3.3 Volt Max current sink: 18 but maximum current source: 18 mA
Input pin types
DigIn and DigInPu
Digital input with or without PullUp.
Currently each Pin of type “DigIn” or “DigInPu” USA 8 bits for data transmission but in future versions of the devices of the system Theremino is expected to package up to 8 pins DigIn in a Byte
Adc8 and Adc16
Using this type of pin to turn an analog input voltage from 0V to 3.3 V to a numeric value from 0 to 65535.
The Adc8 type has a smaller resolution (only 256 different levels) though gradualness is sufficient, it is good to use this type of Pin in place of Adc16 to occupy only eight bits (a byte) When communicating.
The Adc16 type has an effective resolution of approximately 12..14 bit (see notes at the end of this document)
Cap8 and Cap16
Using this type of pin to measure small capacity, the PicoFarad. The main use is to read capacitive keypads and capacitive controls of type “slider” but you can also create simple proximity switches without using expensive commercial proximity sensors.
For most keyboards and proximity sensors “difficult” (with controls “slider” or with very often) use the pins with low parasitic capacitance (see the notes at the end of this document)
The Cap8 has a lower resolution (only 256 different levels) though gradualness is sufficient, it is good to use this type of Pin in place of Cap16 to occupy only eight bits (a byte) When communicating.
The type Cap16 has an effective resolution of approximately 12..14 bit ( see notes at the end of this document )
Res8 and Res16
This type of pin is used to measure the resistance value of a sensor. The main use is to read the position of variable resistors and slider.
You get the same result as a potentiometer connected to a pin ADC but it only takes two wires and you don't even need a stabilized voltage from 3.3 volts for the third wire of the potentiometer.
The measurable resistance range is from 0 to 50 Kohm. The measurement is performed with a current from 66 UA (+/- 20 %) that multiplied by 50 Kohm generates the voltage full scale 3.3 volts.
Res8 has a lower resolution (only 256 different levels) though gradualness is sufficient, it is good to use this type of Pin in place of Res16 to occupy only eight bits (a byte) When communicating.
The Res16 type has an effective resolution of approximately 12..14 bit (see notes at the end of this document)
Counter and CounterPu
Each Pin of type “Counter” or “Counter_Pu” USA 16 bits for data transmission.
All pins can be programmed as Counter or CounterPu. but the maximum count rate is quite limited, around some KHz, load-dependent on the microcontroller and the duty cycle of the signal. If you need a higher speed, you need to use the FastCounter.
FastCounter and FastCounterPu
Each Pin of type “FastCounter” or “FastCounter_Pu” USA 16 bits for data transmission.
The quick count (FastCounter) allows you to count very high frequencies (up to 50 MHz) but it can be enabled only on pin 8.
To obtain the maximum counting frequency requires that the duty cycle is 50% with a minimum of low voltage and high voltage 10nS 10nS.
Period and PeriodPu, SlowPeriod
Each Pin of type “Period” USA 32 bit (4 bytes) for data transmission.
This type of Pin measures the period of a repetitive waveform, from Hill to Hill, up to a maximum period of about 260 seconds.
The resolution is one sixteenth of a microsecond.
The accuracy is +/- 1% in an ambient temperature range from 0C to 50 c
The cycle time can be converted by the program “HAL” in a frequency. This technique allows to measure very low frequencies (up to about one-tenth of Hertz) with high resolution.
Usound_Sensor
Each Pin of type “Usound_sensor” USA 16 bit ( 2 bytes ) for data transmission.
Many ultrasonic distance sensors for example the model SRF05, can be read with this type of Pin.
This pin type generates a pulse of “Start” positive every 33 mS ( about ) and measures the time the pulse returning from 0 to 32000 microseconds.
The time is then converted by the program “HAL” in a distance, taking into account the speed of sound in air.
Encoder_A, Encoder_B, Encoder_A_Pu, Encoder_B_Pu
Each Pin of type “Encoder” or “Encoder_Pu” USA 16 bits for data transmission.
All pins can be programmed as Encoder or EncoderPu. The maximum count rate is limited, around 10 KHz, load-dependent on the microcontroller.
Features for the input Pin Low voltage: from 0 to 1 Volt High Voltage: from 2.3 to 3.3 Low minimum Voltage volts: -0.3 Volts with maximum 100uA (Note 1) Maximum high voltage: +3.6 Volts with maximum 100uA (Note 1) (Note 2) Pull-up current: from 50 to 400 UA (typical = 250)
(Note 1) If the signal drops below a -0.3 Volts or above 3.6 Volts you have to limit the current to +/-100uA. Usually limits the current with a 100 k resistor, in series with the signal wire. The resistor should be positioned close to the input pins to minimize noise collected from reading wire. The value of the resistor depends on the expected Extras-signal voltage. As a general rule shall be calculated 10 kohm for every extra-voltage volts.
(Note 2) Special pins 7, 8 and 9 accept signals with an upper limit of 5.3 Volts. All other features are the same as the other pins.
Special input pin
Capsensor
Each Pin of type “Capsensor” USA 24 bit (3 bytes) for data transmission.
This type of Pin is special, so the voltage characteristics listed above are not valid.
StepperDir
The Pin type “Stepper_Dir” use 32 bit (4 bytes) for data transmission.
This Pin is used for stepper motors and it's a special Pin, for various reasons:
1) Cannot exist alone, must always be preceded by a Pin type Stepper.
2) Despite being an input Pin for the software, the corresponding hardware is a digital output signal (that specifies the direction for motor).
3) The value that is read by the software, does not come from physical Pin, but by stepping motor control firmware. This is the distance from your destination in millimeters. The details are explained, at the top of this page.
Notes for all digital input pin
DigIn, DigInPu, Counter, CounterPu, FastCounter, FastCounterPu, Period, PeriodPu, UsoundSensor, Encoder_A, Encoder_B, Encoder_A_Pu and Encoder_B_Pu
The digital inputs are of type SchmittTrigger with:
– Low trigger voltage = 1 volts
– Trigger voltage high = 2 volts.
Troubleshooting notes Adc16, Cap16 and Res16
The resolution of 16 bit is not reached within the microcontroller ADC but with oversampling techniques written in the firmware you come around 14 bit. The system Theremino also implements error correction and digital filtering for noise reduction. These combined techniques to achieve an effective resolution of 16 bit with an acceptable response rate reduction.
To obtain the highest resolution you should also minimize the noise handling the disposition of ground connections, not using sensors with impedance too high (Max 10..50 Kohm), making connections not too long and avoiding the capacitive couplings with adjacent signals.
Notes for counters and encoders
To allow multiple programs to simultaneously use the same data, the counters are not reset in each reading, but they continue to grow until 65535 and then start again from scratch.
Programs that use them will get the new tick count difference between the new value and the previous. And’ also need to check that the new value is greater than or equal to the previous and, otherwise, must be corrected by adding 65536.
Between a reading and the following programs do not have to spend too much time, so read the counter in time before you reset twice.
The approximate time of repetition, Depending on the signal frequency counted, is shown in the following table:
Signal sampling time repetition ---------------------------------------- 50 MHz 1 mS 5 MHz 10 mS 500 KHz 100 mS 50 KHz 1 SEC 5 KHz 10 SEC
Notes for PullUp
In types of pins with PullUp adds a weak positive current use to link buttons or open-collector devices without having to add a resistor between the button and the positive voltage.
The current typical pull-up is 250 UA (low: 50 UA, maximum 500 UA).
Notes to the ADC, the Cap and Res
ADC inputs are not available on all pins, see the following table.
Form |
Pins are valid |
Pins are not valid |
Master |
1, 2, 3, 4, 5, 6 |
7, 8, 9, 10, 11, 12 |
Servant |
1, 2, 3, 4, 5, 6, 7, 8 |
9, 10 |
Leakage currents and pin capacity
For sensors that provide a very low current (the light sensors such as) and for the capacitive buttons use the pins with less leakage current and lower capacity.
Module Pins leakage current parasitic capacitance (Max) (approx.) ----------------------------------------------------------------- Master 1, 2 +/- 500 NA 30 PF Servant 1, 2 +/- 500 NA 30 PF Generic 1, 2 +/- 500 NA 30 PF Servant 7, 8 +/- 200 NA 20 PF Master 3,4,5,6 +/- 100 NA 10 PF Servant 3,4,5,6 +/- 100 NA 10 PF Generic 3,4,5,9,10 +/- 100 NA 10 pF
Accuracy of the signals "Servant", "Pwm" and “PwmFast”
Pin type Servo
Effective resolution |
Accuracy |
Number of drafts in 1 mS |
Repetition time |
Freq. of repetition |
|
Servant 8 bit |
8 bit |
3.90 uS |
256 |
16 mS |
60 Hz |
Servant 16 bit |
14 bit |
0.06 uS |
16384 |
16 mS |
60 Hz |
Servo signals vary from about 0.5 mS (minimum) about 2.5 mS (maximum) and the repetition time is approximately 16 mS. Servo signal accuracy decreases if the same module are also used pin-type "Pwm" or “Stepper”.
Repetition time
The repetition time increased up to 24 Ms in old analog radio Futaba products, because the complete signal was a train of pulses containing all servo signals, one after another. Then with 12 servant stretched to 24 Ms "on average" 24 Ms = 10 Basic Ms + 1 mS * 12 Servant. For these reasons all servant accept a repetition that can go from 5…8 Ms up to 25…30 mS. We have therefore chosen 16 Ms of repetition.
Times Minimum Maximum
The signal was originally established by 1 Ms a 2 mS (years 80 of 1900) but over the years it has expanded to 0.5 Ms per piece. The current servant to make any race (which is normally 180 degrees) need a signal from approximately 0.5 Ms about 2.5 mS. And even the servant multiturn need to give any couple. We then made adjustable minimum and maximum time from 0 to 4 mS, to adapt to any servo.
PWM pin
Effective resolution |
Accuracy |
NUM. steps in 4mS |
Repetition time |
Freq. of repetition |
|
PWM |
8 bit |
16 uS |
256 |
4 mS |
250 Hz |
PWM_ 16 bit |
16 bit |
0.06 uS |
65536 |
4 mS |
250 Hz |
Whatever the number of pins used as "Pwm", the repetition time is always 250 Hz. The maximum precision of 16 bits is obtained by configuring only one pin "PWM" and no "Servant". Increasing the number of PWM signals and servant (or stepper) the same module, the maximum precision of signals "PWM" descends gradually to 8 bit.
Pin type PwmFast
The frequency and the Duty Cycle, generated by Pin-type PwmFast, they have a very high stability and independent of how you configure the other pins.
The minimum frequency is generated 245 Hz and maximum 5.3 MHz around. The Duty Cycle goes from zero (the output signal always low) until 100% (a high output signal).
The granularity of the regulations depends on the frequency set:
- A 1000 Hz precision of the Duty Cycle is 16 bits (errors: 0.0015%) and the frequency is 14 bit (errors: 0.006%)
- A 16 KHz precision of the Duty Cycle is 12 bits (errors: 0.024%) and the frequency is 10 bit (errors: 0.1%)
- A 1 MHz the precision of Duty Cycle drops to just 6 bits (errors: 1.5%) and the frequency only 4 bit (errors: 6%)
Because of granularity the higher frequencies are: 5.333 MHz / 4 MHz / 3.2 MHz / 2.666 MHz / 2.286 MHz / 2 MHz / 1.777 MHz / 1.6 MHz / 1.454 MHz / 1.333 MHz / 1.231 MHz / 1.066 MHz / 1 MHz
I2C_SDA and I2C_SCL
The ThereminoMaster could communicate I2C (through the AUX port), but does not contain the necessary firmware. Anyone wishing to use the I2C should write the firmware and also edit the application HAL, to receive these data via USB. It is therefore advisable to do not use devices that communicate with this Protocol.
All I2C sensors have a corresponding analog, connected to our ADC, provides the best features. Analogue sensors are also cheaper and can be connected with very long cables (hundred meters), without losing precision.
We initially thought of implementing this Protocol, but later we found out that the I2C devices do not follow a common standard. Why users should program a different firmware for each sensor. I2C communication is slow and ADCs integrated into sensors are of low characteristics, often only a 8 bit and oversampling. And finally the I2C sensors cannot be connected at a great distance, because the cable capacity degrades digital faces and produces transmission errors.
I2C is a two-wire serial communication system designed for communication between integrated circuits, at a short distance, generally on the same plate or electronic device (slow communications in TVs). I2C can communicate with a chain of devices (up to 128). The number of wires needed for connection is four because you must also lead the mass and power. The communication speed is modest and drops considerably increasing the number of connected devices.
Mca_8, Mca_16 and Mca_32
The documentation on these types of pin is exceeded – remains as a reference and for possible future developments.
We initially thought of implementing fast ADC with spectrometry of PIC. But further research has shown that most of the speed of the ADC is important to the signal to noise ratio and sound cards are hard to beat. So you probably these Pin type will never be used.
For more information about mass spectrometry reading here:– Electrical schematics and Assembly plans: www.theremino.com/technical/schematics
– Software: www.theremino.com/technical/schematics
– Gamma Spectrometry: www.theremino.com/blog/geigers-and-ionchambers
– Hardware, DIY and kits: www.theremino.com/contacts/producers
– Images and videos: www.theremino.com/video-and-images
—————–
These types of pins implement hardware of a Multichannel Analyzer with which you can build a device for Gamma spectrometry of nuclear radiation.
Mass spectrometry to distinguish between various substances that emit radiation, the most common are Uranium, Thorium, Potassium, Americium, Radio, Cesium and Cobalt.
The suffix 8, 16 and 32 These types does not indicate the bits but the bytes for which kinds of bandwidth use in Mca serial line.
The type Mca_32 uses well 32 bytes each refreshment, as 32 pin type Adc_8, and halves the number of other devices on the same line (ADC, DigIn, Digout, PWM etc…)
The type Mca_32 allows the fastest display update MCA, i.e. 1024 channels up to 15 times per second.