<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.ardumower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.219.27.134</id>
		<title>www.wiki.ardumower.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.ardumower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.219.27.134"/>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Spezial:Beitr%C3%A4ge/93.219.27.134"/>
		<updated>2026-10-14T00:14:48Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Charging&amp;diff=56</id>
		<title>Charging</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Charging&amp;diff=56"/>
				<updated>2014-09-11T19:59:23Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
'''Basic principle'''&lt;br /&gt;
&lt;br /&gt;
About an induction loop, the robot finds the charging station where he can be charged again. In this case, as long as the induction loop traversed (clockwise) to the charging contacts of the robot detect a voltage (charging voltage). There, the robot stops. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Charger''' &lt;br /&gt;
&lt;br /&gt;
The charger is in the cradle (or is connected to). The charger should accomplish the following things (in this case lithium-ion - Battery Lead is similar, but less critical): &lt;br /&gt;
Load battery pack via the charging pins of the robot &lt;br /&gt;
-Maximum Cutoff voltage / charge voltage compliance (charging voltage limit) &lt;br /&gt;
-Maximalen Charging current compliance (charging current limit) &lt;br /&gt;
If you are using an existing charging station, these things were implemented with high probability already there. &lt;br /&gt;
&lt;br /&gt;
'''Robot''' &lt;br /&gt;
&lt;br /&gt;
In the robot itself, the battery voltage is monitored (see diagram below). So it can be determined when the robot must go to the charging station. The robot and the voltage and the current during charging is controlled. So it can be determined whether the robot has reached the charger and when the battery is fully charged again. Ideally, the charging station also eat the loop transmitter:&lt;br /&gt;
&lt;br /&gt;
charging station circuit:&lt;br /&gt;
&lt;br /&gt;
Power supply =&amp;gt; Charger 24V (+)----- Charging station charger pin(+)&lt;br /&gt;
                GND         (-)----- Charging station charger pin(-)&lt;br /&gt;
                Charger 24V (+)----- DC-DC converter 5V  =&amp;gt; Perimeter sender Arduino Nano  &lt;br /&gt;
                Charger 24V (+)----- DC-DC converter 12V =&amp;gt; Perimeter sender MC motor driver&lt;br /&gt;
&lt;br /&gt;
robot charging circuit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Charging station (+)---+------+-- relais ---- current sensor ----- battery (+)&lt;br /&gt;
                              |&lt;br /&gt;
                              ---- voltage sensing&lt;br /&gt;
 Charging station (-)-- +------------------------------------------ battery (-)&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Charging&amp;diff=55</id>
		<title>Charging</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Charging&amp;diff=55"/>
				<updated>2014-09-11T19:46:42Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: Die Seite wurde neu angelegt: „'''Basic principle''':   About an induction loop, the robot finds the charging station where he can be charged again. In this case, as long as the induction lo…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Basic principle''': &lt;br /&gt;
&lt;br /&gt;
About an induction loop, the robot finds the charging station where he can be charged again. In this case, as long as the induction loop traversed (clockwise) to the charging contacts of the robot detect a voltage (charging voltage). There, the robot stops. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Charger''' &lt;br /&gt;
&lt;br /&gt;
The charger is in the cradle (or is connected to). The charger should accomplish the following things (in this case lithium-ion - Battery Lead is similar, but less critical): &lt;br /&gt;
Load battery pack via the charging pins of the robot &lt;br /&gt;
-Maximum Cutoff voltage / charge voltage compliance (charging voltage limit) &lt;br /&gt;
-Maximalen Charging current compliance (charging current limit) &lt;br /&gt;
If you are using an existing charging station, these things were implemented with high probability already there. &lt;br /&gt;
&lt;br /&gt;
'''Robot''' &lt;br /&gt;
&lt;br /&gt;
In the robot itself, the battery voltage is monitored (see diagram below). So it can be determined when the robot must go to the charging station. The robot and the voltage and the current during charging is controlled. So it can be determined whether the robot has reached the charger and when the battery is fully charged again. Ideally, the charging station also eat the loop transmitter:&lt;br /&gt;
&lt;br /&gt;
charging station circuit:&lt;br /&gt;
&lt;br /&gt;
Power supply =&amp;gt; Charger 24V (+)----- Charging station charger pin(+)&lt;br /&gt;
                GND         (-)----- Charging station charger pin(-)&lt;br /&gt;
                Charger 24V (+)----- DC-DC converter 5V  =&amp;gt; Perimeter sender Arduino Nano  &lt;br /&gt;
                Charger 24V (+)----- DC-DC converter 12V =&amp;gt; Perimeter sender MC motor driver&lt;br /&gt;
&lt;br /&gt;
robot charging circuit:&lt;br /&gt;
&lt;br /&gt;
Charging station (+)---+------+-- relais ---- current sensor ----- battery (+)&lt;br /&gt;
                              |&lt;br /&gt;
                              ---- voltage sensing&lt;br /&gt;
&lt;br /&gt;
Charging station (-)-- +------------------------------------------ battery (-)&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Bluetooth&amp;diff=54</id>
		<title>Bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Bluetooth&amp;diff=54"/>
				<updated>2014-09-11T19:30:50Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: Die Seite wurde neu angelegt: „ == '''Bluetooth HC-05  ''' ==    The Bluetooth Module will run at 3.3V, you need a voltage divider for RX line and an Pullup Resistor for the TX Line, like sh…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Bluetooth HC-05  ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Bluetooth Module will run at 3.3V, you need a voltage divider for RX line and an Pullup Resistor for the TX Line, like showing in Circuit.&lt;br /&gt;
&lt;br /&gt;
For Programming the Module, you must connect the Key Pin from the BT Module, to the 3,3 V from the Arduino and disconect after.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Programming use the Serial Console from Arduino and Press &amp;quot;d&amp;quot;&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Arduino_code_techniques&amp;diff=53</id>
		<title>Arduino code techniques</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Arduino_code_techniques&amp;diff=53"/>
				<updated>2014-09-11T19:12:14Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Arduino Version'''&lt;br /&gt;
