STM2300Cube વપરાશકર્તા માર્ગદર્શિકા માટે UM14 X-CUBE-SPN32 સ્ટેપર મોટર ડ્રાઈવર સોફ્ટવેર વિસ્તરણ
પરિચય
STM14Cube માટે X-CUBE-SPN32 વિસ્તરણ પેકેજ તમને સ્ટેપર મોટર ઓપરેશન્સનું સંપૂર્ણ નિયંત્રણ આપે છે.
જ્યારે એક અથવા વધુ X-NUCLEO-IHM14A1 વિસ્તરણ બોર્ડ સાથે જોડવામાં આવે છે, ત્યારે આ સોફ્ટવેર સુસંગત STM32 ન્યુક્લિયો ડેવલપમેન્ટ બોર્ડને એક અથવા વધુ સ્ટેપર મોટર્સને નિયંત્રિત કરવાની મંજૂરી આપે છે.
તે વિવિધ STM32 માઇક્રોકન્ટ્રોલર્સમાં સરળ પોર્ટેબિલિટી માટે STM32Cube સોફ્ટવેર ટેકનોલોજીની ટોચ પર બનેલ છે.
સોફ્ટવેર તરીકે આવે છેampએક સ્ટેપર મોટર માટે le અમલીકરણ. તે ટોચ પર માઉન્ટ થયેલ X-NUCLEO-IHM401A334 વિસ્તરણ બોર્ડ સાથે NUCLEO-F8RE, NUCLEOF030R8, NUCLEO-F053R8 અથવા NUCLEO-L14R1 વિકાસ બોર્ડ સાથે સુસંગત છે.
સંબંધિત લિંક્સ
STM32Cube ઇકોસિસ્ટમની મુલાકાત લો web વધુ માહિતી માટે www.st.com પર પૃષ્ઠ
સંક્ષિપ્ત શબ્દો અને સંક્ષિપ્ત શબ્દો
કોષ્ટક 1. સંક્ષિપ્ત શબ્દોની સૂચિ
ટૂંકાક્ષર |
વર્ણન |
API |
એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ |
બસપા |
બોર્ડ સપોર્ટ પેકેજ |
CMSIS |
Cortex® માઇક્રોકન્ટ્રોલર સોફ્ટવેર ઇન્ટરફેસ સ્ટાન્ડર્ડ |
HAL |
હાર્ડવેર એબ્સ્ટ્રેક્શન લેયર |
IDE |
સંકલિત વિકાસ પર્યાવરણ |
એલઇડી |
પ્રકાશ ઉત્સર્જક ડાયોડ |
ઉપરview
X-CUBE-SPN14 સોફ્ટવેર પેકેજ STM32Cube ની કાર્યક્ષમતાને વિસ્તૃત કરે છે. તેની મુખ્ય લાક્ષણિકતાઓમાં શામેલ છે:
- X-NUCLEO-IHM820A14 વિસ્તરણ બોર્ડમાં સંકલિત STSPIN1 (લો પાવર સ્ટેપર મોટર ડ્રાઇવર) ઉપકરણના સંપૂર્ણ સંચાલન માટે ડ્રાઇવર સ્તર
- ડિવાઇસ પેરામીટર રીડ એન્ડ રાઇટ મોડ્સ, GPIO, PWM અને IRQ કન્ફિગરેશન, માઇક્રો-સ્ટેપિંગ, ડિરેક્શન પોઝિશન, સ્પીડ, એક્સિલરેશન, ડીસીલેરેશન અને ટોર્ક કંટ્રોલ, ઓટોમેટિક ફુલ-સ્ટેપ સ્વીચ મેનેજમેન્ટ; ઉચ્ચ અવબાધ અથવા હોલ્ડ સ્ટોપ મોડ પસંદગી, સક્ષમ અને સ્ટેન્ડ-બાય મેનેજમેન્ટ
- ફોલ્ટ ઇન્ટરપ્ટ હેન્ડલિંગ
- સિંગલ સ્ટેપર મોટર કંટ્રોલ એસampલે એપ્લિકેશન
- STM32Cube માટે આભાર, વિવિધ MCU પરિવારોમાં સરળ પોર્ટેબિલિટી
- મફત, વપરાશકર્તા મૈત્રીપૂર્ણ લાઇસન્સ શરતો
સૉફ્ટવેર સ્યુડો રજિસ્ટર અને ગતિ આદેશો આના દ્વારા લાગુ કરે છે:
- સ્ટેપ ક્લોક અને વોલ્યુમ જનરેટ કરવા માટે વપરાતા ટાઈમરને ગોઠવી રહ્યા છીએtage સંદર્ભ
- પ્રવેગક, મંદી, મિનિટ જેવા ઉપકરણ પરિમાણોનું સંચાલન. અને મહત્તમ ઝડપ, ઝડપ તરફી સ્થિતિfile સીમાઓ, માર્ક પોઝિશન, માઇક્રો-સ્ટેપિંગ મોડ, દિશા, ગતિ સ્થિતિ, વગેરે.
સોફ્ટવેર એક STSPIN820 ઉપકરણને હેન્ડલ કરે છે.
દરેક ટિક ટાઈમર પલ્સ એન્ડ પર, સ્ટેપ ક્લોક હેન્ડલરને કૉલ કરવા માટે કૉલબેક ચલાવવામાં આવે છે જે મોટર ગતિને નિયંત્રિત કરે છે.
વ્યવસ્થા કરીને:
- ગતિ સ્થિતિ (દા.ત., લક્ષ્ય ગંતવ્ય પર મોટર રોકો)
- GPIO સ્તર દ્વારા મોટર દિશા
- માઇક્રોસ્ટેપ્સમાં સંબંધિત અને સંપૂર્ણ મોટર સ્થિતિ
- શૂન્ય, હકારાત્મક અને નકારાત્મક પ્રવેગ દ્વારા ઝડપ
જ્યારે સ્વચાલિત પૂર્ણ-સ્તરીય સ્વિચ સુવિધા સક્ષમ હોય ત્યારે સ્ટેપ ક્લોક આવર્તન અને વૈકલ્પિક રીતે, સ્ટેપ મોડમાં ફેરફાર કરીને ઝડપ સેટ કરવામાં આવે છે. સ્ટેપ ક્લોક માટે વપરાતું ટાઈમર આઉટપુટ કમ્પેયર મોડમાં ગોઠવેલું છે. ફ્રીક્વન્સી કંટ્રોલ હાંસલ કરવા માટે દરેક સ્ટેપ ક્લોક હેન્ડલર કોલ પર એક નવું કેપ્ચર કમ્પેર રજિસ્ટર મૂલ્ય ગણવામાં આવે છે.
ગતિ એ આપેલ માઈક્રો-સ્ટેપિંગ મોડ માટે સ્ટેપ ક્લોક ફ્રિકવન્સીનું રેખીય કાર્ય છે, જે સોફ્ટવેર દ્વારા પૂર્ણથી 1/256મા સ્ટેપ સુધી બદલાઈ શકે છે.
STSPIN820 ડ્રાઇવર લાઇબ્રેરીનો ઉપયોગ કરવા માટે, તમારે ઇનિશિયલાઇઝેશન ફંક્શન ચલાવવું આવશ્યક છે જે:
- પુલને સક્ષમ કરવા અને ફોલ્ટ પિન EN\FAULT, સમર્પિત MODE1 નું સંચાલન કરવા માટે જરૂરી GPIO સેટ કરે છે,
MODE2 અને MODE3 સ્ટેપ સિલેક્શન પિન, મોટરની દિશા માટે DIR પિન, સડો મોડ માટે DECAY પિન
પસંદગી અને સ્ટેન્ડબાય રીસેટ પિન STBY\RESET; - STCK પિન અને ટાઈમર સંદર્ભ વોલ્યુમ માટે આઉટપુટ સરખામણી મોડમાં ટાઈમર સેટ કરે છેtagREF પિન માટે PWM મોડમાં e જનરેશન;
- ડ્રાઇવર પેરામીટર્સને stspin820_target_config.h માંથી મૂલ્યો સાથે લોડ કરે છે અથવા સમર્પિત પ્રારંભિક માળખુંનો ઉપયોગ કરીને મુખ્ય કાર્યમાં વ્યાખ્યાયિત કરે છે.
ચોક્કસ કાર્યોને કૉલ કરીને પ્રારંભ કર્યા પછી ડ્રાઇવરના પરિમાણોમાં ફેરફાર કરી શકાય છે. તમે કૉલબેક ફંક્શન્સ પણ લખી શકો છો અને તેમને આની સાથે જોડી શકો છો: - જ્યારે ઓવરકરન્ટ અથવા થર્મલ એલાર્મની જાણ કરવામાં આવે ત્યારે ચોક્કસ ક્રિયાઓ કરવા માટે ફ્લેગ ઇન્ટરપ્ટ હેન્ડલર
- એરર હેન્ડલર જેને લાઇબ્રેરી દ્વારા કોલ કરવામાં આવે છે જ્યારે તે ભૂલની જાણ કરે છે અનુગામી ગતિ આદેશોમાં નીચેનાનો સમાવેશ થાય છે:
- BSP_MotorControl_Move ચોક્કસ દિશામાં આપેલ પગલાઓની સંખ્યાને ખસેડવા માટે
- ટૂંકા માર્ગનો ઉપયોગ કરીને ચોક્કસ સ્થાન પર જવા માટે BSP_MotorControl_GoTo, BSP_MotorControl_GoHome, BSP_MotorControl_GoMark
- BSP_MotorControl_CmdGoToDir ચોક્કસ દિશામાં ચોક્કસ સ્થિતિમાં જવા માટે
- BSP_MotorControl_Run અનિશ્ચિત સમય માટે ચલાવવા માટે
ઝડપ પ્રોfile માઇક્રોકન્ટ્રોલર દ્વારા સંપૂર્ણપણે નિયંત્રિત થાય છે. મોટર BSP_MotorControl_SetMinSpeed મિનિમમ સ્પીડ સેટિંગ પર આગળ વધવાનું શરૂ કરે છે, જે પછી દરેક પગલા પર બદલાઈ જાય છે.
BSP_MotorControl_SetAcceleration પ્રવેગક મૂલ્ય.
જો મોશન કમાન્ડની લક્ષ્ય સ્થિતિ પર્યાપ્ત છે, તો મોટર આના દ્વારા ટ્રેપેઝોઇડલ ચાલ કરે છે:
- ઉપકરણ પ્રવેગક પરિમાણ સાથે પ્રવેગક
- BSP_MotorControl_SetMaxSpeed મહત્તમ ઝડપ પર સ્થિર રહે છે
- BSP_MotorControl_SetDeceleration દ્વારા મંદી
- લક્ષ્ય ગંતવ્ય પર રોકવું
જો મોટરની મહત્તમ ઝડપ સુધી પહોંચવા માટે લક્ષ્યની સ્થિતિ ખૂબ નજીક હોય, તો તે ત્રિકોણાકાર ચાલ કરે છે જેમાં શામેલ છે: - પ્રવેગક
- મંદી
- લક્ષ્ય ગંતવ્ય પર રોકવું
BSP_MotorControl_SoftStop મંદી પેરામીટર અથવા BSP_MotorControl_HardStop કમાન્ડનો ઉપયોગ કરીને ગતિમાં ધીમે ધીમે ઘટાડો કરીને ગમે ત્યારે ગતિ આદેશને રોકી શકાય છે જે મોટરને તરત જ બંધ કરી દે છે. જો અગાઉ HIZ_MODE સ્ટોપ મોડ (BSP_MotorControl_SetStopMode) સેટ કરેલ હોય તો મોટર બંધ થાય ત્યારે પાવર બ્રિજ આપમેળે અક્ષમ થઈ જાય છે.
જ્યારે મોટર બંધ કરવામાં આવે અથવા BSP_MotorControl_Run દ્વારા ગતિની વિનંતી કરવામાં આવે ત્યારે દિશા, ઝડપ, પ્રવેગક અને મંદી બદલી શકાય છે.
અગાઉના આદેશો પૂરા થાય તે પહેલાં નવા આદેશોને અવરોધિત કરવા માટે, BSP_MotorControl_WaitWhileActive મોટર બંધ ન થાય ત્યાં સુધી પ્રોગ્રામના અમલીકરણને લૉક કરે છે.
BSP_MotorControl_SelectStepMode સ્ટેપ મોડને પૂર્ણથી 1/256મા સ્ટેપમાં બદલી શકે છે. જ્યારે સ્ટેપ મોડ બદલાય છે, ત્યારે ઉપકરણ અને વર્તમાન સ્થિતિ અને ઝડપ રીસેટ થાય છે.
આર્કિટેક્ચર
આ સોફ્ટવેર વિસ્તરણ સંપૂર્ણપણે STM32Cube આર્કિટેક્ચરનું પાલન કરે છે અને સ્ટેપર મોટર ડ્રાઇવર્સનો ઉપયોગ કરીને એપ્લિકેશનના વિકાસને સક્ષમ કરવા માટે તેને વિસ્તૃત કરે છે.
આકૃતિ 1. X-CUBE-SPN14 સોફ્ટવેર આર્કિટેક્ચર
સોફ્ટવેર STM32 માઇક્રોકન્ટ્રોલર માટે STM32CubeHAL હાર્ડરે એબ્સ્ટ્રેક્શન લેયર પર આધારિત છે. પેકેજ મોટર કંટ્રોલ વિસ્તરણ બોર્ડ માટે બોર્ડ સપોર્ટ પેકેજ (BSP) સાથે STM32Cube અને STSPIN820 નીચા વોલ્યુમ માટે BSP કમ્પોનન્ટ ડ્રાઇવર સાથે વિસ્તરે છે.tage સ્ટેપર મોટર ડ્રાઈવર.
એપ્લિકેશન સોફ્ટવેર દ્વારા ઉપયોગમાં લેવાતા સોફ્ટવેર સ્તરો છે:
- STM32Cube HAL સ્તર: API (એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ) નો એક સરળ, સામાન્ય અને બહુ-ઇન્સ્ટન્સ સેટ
ઉપલા એપ્લિકેશન, લાઇબ્રેરી અને સ્ટેક સ્તરો સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે. તે સામાન્ય અને એક્સ્ટેંશન API આધારિત બનેલું છે
સામાન્ય આર્કિટેક્ચર પર જેથી તેના પર બનેલ સ્તરો, જેમ કે મિડલવેર લેયર, ચોક્કસ માઇક્રોકન્ટ્રોલર યુનિટ (MCU) હાર્ડવેર રૂપરેખાંકનની જરૂર વગર કાર્ય કરી શકે. આ માળખું લાઇબ્રેરી કોડની પુનઃઉપયોગિતામાં સુધારો કરે છે અને અન્ય ઉપકરણો પર સરળ સુવાહ્યતાની ખાતરી આપે છે.
બોર્ડ સપોર્ટ પેકેજ (BSP) સ્તર: STM32 ન્યુક્લિયો બોર્ડ પર પેરિફેરલ્સને સપોર્ટ કરે છે, સિવાય કે
MCU. API નો આ મર્યાદિત સમૂહ એલઇડી અને વપરાશકર્તા બટન જેવા ચોક્કસ બોર્ડ વિશિષ્ટ પેરિફેરલ્સ માટે પ્રોગ્રામિંગ ઇન્ટરફેસ પ્રદાન કરે છે અને ચોક્કસ બોર્ડ સંસ્કરણને ઓળખવામાં મદદ કરે છે. મોટર નિયંત્રણ BSP વિવિધ મોટર ડ્રાઈવર ઘટકો માટે પ્રોગ્રામિંગ ઈન્ટરફેસ પૂરું પાડે છે. તે X-CUBE-SPN820 સોફ્ટવેરમાં STSPIN14 મોટર ડ્રાઈવર માટે BSP ઘટક સાથે સંકળાયેલું છે.
ફોલ્ડર માળખું
સોફ્ટવેર બે મુખ્ય ફોલ્ડરમાં સ્થિત છે:
- ડ્રાઇવરો, સાથે:
- STM32Cube HAL files STM32L0xx_HAL_Driver, STM32F0xx_HAL_Driver, STM32F3xx_HAL_Driver અથવા STM32F4xx_HAL_Driver સબફોલ્ડર્સમાં. આ files સીધા STM32Cube ફ્રેમવર્કમાંથી લેવામાં આવે છે અને તેમાં ફક્ત તે જ શામેલ હોય છે જે મોટર ડ્રાઇવરને ચલાવવા માટે જરૂરી હોય છે.ampલેસ
- ARM માંથી Cortex-M પ્રોસેસર શ્રેણી માટે CMSIS (Cortex® માઇક્રોકન્ટ્રોલર સોફ્ટવેર ઇન્ટરફેસ સ્ટાન્ડર્ડ) સાથેનું CMSIS ફોલ્ડર, વિક્રેતા આધારિત હાર્ડવેર એબ્સ્ટ્રેક્શન લેયર. આ ફોલ્ડર STM32Cube ફ્રેમવર્કમાંથી પણ અપરિવર્તિત છે.
- કોડ સાથે BSP ફોલ્ડર files X-NUCLEO-IHM14A1 રૂપરેખાંકન, STSPIN820 ડ્રાઇવર અને મોટર કંટ્રોલ API માટે.
- પ્રોજેક્ટ્સ, જેમાં અનેક ઉપયોગનો સમાવેશ થાય છેampવિવિધ STM820 ન્યુક્લિયો પ્લેટફોર્મ્સ માટે STSPIN32 મોટર ડ્રાઈવરનું લેસ.
BSP ફોલ્ડર
X-CUBE-SPN14 સોફ્ટવેરમાં નીચેના પેટાવિભાગોમાં વર્ણવેલ BSPsનો સમાવેશ થાય છે.
STM32L0XX-Nucleo/STM32F0XX-Nucleo/STM32F3XX Nucleo/STM32F4XX-Nucleo BSPs
આ BSPs દરેક સુસંગત STM32 ન્યુક્લિયો ડેવલપમેન્ટ બોર્ડને X-NUCLEO-IHM14A1 વિસ્તરણ બોર્ડ સાથે તેના પેરિફેરલ્સને ગોઠવવા અને તેનો ઉપયોગ કરવા માટે ઇન્ટરફેસ પ્રદાન કરે છે. દરેક સબફોલ્ડરમાં two.c/.h છે file જોડી:
- stm32XXxx_nucleo.c/h: આ અસંશોધિત STM32Cube ફ્રેમવર્ક files ચોક્કસ STM32 ન્યુક્લિયો બોર્ડ માટે વપરાશકર્તા બટન અને LED કાર્યો પ્રદાન કરે છે.
- stm32XXxx_nucleo_ihm14a1.c/h: આ files PWMs, GPIOs ના રૂપરેખાંકન માટે સમર્પિત છે અને X NUCLEO-IHM14A1 વિસ્તરણ બોર્ડ કામગીરી માટે જરૂરી વિક્ષેપ સક્ષમ/નિષ્ક્રિય કરે છે.
મોટર નિયંત્રણ BSP
આ BSP મોટરકંટ્રોલ/motorcontrol.c/h દ્વારા L6474, powerSTEP01, L6208 અને STSPIN820 જેવા વિવિધ મોટર ડ્રાઇવરોના ડ્રાઇવર કાર્યોને ઍક્સેસ કરવા માટે એક સામાન્ય ઇન્ટરફેસ પ્રદાન કરે છે. file જોડી
આ files તમામ ડ્રાઇવર રૂપરેખાંકન અને નિયંત્રણ કાર્યોને વ્યાખ્યાયિત કરે છે, જે પછી motorDrv_t સ્ટ્રક્ચર દ્વારા આપેલ વિસ્તરણ બોર્ડ પર ઉપયોગમાં લેવાતા મોટર ડ્રાઇવર ઘટકના કાર્યો સાથે મેપ કરવામાં આવે છે. file (Components\Common\motor.h. માં વ્યાખ્યાયિત). આ માળખું ફંક્શન પોઇન્ટરની સૂચિને વ્યાખ્યાયિત કરે છે જે અનુરૂપ મોટર ડ્રાઇવર ઘટકમાં તેની ઇન્સ્ટિએશન દરમિયાન ભરવામાં આવે છે. X-CUBE-SPN14 માટે, બંધારણને stspin820Drv કહેવામાં આવે છે (જુઓ file: BSP\Components\stspin820\stspin820.c).
મોટર કંટ્રોલ BSP એ તમામ મોટર ડ્રાઈવર વિસ્તરણ બોર્ડ માટે સામાન્ય હોવાથી, આપેલ વિસ્તરણ બોર્ડ માટે કેટલાક કાર્યો ઉપલબ્ધ નથી. ડ્રાઇવર ઘટકમાં motorDrv_t સ્ટ્રક્ચરની શરૂઆત દરમિયાન અનુપલબ્ધ કાર્યોને નલ પોઇન્ટર દ્વારા બદલવામાં આવે છે.
STSPIN280 BSP ઘટક
STSPIN820 BSP ઘટક ફોલ્ડરમાં STSPIN820 મોટર ડ્રાઇવરના ડ્રાઇવર કાર્યો પૂરા પાડે છે.
stm32_cube\Drivers\BSP\Components\STSPIN820.
આ ફોલ્ડરમાં 3 છે files:
- stspin820.c: STSPIN820 ડ્રાઇવરના મુખ્ય કાર્યો
- stspin820.h: STSPIN820 ડ્રાઇવર ફંક્શન્સ અને તેમની સાથે સંકળાયેલ વ્યાખ્યાઓની ઘોષણા
- stspin820_target_config.h: STSPIN820 પરિમાણો અને મોટર ઉપકરણો સંદર્ભ માટે પૂર્વવ્યાખ્યાયિત મૂલ્યો
પ્રોજેક્ટ ફોલ્ડર
દરેક STM32 ન્યુક્લિયો પ્લેટફોર્મ માટે, એક ભૂતપૂર્વample પ્રોજેક્ટ stm32_cube\Projects\Multi\Ex માં ઉપલબ્ધ છેampલેસ\મોશન કંટ્રોલ\:
- IHM14A1_ઉદાampleFor1 Motor exampસિંગલ-મોટર રૂપરેખાંકનો માટે નિયંત્રણ કાર્યોના લેસ
માજીample દરેક સુસંગત IDE માટે ફોલ્ડર ધરાવે છે:
- IAR એમ્બેડેડ વર્કબેન્ચ માટે EWARM
- ARM/Keil µVision માટે MDK-ARM
- STM32 માટે સંકલિત વિકાસ પર્યાવરણ માટે STM32CubeIDE
નીચેનો કોડ files પણ શામેલ છે:
- inc\main.h: મુખ્ય હેડર file
- inc\ stm32xxxx_hal_conf.h: HAL રૂપરેખાંકન file
- inc\stm32xxxx_it.h: ઇન્ટરપ્ટ હેન્ડલર માટે હેડર
- src\main.c: મુખ્ય પ્રોગ્રામ (ભૂતપૂર્વનો કોડampSTSPIN820 માટે મોટર કંટ્રોલ લાઇબ્રેરી પર આધારિત le)
- src\stm32xxxx_hal_msp.c: HAL પ્રારંભિક રૂટિન
- src\stm32xxxx_it.c: ઇન્ટરપ્ટ હેન્ડલર
- src\system_stm32xxxx.c: સિસ્ટમ પ્રારંભ
- src\clock_xx.c: ઘડિયાળની શરૂઆત
સોફ્ટવેર જરૂરી સંસાધનો
એક જ STSPIN820 (એક X-NUCLEO IHM14A1 બોર્ડ)નું MCU નિયંત્રણ અને બંને વચ્ચેનો સંચાર સાત GPIO (STBY\RESET, EN\FAULT, MODE1, MODE2, MODE3, DIR, DECAY પિન) અને REFpin માટે PWM દ્વારા નિયંત્રિત થાય છે. . STCK પિન માટે GPIO ને ટાઇમર આઉટપુટ સરખામણી વૈકલ્પિક કાર્ય તરીકે ઉપયોગમાં લેવા માટે ગોઠવેલ છે.
ઓવરકરન્ટ અને ઓવરટેમ્પેરેચર એલાર્મના હેન્ડલિંગ માટે, X-CUBE-SPN14 સોફ્ટવેર EN\FAULT પિન માટે ઉપયોગમાં લેવાતા GPIO પર કન્ફિગર કરેલ એક્સટર્નલ ઇન્ટરપ્ટનો ઉપયોગ કરે છે, તે પાવર બ્રિજને સક્ષમ અથવા અક્ષમ કર્યા પછી.
કોષ્ટક 2. X-CUBE-SPN14 સોફ્ટવેર માટે જરૂરી સંસાધનો
સંસાધનો F4xx |
સંસાધનો F3xx | સંસાધનો F0xx | સંસાધનો L0xx | પિન | લક્ષણો (બોર્ડ) |
પોર્ટ A GPIO 10
EXTI15_10_IRQn |
પોર્ટ A GPIO 10
EXTI15_10_IRQn |
પોર્ટ A GPIO 10
EXTI4_15_IRQn |
પોર્ટ A GPIO 10
EXTI4_15_IRQn |
D2 |
EN/FAULT (EN) |
પોર્ટ B GPIO 3 ટાઈમર2 Ch2 |
પોર્ટ B GPIO 3
ટાઈમર2 Ch2 |
પોર્ટ B GPIO 3
ટાઈમર15 Ch1 |
પોર્ટ B GPIO 3
ટાઈમર2 Ch2 |
D3 |
STCK
(CLK) |
પોર્ટ B GPIO 4 |
D5 |
સડો
(DEC) |
|||
પોર્ટ A GPIO 8 |
D7 |
દિશા (DIR) |
|||
પોર્ટ A GPIO 9 |
D8 |
STBY/રીસેટ (STBY) |
|||
Port C GPIO 7 ટાઈમર3 Ch2 |
પોર્ટ C GPIO 7
ટાઈમર3 Ch2 |
પોર્ટ C GPIO 7
ટાઈમર3 Ch2 |
પોર્ટ C GPIO 7
ટાઈમર22 Ch2 |
D9 |
PWM સંદર્ભ
(સંદર્ભ) |
પોર્ટ A GPIO 7 |
D11 |
MODE3
(M3) |
|||
પોર્ટ A GPIO 6 |
D12 |
MODE2 (M2) |
|||
પોર્ટ A GPIO 5 |
D13 |
MODE1 (M1) |
API
X-CUBE-SPN14 API એ મોટર કંટ્રોલ BSP માં વ્યાખ્યાયિત થયેલ છે. તેના કાર્યોમાં "BSP_MotorControl_" ઉપસર્ગ છે.
નોંધ: આ મોડ્યુલના તમામ કાર્યો STSPIN820 માટે ઉપલબ્ધ નથી અને તેથી X-NUCLEO-IHM14A1 વિસ્તરણ બોર્ડ.
સંપૂર્ણ વપરાશકર્તા API કાર્ય અને પરિમાણ વર્ણનો HTML માં સંકલિત કરવામાં આવે છે file સોફ્ટવેર દસ્તાવેજીકરણ ફોલ્ડરમાં.
Sampઅરજી વર્ણન
ભૂતપૂર્વampસુસંગત STM14 ન્યુક્લિયો ડેવલપમેન્ટ બોર્ડ સાથે X-NUCLEO-IHM1A32 વિસ્તરણ બોર્ડનો ઉપયોગ કરીને લે એપ્લીકેશન પ્રોજેક્ટ ડિરેક્ટરીમાં પૂરી પાડવામાં આવે છે, જેમાં બહુવિધ IDE માટે તૈયાર-થી-બિલ્ડ છે (વિભાગ 2.3.2 પ્રોજેક્ટ ફોલ્ડર જુઓ).
સિસ્ટમ સેટઅપ માર્ગદર્શિકા
હાર્ડવેર વર્ણન
- STM32 ન્યુક્લિયો
STM32 ન્યુક્લિયો ડેવલપમેન્ટ બોર્ડ વપરાશકર્તાઓને કોઈપણ STM32 માઇક્રોકન્ટ્રોલર લાઇન સાથે ઉકેલો ચકાસવા અને પ્રોટોટાઇપ બનાવવા માટે એક સસ્તું અને લવચીક રીત પ્રદાન કરે છે.
Arduino કનેક્ટિવિટી સપોર્ટ અને ST મોર્ફો કનેક્ટર્સ તેની કાર્યક્ષમતાને વિસ્તૃત કરવાનું સરળ બનાવે છે.
STM32 ન્યુક્લિયો ઓપન ડેવલપમેન્ટ પ્લેટફોર્મ જેમાં પસંદગી માટે વિશિષ્ટ વિસ્તરણ બોર્ડની વિશાળ શ્રેણી છે.
STM32 ન્યુક્લિયો બોર્ડને અલગ પ્રોબ્સની જરૂર નથી કારણ કે તે ST-LINK/V2-1 ડીબગર/ને એકીકૃત કરે છે.
પ્રોગ્રામર
STM32 ન્યુક્લિયો બોર્ડ વ્યાપક STM32 સોફ્ટવેર HAL લાઇબ્રેરી સાથે આવે છે જેમાં વિવિધ પેકેજ્ડ સોફ્ટવેર એક્સampવિવિધ IDE માટે લેસ (IAR EWARM, Keil MDK-ARM, STM32CubeIDE, mbed અને GCC/ LLVM).
બધા STM32 Nucleo વપરાશકર્તાઓને mbed ઓનલાઇન સંસાધનો (કમ્પાઇલર, C/C++ SDK અને વિકાસકર્તા) માટે મફત ઍક્સેસ છે
કમ્યુનિટી) www.mbed.org પર સરળતાથી સંપૂર્ણ એપ્લિકેશન્સ બનાવવા માટે.
આકૃતિ 3. STM32 ન્યુક્લિયો બોર્ડ
- X-NUCLEO-IHM14A1 સ્ટેપર મોટર ડ્રાઇવર વિસ્તરણ બોર્ડ
X-NUCLEO-IHM14A1 મોટર ડ્રાઇવર વિસ્તરણ બોર્ડ સ્ટેપર મોટર્સ માટે STSPIN820 મોનોલિથિક ડ્રાઇવર પર આધારિત છે.
તે તમારા STM32 ન્યુક્લિયો પ્રોજેક્ટમાં સ્ટેપર મોટર્સ ચલાવવા માટે, 2D/3D પ્રિન્ટર, રોબોટિક્સ અને સુરક્ષા કેમેરા જેવી મોટર ડ્રાઇવિંગ એપ્લિકેશન્સનો અમલ કરવા માટે એક સસ્તું, ઉપયોગમાં સરળ ઉકેલ રજૂ કરે છે.
STSPIN820 એ PWM વર્તમાન નિયંત્રણનો અમલ કરે છે જેમાં બાહ્ય રેઝિસ્ટર અને માઇક્રોસ્ટેપિંગ રિઝોલ્યુશન દ્વારા 256મા સ્ટેપ સુધી એડજસ્ટેબલ હોય છે.
X-NUCLEO-IHM14A1 વિસ્તરણ બોર્ડ Arduino UNO R3 કનેક્ટર અને ST મોર્ફો કનેક્ટર સાથે સુસંગત છે, તેથી તેને STM32 Nucleo વિકાસ બોર્ડ સાથે પ્લગ કરી શકાય છે અને વધારાના X-NUCLEO વિસ્તરણ બોર્ડ સાથે સ્ટેક કરી શકાય છે.
- વિવિધ હાર્ડવેર ઘટકો
હાર્ડવેર સેટઅપ પૂર્ણ કરવા માટે, તમારે આની જરૂર પડશે:- 1 બાયપોલર (7 થી 45 V) સ્ટેપર મોટર
- X-NUCLEO-IHM14A1 બોર્ડ માટે બે ઇલેક્ટ્રિક કેબલ સાથેનો બાહ્ય ડીસી પાવર સપ્લાય
- STM32 ન્યુક્લિયો બોર્ડને PC સાથે કનેક્ટ કરવા માટે USB પ્રકાર A થી mini-B USB કેબલ
- સોફ્ટવેર જરૂરિયાતો
માટે યોગ્ય વિકાસ વાતાવરણ સુયોજિત કરવા માટે નીચેના સોફ્ટવેર ઘટકોની જરૂર છે
મોટર ડ્રાઇવર વિસ્તરણ બોર્ડ પર આધારિત એપ્લિકેશનો બનાવવી:- STSPIN14 નીચા વોલ્યુમ માટે X-CUBE-SPN32 STM820Cube વિસ્તરણtagઇ સ્ટેપર મોટર ડ્રાઇવર એપ્લિકેશન ડેવલપમેન્ટ. X-CUBE-SPN14 ફર્મવેર અને સંબંધિત દસ્તાવેજો પર ઉપલબ્ધ છે www.st.com.
- નીચેના વિકાસ ટૂલ-ચેન અને કમ્પાઇલર્સમાંથી એક:
- Keil વાસ્તવિકView માઇક્રોકન્ટ્રોલર ડેવલપમેન્ટ કિટ (MDK-ARM) ટૂલચેન V5.27
- ARM (EWARM) ટૂલચેન V8.50 માટે IAR એમ્બેડેડ વર્કબેન્ચ
- STM32 (STM32CubeIDE) માટે સંકલિત વિકાસ પર્યાવરણ
હાર્ડવેર અને સોફ્ટવેર સેટઅપ
એક મોટર ચલાવવા માટે સેટઅપ
STM32 ન્યુક્લિયો બોર્ડ પર નીચેના જમ્પર્સને ગોઠવો:
- JP1 બંધ
- UV5 બાજુ પર JP5 (PWR).
- JP6 (IDD) ચાલુ
X-NUCLEO-IHM14A1 વિસ્તરણ બોર્ડને આ રીતે ગોઠવો: - R7 પોટેન્ટિઓમીટરને 1 kΩ પર ટ્યુન કરો.
- S1, S2, S3 અને S4 સ્વિચને આકૃતિ 4ની જેમ પુલ-ડાઉન બાજુ પર સેટ કરો. X-NUCLEO-IHM14A1 સ્ટેપર મોટર
ડ્રાઇવર વિસ્તરણ બોર્ડ. માઇક્રો-સ્ટેપિંગ મોડને MODE1, MODE2 અને MODE3 દ્વારા પસંદ કરવામાં આવે છે
STM32 ન્યુક્લિયો બોર્ડ દ્વારા નિયંત્રિત સ્તરો.
એકવાર બોર્ડ યોગ્ય રીતે ગોઠવાઈ જાય: - Arduino UNO કનેક્ટર્સ દ્વારા STM14 ન્યુક્લિયો બોર્ડની ટોચ પર X-NUCLEO-IHM1A32 વિસ્તરણ બોર્ડને પ્લગ કરો
- બોર્ડને પાવર કરવા માટે USB કનેક્ટર CN32 દ્વારા USB કેબલ વડે STM1 ન્યુક્લિયો બોર્ડને PC સાથે કનેક્ટ કરો
- વિન અને જીએનડી કનેક્ટર્સને ડીસી પાવર સપ્લાય સાથે જોડીને X-NUCLEO-IHM14A1 વિસ્તરણ બોર્ડ પર પાવર કરો
- સ્ટેપર મોટરને X-NUCLEO IHM14A1 બ્રિજ કનેક્ટર્સ A+/- અને B+/- સાથે કનેક્ટ કરો
એકવાર સિસ્ટમ સેટઅપ તૈયાર થઈ જાય:
- તમારી પસંદગીની ટૂલચેન ખોલો
- STM32 ન્યુક્લિયો બોર્ડ પર આધાર રાખીને, સોફ્ટવેર પ્રોજેક્ટ અહીંથી ખોલો:
- \stm32_cube\Projects\Multi\Examples\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainNam
ન્યુક્લિયો STM32F401 માટે e\STM32F401RE-Nucleo - \stm32_cube\Projects\Multi\Examples\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainNam
ન્યુક્લિયો STM32F030 માટે e\STM8F32R334-Nucleo - \stm32_cube\Projects\Multi\Examples\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainName\STM32F030R8-Nucleo for Nucleo STM32F030
- \stm32_cube\Projects\Multi\Examples\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainName\STM32L053R8-Nucleo for Nucleo STM32L053
- \stm32_cube\Projects\Multi\Examples\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainNam
- ડિફૉલ્ટ STSPIN820 પરિમાણોને તમારા નીચા વોલ્યુમમાં અનુકૂલિત કરવા માટેtagઇ સ્ટેપર મોટર લાક્ષણિકતાઓ, ક્યાં તો:
- NULL પોઇન્ટર સાથે BSP_MotorControl_Init નો ઉપયોગ કરો અને stm32_cube\ Drivers\ BSP\Components\ STSPIN820\ STSPIN820_target_config.h ખોલો અને તમારી જરૂરિયાતો અનુસાર પરિમાણોને સંશોધિત કરો.
- - યોગ્ય મૂલ્યો સાથે initDevicesParameters બંધારણના સરનામા સાથે BSP_MotorControl_Init નો ઉપયોગ કરો.
- બધા પુનઃબીલ્ડ files અને તમારી છબીને લક્ષ્ય મેમરીમાં લોડ કરો.
- માજી ચલાવોample મોટર આપમેળે શરૂ થાય છે (ડેમો સિક્વન્સ વિગતો માટે main.c જુઓ).
પુનરાવર્તન ઇતિહાસ
તારીખ |
સંસ્કરણ | ફેરફારો |
17-ઓક્ટો-2017 |
1 |
પ્રારંભિક પ્રકાશન. |
20-જુલાઈ-2021 | 2 |
અપડેટ કરેલ વિભાગ 2.3.2 પ્રોજેક્ટ ફોલ્ડર અને વિભાગ 3.2 સોફ્ટવેર આવશ્યકતાઓ. દૂર કરેલ વિભાગ 2 STM32Cube શું છે? અને પરિચયમાં એક લિંક દ્વારા તેને બદલ્યું. |
મહત્વપૂર્ણ સૂચના - કૃપા કરીને ધ્યાનપૂર્વક વાંચો
STMicroelectronics NV અને તેની પેટાકંપનીઓ (“ST”) કોઈપણ સમયે સૂચના વિના ST ઉત્પાદનો અને/અથવા આ દસ્તાવેજમાં ફેરફારો, સુધારા, ઉન્નત્તિકરણો, ફેરફારો અને સુધારાઓ કરવાનો અધિકાર અનામત રાખે છે. ખરીદદારોએ ઓર્ડર આપતા પહેલા ST ઉત્પાદનો પર નવીનતમ સંબંધિત માહિતી મેળવવી જોઈએ. ઓર્ડરની સ્વીકૃતિ સમયે ST ઉત્પાદનોનું વેચાણ STના નિયમો અને વેચાણની શરતો અનુસાર કરવામાં આવે છે.
ખરીદદારો ST ઉત્પાદનોની પસંદગી, પસંદગી અને ઉપયોગ માટે સંપૂર્ણપણે જવાબદાર છે અને ST એપ્લિકેશન સહાય અથવા ખરીદદારોના ઉત્પાદનોની ડિઝાઇન માટે કોઈ જવાબદારી સ્વીકારતું નથી.
અહીં ST દ્વારા કોઈપણ બૌદ્ધિક સંપદા અધિકાર માટે કોઈ લાઇસન્સ, એક્સપ્રેસ અથવા ગર્ભિત, આપવામાં આવ્યું નથી.
અહીં દર્શાવેલ માહિતીથી અલગ જોગવાઈઓ સાથે ST ઉત્પાદનોનું પુનર્વેચાણ આવા ઉત્પાદન માટે ST દ્વારા આપવામાં આવેલી કોઈપણ વોરંટી રદ કરશે.
ST અને ST લોગો એ ST ના ટ્રેડમાર્ક છે. ST ટ્રેડમાર્ક વિશે વધારાની માહિતી માટે, કૃપા કરીને સંદર્ભ લો www.st.com/trademarks. અન્ય તમામ ઉત્પાદન અથવા સેવા
નામો તેમના સંબંધિત માલિકોની મિલકત છે.
આ દસ્તાવેજમાંની માહિતી આ દસ્તાવેજના કોઈપણ અગાઉના સંસ્કરણોમાં અગાઉ પૂરા પાડવામાં આવેલ માહિતીને બદલે છે અને બદલે છે.
© 2021 STMicroelectronics – સર્વાધિકાર આરક્ષિત
દસ્તાવેજો / સંસાધનો
![]() |
STM2300Cube માટે ST UM14 X-CUBE-SPN32 સ્ટેપર મોટર ડ્રાઈવર સોફ્ટવેર વિસ્તરણ [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા UM2300, STM14Cube માટે X-CUBE-SPN32 સ્ટેપર મોટર ડ્રાઇવર સૉફ્ટવેર વિસ્તરણ, STM2300Cube માટે UM14 X-CUBE-SPN32 સ્ટેપર મોટર ડ્રાઇવર સૉફ્ટવેર વિસ્તરણ, X-CUBE-SPN14 સ્ટેપર મોટર ડ્રાઇવર સૉફ્ટવેર વિસ્તરણ, DTMVC 32 સોફ્ટવેર એક્સ્પાન્સન, ડીસીબી-એસપીએન 32 સ્ટેપર મોટર ડ્રાઇવર સોફ્ટવેર એક્સ્પાન્સન STM32Cube માટે, STM32Cube માટે વિસ્તરણ, STMXNUMXCube |