- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 64

Thema: fahrzeug mit vier motoren und vier encodern

  1. #21
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Anzeige

    Praxistest und DIY Projekte
    Das Schlüsselwort struct ist hier falsch -> weglassen.
    Code:
    struct motor motoren[M_MAX] = 
    { 
      { AF_DCMotor(1), 4, 18, 0, 0 }, // M_VL
      { AF_DCMotor(2), 1, 19, 0, 0 }, // M_HL
      { AF_DCMotor(3), 3, 20, 0, 0 }, // M_VR
      { AF_DCMotor(4), 2, 21, 0, 0 }  // M_HR
    };

  2. #22
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    hi botty,

    jetzt läuft der motor 4 (VL) für 3 sec, 3 sec bleibt er stehen, mit oder ohne "struct" - was bedeutet das in dem zusammenhang?
    gruß inka

  3. #23
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    struct erwartet normalerweise einen nachstehenden Bezeichner und keinen Datentyp (hier motor, den du vorher definiert hast). Daher wundert mich, dass der Code so kompiliert wird. Ohne 'struct' ist das eine simple Felddefinition mit direkter Initialisierung.

  4. #24
    Benutzer Stammmitglied
    Registriert seit
    19.05.2015
    Beiträge
    69
    Sisor,
    bei allem Respekt schau nochmal genau hin:

    erst wird der Datentyp "struct motor" deklariert und dann die Array-Variable "motoren" definiert und die ist vom Typ "struct motor". Die Elemente des Arrays werden dann mit den Werten initialisiert, dat is aber mal ganz sicher so korrekt. Könnte es sein das Du hier
    Code:
    struct motor {
    /// Elemente
    };
    mit
    Code:
    typedef struct {
    // Elemente
    } motor;
    verwechselst? Dat sind nämlich zwei Paar unterschiedliche Schuhe.


    inka, in dem Zusammenhang stehen lassen, das ist vollkommen korrektest C was ich da hingeschrieben habe.

    Hat Dein Programm denn jetzt was auf der Konsole ausgegeben oder kam nix? Wenn der Encoder vom Rad das sich gedreht hat, am Pin 18 liegt, hätte er eigentlich fortlaufend aufsteigende Zahlen anzeigen müssen, was ja der Sinn der ganzen Sache ist.
    Geändert von botty (13.11.2015 um 22:36 Uhr)

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Ist zwar Geschmackssache, aber statt struct würde ich C++Vererbung empfehlen. Beispiel:
    Code:
    #include <AFMotor.h>
    
    class myMotor : public AF_DCMotor {
      public:
        uint8_t enc_pin;
        volatile uint32_t ticks = 0;  
        uint32_t start_time = 0; 
        uint32_t stop_time = 0;
        
        myMotor(uint8_t motornum, uint8_t enc_pin) : AF_DCMotor(motornum) {
          this->enc_pin = enc_pin;
        }  
    };
    
    enum motoren_e { M_VL, M_HL, M_VR, M_HR, M_MAX };
    myMotor motor[4] { 
       myMotor(1,18) , // M_VL
       myMotor(2,19) , // M_HL
       myMotor(3,20) , // M_VR
       myMotor(4,21)   // M_HR
    };
    
    
    void setup() { 
      motor[M_VL].ticks = 55;
    }
    
    void loop() {
      motor[M_VL].setSpeed(127);
      motor[M_VL].run(FORWARD);
    }

  6. #26
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    hi botty,
    Zitat Zitat von botty Beitrag anzeigen
    Hat Dein Programm denn jetzt was auf der Konsole ausgegeben oder kam nix? Wenn der Encoder vom Rad das sich gedreht hat, am Pin 18 liegt, hätte er eigentlich fortlaufend aufsteigende Zahlen anzeigen müssen, was ja der Sinn der ganzen Sache ist.
    ja, es kommen diese zahlen:
    Code:
    0 8 721 724 728 733 636 639 641 644 648 651 652 655 659 662 666 669 672 674 677 680 684 687 691 695 698 701 705 706 709 712 716 718 721 724 728 73�1 3 3 3 3 5 7 7 8 10 10 12 12 16 16 19 19 23 24 26 29 30 32 35 36 37 40 44 45 47 51 54 56 58 61 65 68 70 73 75 78 81 85 88 91 93 96 98 101 103 107 110 114 117 119 122 124 127 130 134 137 140 144 147 149 152 155 158 161 163 166 169 172 175 180 184 187 190 191 195 199 201 204 207 210 213 216 219 222 225 228 231 234 235 238 241 244 247 248 251 254 257 260 265 268 271 272 276 279 282 285 288 291 293 297 300 303 306 311 314 317 321 323 326 328 331 333 336 339 342 345 348 351 354 357 359 363 366 368 372 377 380 381 384 386 389 393 396 399 402 406 409 412 413 417 420 423 427 429 432 435 439 442 445 450 453 456 458 463 467 470 474 476 480 483 486 489 492 495 498 501 504 508 511 512 515 518 522 524 527 529 532 535 540 543 547 550 553 556 559 560 563 567 571 573 576 579 582 585 587 591 594 597 598 602 605 608 611 614 616 618 621 624 627 631 635 638 641 644 645 648 651 653 657 660 663 667 671 675 678 681 684 687 691 694 698 701 702 704 707 710 712 715 719 722 725 728 732 735 738 741 745 748 750 751 754 757 761 764 766 769 772 775 778 780 783 786 789 794 797 798 801 804 806 808 811 812 815 819 823 826 829 832 835 839 840  
    935 935 935 937 937 937 939 941 941 943 945 945 947 949 950 952 953 955 959 961 963 965 967 971 973 976 980 982 984 988 991 992 995 997 1001 1004 1007 1010 1013 1015 1018 1021 1024 1027 1028 1032 1034 1038 1041 1043 1047 1050 1051 1054 1057 1059 1062 1067 1070 1073 1078 1081 1084 1087 1088 1091 1095 1098 1100 1103 1106 1109 1113 1116 1120 1123 1124 1127 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1162 1165 1169 1171 1174 1177 1180 1183 1188 1192 1195 1198 1202 1205 1209 1212 1215 1219 1220 1223 1226 1230 1235 1237 1241 1243 1247 1250 1253 1257 1260 1263 1264 1268 1271 1274 1277 1280 1282 1286 1289 1293 1297 1300 1303 1306 1309 1311 1314 1317 1321 1323 1327 1330 1333 1337 1340 1343 1346 1349 1353 1356 1360 1361 1366 1370 1373 1374 1377 1380 1383 1386 1390 1393 1396 1399 1402 1406 1409 1411 1414 1417 1420 1424 1426 1429 1434 1438 1441 1443 1447 1450 1453 1455 1458 1462 1465 1468 1471 1473 1476 1481 1485 1489 1492 1495 1499 1502 1504 1508 1509 1511 1515 1517 1518 1520 1524 1527 1530 1535 1538 1541 1544 1547 1550 1552 1553 1555 1558 1562 1565 1567 1570 1573 1576 1579 1581 1584 1587 1590 1594 1595 1598 1601 1604 1607 1610 1612 1615 1618 1622 1626 1628 1631 1634 1638 1639 1643 1648 1651 1654 1656 1661 1664 1667 1670 1673 1677 1680 1683 1686 1690 1693 1696 1698 1701 1704 1707 1710 1714 1718 1721 1724 1728 1731 1734 1737 1742 1746 1747 1750 1752 1755 1759 1761 1766 1770 1774 1778 1781 1785 1789 1793 1795 1800 1805  
    1898 1898 1898 1898 1900 1902 1902 1902 1904 1906 1906 1910 1910 1912 1914 1916 1918 1922 1922 1926 1928 1930 1933 1934 1936 1939 1942 1943 1945 1948 1952 1955 1957 1960 1962 1966 1969 1973 1974 1979 1983 1985 1989 1992 1995 1996 1999 2002 2004 2007 2010 2013 2017 2020 2023 2026 2029 2030 2033 2037 2041 2042 2046 2050 2053 2056 2059 2062 2064 2065 2069 2072 2076 2080 2082 2086 2089 2092 2096 2099 2101 2104 2106 2110 2114 2115 2119 2122 2125 2128 2131 2135 2138 2141 2144 2149 2152 2155 2158 2161 2164 2165 2167 2170 2174 2178 2181 2184 2188 2191 2194 2197 2201 2204 2207 2208 2211 2215 2218 2221 2224 2227 2229 2232 2234 2237 2241 2245 2248 2251 2254 2255 2258 2262 2267 2270 2272 2275 2279 2282 2285 2288 2291 2294 2297 2301 2304 2307 2311 2313 2316 2318 2320 2323 2326 2330 2333 2336 2339 2344 2347 2350 2353 2356 2359 2360 2363 2367 2370 2373 2375 2378 2381 2384 2387 2390 2395 2398 2400 2401 2405 2408 2411 2414 2417 2420 2422 2424 2427 2430 2434 2438 2441 2445 2448 2451 2452 2456 2459 2462 2466 2468 2470 2474 2477 2480 2483 2486 2488 2492 2495 2498 2501 2503 2504 2507 2510 2512 2516 2519 2522 2525 2528 2533 2536 2539 2541 2544 2547 2550 2551 2554 2558 2562 2565 2568 2572 2576 2579 2582 2585 2588 2590 2591 2596 2599 2602 2605 2609 2611 2613 2616 2620 2623 2626 2629 2632 2635 2636 2639 2642 2645 2648 2652 2655 2658 2662 2664 2667 2671 2674 2677 2680 2683 2685 2688 2693 2695 2697 2699 2702 2705 2708 2711 2715 2717 2719 2722 2725 2728 2729 2732 2735 2739  
    2833 2833 2833 2833 2833 2833 2833 2833 2833 2838 2838 2838 2840 2840 2840 2840 2840 2842 2842 2844 2844 2844 2844 2846 2848 2848 2848 2848 2850 2852 2852 2852 2854 2854 2856 2856 2856 2858 2860 2860 2860 2862 2862 2864 2864 2864 2866 2868 2868 2868 2870 2870 2872 2872 2872 2874 2876 2876 2876 2876 2878 2880 2880 2880 2880 2882 2882 2884 2884 2884 2884 2886 2886 2888 2888 2888 2890 2890 2892 2892 2892 2892 2892 2894 2894 2895 2895 2895 2895 2897 2897 2899 2899 2899 2899 2899 2901 2901 2901 2903 2903 2903 2903 2905 2905 2907 2907 2907 2907 2909 2909 2909 2911 2911 2911 2911 2913 2915 2915 2915 2915 2917 2917 2919 2919 2919 2921 2923 2923 2923 2925 2925 2927 2927 2927 2929 2931 2931 2931 2933 2935 2935 2935 2937 2939 2939 2939 2941 2943 2943 2943 2945 2947 2947 2947 2949 2949 2951 2951 2951 2953 2955 2955 2955 2955 2957 2959 2959 2959 2959 2961 2961 2963 2963 2963 2963 2965 2965 2967 2967 2967 2967 2969 2971 2971 2971 2971 2971 2973 2973 2975 2975 2975 2975 2975 2977 2977 2979 2979 2979 2979 2979 2981 2981 2983 2983 2983 2983 2983 2985 2985 2987 2987 2987 2987 2989 2989 2989 2991 2991 2991 2991 2993 2995 2995 2995 2995 2997 2997 2999 2999 2999 3001 3003 3003 3003 3005
    wobei der anfang aus der reihe tanzt und auch zwischendrin gibt es sprünge...

    bei dem bespiel mit 4 motoren (bei gleicher hardwarekonstellation) kommt:
    Code:
    �oJ���n�x������/�SUo�    �L�H���]�5X�s������z[<x8nY��l��R�_8w����/�c͗������b�����GuQ�;;���5oc�*�as���&�k���3w�_�_���������v��.��mz��s8{&�۹��L���.|�2.�t��ԗ�k9�J?�Hv���6����-������Hf��~�n������=��������<Q��7�W?���zןn���M�K����%[d^��{V������}�{�����8�n�}���0^&U�>������������<������ɖ�yϤ�^�����o��v�e����V��z~w'�v��U�]?��yt����V�Oc����|��W��?�M��ɯ��.���`��R�������\��R����Z�5�;�\��B_�o[&�������^>��-;z7�����nl?���~�s�?TL���+�z_��Z�wW��͜����m���u������O���\�T����x����|G�{��k6�ʝ/7��v����N�����ژ�3]�z�^�[�w߼�p;�������t<�j��������������:k�sۍH<��We<�n�O׷dJ��',�;{Kz�۴W����*��nƲi�y��ބ��%��V�w���R����L�B�]�ѷ���|�0�G���4«���� �_f|�N��jK>o�gZ�z��''�c��gx,����yk/�%ם��-��6�s��z��r}��%\_��vn���߱x������������f���|R�����~���V\�{��s��Y�i������>JN��@ǩ:~ק����~������Y�{��ڑ޾�[o�t�[>���;�Ŏ������_���{���ߏo�C�7�/]�^W�ԯ��Sz�m�?�$�������r���~��3W>�7?��e�[�>��?��=��Mv��y_������yl���zzI���}C�z�˚���UsN&�D�M����-J�6��Y3�_���}�u�^�?��5�\~s?���F8�������9k0S�}px� {5ۯ���3��_������w��g��?���v��W��c���Fl?q��~�;t��/��({��g��]M:k��ٮO���Ε�y��^����]>{��^��#��Ϸ6}��أ���w�1������ߵ����M�}�>O���t��N�|�ʂ�y�������D�{�����?�c���U�)ǵ����K����{���8��<u��;[��K��/x3|�?>z��̬/�B}��N��������.�e�{o�����y���������R�[���6/�����V���.�u�y����@4׋�����w�t2�����}�]������/��r�����5ߍ���H��W_c4�Q���:o~{O��WZ��������Xu
    �s�;ރ��۝��j���~�����c���T����L���_�-��9��c]>g���X�:������m���;�=�8��7������Lt�������mvyg��J.{w�E���e^{|�� \�����o�R��<�k;��}��^y^�7^��<�ۄ�9��ު����g����,5\׊$��D���h�    �}�#�[�9�����bߋW}�7��ة/u�3����{�u������_�X���b�|�U�e��p�3��2��{���7s�\�LvS���=�o���������xo`]����?�=��V�j���on�����k�<Y�W�£������n���z�s5����'#q���?�&c���Oߥ��;^������,�vO��%�t�����e��H=��?��i�
    L"�]_%{�?�ƅ��om��շ��,z�U?{�畧����������}��z������%���Ԏ���I�"����ޥ�ά�q�[E��~&>4R��]���rg�������Y_9^����|މ�6W����w��Ђ�����fT��ƭN��w�α����v�1������^T��'w_��B���g��.���ϳ����2�VL�Aj�f�yw�����7��w�����؜�5R����~;6��Z��G�S�m!��������es���������;�7�H'���������IG�A����p��:/�S2��Xn��n��?���ƉW�]��Կ������}��_��������}����l�*R��~����6��(�p��f���]v��w���oN�'S�m�7M�����oVY<����ϧ�}�S^��}������<Q�su���b�����VI�;���S�����SϦ��ߑ��:o��g���vp����i�x�v���k��?T�L���-{�y�/���/~�kʥ�~?��.�%��6���_0��3���m����.��S�z8���)3������}������O������>����nݪ���˵+k�w��|�d>���f����}����~��n��|S���J�����_�G_�����ݘ��#��l���_�R�Y.��˿]�����k�������w��O�~9�w���C�?������N�U�;���M��B�[��>�������G~m��H���������7~2��\v��0�k�7�����e�Z1��Q�����yWO�F�������gG����5���{R�~��������6����{��}�`|��^��]Z����VO���>Lh(���s�o����6�r{q�*���N�d�( ������~���������3�����+����E�68i�Ǐ����]����m��;�=�{���]_��q��W�WSZ�^�k�� �Ы�}]���u_~�������/��l��s�n6�|�Z�6�,7�].����o"���_�}��5���B7%_��'�~���V^e�i>�o�������ny�'>�_��O�^�6��Vv�u���/w�N���}�4����G�9W���M�7�\�/R��^�����2����x1;����FV�{=������ ��#m����?����������RͿ��e=��n����m�������mY���yI�5^�m�s�~�f����{�����暤��S������(��=<�a�k{�ׯ��׮����*���%�����ޡݝ��_����Rwi������+�.s@t�����뎚���{�7�N��xx���G��T�-������C��Y��ί�g��^�s�F���^�觾[��|}����c٫?:?�^��~�?W^��ʉ�u{�w����zuYf�G�o-�?�N��J�;�R;��~����D�S���$Ҧ���\���{������x�d�'�����{�7`%A����׍�O�e?Q
    �2�#w�t�K�� ZNf0��ڒǎ��Wwk+Yc�jE��%-���w���ْ����c}���?�N���z�o֏�krJ���w����}�����v����u]�����W��T��?�c��Ȯ������_�|�/��l?�W��;.׸mk��[��9���Zz���lM����u���){�7_WQ[o~�^m���ތ�w���.��]�����F!��î�`�'���\�x�Vz���h�i�����/}��2��L���������ӯ��c��0-IdgT�(Mw���U�����SXV�������Esz蒃�Y���Gf���܄�;f�=�=���|�Kg?��h��������mx�����[�q��Q~k[�L����o����%��U���yo�T��m�jR����}��~�b����.���_U?���=6S^+_�g����qev`����S�͜_;��B���k�_����z����O�����lQ���*/���yF�VM�;��rG�m�m�$�>�^��������P_߾5������YVUޱ~��������+������������og9ܻ=��kyR͖��r��j?#�����ƪ�g)��z�����!���������؟����N������,k�)��_�gW�6�����j�;˫1��2��    -�x�?����݊cO�z��5ͽ���������g���߶����w���9����|�Ռ�m�F���m�x�^��p�y��u����Y�����a{U_9��k���~���}sFy����Mu�ں���O?Km�_M�y�,������jE�í���|�즾�.[Fn��D��.��[�Wk[���垫���\z�I  0.00 ,  0.00 ,  0.00 ,  0.00 
      0.00 ,  0.00 ,  0.00 ,  0.00 
     
     32.67 , 29.10 , 32.16 , 43.90 
     
    �+k�w��|�d>���f�׭�}����~��n��|S���J�����_�G_�����ݘ��#��l���_�R�Y.��˿]�����k������w��O�~9�w���C�?������N�U�;���M��B�[��>�ә��ߞG~m��H���������7~2��\v��0�k�7�����e�Z1��Q�����yWO�F�������gG����5���{R�~ÿ������6����{��}�`|��^��]Z����VO���>Lh(���s�o����6�r{q�*���N�d�( ������~���������3�����+����E�68i�������]���m��;�=�{���]_��q��W�WSZ�^�k��� �Ы�}]���u_~�������/��l��s�n6�|�Z�6�,7�].����o"���_�}��5���B7%_��'�~���V^e�i>�o��������ny�'>�_��O�^�6��Vv�u���/w�N���}�4����G�9W���M�7�\�/R��^�����2����x1;����FV�{=������ ��#m����?����������RͿ��e=��n����m�������mY����yI�5^�m�s�~�f����{�����暤��S������(��=<�a�k{�ׯ��׮����*���%�����ޡ����_����Rwi������+�.s@t�����뎚���{�7�N��xx���G��T�-������C��Y��ί�g��^�s�F���^�觾[��|}ݽ��c٫?:?�^��~�?W^�����u{�w����zuYf�G�o-�?�N��J�;�R;��~����D�S���$Ҧ���\���{������x�d�'�����{�7`%A����׍�O�e?Q
    �2�#w�t�K�� ZNf0����ǎ��Wwk+Yc�jE��%-���w��������c}���?�N���z�o���krJ���w����}�����v����u]�����W��T��?�c��Ȯ������_�|�/��l?�W��;.׸mk��[��9���Zz���lM����u���){�7_WQ[o~�^m������w���.��]�����F!�î�`�'���\�x�Vz���h�i�����/}��2��L���������ӯ��c��0-IdgT�(Mw���U�����SXV��������Esz����Y���Gf���܄�;f�=�=����|�Kg?��h��������mx����[�q��Q~k[�L����o����%��U���yo�T��m�jR����}��~�b����.���_U?���=6S^+_�g����qev`����S�͜_;��B���k�_����z����O�����lQ���*/����yF�VM�;��rG�m�m�$�>�^�܅����P_߾5������YVUޱ~��������+������������og9��=��kyR����r��j?#��������g)��z�����!������΄�؟����N������,k�)��_�gW�6�����j�;˫1��2��    -�x�?����݊cO�z��5ͽ���������g���������w���9����|�Ռ�m�F���m�x�^��p�y��u����Y��׵�a{U_9��k���~���}sFy���Mu������O?Km�_M�y�,������jE�í���|�����.[Fn��D��.��[�Wk[���垫���\z�I ����ny�'>�_��O�^�6��Vv�u���/w�N���}�4����G�9W���M�7�\�/R��^�����2����x1;����FV�{=������� ��#m����?�����짇��RͿ��e=��n����m��������mY���yI�5^�m�s�~�f����{�����暤��S�����(��=<�a�k{�ׯ��׮����*���%�������ݝ��_�����Rwi�ޛ���+�.s@t�����뎚���{�7�N��xx���G��T�-������C��Y�����g��^�s�F���^�觾[��|}����c٫?:?�^��~�?W^��ʉ�u{�w����zuYf�G�o-�?�N���J�;�R;��~����D�S���$Ҧ���\���{������x�d�'�����{�7`%A����׍�O�e?Q
    �2�#w�t�K�� ZNf0��ڒ����Wwk+Yc�jE��%-���w���ْ�����c}���?�N���z�o֏�krJ���w����}�����v����u]�����W��T��?�c��Ȯ������_�|�/��l?�W��;.׸mk��[��9���Zz���lM����u���){�7_WQ[o~�^m���ތ�w���.��]ְ���F!��î�`�'���\�x�Vz���h�i�����/}��2��L�������������c��0-IdgT�(Mw���U�����SXV�������Esz蒃�Y���Gf���܄�;f�=�=����|�Kg?��h���ڹ���mx�����[�q��Q~k[�L����o����%��U���yo�T��m�jR����}��~�b����.���_U?���=6S^+_�g����qev`����S���_;��B���k�_����z��ɶO����lQ���*/���yF�VM�;��rG�m�m�$�>�^�܅����P_߾5������YVU��~��޿����+������������og9ܻ=��kyR͖��r��j?#�����ƪ�g)��z�����!���������؟����N������,k�)��_�gW�6�����j�;��1���2��    -�x�?����݊cO�z��5ͽ���������g���߶����w���9����|��Ռ�m�F���m�x�^��p�yҔu���Y�����a{U_9��k���~���}sFy���Mu�ں���O?Km�_M�y�,������jE������|�즾�.[Fn��D��.��[�Wk[��������\z�I ����ny�'>�_��O�^�6��Vv�u���/w�N���}�4����G�9W���M�7�\�/R��^�����2����x1;����FV�{=������ ��#m����?���������RͿ��e=��n����m�������mY���yI�5^�m�s�~�f����{����������S�����(��=<�a�k{�����������*����%�����ޡݝ��_�����Rwi�ޛ���+�.s@t�����������{�7�N��xx���G��T�-������C��Y��ί�g��^�s�F���^�觾[��|}ݽ��c��?:?�^��~�?W^��ʉ�u{�w����zuYf�G�o-�?�N��J�;�R;��~����D�S���$�����\���{������x�d�'������{�7`%A����׍�O�e?Q
    �2�#w�t�K�� ZNf0��ڒǎ��Wwk+Yc�jE��%-���w���ْ���c}���?�N���z�o֏�krJ���w����}�����v����u]�����W��T��?�c����������_�|�/��l?�W��;.��mk��[��9���Zz���lM����u���){�7_WQ[o~�^m���ތ�w���.��]ְ���F!����`�'���\�x�Vz���h�i�����/}��2��L���������ӯ��c��0-IdgT�(Mw���U�����SXV�������Esz���Y���Gf������;f�=�=���|�Kg?��h���ڹ���mx����[�q��Q~k[�L�����o����%��U���yo�T��m�jR����}��~�b����.���_U?���=6S^+_�g�����qev`����S�͜_;��B���k�_����z��ɶO����lQ���*/���yF�VM�;��rG�m�m�$�>�^�܅����P_��5�������YVUޱ~��޿����+������������og9ܻ=��kyR͖��r��j?#�����ƪ�g)��z�����!������΄�؟����N������,k�)��_�gW�6������j�;˫1��2��    -�x�?����݊cO�z��5ͽ���������g���߶����w���9����|�Ռ�m�F���m�x�^��p�yҔu���Y��׵�a{U_9��k���~���}sFy���Mu�ں���O?Km�_M�y�,������jE�í�����|����.[Fn��D��.��[�Wk[���������\z�I ����ny�'>�_��O�^�6��Vv�u���/w�N���}�4����G�9W���M�7�\�/R��^�����2����x1;�����FV�{=������ ��#m����?����������RͿ��e=��n����m�������mY���yI�5^�m�s�~�f����{�����暤��S������(��=<�a�k{�ׯ��׮����*���%�����ޡݝ��_����Rwi������+�.s@t�����뎚���{�7�N��xx���G��T�-������C��Y��ί�g��^�s�F���^�觾[��|}ݽ��c٫?:?�^��~�?W^��ʉ�u{�w����zuYf�G�o-�?�N��J�;�R;��~����D�S���$Ҧ���\���{������x�d�'�����{�7`%A����׍�O�e?Q
    �2�#w�t�K�� ZNf0����ǎ��Wwk+Yc�jE��%-���w���ْ����c}���?�N���z�o���krJ���w����}�����v����u]�����W��T��?�c��Ȯ������_�|�/��l?�W��;.׸mk��[��9���Zz���lM����u���){�7_WQ[o~�^m���ތ�w���.��]�����F!�î�`�'���\�x�Vz���h�i�����/}��2��L���������ӯ��c��0-IdgT�(Mw���U�����SXV��������Esz蒃�Y���Gf���܄�;f�=�=���|�Kg?��h��������mx����[�q��Q~k[�L����o����%��U���yo�T��m�jR����}��~�b����.���_U?���=6S^+_�g����qev`����S�͜_;��B���k�_����z����O�����lQ���*/����yF�VM�;��rG�m�m�$�>�^��������P_߾5������YVUޱ~��������+������������og9ܻ=��kyR͖��r��j?#�����ƪ�g)��z�����!������΄�؟����N������,k�)��_�gW�6�����j�;˫1��2��    -�x�?����݊cO�z��5ͽ���������g���߶����w���9����|�Ռ�m�F���m�x�^��p�y��u����Y��׵�a{U_9��k���~���}sFy����Mu�ں���O?Km�_M�y�,������jE�í���|�����.[Fn��D��.��[�Wk[���垫���\z�I ����ny�'>�_��O�^�6��Vv�u���/w�N���}�4����G�9W���M�7�\�/R��^�����2����x1;����FV�{=������� ��#m����?�����짇��R����e=��n����m��������mY���yI�5^�m�s�~�f����{���������S�����(��=<�a�k{�ׯ��׮����*���%�������ݝ��_�����Rwi�ޛ����+�.s@t����������{�7�N��xx���G��T�-������C��Y�����g��^�s�F���^����[��|}ݽ��c٫?:?�^��~�?W^��ʉ�u{�w����zuYf�G�o-�?�N��J�;�R;��~����D�S���$Ҧ���\���{������x�d�'�����{�7`%A�������O�e?Q
    �2�#w��t�K�� ZNf0��ڒ����Wwk+Yc�jE��%-���w���ْ�����c}���?�N���z�o֏�krJ���w����}�����v����u]�����W��T��?�c��Ȯ������_�|�/��l?�W��;.׸mk��[��9���Zz���lM����u���){�7_WQ[o~�^m���ތ�w���.��]ְ�
    gruß inka

  7. #27
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.199
    Ähm-das untere sieht aus als wäre einfach die falsche Baudrate eingestellt.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  8. #28
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    habs nochmals kontrolliert: beides, im serialmonitor wie auch in den beiden sketches ist auf 9600 eingestellt...
    gruß inka

  9. #29
    Benutzer Stammmitglied
    Registriert seit
    19.05.2015
    Beiträge
    69
    Hallo inka,

    sorry diese WE ist bei mir volles Programm.

    Ich habe das Ganze nochmal auf einen Motor und Encoder heruntergebrochen. Das Programm zeigt nach dem alles initialisiert ist im Wechsel "Regeln" und "andere Aktion" an. Wobei Letzteres mehrfach hintereinander vorkommen kann.
    Wie Du sehen kannst wird die Ticker Variable dabei hochgezählt, ohne das Du Dich darum weiter kümmern mußt. Genau das ist das Praktische mit Interrupts, Aktionen laufen quasi paralel ab und Du kannst in Deiner loop Dich mit anderen Aktionen beschäftigen. Hoffe dieses Beispiel ist verständlicher als der andere uberfrachtete Sketch.

    Code:
    #include <AFMotor.h>
    
    // Motor
    AF_DCMotor motor(4);
    // Die Anzahl der Flankenwechsel
    volatile unsigned long ticks = 0;
    // passender Encode Pin für den Motor
    static const uint8_t enc_pin = 18;
    
    /*
     * Die Interrupt Routine die beim Flankenwechsel aufgerufen wird
     */
    void motor_isr(void){
      ticks++;
    }
    
    /*
     * Serial und den Pin initialisieren, die Interrupt Routine 
     * zuordnen.
     */
    void setup() {
      Serial.begin(9600);
      pinMode(enc_pin, INPUT_PULLUP);
      attachInterrupt(digitalPinToInterrupt(enc_pin), motor_isr, CHANGE);
    
      Serial.println("setup fertig");
    }
    
    void loop() {
      unsigned long start_zeit, regel_zeit, aktions_zeit;
      /*
       * Ticks beschreiben, dabei wollen wir nicht von einem 
       * Interrupt unterbrochen werden
       */
      noInterrupts();
      ticks = 0;
      interrupts();
    
      motor.setSpeed(130);
      motor.run(FORWARD);
    
      Serial.println("ticks initialisiert und Motor laeuft");
    
      /*
       * Fuer 10 sec "Regeln" und eine andere Aktion parallel
       * dazu ausführen.
       */
      start_zeit = regel_zeit = aktions_zeit = millis();
      while(start_zeit + 10000 > millis() ) {
        /*
         * Motor "regeln" alle 0,5sec
         */
        static const unsigned long rdiff = 500;
        if(regel_zeit + rdiff <= millis()) {
          regel_zeit = rdiff + millis(); // nächstes Intervall setzen.
          Serial.print(millis());
          Serial.print(": Regeln ");
    
          /*
           * Wir lesen unseren Zaehler und wollen nicht
           * von Interrupts gestört werden
           */
          noInterrupts();
          unsigned long tmp = ticks;
          interrupts();
          
          Serial.println(tmp);
        }
    
        /*
         * Die andere Aktion die Parallel zum "Regeln" ausgeführt wird
         * und nur unterbrochen wird, wenn ein Interrupt auftritt.
         */
         static const unsigned long adiff = 333;
         if(aktions_zeit + adiff <= millis()) {
          aktions_zeit = adiff + millis(); // Nächste Intervall setzen
    
          // Hier irgendetwas anderes machen
          Serial.print(millis());
          Serial.println(": andere Aktion");
         }
      }
    
      Serial.println("Motor stop");
      
      motor.setSpeed(0);
      motor.run(RELEASE);
      
      delay(2000);
    }
    Grüße

    Chris
    Geändert von botty (14.11.2015 um 19:30 Uhr)

  10. #30
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    super, danke, botty,

    läuft und wird zum begreifen von interrupts verwendet. Aber auch das andere war nicht umsonst. Ich wäre z.b. nie auf die idee gekommen, dass man so

    Code:
    for(uint8_t idx = M_VL; idx < M_MAX; idx++) 
    {
        pinMode(motoren[idx].enc_pin, INPUT_PULLUP);
    }
    quasi auf einen schlag vier motoren initialisieren kann

    und so

    Code:
    for(uint8_t idx = M_VL; idx < M_MAX; idx++) {
        if( ! motor_laeuft(idx) )
          motor_start(idx, 255/2+3, FORWARD);
    für alle 4 motoren abfragen kann, ob sie laufen und wenn nicht diese dann starten kann!

    was bewirkt dieses "255/2+3" eigentlich genau??

    p.s.

    sorry diese WE ist bei mir volles Programm.
    keinen stress mit antworten!
    gruß inka

Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte

Ähnliche Themen

  1. Vier PWM-Lüfter steuern
    Von Bammer im Forum AVR Hardwarethemen
    Antworten: 22
    Letzter Beitrag: 22.10.2010, 10:21
  2. Vier Servos steuern
    Von Brantiko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 14.04.2008, 23:17
  3. Wie vier Motoren ansteuern???
    Von cinhcet im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 9
    Letzter Beitrag: 29.06.2006, 12:37
  4. vier L297 und VREF
    Von schmek im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 01.12.2005, 19:47
  5. Bot mit vier Rädern
    Von themaddin im Forum Mechanik
    Antworten: 17
    Letzter Beitrag: 06.11.2005, 21:39

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad