Агуулгын хүснэгт:
- Алхам 1: Системийн хар хайрцаг
- Алхам 2: бүрэлдэхүүн хэсгүүд
- Алхам 3: D Flip-Flops
- Алхам 4: нөхцөлт
- Алхам 5: Хязгаарлалт
- Алхам 6: Үндсэн эх файл
- Алхам 7: Чуулган
- Алхам 8: Хөтөлбөрийг ачаалж байна
Видео: Эрчим хүчний хэмнэлттэй хөдөлгөөнийг идэвхжүүлсэн гудамжны гэрэл: 8 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэхүү төслийн зорилго нь хамт олны эрчим хүч, санхүүгийн нөөцийг хэмнэх ямар нэгэн зүйлийг бий болгох явдал байв. Motion идэвхжүүлсэн гудамжны гэрэл нь эдгээр хоёр зүйлийг хийх болно. Улс даяар эрчим хүчийг хоосон гудамжийг гэрэлтүүлэх гудамжны гэрэлд зарцуулж байна. Манай гудамжны гэрэлтүүлгийн систем нь гэрлийг зөвхөн шаардлагатай үед асааж, олон нийтийн мөнгийг хэмнэж өгдөг. Хөдөлгөөн мэдрэгчийг ашиглан машин зөвхөн машин байгаа үед л гэрлийг асаадаг. Мөн явган зорчигчдын аюулгүй байдлыг хангах үүднээс гудамжинд байгаа бүх гэрлийг асаах товчлуурыг ажиллууллаа. Дараахь алхамууд нь бид төслийнхөө жижигрүүлсэн загварыг Vivado болон Basys 3 самбар ашиглан хэрхэн бүтээж, бүтээсэн талаар танд хэлэх болно.
Алхам 1: Системийн хар хайрцаг
Бид энэ төслийг энгийн хар хайрцагны диаграм зурах замаар эхлүүлсэн. Хар хайрцагны диаграм нь бидний шаардлагатай бүх процессыг дуусгахад шаардагдах оролт, гаралтыг харуулдаг. Бид загвараа аль болох энгийн, энгийн байлгахыг хичээсэн. Манай системийн гурван оролтонд хөдөлгөөн мэдрэгч автобус (бидний жижигрүүлсэн загварт 4 ширхэг), явган зорчигчийг дарах товчлуур, цагийн оролт багтсан болно. Нөгөө талд бидний ганц гаралт бол манай гудамжны гэрлийг илэрхийлдэг LED гэрэлтэй автобус юм. Энэ загварын хувьд бид 16 гудамжны гэрлийн хувилбарыг ашигласан бөгөөд энэ нь Basys 3 самбар дээрх LED гаралтын хамгийн их тоо юм. Эцэст нь энэ диаграмыг ашиглан бид зохих оролт, гаралттай Vivado төсөл, эх сурвалж, хязгаарлалтын файлуудаа үүсгэх боломжтой болсон.
Алхам 2: бүрэлдэхүүн хэсгүүд
Энэ алхамд бид хар хайрцгийн диаграмыг бүрдүүлдэг бүрэлдэхүүн хэсгүүдийг илүү нарийвчлан судалж байна. Бидний анхны бүрэлдэхүүн хэсэг бол D flip-flops агуулсан VHDL эх файл юм. D flip-flops нь цагийн зүүний ирмэг дээр байгаа мэдрэгчүүдээс тэдэнд өгч буй дохиог авч, дараагийн өгөгдөл хүртэл хадгалдаг. Энэ нь бидний мэдрэмтгий хөдөлгөөн мэдрэгчийг гаралтын LED -ийг "анивчих" -аас хамгаалдаг. Түүнчлэн, товчлуурыг дарсны дараа LED-ийг ойролцоогоор 5-7 секундын турш асаахын тулд бид товчлуурын оролтын дохио дээр ганц D товчлуур тавьдаг. Бид мөн үүнийг цаг хуваагчаар дамжуулсан.
clk_div2 аж ахуйн нэгж бол Порт (clk: in std_logic; sclk: out std_logic); clk_div2 төгсгөл;
clk_div2 -ийн my_clk_div архитектур нь юм
тогтмол max_count: бүхэл тоо: = (300000000); дохио tmp_clk: std_logic: = '0'; my_div: process (clk, tmp_clk) хувьсагчийг эхлүүлэх div_cnt: integer: = 0; эхлэх (эхлэх_хүрээ (clk)) дараа нь (div_cnt = MAX_COUNT) бол tmp_clk <= tmp_clk биш; div_cnt: = 0; өөр div_cnt: = div_cnt + 1; хэрэв дуусгавар бол; хэрэв дуусгавар бол; sclk <= tmp_clk; my_div процессыг дуусгах; my_clk_div -ийг дуусгах;
Энэхүү диаграм дахь бидний эцсийн бүрэлдэхүүн хэсэг бол оролтын дохионы тохиргоонд суурилсан гаралтын нөхцлийг агуулсан зан үйлийн VHDL эх файл юм.
Алхам 3: D Flip-Flops
Оролтын дохионд хавсаргасан дөрвөн товшуур нь манай системийн үйл ажиллагаанд чухал үүрэгтэй. Өмнө дурьдсанчлан, мэдрэмтгий хөдөлгөөн мэдрэгч, дарж дарах товчлууртай бол товчлуурууд нь түгжигч ашиглан бидний оролтын дохиог зөвхөн цагийн зүүний ирмэг дээр гаргадаг. Энэхүү дараалсан логик нь бидний гудамжны гэрэл хурдан хөдөлснөөс хойш тодорхой хугацаанд асаж болно гэсэн үг юм. D-Flip Flop кодлох нь маш энгийн:
beginprocess (CLK) эхэлнэ, хэрэв yüksох_хэмжээ (CLK), дараа нь Q <= D; хэрэв дуусгавар бол; үйл явцыг дуусгах;
Бүх зүйлийг ганц if if хэлбэрээр нэгтгэж болно. Энэ хэсгийг авсны дараа бид шаардлагатай бүх дөрвөн товчлуурыг агуулсан бүтцийн VHDL эх файлыг үүсгэсэн.
DFF0 эхлэх: DFF портын зураг (CLK => CLK, D => D (0), Q => Q (0)); DFF1: DFF порт газрын зураг (CLK => CLK, D => D (1), Q => Q (1)); DFF2: DFF порт газрын зураг (CLK => CLK, D => D (2), Q => Q (2)); DFF3: DFF порт газрын зураг (CLK => CLK, D => D (3), Q => Q (3));
зан үйлийн төгсгөл;
Энэ нь системийн бүх бүрэлдэхүүн хэсгүүдийг илүү цэвэр, цэгцтэй нэгтгэдэг манай мастер бүтцийн файлыг хадгалахад тусалдаг.
Алхам 4: нөхцөлт
Кодыг авсаархан, үр ашигтай байлгахын тулд бид бүх нөхцлийг нэг тохиолдлын мэдэгдэлд бичсэн. Бидний жижигрүүлсэн загварын хувьд хөдөлгөөнт мэдрэгч бүр 4 LED -ийн бүлгийг хариуцдаг тул бид LED гаралтын 16 тохируулгатай байж болно.:
тохиолдолд NMS бол "1111" => LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED <= "1111111111111111"; төгсгөлийн тохиолдол;
Алхам 5: Хязгаарлалт
Vivado ашиглан оролт, гаралтыг зөв тодорхойлохын тулд та ашиглаж буй бүх порт, товчлуур, LED, цагийг харуулсан хязгаарлалтын файлыг хэрэгжүүлэх ёстой.
set_property PACKAGE_PIN W5 [get_ports CLK] set_property IOSTANDARD LVCMOS33 [get_ports CLK]
set_property PACKAGE_PIN U16 [get_ports {LED [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [0]}] set_property PACKAGE_PIN E19 [get_ports {LED [1]}] set_property IOSTANDARD LVCMOS33 [get_ports] U19 [get_ports {LED [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [2]}] set_property PACKAGE_PIN V19 [get_ports {LED [3]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [3]}) get_ports {LED [4]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [4]}] set_property PACKAGE_PIN U15 [get_ports {LED [5]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [5]}] set_proper PACK LED [6]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [6]}] set_property PACKAGE_PIN V14 [get_ports {LED [7]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [7]}] LED_proper PACKAGE_PIN 8]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [8]}] set_property PACKAGE_PIN V3 [get_ports {LED [9]}] set_property IO STANDARD LVCMOS33 [get_ports {LED [9]}] set_property PACKAGE_PIN W3 [get_ports {LED [10]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [10]}] set_property PACKAGE_PIN U3 [get_ports {LED_11] [get_ports {LED [11]}] set_property PACKAGE_PIN P3 [get_ports {LED [12]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [12]}] set_property PACKAGE_PIN N3 [get_ports {LED [13]}] set_properVC_OOS {LED [13]}] set_property PACKAGE_PIN P1 [get_ports {LED [14]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [14]}] set_property PACKAGE_PIN L1 [get_ports {LED [15]}] set_property LEDOM [15]}]
set_property PACKAGE_PIN U18 [get_ports BTN] set_property IOSTANDARD LVCMOS33 [get_ports BTN]
set_property PACKAGE_PIN A14 [get_ports {MS [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [0]}] B15 [get_ports {MS [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [2]}] set_property PACKAGE_PIN B16 [get_ports {MS [3]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [3]}]
Алхам 6: Үндсэн эх файл
Энэхүү үндсэн файлд бид өмнө дурдсан бүх бүрэлдэхүүн хэсгүүдийн эх файлуудыг нэгтгэдэг. Энэ файл нь ялгаатай бүрэлдэхүүн хэсгүүдийг нэгтгэсэн бүтцийн кодын үүрэг гүйцэтгэдэг.
Master_Final_Project аж ахуйн нэгж бол порт (BTN: STD_LOGIC; CLK: STD_LOGIC; MS: STD_LOGIC_VECTOR (3 уруу 0 хүртэл); LED: STD_LOGIC_VECTOR (15 уруу 0 хүртэл)); Master_Final_Project -ийг дуусгах;
Master_Final_Project архитектурын зан төлөв
final_project нь Port (-CLK: STD_LOGIC; NMS: STD_LOGIC_VECTOR (3 уруу 0); BTN: STD_LOGIC; төгсгөлийн бүрэлдэхүүн хэсэг;
Final_DFF бүрэлдэхүүн хэсэг нь
Порт (CLK: STD_LOGIC дотор; D: STD_LOGIC_Vector -д (3 -аас 0 хүртэл); Q: STD_LOGIC_Vector -аас (3 -аас доошоо 0)); төгсгөлийн бүрэлдэхүүн хэсэг;
дохио DFF02proj30: STD_LOGIC;
дохио DFF12proj74: STD_LOGIC; дохио DFF22proj118: STD_LOGIC; дохио DFF32proj1512: STD_LOGIC;
Эхлэх
DFF0: Final_DFF портын зураг (CLK => CLK, D (0) => MS (0), D (1) => MS (1), D (2) => MS (2), D (3) => MS (3), Q (0) => DFF02proj30, Q (1) => DFF12proj74, Q (2) => DFF22proj118, Q (3) => DFF32proj1512); Proj0: final_project порт газрын зураг (NMS (0) => DFF02proj30, NMS (1) => DFF12proj74, NMS (2) => DFF22proj118, NMS (3) => DFF32proj1512, BTN => BTN, LED => LED); зан үйлийн төгсгөл;
Алхам 7: Чуулган
Энэ төслийн тоног төхөөрөмжийн угсралт хамгийн бага байна. Шаардлагатай цорын ганц зүйл бол дараахь зүйлүүд юм.
1. Basys 3 самбар (1)
2. Амазон дээрээс олж болох хямд хөдөлгөөн мэдрэгчийг эндээс олж болно. (4)
3. Эрэгтэй-эмэгтэй удирдагч (4)
Чуулган:
1. 4 эрэгтэй холбогчийг PMod толгойн JB 1-4 порт руу холбоно уу (Зураг харна уу).
2. Эмэгтэй үзүүрийг хөдөлгөөн мэдрэгчийн гаралтын зүү бүрт холбоно.
Алхам 8: Хөтөлбөрийг ачаалж байна
Одоо бид VHDL мастер эх файлыг Basys 3 самбарт ачаалахад бэлэн боллоо. Синтез, хэрэгжилтийг ажиллуулж, болзошгүй алдааг шалгахын тулд битийн урсгалыг шалгаж байгаа эсэхийг шалгаарай. Хэрэв бүгд амжилттай ажиллаж байвал тоног төхөөрөмжийн менежерийг нээж, Basys 3 төхөөрөмжийг програмчилна уу. Таны төсөл одоо дууссан!
Зөвлөмж болгож буй:
Тоглоомын талбайн экспресс ашиглан хөдөлгөөнийг идэвхжүүлсэн Cosplay далавч - 1 -р хэсэг: 7 алхам (зурагтай)
Circuit Playground Express ашиглан Motion Activated Cosplay Wings - 1 -р хэсэг: Энэ бол хоёр хэсгээс бүрдсэн төслийн нэг хэсэг бөгөөд би танд автомат үлгэрийн далавч хийх үйл явцыг үзүүлэх болно. Төслийн эхний хэсэг нь далавчны механик, хоёр дахь хэсэг нь үүнийг өмсдөг болгож, далавчаа нэмж байна
DIY нарны эрчим хүчээр ажилладаг гудамжны автомат гэрэлтүүлэг: 3 алхам
DIY нарны эрчим хүчээр ажилладаг гудамжны автомат гэрэлтүүлэг: Манай байшин хөдөө орон нутагт байдаг тул манай гэрийн урд талын гудамж огт гэрэлгүй байхад бүрэн харанхуй байдаг. Тиймээс би энд нарны эрчим хүчээр ажилладаг гудамжны гэрэл хийлээ. Нарны хавтанг дараахь байдлаар ашигладаг
Эрчим хүчний хэмнэлттэй мотор жолоочийн самбар: 5 алхам
Цахилгаан хэмнэлттэй мотор жолоочийн самбар: Энэхүү төсөл нь SN754410 мотор драйвер IC бүхий stepper мотор/драйверын хэлхээний самбар бөгөөд эрчим хүч хэмнэх зарим онцлог шинж чанартай. Удирдах зөвлөл нь IC дахь хоёр H гүүрний хэлхээний тусламжтайгаар 2 тогтмол гүйдлийн мотор эсвэл шаталсан мотор жолоодох боломжтой. SN754410 IC
15 минутын дотор эрчим хүчний хяналт: 3 алхам
15 минутын дотор эрчим хүчний хяналт: Энэ бол цахилгаан тоолуур дахь анивчдаг туузыг наалддаг wifi мэдрэгч юм. Энэ нь LDR -ээр анивчиж, OLED дэлгэц дээр хүчийг харуулдаг. Үнэгүй демо данс бүртгүүлэх: https: //thingsboard.io
Эрчим хүчний хэмнэлттэй компьютер: 9 алхам
Эрчим хүчний хэмнэлттэй компьютер: Өөрийн компьютер бүтээх талаар вэбсайт болон хэвлэмэл нийтлэлүүдийг бичих тоо томшгүй олон байдаг. Гэсэн хэдий ч эрчим хүчний хэмнэлттэй компьютер бүтээх талаар тийм ч олон гарын авлага байдаггүй. Энэхүү зааварчилгааны туршид би танд хэрхэн сонгох талаар хэдэн зөвлөгөө өгөх болно