&lt;br /&gt;
It is verry Importent that you use the Arduino Version 1.5.6-r2 or above AND select the right Board.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page shows common code techniques that can be useful on the Arduino.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mean filter=&lt;br /&gt;
*Problem: you have multiple ADC measurements (battery, ultrasonic etc.) that can contain outliers. What value is the 'most seen value'?&lt;br /&gt;
*Solution: This code will sort and choose the center value.&lt;br /&gt;
*Example measurements: 32,7,7,1,6,8,7,9,23,7,8,9,7&lt;br /&gt;
*Sorted: 1,6,7,7,7,7,7,8,8,9,9,23,32  &lt;br /&gt;
*Returned: 7 (center value)&lt;br /&gt;
&lt;br /&gt;
 unsigned int ADCmedian(int pin, int count) {&lt;br /&gt;
   int values[count], last;&lt;br /&gt;
   uint8_t j, i = 0;&lt;br /&gt;
   values[0] = 0;&lt;br /&gt;
   while (i &amp;lt; count) {&lt;br /&gt;
     last = analogRead(pin);&lt;br /&gt;
     if (i &amp;gt; 0) {       &lt;br /&gt;
        for (j = i; j &amp;gt; 0 &amp;amp;&amp;amp; values[j - 1] &amp;lt; last; j--) // Insertion sort loop.&lt;br /&gt;
    values[j] = values[j - 1]; // Shift ping array to correct position for sort insertion.&lt;br /&gt;
     } else j = 0;              // First ping is starting point for sort.&lt;br /&gt;
     values[j] = last;              // Add last ping to array in sorted position.&lt;br /&gt;
     i++;                       // Move to next ping.    &lt;br /&gt;
     if (i &amp;lt; count) delay(1); &lt;br /&gt;
    }&lt;br /&gt;
    return (values[count/2]); // Return the median.&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Motor_driver&amp;diff=52</id>
		<title>Motor driver</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Motor_driver&amp;diff=52"/>
				<updated>2014-09-11T18:59:49Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: /* MC33926 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
To control a motor, it requires a 'motor driver' - a circuit that allows current to flow either one direction or the opposite direction through the motor - depending on wether the motor should turn forward or backward (so called 'H-bridge'). There are many motor drivers available as ready-circuit boards, some can even control two motors  (Dual H-Bridge) - if you connect two of their H-bridges in parallel, the maximum motor current can be increased.&lt;br /&gt;
&lt;br /&gt;
If the direction of the motor does not need to be controlled, (e.g. for the blades), you do not need an H-bridge, but instead a simple 'switch' (e.g. MOSFET-transistor-circuit).&lt;br /&gt;
&lt;br /&gt;
== Wheel motors (H-Bridge) ==&lt;br /&gt;
The motor driver is connected through control signals to the Arduino. Example:&lt;br /&gt;
&lt;br /&gt;
 Arduino Digital Pin —&amp;gt; MOTOR-DIR Pin&lt;br /&gt;
 Arduino PWM Pin —&amp;gt; MOTOR-PWM Pin&lt;br /&gt;
 Arduino Analog Pin &amp;lt;— MOTOR-Current Sensor Pin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One pin controls the direction (forward/backward), the other pin controls the speed One analog input pin is connected to the current sensor The current sensor module (ACS712-05A) is connected in series with the motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ardumower_motor_driver_circuit.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Popular modules ==&lt;br /&gt;
=== MC33926 ===&lt;br /&gt;
&lt;br /&gt;
Features: up to 3A with integrated current sensor and thermal shut-down protection, for all kind of robot mowers) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Mc33926.jpg&lt;br /&gt;
File:Mc33926_example.jpg&lt;br /&gt;
File:MC33926_schematics.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
'''For the 0.9.3 Version&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
 M1_FB     --- Motor1 current sensor output (Arduino)&lt;br /&gt;
 M1_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M1_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M1_IN1    --- Motor1 PWM (Arduino)&lt;br /&gt;
 M1_IN2    --- Motor1 Dir (Arduino)&lt;br /&gt;
 EN        --- connect with jumper to VDD&lt;br /&gt;
 M2_FB     --- Motor2 current sensor output (Arduino)&lt;br /&gt;
 M2_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M2_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M2_IN1    --- Motor2 PWM (Arduino)&lt;br /&gt;
 M2_IN2    --- Motor2 Dir (Arduino)&lt;br /&gt;
 EN        --- connect with jumper to VDD&lt;br /&gt;
 VDD       --- Arduino 5V&lt;br /&gt;
&lt;br /&gt;
'''For the SVN Version&lt;br /&gt;
'''&lt;br /&gt;
 M1_FB     --- pinMotorLeftSense A1&lt;br /&gt;
 M1_SF     --- pinMotorLeftFault 25&lt;br /&gt;
 M1_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M1_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M1_IN1    --- pinMotorLeftPWM 5  &lt;br /&gt;
 M1_IN2    --- pinMotorLeftDir 31&lt;br /&gt;
 EN        --- pinMotorEnable  37&lt;br /&gt;
 M2_FB     --- pinMotorRightSense A0&lt;br /&gt;
 M2_SF     --- pinMotorRightFault 27&lt;br /&gt;
 M2_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M2_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M2_IN1    --- pinMotorRightPWM  3 &lt;br /&gt;
 M2_IN2    --- pinMotorRightDir 33&lt;br /&gt;
 EN        --- pinMotorEnable  37&lt;br /&gt;
 VDD       --- Arduino 5V&lt;br /&gt;
&lt;br /&gt;
=== L298N ===&lt;br /&gt;
Features: up to 4A (for Tianchen TC-G158, Ambrogio L50, etc.) &lt;br /&gt;
Notice: When using a L298N-motor driver, both H-bridges (2A) should be connected in parallel, so that both bridges drive a single motor (max. 4A):&lt;br /&gt;
&lt;br /&gt;
Connect in parallel:&lt;br /&gt;
 IN1 with IN4&lt;br /&gt;
 IN2 with IN3&lt;br /&gt;
 OUT1 with OUT4&lt;br /&gt;
 OUT2 with OUT3&lt;br /&gt;
(Do NOT disconnect the SENSE-lines, except when you want to measure current by a 'shunt' resistor).&lt;br /&gt;
&lt;br /&gt;
Make sure there is a jumper on both ENA and ENB. Also, make sure there is a jumper on S1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Motordriver_l298n.JPG&lt;br /&gt;
File: L298driver.jpg&lt;br /&gt;
File: L298N_schematics.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== L9958 ===&lt;br /&gt;
Features: Arduino 240W H-bridge Motor Driver Board - SX8847, up to 8A (for Rotenbach SPM08-320 etc.)&lt;br /&gt;
&lt;br /&gt;
 L9958 GND---GND&lt;br /&gt;
 L9958 VCC---Arduino 5V&lt;br /&gt;
 L9958 EN---Arduino 5V&lt;br /&gt;
 L9958 DI---GND&lt;br /&gt;
 L9958 DIR---Arduino MOTOR_DIR&lt;br /&gt;
 L9958 PWM---Arduino MOTOR_PWM&lt;br /&gt;
 L9958 MOTOR(+)---motor(+)&lt;br /&gt;
 L9958 MOTOR(-)---motor(-)&lt;br /&gt;
 L9958 POWER(+)---battery(+)&lt;br /&gt;
 L9958 POWER(-)---battery(-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Motor_driver_L9958.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mower motor (MOSFET) ==&lt;br /&gt;
For a the mowing motor, a MOSFET circuit is used. The MOSFET transistor IRLIZ44N (alternatives: IRF1404, IRL540N, RFP30N06LE, FQP30N06L) can already switch a current of 30A at the Arduino 5V control signal (N-LogL). The 10K resistor pulls down to ground when the Arduino starts. The 180 Ohm resistor limits the current at the Gate caused by level switches to about 30mA. The diode (MBR1045) protects  the circuit against current caused by motor induction. A current sensor module (ACS712-30A) is connected in series with the motor.&lt;br /&gt;
&lt;br /&gt;
'''Security note: For security reasons, always remove mower blades in your first tests!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Ardumower_mower_motor_circuit.png &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Choosing a driver ==&lt;br /&gt;
&lt;br /&gt;
When purchasing a motor driver, consider...&lt;br /&gt;
* max. thermal load (short-circuit current)&lt;br /&gt;
* price&lt;br /&gt;
&lt;br /&gt;
== Short-circuit current ==&lt;br /&gt;
To not damage the motor driver on the first run, find out the maximum current that can flow through your motors. In other words, find out the 'short-circuit' current. Typical measurement installation:&lt;br /&gt;
&lt;br /&gt;
Battery === Ampere meter === Motor&lt;br /&gt;
&lt;br /&gt;
The Amperemeter (e.g. model making) should be able to measure the maximum current (e.g. 30A). The motor to be measured is mechanically blocked (so it cannot rotate).&lt;br /&gt;
&lt;br /&gt;
'''Warning'''&lt;br /&gt;
&lt;br /&gt;
* always remove blades&lt;br /&gt;
* only connect battery for a short period (1-5 seconds)&lt;br /&gt;
* always use cables with sufficient wire cross section&lt;br /&gt;
&lt;br /&gt;
Example measurement:&lt;br /&gt;
&lt;br /&gt;
* Rotenbach SPM08-320&lt;br /&gt;
** Wheel motor: 8A&lt;br /&gt;
** Mowing motor:&lt;br /&gt;
&lt;br /&gt;
* Ambrogio L50&lt;br /&gt;
** Wheel motor: 4,5A&lt;br /&gt;
** Mowing motor: 22A&lt;br /&gt;
&lt;br /&gt;
* Tianchen TC-G158&lt;br /&gt;
** Wheel motor: 5,4A&lt;br /&gt;
** Mowing motor: 16A (both 32A)&lt;br /&gt;
&lt;br /&gt;
The measured current will only flow in 'worst-case' scenarios, which means when the motor starts or when it is blocked and it will only flow for a short time  (as your battery might not deliver the high current constantly, and so current and voltage will break down).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current sensor ==&lt;br /&gt;
To detect certain conditions (robot drives against obstacle, motor blocks etc.), the motor current should be monitored constantly. There are two approaches for sensing current.&lt;br /&gt;
&lt;br /&gt;
=== Approach &amp;quot;Hall sensor module&amp;quot; ===&lt;br /&gt;
This is the recommended approach for sensing current. These current sensor modules are available for different current ranges.&lt;br /&gt;
&lt;br /&gt;
* ACS712ELC-05A (185mV/A, max. 5A)&lt;br /&gt;
* ACS712ELC-20A (100mV/A, max. 20A)&lt;br /&gt;
* ACS712ELC-30A (66mV/A, max. 30A)&lt;br /&gt;
* The lower the range, the more precise the measurement.&lt;br /&gt;
&lt;br /&gt;
=== Approach &amp;quot;Shunt resistor (circuit)&amp;quot; ===&lt;br /&gt;
The current flows across a very small resistor (0.5 Ohm) and the voltage drop is measured&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: L298n_module_circuit.jpg &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Motor_driver&amp;diff=51</id>
		<title>Motor driver</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Motor_driver&amp;diff=51"/>
				<updated>2014-09-11T18:59:17Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: /* Popular modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
To control a motor, it requires a 'motor driver' - a circuit that allows current to flow either one direction or the opposite direction through the motor - depending on wether the motor should turn forward or backward (so called 'H-bridge'). There are many motor drivers available as ready-circuit boards, some can even control two motors  (Dual H-Bridge) - if you connect two of their H-bridges in parallel, the maximum motor current can be increased.&lt;br /&gt;
&lt;br /&gt;
If the direction of the motor does not need to be controlled, (e.g. for the blades), you do not need an H-bridge, but instead a simple 'switch' (e.g. MOSFET-transistor-circuit).&lt;br /&gt;
&lt;br /&gt;
== Wheel motors (H-Bridge) ==&lt;br /&gt;
The motor driver is connected through control signals to the Arduino. Example:&lt;br /&gt;
&lt;br /&gt;
 Arduino Digital Pin —&amp;gt; MOTOR-DIR Pin&lt;br /&gt;
 Arduino PWM Pin —&amp;gt; MOTOR-PWM Pin&lt;br /&gt;
 Arduino Analog Pin &amp;lt;— MOTOR-Current Sensor Pin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One pin controls the direction (forward/backward), the other pin controls the speed One analog input pin is connected to the current sensor The current sensor module (ACS712-05A) is connected in series with the motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ardumower_motor_driver_circuit.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Popular modules ==&lt;br /&gt;
=== MC33926 ===&lt;br /&gt;
'''For the 0.9.3 Version&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Features: up to 3A with integrated current sensor and thermal shut-down protection, for all kind of robot mowers) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Mc33926.jpg&lt;br /&gt;
File:Mc33926_example.jpg&lt;br /&gt;
File:MC33926_schematics.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 M1_FB     --- Motor1 current sensor output (Arduino)&lt;br /&gt;
 M1_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M1_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M1_IN1    --- Motor1 PWM (Arduino)&lt;br /&gt;
 M1_IN2    --- Motor1 Dir (Arduino)&lt;br /&gt;
 EN        --- connect with jumper to VDD&lt;br /&gt;
 M2_FB     --- Motor2 current sensor output (Arduino)&lt;br /&gt;
 M2_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M2_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M2_IN1    --- Motor2 PWM (Arduino)&lt;br /&gt;
 M2_IN2    --- Motor2 Dir (Arduino)&lt;br /&gt;
 EN        --- connect with jumper to VDD&lt;br /&gt;
 VDD       --- Arduino 5V&lt;br /&gt;
&lt;br /&gt;
'''For the SVN Version&lt;br /&gt;
'''&lt;br /&gt;
 M1_FB     --- pinMotorLeftSense A1&lt;br /&gt;
 M1_SF     --- pinMotorLeftFault 25&lt;br /&gt;
 M1_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M1_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M1_IN1    --- pinMotorLeftPWM 5  &lt;br /&gt;
 M1_IN2    --- pinMotorLeftDir 31&lt;br /&gt;
 EN        --- pinMotorEnable  37&lt;br /&gt;
 M2_FB     --- pinMotorRightSense A0&lt;br /&gt;
 M2_SF     --- pinMotorRightFault 27&lt;br /&gt;
 M2_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M2_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M2_IN1    --- pinMotorRightPWM  3 &lt;br /&gt;
 M2_IN2    --- pinMotorRightDir 33&lt;br /&gt;
 EN        --- pinMotorEnable  37&lt;br /&gt;
 VDD       --- Arduino 5V&lt;br /&gt;
&lt;br /&gt;
=== L298N ===&lt;br /&gt;
Features: up to 4A (for Tianchen TC-G158, Ambrogio L50, etc.) &lt;br /&gt;
Notice: When using a L298N-motor driver, both H-bridges (2A) should be connected in parallel, so that both bridges drive a single motor (max. 4A):&lt;br /&gt;
&lt;br /&gt;
Connect in parallel:&lt;br /&gt;
 IN1 with IN4&lt;br /&gt;
 IN2 with IN3&lt;br /&gt;
 OUT1 with OUT4&lt;br /&gt;
 OUT2 with OUT3&lt;br /&gt;
(Do NOT disconnect the SENSE-lines, except when you want to measure current by a 'shunt' resistor).&lt;br /&gt;
&lt;br /&gt;
Make sure there is a jumper on both ENA and ENB. Also, make sure there is a jumper on S1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Motordriver_l298n.JPG&lt;br /&gt;
File: L298driver.jpg&lt;br /&gt;
File: L298N_schematics.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== L9958 ===&lt;br /&gt;
Features: Arduino 240W H-bridge Motor Driver Board - SX8847, up to 8A (for Rotenbach SPM08-320 etc.)&lt;br /&gt;
&lt;br /&gt;
 L9958 GND---GND&lt;br /&gt;
 L9958 VCC---Arduino 5V&lt;br /&gt;
 L9958 EN---Arduino 5V&lt;br /&gt;
 L9958 DI---GND&lt;br /&gt;
 L9958 DIR---Arduino MOTOR_DIR&lt;br /&gt;
 L9958 PWM---Arduino MOTOR_PWM&lt;br /&gt;
 L9958 MOTOR(+)---motor(+)&lt;br /&gt;
 L9958 MOTOR(-)---motor(-)&lt;br /&gt;
 L9958 POWER(+)---battery(+)&lt;br /&gt;
 L9958 POWER(-)---battery(-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Motor_driver_L9958.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mower motor (MOSFET) ==&lt;br /&gt;
For a the mowing motor, a MOSFET circuit is used. The MOSFET transistor IRLIZ44N (alternatives: IRF1404, IRL540N, RFP30N06LE, FQP30N06L) can already switch a current of 30A at the Arduino 5V control signal (N-LogL). The 10K resistor pulls down to ground when the Arduino starts. The 180 Ohm resistor limits the current at the Gate caused by level switches to about 30mA. The diode (MBR1045) protects  the circuit against current caused by motor induction. A current sensor module (ACS712-30A) is connected in series with the motor.&lt;br /&gt;
&lt;br /&gt;
'''Security note: For security reasons, always remove mower blades in your first tests!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Ardumower_mower_motor_circuit.png &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Choosing a driver ==&lt;br /&gt;
&lt;br /&gt;
When purchasing a motor driver, consider...&lt;br /&gt;
* max. thermal load (short-circuit current)&lt;br /&gt;
* price&lt;br /&gt;
&lt;br /&gt;
== Short-circuit current ==&lt;br /&gt;
To not damage the motor driver on the first run, find out the maximum current that can flow through your motors. In other words, find out the 'short-circuit' current. Typical measurement installation:&lt;br /&gt;
&lt;br /&gt;
Battery === Ampere meter === Motor&lt;br /&gt;
&lt;br /&gt;
The Amperemeter (e.g. model making) should be able to measure the maximum current (e.g. 30A). The motor to be measured is mechanically blocked (so it cannot rotate).&lt;br /&gt;
&lt;br /&gt;
'''Warning'''&lt;br /&gt;
&lt;br /&gt;
* always remove blades&lt;br /&gt;
* only connect battery for a short period (1-5 seconds)&lt;br /&gt;
* always use cables with sufficient wire cross section&lt;br /&gt;
&lt;br /&gt;
Example measurement:&lt;br /&gt;
&lt;br /&gt;
* Rotenbach SPM08-320&lt;br /&gt;
** Wheel motor: 8A&lt;br /&gt;
** Mowing motor:&lt;br /&gt;
&lt;br /&gt;
* Ambrogio L50&lt;br /&gt;
** Wheel motor: 4,5A&lt;br /&gt;
** Mowing motor: 22A&lt;br /&gt;
&lt;br /&gt;
* Tianchen TC-G158&lt;br /&gt;
** Wheel motor: 5,4A&lt;br /&gt;
** Mowing motor: 16A (both 32A)&lt;br /&gt;
&lt;br /&gt;
The measured current will only flow in 'worst-case' scenarios, which means when the motor starts or when it is blocked and it will only flow for a short time  (as your battery might not deliver the high current constantly, and so current and voltage will break down).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current sensor ==&lt;br /&gt;
To detect certain conditions (robot drives against obstacle, motor blocks etc.), the motor current should be monitored constantly. There are two approaches for sensing current.&lt;br /&gt;
&lt;br /&gt;
=== Approach &amp;quot;Hall sensor module&amp;quot; ===&lt;br /&gt;
This is the recommended approach for sensing current. These current sensor modules are available for different current ranges.&lt;br /&gt;
&lt;br /&gt;
* ACS712ELC-05A (185mV/A, max. 5A)&lt;br /&gt;
* ACS712ELC-20A (100mV/A, max. 20A)&lt;br /&gt;
* ACS712ELC-30A (66mV/A, max. 30A)&lt;br /&gt;
* The lower the range, the more precise the measurement.&lt;br /&gt;
&lt;br /&gt;
=== Approach &amp;quot;Shunt resistor (circuit)&amp;quot; ===&lt;br /&gt;
The current flows across a very small resistor (0.5 Ohm) and the voltage drop is measured&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: L298n_module_circuit.jpg &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	<entry>
		<id>https://wiki.ardumower.de/index.php?title=Motor_driver&amp;diff=50</id>
		<title>Motor driver</title>
		<link rel="alternate" type="text/html" href="https://wiki.ardumower.de/index.php?title=Motor_driver&amp;diff=50"/>
				<updated>2014-09-11T18:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;93.219.27.134: /* MC33926 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
To control a motor, it requires a 'motor driver' - a circuit that allows current to flow either one direction or the opposite direction through the motor - depending on wether the motor should turn forward or backward (so called 'H-bridge'). There are many motor drivers available as ready-circuit boards, some can even control two motors  (Dual H-Bridge) - if you connect two of their H-bridges in parallel, the maximum motor current can be increased.&lt;br /&gt;
&lt;br /&gt;
If the direction of the motor does not need to be controlled, (e.g. for the blades), you do not need an H-bridge, but instead a simple 'switch' (e.g. MOSFET-transistor-circuit).&lt;br /&gt;
&lt;br /&gt;
== Wheel motors (H-Bridge) ==&lt;br /&gt;
The motor driver is connected through control signals to the Arduino. Example:&lt;br /&gt;
&lt;br /&gt;
 Arduino Digital Pin —&amp;gt; MOTOR-DIR Pin&lt;br /&gt;
 Arduino PWM Pin —&amp;gt; MOTOR-PWM Pin&lt;br /&gt;
 Arduino Analog Pin &amp;lt;— MOTOR-Current Sensor Pin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One pin controls the direction (forward/backward), the other pin controls the speed One analog input pin is connected to the current sensor The current sensor module (ACS712-05A) is connected in series with the motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ardumower_motor_driver_circuit.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Popular modules ==&lt;br /&gt;
=== MC33926 ===&lt;br /&gt;
'''For the 0.9.3 Version&lt;br /&gt;
'''&lt;br /&gt;
Features: up to 3A with integrated current sensor and thermal shut-down protection, for all kind of robot mowers) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Mc33926.jpg&lt;br /&gt;
File:Mc33926_example.jpg&lt;br /&gt;
File:MC33926_schematics.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 M1_FB     --- Motor1 current sensor output (Arduino)&lt;br /&gt;
 M1_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M1_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M1_IN1    --- Motor1 PWM (Arduino)&lt;br /&gt;
 M1_IN2    --- Motor1 Dir (Arduino)&lt;br /&gt;
 EN        --- connect with jumper to VDD&lt;br /&gt;
 M2_FB     --- Motor2 current sensor output (Arduino)&lt;br /&gt;
 M2_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M2_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M2_IN1    --- Motor2 PWM (Arduino)&lt;br /&gt;
 M2_IN2    --- Motor2 Dir (Arduino)&lt;br /&gt;
 EN        --- connect with jumper to VDD&lt;br /&gt;
 VDD       --- Arduino 5V&lt;br /&gt;
&lt;br /&gt;
'''For the SVN Version&lt;br /&gt;
'''&lt;br /&gt;
 M1_FB     --- pinMotorLeftSense A1&lt;br /&gt;
 M1_SF     --- pinMotorLeftFault 25&lt;br /&gt;
 M1_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M1_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M1_IN1    --- pinMotorLeftPWM 5  &lt;br /&gt;
 M1_IN2    --- pinMotorLeftDir 31&lt;br /&gt;
 EN        --- pinMotorEnable  37&lt;br /&gt;
 M2_FB     --- pinMotorRightSense A0&lt;br /&gt;
 M2_SF     --- pinMotorRightFault 27&lt;br /&gt;
 M2_PWM_D1 --- connect with jumper to GND&lt;br /&gt;
 M2_PWM_D2 --- connect with jumper to VDD&lt;br /&gt;
 M2_IN1    --- pinMotorRightPWM  3 &lt;br /&gt;
 M2_IN2    --- pinMotorRightDir 33&lt;br /&gt;
 EN        --- pinMotorEnable  37&lt;br /&gt;
 VDD       --- Arduino 5V&lt;br /&gt;
&lt;br /&gt;
=== L298N ===&lt;br /&gt;
Features: up to 4A (for Tianchen TC-G158, Ambrogio L50, etc.) &lt;br /&gt;
Notice: When using a L298N-motor driver, both H-bridges (2A) should be connected in parallel, so that both bridges drive a single motor (max. 4A):&lt;br /&gt;
&lt;br /&gt;
Connect in parallel:&lt;br /&gt;
 IN1 with IN4&lt;br /&gt;
 IN2 with IN3&lt;br /&gt;
 OUT1 with OUT4&lt;br /&gt;
 OUT2 with OUT3&lt;br /&gt;
(Do NOT disconnect the SENSE-lines, except when you want to measure current by a 'shunt' resistor).&lt;br /&gt;
&lt;br /&gt;
Make sure there is a jumper on both ENA and ENB. Also, make sure there is a jumper on S1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Motordriver_l298n.JPG&lt;br /&gt;
File: L298driver.jpg&lt;br /&gt;
File: L298N_schematics.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== L9958 ===&lt;br /&gt;
Features: Arduino 240W H-bridge Motor Driver Board - SX8847, up to 8A (for Rotenbach SPM08-320 etc.)&lt;br /&gt;
&lt;br /&gt;
 L9958 GND---GND&lt;br /&gt;
 L9958 VCC---Arduino 5V&lt;br /&gt;
 L9958 EN---Arduino 5V&lt;br /&gt;
 L9958 DI---GND&lt;br /&gt;
 L9958 DIR---Arduino MOTOR_DIR&lt;br /&gt;
 L9958 PWM---Arduino MOTOR_PWM&lt;br /&gt;
 L9958 MOTOR(+)---motor(+)&lt;br /&gt;
 L9958 MOTOR(-)---motor(-)&lt;br /&gt;
 L9958 POWER(+)---battery(+)&lt;br /&gt;
 L9958 POWER(-)---battery(-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Motor_driver_L9958.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mower motor (MOSFET) ==&lt;br /&gt;
For a the mowing motor, a MOSFET circuit is used. The MOSFET transistor IRLIZ44N (alternatives: IRF1404, IRL540N, RFP30N06LE, FQP30N06L) can already switch a current of 30A at the Arduino 5V control signal (N-LogL). The 10K resistor pulls down to ground when the Arduino starts. The 180 Ohm resistor limits the current at the Gate caused by level switches to about 30mA. The diode (MBR1045) protects  the circuit against current caused by motor induction. A current sensor module (ACS712-30A) is connected in series with the motor.&lt;br /&gt;
&lt;br /&gt;
'''Security note: For security reasons, always remove mower blades in your first tests!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: Ardumower_mower_motor_circuit.png &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Choosing a driver ==&lt;br /&gt;
&lt;br /&gt;
When purchasing a motor driver, consider...&lt;br /&gt;
* max. thermal load (short-circuit current)&lt;br /&gt;
* price&lt;br /&gt;
&lt;br /&gt;
== Short-circuit current ==&lt;br /&gt;
To not damage the motor driver on the first run, find out the maximum current that can flow through your motors. In other words, find out the 'short-circuit' current. Typical measurement installation:&lt;br /&gt;
&lt;br /&gt;
Battery === Ampere meter === Motor&lt;br /&gt;
&lt;br /&gt;
The Amperemeter (e.g. model making) should be able to measure the maximum current (e.g. 30A). The motor to be measured is mechanically blocked (so it cannot rotate).&lt;br /&gt;
&lt;br /&gt;
'''Warning'''&lt;br /&gt;
&lt;br /&gt;
* always remove blades&lt;br /&gt;
* only connect battery for a short period (1-5 seconds)&lt;br /&gt;
* always use cables with sufficient wire cross section&lt;br /&gt;
&lt;br /&gt;
Example measurement:&lt;br /&gt;
&lt;br /&gt;
* Rotenbach SPM08-320&lt;br /&gt;
** Wheel motor: 8A&lt;br /&gt;
** Mowing motor:&lt;br /&gt;
&lt;br /&gt;
* Ambrogio L50&lt;br /&gt;
** Wheel motor: 4,5A&lt;br /&gt;
** Mowing motor: 22A&lt;br /&gt;
&lt;br /&gt;
* Tianchen TC-G158&lt;br /&gt;
** Wheel motor: 5,4A&lt;br /&gt;
** Mowing motor: 16A (both 32A)&lt;br /&gt;
&lt;br /&gt;
The measured current will only flow in 'worst-case' scenarios, which means when the motor starts or when it is blocked and it will only flow for a short time  (as your battery might not deliver the high current constantly, and so current and voltage will break down).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current sensor ==&lt;br /&gt;
To detect certain conditions (robot drives against obstacle, motor blocks etc.), the motor current should be monitored constantly. There are two approaches for sensing current.&lt;br /&gt;
&lt;br /&gt;
=== Approach &amp;quot;Hall sensor module&amp;quot; ===&lt;br /&gt;
This is the recommended approach for sensing current. These current sensor modules are available for different current ranges.&lt;br /&gt;
&lt;br /&gt;
* ACS712ELC-05A (185mV/A, max. 5A)&lt;br /&gt;
* ACS712ELC-20A (100mV/A, max. 20A)&lt;br /&gt;
* ACS712ELC-30A (66mV/A, max. 30A)&lt;br /&gt;
* The lower the range, the more precise the measurement.&lt;br /&gt;
&lt;br /&gt;
=== Approach &amp;quot;Shunt resistor (circuit)&amp;quot; ===&lt;br /&gt;
The current flows across a very small resistor (0.5 Ohm) and the voltage drop is measured&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File: L298n_module_circuit.jpg &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>93.219.27.134</name></author>	</entry>

	</feed>