Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_IHM12A1 mbed
Fork of SchedamotoriIHM12A1 by
Revision 6:b5d006c1eb59, committed 2017-02-24
- Comitter:
- gandhi1
- Date:
- Fri Feb 24 16:13:24 2017 +0000
- Parent:
- 5:21a4085d2057
- Commit message:
- Scheda motori funzionante (demostep)
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Feb 15 11:09:44 2017 +0000
+++ b/main.cpp Fri Feb 24 16:13:24 2017 +0000
@@ -1,24 +1,19 @@
#include "mbed.h"
#include "stspin240_250_class.h"
-
-/* Initialization parameters of the motor connected to the expansion board. */
+Serial pc(USBTX, USBRX);
Stspin240_250_Init_t initDeviceParameters =
{
- 20000, /* Frequency of PWM of Input Bridge A in Hz up to 100000Hz */
- 20000, /* Frequency of PWM of Input Bridge B in Hz up to 100000Hz */
- 20000, /* Frequency of PWM used for Ref pin in Hz up to 100000Hz */
- 50, /* Duty cycle of PWM used for Ref pin (from 0 to 100) */
- TRUE /* Dual Bridge configuration (FALSE for mono, TRUE for dual brush dc) */
+ 20000,
+ 20000,
+ 20000,
+ 50,
+ TRUE
};
-
-/* Motor Control Component. */
STSPIN240_250 *motor;
int main()
{
uint8_t demoStep = 0;
-
- /* Initializing Motor Control Component. */
#if (defined TARGET_NUCLEO_F030R8)||(defined TARGET_NUCLEO_F334R8)
motor = new STSPIN240_250(D2, D9, D6, D7, D5, D4, A2);
#elif (defined TARGET_NUCLEO_L152RE)
@@ -27,21 +22,10 @@
motor = new STSPIN240_250(D2, D9, D6, D7, D5, D4, A0);
#endif
if (motor->Init(&initDeviceParameters) != COMPONENT_OK) exit(EXIT_FAILURE);
-
- /* Set dual bridge enabled as two motors are used*/
motor->SetDualFullBridgeConfig(1);
-
-
- /* Set PWM Frequency of Ref to 15000 Hz */
- motor->SetRefPwmFreq(0, 15000);
-
- /* Set PWM duty cycle of Ref to 60% */
- motor->SetRefPwmDc(0, 60);
-
- /* Set PWM Frequency of bridge A inputs to 10000 Hz */
+ motor->SetRefPwmFreq(0, 15000);
+ motor->SetRefPwmDc(0, 60);
motor->SetBridgeInputPwmFreq(0,10000);
-
- /* Set PWM Frequency of bridge B inputs to 10000 Hz */
motor->SetBridgeInputPwmFreq(1,10000);
while (1)
@@ -49,57 +33,38 @@
switch (demoStep)
{
case 0:
- /* Set speed of motor 0 to 100 % */
- motor->SetSpeed(0,50);
- motor->SetSpeed(1,50);
- /* start motor 0 to run forward*/
- /* if chip is in standby mode */
- /* it is automatically awakened */
- motor->Run(0, BDCMotor::FWD);
- motor->Run(1, BDCMotor::FWD);
- break;
- case 1:
- /* Set speed of motor 0 to 100 % */
- motor->SetSpeed(0,50);
- motor->SetSpeed(1,50);
- /* start motor 0 to run forward*/
- /* if chip is in standby mode */
- /* it is automatically awakened */
- motor->Run(0, BDCMotor::BWD);
- motor->Run(1, BDCMotor::BWD);
- break;
- case 2:
- /* Set speed of motor 0 to 100 % */
- motor->SetSpeed(0,32);
- motor->SetSpeed(1,25);
- /* start motor 0 to run forward*/
- /* if chip is in standby mode */
- /* it is automatically awakened */
- motor->Run(0, BDCMotor::BWD);
- motor->Run(1, BDCMotor::BWD);
- break;
- case 3:
- /* Set speed of motor 0 to 100 % */
- motor->SetSpeed(0,25);
- motor->SetSpeed(1,40);
- /* start motor 0 to run forward*/
- /* if chip is in standby mode */
- /* it is automatically awakened */
- motor->Run(0, BDCMotor::BWD);
- motor->Run(1, BDCMotor::BWD);
- break;
-
-
-
-
- }
-
- /* Wait for 5 seconds */
- wait_ms(5000);
-
- /* Increment demostep*/
+ /* Va avanti */
+ motor->SetSpeed(0,50);
+ motor->SetSpeed(1,50);
+ motor->Run(0, BDCMotor::FWD);
+ motor->Run(1, BDCMotor::FWD);
+ break;
+ case 1:
+ /* Va a destra */
+ motor->SetSpeed(0,47);
+ motor->SetSpeed(1,23);
+ motor->Run(0, BDCMotor::FWD);
+ motor->Run(1, BDCMotor::FWD);
+
+ break;
+ case 2:
+ /* Va indietro */
+ motor->SetSpeed(0,50);
+ motor->SetSpeed(1,50);
+ motor->Run(0, BDCMotor::BWD);
+ motor->Run(1, BDCMotor::BWD);
+ break;
+ case 3:
+ /* Va a sinistra */
+ motor->SetSpeed(0,25);
+ motor->SetSpeed(1,30);
+ motor->Run(0, BDCMotor::FWD);
+ motor->Run(1, BDCMotor::FWD);
+ break;
+ }
+ wait_ms(4500);
demoStep++;
- if (demoStep > 12)
+ if (demoStep > 3)
{
demoStep = 0;
}
--- a/mbed.bld Wed Feb 15 11:09:44 2017 +0000 +++ b/mbed.bld Fri Feb 24 16:13:24 2017 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/082adc85693f \ No newline at end of file +http://mbed.org/users/mbed_official/code/mbed/builds/ef9c61f8c49f \ No newline at end of file
