Katika ajenda ilikuwa ni kazi ya kutengeneza itifaki ya mawasiliano kwa kidhibiti kidogo cha nrf52832 chenye viwango viwili vya kupima nusu-daraja vya Kichina.
Kazi hiyo haikuwa rahisi, kwani nilikabiliwa na ukosefu wa habari yoyote inayoeleweka. Kuna uwezekano zaidi kwamba "mzizi wa uovu" uko kwenye SDK kutoka kwa Nordic Semiconductor yenyewe - masasisho ya mara kwa mara ya toleo, upungufu na utendaji unaotatanisha. Ilinibidi kuandika kila kitu kutoka mwanzo.
Nadhani mada hii inafaa kabisa kulingana na ukweli kwamba chip hii ina mkusanyiko wa BLE na seti nzima ya "vizuri" kwa hali ya kuokoa nishati. Lakini sitaingia sana katika sehemu ya kiufundi, kwa kuwa makala nyingi zimeandikwa juu ya mada hii.
2. Maelezo ya mradi
chuma:
Unyoya wa Adafruit nRF52 Bluefruit LE (nini kilifanyika kuwa karibu)
HX711 ADC
Vipimo vya aina ya Kichina 2 pcs. (kilo 50x2)
Kipanga programu ST-LINK V2
Programu:
IDE VSCODE
NRF SDK 16
OpenOCD
Kipanga programu ST-LINK V2
Kila kitu kiko katika mradi mmoja, lazima tu ubadilishe Makefile (taja eneo la SDK yako).
3. Maelezo ya kanuni
Tutatumia moduli ya GPIOTE kufanya kazi na vifaa vya pembeni kulingana na ufungaji wa kazi na matukio, pamoja na moduli ya PPI kuhamisha data kutoka kwa pembeni moja hadi nyingine bila ushiriki wa kichakataji.
Tunasanidi laini ya data ya DOUT ili kusoma hali ya utayari wa HX711; ikiwa kuna kiwango cha chini, kidhibiti kinaanzishwa ambapo tunazima ukatizaji na kuwasha kipima muda ili kutoa mipigo ya saa kwenye pato la PD_SCL.
Baada ya hapo, tunaanzisha moduli ya PPI na kuunganisha kipima muda kwenye pato la PD_SCL ili kuzalisha mipigo kwa muda wa 10 ΞΌs tukio la kulinganisha linapotokea, na pia kuwasha moduli ya GPIOTE.
Jambo la kufurahisha zaidi hufanyika katika kidhibiti cha saa. Kipindi cha mapigo ni 20 ΞΌs. Tunavutiwa na mipigo isiyo ya kawaida (kando ya ukingo unaoinuka) na mradi idadi yao si zaidi ya 24, na kuna matukio 48. Kwa kila tukio lisilo la kawaida, DOUT inasomwa.
Kutoka kwa hifadhidata inafuata kwamba idadi ya mapigo lazima iwe angalau 25, ambayo inalingana na faida ya 128 (katika msimbo nilitumia mapigo 25), hii ni sawa na matukio 50 ya timer, ambayo inaonyesha mwisho wa sura ya data.
Tunatarajia matukio kutoka kwa kipima muda cha RTC na muda wa 10 s (hii ni kwa hiari yako) na kuzindua HX711 katika kidhibiti, na kusababisha usumbufu kwenye laini ya DOUT.
Kuna hatua moja zaidi, magogo hutolewa kupitia UART (kiwango cha baud 115200, TX - 6 pini, RX - 8 pini) mipangilio yote iko kwenye sdk_config.h
Matokeo
Asanteni nyote kwa mawazo yenu, natumaini makala hii itakuwa muhimu na itapunguza muda wa thamani kwa watengenezaji kupata suluhisho. Ninataka kusema kwamba mbinu ya kiufundi ambayo Nordic hutumia katika majukwaa yake ni ya kuvutia kabisa kutoka kwa mtazamo wa ufanisi wa nishati.
PS
Mradi bado unaendelezwa, hivyo ikiwa mada hii ni ya kupendeza, katika makala inayofuata nitajaribu kuelezea algorithm ya kupima sensorer za uzito, na pia kuunganisha stack ya BLE.